diff --git a/app/src/main/java/org/mercury_im/messenger/di/component/AppComponent.java b/app/src/main/java/org/mercury_im/messenger/di/component/AppComponent.java
index 37d4c80..997d7f7 100644
--- a/app/src/main/java/org/mercury_im/messenger/di/component/AppComponent.java
+++ b/app/src/main/java/org/mercury_im/messenger/di/component/AppComponent.java
@@ -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;
diff --git a/app/src/main/java/org/mercury_im/messenger/handler/RoomRosterHandler.java b/app/src/main/java/org/mercury_im/messenger/handler/RoomRosterHandler.java
index 87f183f..7a3a834 100644
--- a/app/src/main/java/org/mercury_im/messenger/handler/RoomRosterHandler.java
+++ b/app/src/main/java/org/mercury_im/messenger/handler/RoomRosterHandler.java
@@ -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) {
diff --git a/app/src/main/java/org/mercury_im/messenger/service/XmppConnectionService.java b/app/src/main/java/org/mercury_im/messenger/service/XmppConnectionService.java
index e31da06..3591938 100644
--- a/app/src/main/java/org/mercury_im/messenger/service/XmppConnectionService.java
+++ b/app/src/main/java/org/mercury_im/messenger/service/XmppConnectionService.java
@@ -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;
diff --git a/app/src/main/java/org/mercury_im/messenger/ui/chat/ChatActivity.java b/app/src/main/java/org/mercury_im/messenger/ui/chat/ChatActivity.java
index 1a90c14..776ff14 100644
--- a/app/src/main/java/org/mercury_im/messenger/ui/chat/ChatActivity.java
+++ b/app/src/main/java/org/mercury_im/messenger/ui/chat/ChatActivity.java
@@ -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;
diff --git a/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsActivity.java b/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsActivity.java
index fd6f348..7c1eaaf 100644
--- a/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsActivity.java
+++ b/app/src/main/java/org/mercury_im/messenger/ui/login/AccountsActivity.java
@@ -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;
diff --git a/app/src/main/java/org/mercury_im/messenger/ui/login/LoginActivity.java b/app/src/main/java/org/mercury_im/messenger/ui/login/LoginActivity.java
index c681d1a..344e949 100644
--- a/app/src/main/java/org/mercury_im/messenger/ui/login/LoginActivity.java
+++ b/app/src/main/java/org/mercury_im/messenger/ui/login/LoginActivity.java
@@ -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;
diff --git a/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterFragment.java b/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterFragment.java
index 1e68f04..7920016 100644
--- a/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterFragment.java
+++ b/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterFragment.java
@@ -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;
/**
diff --git a/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterRecyclerViewAdapter.java b/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterRecyclerViewAdapter.java
index 42545ce..3cf88fe 100644
--- a/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterRecyclerViewAdapter.java
+++ b/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterRecyclerViewAdapter.java
@@ -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;
diff --git a/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterViewModel.java b/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterViewModel.java
index 1d0e7e5..72a4da3 100644
--- a/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterViewModel.java
+++ b/app/src/main/java/org/mercury_im/messenger/ui/roster/RosterViewModel.java
@@ -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;
diff --git a/app/src/main/res/drawable/bg_msg_in_first.xml b/app/src/main/res/drawable/bg_msg_in_first.xml
index aab5f5e..904bcb5 100644
--- a/app/src/main/res/drawable/bg_msg_in_first.xml
+++ b/app/src/main/res/drawable/bg_msg_in_first.xml
@@ -2,5 +2,4 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_msg_in_last.xml b/app/src/main/res/drawable/bg_msg_in_last.xml
index 4bb00fa..525ae90 100644
--- a/app/src/main/res/drawable/bg_msg_in_last.xml
+++ b/app/src/main/res/drawable/bg_msg_in_last.xml
@@ -2,5 +2,4 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_msg_in_mid.xml b/app/src/main/res/drawable/bg_msg_in_mid.xml
index c3c601f..24ad8eb 100644
--- a/app/src/main/res/drawable/bg_msg_in_mid.xml
+++ b/app/src/main/res/drawable/bg_msg_in_mid.xml
@@ -4,5 +4,4 @@
android:topLeftRadius="@dimen/msg_corner_small"
android:bottomLeftRadius="@dimen/msg_corner_small" />
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_msg_out_first.xml b/app/src/main/res/drawable/bg_msg_out_first.xml
index 51e3042..f47c193 100644
--- a/app/src/main/res/drawable/bg_msg_out_first.xml
+++ b/app/src/main/res/drawable/bg_msg_out_first.xml
@@ -3,5 +3,4 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_msg_out_last.xml b/app/src/main/res/drawable/bg_msg_out_last.xml
index 639d123..08f961b 100644
--- a/app/src/main/res/drawable/bg_msg_out_last.xml
+++ b/app/src/main/res/drawable/bg_msg_out_last.xml
@@ -3,5 +3,4 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_msg_out_mid.xml b/app/src/main/res/drawable/bg_msg_out_mid.xml
index 36e268b..10dc4e9 100644
--- a/app/src/main/res/drawable/bg_msg_out_mid.xml
+++ b/app/src/main/res/drawable/bg_msg_out_mid.xml
@@ -4,5 +4,4 @@
android:topRightRadius="@dimen/msg_corner_small"
android:bottomRightRadius="@dimen/msg_corner_small"/>
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_msg_single.xml b/app/src/main/res/drawable/bg_msg_single.xml
index af3a813..4968828 100644
--- a/app/src/main/res/drawable/bg_msg_single.xml
+++ b/app/src/main/res/drawable/bg_msg_single.xml
@@ -2,5 +2,4 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/circle_outlined.xml b/app/src/main/res/drawable/circle_outlined.xml
index 91f7edf..215945d 100644
--- a/app/src/main/res/drawable/circle_outlined.xml
+++ b/app/src/main/res/drawable/circle_outlined.xml
@@ -2,6 +2,4 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/rectangle_outlined.xml b/app/src/main/res/drawable/rectangle_outlined.xml
index 65cf5ec..297aa2c 100644
--- a/app/src/main/res/drawable/rectangle_outlined.xml
+++ b/app/src/main/res/drawable/rectangle_outlined.xml
@@ -2,5 +2,4 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_chat.xml b/app/src/main/res/layout/content_chat.xml
index 9f5d329..32e1386 100644
--- a/app/src/main/res/layout/content_chat.xml
+++ b/app/src/main/res/layout/content_chat.xml
@@ -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"
diff --git a/app/src/main/res/layout/view_compose.xml b/app/src/main/res/layout/view_compose.xml
index c93c39e..6157770 100644
--- a/app/src/main/res/layout/view_compose.xml
+++ b/app/src/main/res/layout/view_compose.xml
@@ -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"
diff --git a/app/src/main/res/layout/view_message_text_in.xml b/app/src/main/res/layout/view_message_text_in.xml
index 0dddc50..50ccc9c 100644
--- a/app/src/main/res/layout/view_message_text_in.xml
+++ b/app/src/main/res/layout/view_message_text_in.xml
@@ -1,13 +1,12 @@
-
+ android:layout_height="wrap_content">
\ No newline at end of file
diff --git a/app/src/main/res/layout/view_message_text_out.xml b/app/src/main/res/layout/view_message_text_out.xml
index 950ac38..dc79d2e 100644
--- a/app/src/main/res/layout/view_message_text_out.xml
+++ b/app/src/main/res/layout/view_message_text_out.xml
@@ -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">
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index eb49081..683de31 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -11,7 +11,7 @@
4dp
8dp
- 1dp
+ 3dp
10dp
10dp
@@ -21,6 +21,8 @@
@dimen/msg_padding_horizontal
@dimen/msg_padding_horizontal
+ 5dp
+
1dp
200dp
200dp