This commit is contained in:
Paul Schaub 2019-06-29 19:06:07 +02:00
parent 188f2706c6
commit f53e2090de
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
23 changed files with 50 additions and 90 deletions

View File

@ -5,9 +5,9 @@ import org.mercury_im.messenger.di.module.AppModule;
import org.mercury_im.messenger.di.module.RepositoryModule;
import org.mercury_im.messenger.di.module.RoomModule;
import org.mercury_im.messenger.handler.RoomPlainMessageHandler;
import org.mercury_im.messenger.handler.RoomRosterHandler;
import org.mercury_im.messenger.service.XmppConnectionService;
import org.mercury_im.messenger.ui.MainActivity;
import org.mercury_im.messenger.handler.RoomRosterHandler;
import org.mercury_im.messenger.ui.chat.ChatActivity;
import org.mercury_im.messenger.ui.chat.ChatInputFragment;
import org.mercury_im.messenger.ui.chat.ChatInputViewModel;

View File

@ -6,8 +6,6 @@ import androidx.room.Transaction;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.roster.Roster;
import org.jivesoftware.smackx.vcardtemp.VCardManager;
import org.jivesoftware.smackx.vcardtemp.packet.VCard;
import org.jxmpp.jid.BareJid;
import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.FullJid;
@ -24,8 +22,6 @@ import java.util.Collection;
import javax.inject.Inject;
import static androidx.constraintlayout.widget.Constraints.TAG;
public class RoomRosterHandler implements RosterHandler {
@Inject
@ -89,7 +85,7 @@ public class RoomRosterHandler implements RosterHandler {
@Transaction
private RoomContactModel getContactModel(Jid jid) {
Log.d(TAG, "Build entity " + jid + " " + accountId);
Log.d("Mercury", "Build entity " + jid + " " + accountId);
EntityBareJid entityBareJid = jid.asEntityBareJidOrThrow();
RoomEntityModel entityModel = entityDao.getEntityForSync(accountId, entityBareJid);
if (entityModel == null) {

View File

@ -7,33 +7,17 @@ import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.util.Log;
import android.util.LongSparseArray;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.chat2.Chat;
import org.jivesoftware.smack.chat2.ChatManager;
import org.jivesoftware.smack.chat2.IncomingChatMessageListener;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.roster.Roster;
import org.jivesoftware.smack.roster.RosterEntry;
import org.jivesoftware.smack.roster.RosterLoadedListener;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
import org.jivesoftware.smackx.ping.android.ServerPingWithAlarmManager;
import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.Jid;
import org.jxmpp.stringprep.XmppStringprepException;
import org.mercury_im.messenger.MercuryImApplication;
import org.mercury_im.messenger.Notifications;
@ -41,29 +25,18 @@ import org.mercury_im.messenger.R;
import org.mercury_im.messenger.handler.RoomPlainMessageHandler;
import org.mercury_im.messenger.handler.RoomRosterHandler;
import org.mercury_im.messenger.persistence.model.AccountModel;
import org.mercury_im.messenger.persistence.model.ContactModel;
import org.mercury_im.messenger.persistence.repository.AccountRepository;
import org.mercury_im.messenger.persistence.repository.ContactRepository;
import org.mercury_im.messenger.persistence.repository.EntityRepository;
import org.mercury_im.messenger.persistence.room.dao.ContactDao;
import org.mercury_im.messenger.persistence.room.dao.EntityDao;
import org.mercury_im.messenger.persistence.room.model.RoomAccountModel;
import org.mercury_im.messenger.persistence.room.model.RoomContactModel;
import org.mercury_im.messenger.persistence.room.model.RoomEntityModel;
import org.mercury_im.messenger.persistence.room.repository.IAccountRepository;
import org.mercury_im.messenger.persistence.room.repository.IContactRepository;
import org.mercury_im.messenger.persistence.room.repository.IEntityRepository;
import org.mercury_im.messenger.ui.MainActivity;
import org.mercury_im.messenger.xmpp_android.AndroidMercuryConnection;
import org.mercury_im.messenger.xmpp_android.ParcelableXMPPTCPConnectionConfiguration;
import org.mercury_im.messenger.xmpp_core.ConnectionHolder;
import org.mercury_im.messenger.xmpp_core.MercuryConnection;
import org.mercury_im.messenger.xmpp_core.RosterHandler;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;

View File

@ -5,8 +5,6 @@ import android.util.Log;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
@ -20,10 +18,8 @@ import org.jxmpp.jid.impl.JidCreate;
import org.mercury_im.messenger.MercuryImApplication;
import org.mercury_im.messenger.R;
import org.mercury_im.messenger.persistence.model.AccountModel;
import org.mercury_im.messenger.persistence.model.ChatModel;
import org.mercury_im.messenger.persistence.model.MessageModel;
import org.mercury_im.messenger.persistence.repository.AccountRepository;
import org.mercury_im.messenger.persistence.repository.ChatRepository;
import org.mercury_im.messenger.persistence.repository.MessageRepository;
import org.mercury_im.messenger.ui.BindingActivity;

View File

@ -5,7 +5,6 @@ import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;
import androidx.fragment.app.FragmentActivity;
@ -13,7 +12,6 @@ import org.mercury_im.messenger.MercuryImApplication;
import org.mercury_im.messenger.R;
import org.mercury_im.messenger.persistence.model.AccountModel;
import org.mercury_im.messenger.persistence.repository.AccountRepository;
import org.mercury_im.messenger.ui.BindingActivity;
import javax.inject.Inject;

View File

@ -1,10 +1,6 @@
package org.mercury_im.messenger.ui.login;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModelProviders;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
@ -13,11 +9,13 @@ import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.TextView;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModelProviders;
import com.google.android.material.textfield.TextInputEditText;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.roster.Roster;
import org.jivesoftware.smack.tcp.XMPPTCPConnection;
import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.impl.JidCreate;
@ -25,11 +23,11 @@ import org.jxmpp.stringprep.XmppStringprepException;
import org.mercury_im.messenger.MercuryImApplication;
import org.mercury_im.messenger.R;
import org.mercury_im.messenger.handler.RoomPlainMessageHandler;
import org.mercury_im.messenger.persistence.model.AccountModel;
import org.mercury_im.messenger.persistence.room.model.RoomAccountModel;
import org.mercury_im.messenger.persistence.repository.AccountRepository;
import org.mercury_im.messenger.ui.BindingActivity;
import org.mercury_im.messenger.handler.RoomRosterHandler;
import org.mercury_im.messenger.persistence.model.AccountModel;
import org.mercury_im.messenger.persistence.repository.AccountRepository;
import org.mercury_im.messenger.persistence.room.model.RoomAccountModel;
import org.mercury_im.messenger.ui.BindingActivity;
import org.mercury_im.messenger.xmpp_android.AndroidMercuryConnection;
import org.mercury_im.messenger.xmpp_core.MercuryConnection;

View File

@ -4,23 +4,17 @@ import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.RecyclerView;
import org.bouncycastle.jcajce.provider.symmetric.Serpent;
import org.mercury_im.messenger.R;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import static androidx.constraintlayout.widget.Constraints.TAG;
/**

View File

@ -1,10 +1,5 @@
package org.mercury_im.messenger.ui.roster;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityOptionsCompat;
import androidx.recyclerview.widget.RecyclerView;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
@ -13,10 +8,14 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityOptionsCompat;
import androidx.recyclerview.widget.RecyclerView;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.R;
import org.mercury_im.messenger.persistence.room.model.RoomContactAndEntityModel;
import org.mercury_im.messenger.persistence.room.model.RoomContactModel;
import org.mercury_im.messenger.ui.chat.ChatActivity;
import java.util.List;

View File

@ -1,15 +1,14 @@
package org.mercury_im.messenger.ui.roster;
import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import androidx.annotation.NonNull;
import org.mercury_im.messenger.MercuryImApplication;
import org.mercury_im.messenger.persistence.repository.ContactAndEntityRepository;
import org.mercury_im.messenger.persistence.repository.ContactRepository;
import org.mercury_im.messenger.persistence.room.model.RoomContactAndEntityModel;
import org.mercury_im.messenger.persistence.room.model.RoomContactModel;
import java.util.List;

View File

@ -2,5 +2,4 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/msg_corner_big" android:bottomLeftRadius="@dimen/msg_corner_small"/>
<solid android:color="@color/bg_msg_out" />
<stroke android:color="@color/outline_msg" android:width="@dimen/width_outline" />
</shape>

View File

@ -2,5 +2,4 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/msg_corner_big" android:topLeftRadius="@dimen/msg_corner_small"/>
<solid android:color="@color/bg_msg_out" />
<stroke android:color="@color/outline_msg" android:width="@dimen/width_outline" />
</shape>

View File

@ -4,5 +4,4 @@
android:topLeftRadius="@dimen/msg_corner_small"
android:bottomLeftRadius="@dimen/msg_corner_small" />
<solid android:color="@color/bg_msg_out" />
<stroke android:color="@color/outline_msg" android:width="@dimen/width_outline" />
</shape>

View File

@ -3,5 +3,4 @@
<corners android:radius="@dimen/msg_corner_big"
android:bottomRightRadius="@dimen/msg_corner_small" />
<solid android:color="@color/bg_msg_out" />
<stroke android:color="@color/outline_msg" android:width="@dimen/width_outline" />
</shape>

View File

@ -3,5 +3,4 @@
<corners android:radius="@dimen/msg_corner_big"
android:topRightRadius="@dimen/msg_corner_small" />
<solid android:color="@color/bg_msg_out" />
<stroke android:color="@color/outline_msg" android:width="@dimen/width_outline" />
</shape>

View File

@ -4,5 +4,4 @@
android:topRightRadius="@dimen/msg_corner_small"
android:bottomRightRadius="@dimen/msg_corner_small"/>
<solid android:color="@color/bg_msg_out" />
<stroke android:color="@color/outline_msg" android:width="@dimen/width_outline" />
</shape>

View File

@ -2,5 +2,4 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="@dimen/msg_corner_big" />
<solid android:color="@color/bg_msg_out" />
<stroke android:color="@color/outline_msg" android:width="@dimen/width_outline" />
</shape>

View File

@ -2,6 +2,4 @@
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
<size android:width="10dp" android:height="10dp" />
<solid android:color="@color/white" />
<stroke android:color="@color/outline_compose" android:width="@dimen/width_outline" />
</shape>

View File

@ -2,5 +2,4 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white" />
<stroke android:color="@color/outline_compose" android:width="@dimen/width_outline" />
</shape>

View File

@ -13,6 +13,7 @@
android:layout_height="match_parent"
android:paddingBottom="56dp"
android:clipToPadding="false"
android:clipChildren="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@ -13,7 +13,8 @@
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/bg_compose"
android:background="@drawable/rectangle"
android:elevation="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btn_send"
app:layout_constraintStart_toStartOf="parent"
@ -69,7 +70,8 @@
android:layout_height="40dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/circle_outlined"
android:background="@drawable/circle"
android:elevation="15dp"
android:tint="@color/tint_compose"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View File

@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_marginTop="@dimen/msg_spacing_vertical"
android:background="@null"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:clipChildren="false">
android:layout_height="wrap_content">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/msg_avatar"
@ -24,18 +23,23 @@
android:id="@+id/msg_body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/msg_margin_horizontal"
android:lineSpacingExtra="2dp"
android:paddingStart="@dimen/msg_padding_start"
android:paddingTop="@dimen/msg_padding_top"
android:paddingEnd="@dimen/msg_padding_end"
android:paddingBottom="@dimen/msg_padding_bottom"
android:elevation="15dp"
android:elevation="@dimen/msg_elevation"
android:layout_marginTop="@dimen/msg_spacing_vertical"
android:layout_marginStart="@dimen/msg_margin_horizontal"
android:background="@drawable/bg_msg_single"
android:maxWidth="300dp"
app:layout_constraintStart_toEndOf="@id/msg_avatar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_max="wrap"
app:layout_constraintWidth_percent="0.8"
android:background="@drawable/bg_msg_single"
android:lineSpacingExtra="2dp"
tools:text="Hello World! I greet you fellow messengers. Please await my overpowering!" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -3,24 +3,32 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="@null"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/msg_body"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:lineSpacingExtra="2dp"
android:paddingStart="@dimen/msg_padding_start"
android:paddingTop="@dimen/msg_padding_top"
android:paddingEnd="@dimen/msg_padding_end"
android:paddingBottom="@dimen/msg_padding_bottom"
android:layout_marginTop="2dp"
android:layout_marginEnd="8dp"
android:elevation="@dimen/msg_elevation"
android:layout_marginTop="@dimen/msg_spacing_vertical"
android:layout_marginEnd="@dimen/msg_margin_horizontal"
android:background="@drawable/bg_msg_single"
android:maxWidth="300dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Hello World!Hello World!Hello World!Hello World!" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -11,7 +11,7 @@
<dimen name="msg_corner_small">4dp</dimen>
<dimen name="msg_margin_horizontal">8dp</dimen>
<dimen name="msg_spacing_vertical">1dp</dimen>
<dimen name="msg_spacing_vertical">3dp</dimen>
<dimen name="msg_padding_horizontal">10dp</dimen>
<dimen name="msg_padding_vertical">10dp</dimen>
@ -21,6 +21,8 @@
<dimen name="msg_padding_start">@dimen/msg_padding_horizontal</dimen>
<dimen name="msg_padding_end">@dimen/msg_padding_horizontal</dimen>
<dimen name="msg_elevation">5dp</dimen>
<dimen name="width_outline">1dp</dimen>
<dimen name="app_bar_height">200dp</dimen>
<dimen name="item_width">200dp</dimen>