diff --git a/app/src/main/java/com/ninja/mobile/communicator/data/models/temp_models/TempChatModel.java b/app/src/main/java/com/ninja/mobile/communicator/data/models/temp_models/TempChatModel.java new file mode 100644 index 0000000000000000000000000000000000000000..ffabbbe534f9d9cac199ca0a803d64a0c3027e3e --- /dev/null +++ b/app/src/main/java/com/ninja/mobile/communicator/data/models/temp_models/TempChatModel.java @@ -0,0 +1,40 @@ +package com.ninja.mobile.communicator.data.models.temp_models; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class TempChatModel { + public static final String MESSAGE = "message"; + public static final String PHOTO = "photo"; + public static final String VIDEO = "video"; + public static final String EMOJ = "Emoji"; + public static final String VOICE_MSG = "Voice call"; + public static final String VIDEO_CALL = "Video call"; + public static final String LOCATION = "Location"; + private static final String[] messageTypes = new String[]{MESSAGE, PHOTO, VIDEO, EMOJ, VOICE_MSG, VIDEO_CALL, LOCATION}; + public String name; + public String message; + public String messageType; + public int unreadMessages; + public String lastMessage; + public String photoUrl; + + + public static List getSampleMessages() { + Random random = new Random(); + List list = new ArrayList<>(); + for (int i = 0; i < 50; i++) { + TempChatModel model = new TempChatModel(); + model.name = "Name " + i; + model.message = "" + i + "O" + i; + model.messageType = messageTypes[random.nextInt(messageTypes.length)]; + model.unreadMessages = random.nextInt(15); + model.lastMessage = "10:10"; + model.photoUrl = "https://cdn0.iconfinder.com/data/icons/PRACTIKA/256/user.png"; + list.add(model); + } + + return list; + } +} diff --git a/app/src/main/java/com/ninja/mobile/communicator/mvp/presenters/ChatsListPresenter.java b/app/src/main/java/com/ninja/mobile/communicator/mvp/presenters/ChatsListPresenter.java new file mode 100644 index 0000000000000000000000000000000000000000..003686610083d6468163a2ecbfc8150872ad00c0 --- /dev/null +++ b/app/src/main/java/com/ninja/mobile/communicator/mvp/presenters/ChatsListPresenter.java @@ -0,0 +1,21 @@ +package com.ninja.mobile.communicator.mvp.presenters; + +import com.arellomobile.mvp.InjectViewState; +import com.ninja.mobile.communicator.data.models.temp_models.TempChatModel; +import com.ninja.mobile.communicator.mvp.view.ChatsListView; + +import java.util.List; + +@InjectViewState +public class ChatsListPresenter extends BasePresenter { + public void getAllChats(){ + List list = TempChatModel.getSampleMessages(); + getViewState().setAllChats(list); + } + + public void initListener(){ + //TODO init listener for new messages and read ones + getViewState().messageRead(); + getViewState().newMessageArrived(); + } +} diff --git a/app/src/main/java/com/ninja/mobile/communicator/mvp/view/ChatsListView.java b/app/src/main/java/com/ninja/mobile/communicator/mvp/view/ChatsListView.java new file mode 100644 index 0000000000000000000000000000000000000000..5733afaca72d4e04bf1f8eda0c91caa49b3afdfb --- /dev/null +++ b/app/src/main/java/com/ninja/mobile/communicator/mvp/view/ChatsListView.java @@ -0,0 +1,12 @@ +package com.ninja.mobile.communicator.mvp.view; + +import com.arellomobile.mvp.MvpView; +import com.ninja.mobile.communicator.data.models.temp_models.TempChatModel; + +import java.util.List; + +public interface ChatsListView extends MvpView { + void setAllChats(List chats); + void newMessageArrived(); + void messageRead(); +} diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/activities/RegistrationActivity.java b/app/src/main/java/com/ninja/mobile/communicator/ui/activities/RegistrationActivity.java index f720ff1ed5a9760ffa830a51d486abf76e684896..3055e4c62d498e9398663d108a506ebcb1192ae0 100644 --- a/app/src/main/java/com/ninja/mobile/communicator/ui/activities/RegistrationActivity.java +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/activities/RegistrationActivity.java @@ -7,6 +7,7 @@ import android.os.Bundle; import com.ninja.mobile.communicator.NynjaApp; import com.ninja.mobile.communicator.ui.base.BaseActivity; import com.ninja.mobile.communicator.ui.base.BaseFragment; +import com.ninja.mobile.communicator.ui.fragments.ChatsListFragment; import com.ninja.mobile.communicator.ui.fragments.signin.CodeInputFragment; import com.ninja.mobile.communicator.ui.fragments.signin.LoginFragment; diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/adapters/ChatsListAdapter.java b/app/src/main/java/com/ninja/mobile/communicator/ui/adapters/ChatsListAdapter.java new file mode 100644 index 0000000000000000000000000000000000000000..c69e37df15141fb89f9f6d88a323e3c33d281d44 --- /dev/null +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/adapters/ChatsListAdapter.java @@ -0,0 +1,113 @@ +package com.ninja.mobile.communicator.ui.adapters; + +import android.app.Activity; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.bumptech.glide.Glide; +import com.ninja.mobile.communicator.R; +import com.ninja.mobile.communicator.data.models.temp_models.TempChatModel; + +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; + +public class ChatsListAdapter extends RecyclerView.Adapter { + private List chats; + private Activity mActivity; + + public ChatsListAdapter(Activity activity, List chats) { + this.chats = chats; + mActivity = activity; + } + + @Override + public ChatsListAdapter.ChatView onCreateViewHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_chats_list, parent, false); + return new ChatsListAdapter.ChatView(itemView); + } + + @Override + public void onBindViewHolder(ChatsListAdapter.ChatView holder, int position) { + TempChatModel chatModel = chats.get(position); + holder.name.setText(chatModel.name); + holder.lastMessage.setText(chatModel.lastMessage); + if (chatModel.unreadMessages > 0) { + holder.unread.setVisibility(View.VISIBLE); + holder.unread.setText(String.valueOf(chatModel.unreadMessages)); + } else { + holder.unread.setVisibility(View.GONE); + } + Glide.with(mActivity) + .load(chatModel.photoUrl) + .into(holder.photo); + + setLastMessage(chatModel, holder); + } + + private void setLastMessage(TempChatModel chatModel, ChatsListAdapter.ChatView holder){ + if (chatModel.messageType.equalsIgnoreCase(TempChatModel.MESSAGE)){ + holder.message.setText(chatModel.message); + holder.messageType.setVisibility(View.GONE); + } else { + holder.messageType.setVisibility(View.VISIBLE); + switch (chatModel.messageType){ + case TempChatModel.VIDEO: + holder.messageType.setImageResource(R.drawable.last_video); + holder.message.setText(TempChatModel.VIDEO); + break; + case TempChatModel.VIDEO_CALL: + holder.messageType.setImageResource(R.drawable.last_video_call); + holder.message.setText(TempChatModel.VIDEO_CALL); + break; + case TempChatModel.PHOTO: + holder.messageType.setImageResource(R.drawable.last_photo); + holder.message.setText(TempChatModel.PHOTO); + break; + case TempChatModel.EMOJ: + holder.messageType.setImageResource(R.drawable.last_emoji); + holder.message.setText(TempChatModel.EMOJ); + break; + case TempChatModel.VOICE_MSG: + holder.messageType.setImageResource(R.drawable.last_voice_msg); + holder.message.setText(TempChatModel.VOICE_MSG); + break; + case TempChatModel.LOCATION: + holder.messageType.setImageResource(R.drawable.last_location); + holder.message.setText(TempChatModel.LOCATION); + break; + } + } + } + + @Override public int getItemCount() { + return chats.size(); + } + + class ChatView extends RecyclerView.ViewHolder { + @BindView(R.id.chats_list_name) TextView name; + @BindView(R.id.chats_list_message_time) TextView lastMessage; + @BindView(R.id.chats_list_message) TextView message; + @BindView(R.id.chats_list_message_count) TextView unread; + @BindView(R.id.chats_list_photo) ImageView photo; + @BindView(R.id.chats_list_message_icon) ImageView messageType; + + ChatView(View itemView) { + super(itemView); + ButterKnife.bind(this, itemView); + } + } + + public void newMessage(){ + //TODO + } + + public void messageRead(){ + //TODO + } +} diff --git a/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/ChatsListFragment.java b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/ChatsListFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..22c3504a2193c5f082eaeefd280d82ad9cf76b6f --- /dev/null +++ b/app/src/main/java/com/ninja/mobile/communicator/ui/fragments/ChatsListFragment.java @@ -0,0 +1,58 @@ +package com.ninja.mobile.communicator.ui.fragments; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.arellomobile.mvp.presenter.InjectPresenter; +import com.ninja.mobile.communicator.R; +import com.ninja.mobile.communicator.data.models.temp_models.TempChatModel; +import com.ninja.mobile.communicator.mvp.presenters.ChatsListPresenter; +import com.ninja.mobile.communicator.mvp.view.ChatsListView; +import com.ninja.mobile.communicator.ui.adapters.ChatsListAdapter; +import com.ninja.mobile.communicator.ui.base.BaseFragment; + +import java.util.List; + +import butterknife.BindView; + +public class ChatsListFragment extends BaseFragment implements ChatsListView{ + + @BindView(R.id.chats_list_recycler) RecyclerView mRecyclerView; + @InjectPresenter ChatsListPresenter mPresenter; + + private ChatsListAdapter mAdapter; + + @Nullable @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_chats_list, container, false); + } + + @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + initChats(); + } + + private void initChats(){ + mPresenter.getAllChats(); + } + + @Override public void setAllChats(List chats) { + mAdapter = new ChatsListAdapter(getActivity(), chats); + mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); + mRecyclerView.setAdapter(mAdapter); + } + + + @Override public void newMessageArrived() { + mAdapter.newMessage(); + } + + @Override public void messageRead() { + mAdapter.messageRead(); + } +} diff --git a/app/src/main/res/drawable-hdpi/last_emoji.png b/app/src/main/res/drawable-hdpi/last_emoji.png new file mode 100644 index 0000000000000000000000000000000000000000..05b0e9823980b7dbbe1f671c1da2e4f9a7bada5c Binary files /dev/null and b/app/src/main/res/drawable-hdpi/last_emoji.png differ diff --git a/app/src/main/res/drawable-hdpi/last_location.png b/app/src/main/res/drawable-hdpi/last_location.png new file mode 100644 index 0000000000000000000000000000000000000000..0a737a3fcfc24a827f154071de23054577c10c88 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/last_location.png differ diff --git a/app/src/main/res/drawable-hdpi/last_photo.png b/app/src/main/res/drawable-hdpi/last_photo.png new file mode 100644 index 0000000000000000000000000000000000000000..18bdc11a068daedef1d52d457ba1b4db37b9719c Binary files /dev/null and b/app/src/main/res/drawable-hdpi/last_photo.png differ diff --git a/app/src/main/res/drawable-hdpi/last_video.png b/app/src/main/res/drawable-hdpi/last_video.png new file mode 100644 index 0000000000000000000000000000000000000000..64df522e6e45070257daade9ecd3802e53f3fef2 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/last_video.png differ diff --git a/app/src/main/res/drawable-hdpi/last_video_call.png b/app/src/main/res/drawable-hdpi/last_video_call.png new file mode 100644 index 0000000000000000000000000000000000000000..93b5e590eccd699e6ab4d114df06a494d9a3ad5f Binary files /dev/null and b/app/src/main/res/drawable-hdpi/last_video_call.png differ diff --git a/app/src/main/res/drawable-hdpi/last_voice_msg.png b/app/src/main/res/drawable-hdpi/last_voice_msg.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2b9acb71f8bb36eb3e18ae7ce2a8088a9bb0e8 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/last_voice_msg.png differ diff --git a/app/src/main/res/drawable-mdpi/last_emoji.png b/app/src/main/res/drawable-mdpi/last_emoji.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2a2c97ec5f2aec5f9e75392819bedfa1b67e46 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/last_emoji.png differ diff --git a/app/src/main/res/drawable-mdpi/last_location.png b/app/src/main/res/drawable-mdpi/last_location.png new file mode 100644 index 0000000000000000000000000000000000000000..af52e0819b4c2cca96065aa1385a73c0cb91af65 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/last_location.png differ diff --git a/app/src/main/res/drawable-mdpi/last_photo.png b/app/src/main/res/drawable-mdpi/last_photo.png new file mode 100644 index 0000000000000000000000000000000000000000..03b497dcf4a33eb1c49171b6d8133b9068fe4caa Binary files /dev/null and b/app/src/main/res/drawable-mdpi/last_photo.png differ diff --git a/app/src/main/res/drawable-mdpi/last_video.png b/app/src/main/res/drawable-mdpi/last_video.png new file mode 100644 index 0000000000000000000000000000000000000000..bb69b55d23817f8abc3743dd4e1f2ca178bbd642 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/last_video.png differ diff --git a/app/src/main/res/drawable-mdpi/last_video_call.png b/app/src/main/res/drawable-mdpi/last_video_call.png new file mode 100644 index 0000000000000000000000000000000000000000..9317f4abbdcc50da7871fddcbad24a733cc25c87 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/last_video_call.png differ diff --git a/app/src/main/res/drawable-mdpi/last_voice_msg.png b/app/src/main/res/drawable-mdpi/last_voice_msg.png new file mode 100644 index 0000000000000000000000000000000000000000..313079ab75ab39d2b49f16d3b39e2bec9f96e405 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/last_voice_msg.png differ diff --git a/app/src/main/res/drawable-xhdpi/last_emoji.png b/app/src/main/res/drawable-xhdpi/last_emoji.png new file mode 100644 index 0000000000000000000000000000000000000000..f09854264b52b5ebc070eda0c2c2ce55849bfae5 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/last_emoji.png differ diff --git a/app/src/main/res/drawable-xhdpi/last_location.png b/app/src/main/res/drawable-xhdpi/last_location.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b764baffb9a724160342edcf90d6f0136b8315 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/last_location.png differ diff --git a/app/src/main/res/drawable-xhdpi/last_photo.png b/app/src/main/res/drawable-xhdpi/last_photo.png new file mode 100644 index 0000000000000000000000000000000000000000..725289609fa601f1d0bb7ca44d3288c1cd4796bb Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/last_photo.png differ diff --git a/app/src/main/res/drawable-xhdpi/last_video.png b/app/src/main/res/drawable-xhdpi/last_video.png new file mode 100644 index 0000000000000000000000000000000000000000..d86fc9c8eeb4359fb3b3e9093cbf0fa5e86a9850 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/last_video.png differ diff --git a/app/src/main/res/drawable-xhdpi/last_video_call.png b/app/src/main/res/drawable-xhdpi/last_video_call.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebea7f150cbfb568ecaabe1dae6302dffcecb63 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/last_video_call.png differ diff --git a/app/src/main/res/drawable-xhdpi/last_voice_msg.png b/app/src/main/res/drawable-xhdpi/last_voice_msg.png new file mode 100644 index 0000000000000000000000000000000000000000..eca1597b3ba6885b19553f88dd947d89e7310d57 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/last_voice_msg.png differ diff --git a/app/src/main/res/drawable-xxhdpi/last_emoji.png b/app/src/main/res/drawable-xxhdpi/last_emoji.png new file mode 100644 index 0000000000000000000000000000000000000000..60d63650c237c578ecd814a84db9966493058d0b Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/last_emoji.png differ diff --git a/app/src/main/res/drawable-xxhdpi/last_location.png b/app/src/main/res/drawable-xxhdpi/last_location.png new file mode 100644 index 0000000000000000000000000000000000000000..9214f21fabf04f703711a0436f85e7db5281cac2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/last_location.png differ diff --git a/app/src/main/res/drawable-xxhdpi/last_photo.png b/app/src/main/res/drawable-xxhdpi/last_photo.png new file mode 100644 index 0000000000000000000000000000000000000000..6789fb8d57319eb1769286251352a89b68ea605d Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/last_photo.png differ diff --git a/app/src/main/res/drawable-xxhdpi/last_video.png b/app/src/main/res/drawable-xxhdpi/last_video.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae84814574d889df3d4e26023a5ae5219a104ae Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/last_video.png differ diff --git a/app/src/main/res/drawable-xxhdpi/last_video_call.png b/app/src/main/res/drawable-xxhdpi/last_video_call.png new file mode 100644 index 0000000000000000000000000000000000000000..3242d19810dbc41c32c05a1fd66d56a79fa4069f Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/last_video_call.png differ diff --git a/app/src/main/res/drawable-xxhdpi/last_voice_msg.png b/app/src/main/res/drawable-xxhdpi/last_voice_msg.png new file mode 100644 index 0000000000000000000000000000000000000000..a1801842039190ef16fe35cce5bc036867fc0e34 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/last_voice_msg.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/last_emoji.png b/app/src/main/res/drawable-xxxhdpi/last_emoji.png new file mode 100644 index 0000000000000000000000000000000000000000..101145caa4c8b08ce25cc1e6f6aa4fce2d7eaf8d Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/last_emoji.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/last_location.png b/app/src/main/res/drawable-xxxhdpi/last_location.png new file mode 100644 index 0000000000000000000000000000000000000000..80f10891976f7b415719dc8974e28291ce3e2fea Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/last_location.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/last_photo.png b/app/src/main/res/drawable-xxxhdpi/last_photo.png new file mode 100644 index 0000000000000000000000000000000000000000..8005309c83da19bcefbc235dcd574108853263ef Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/last_photo.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/last_video.png b/app/src/main/res/drawable-xxxhdpi/last_video.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9dafba2fcefeb3125fda1ecb999951488121d9 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/last_video.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/last_video_call.png b/app/src/main/res/drawable-xxxhdpi/last_video_call.png new file mode 100644 index 0000000000000000000000000000000000000000..7671b99ccec047fbd6e17c2248afd34c9a5e4b04 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/last_video_call.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/last_voice_msg.png b/app/src/main/res/drawable-xxxhdpi/last_voice_msg.png new file mode 100644 index 0000000000000000000000000000000000000000..de954477c0c4158d1f1d0745f108240a8bfdc7b3 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/last_voice_msg.png differ diff --git a/app/src/main/res/drawable/red_semi_circle.xml b/app/src/main/res/drawable/red_semi_circle.xml new file mode 100644 index 0000000000000000000000000000000000000000..f33d38488537931ae0e34ca22383b549628d26d1 --- /dev/null +++ b/app/src/main/res/drawable/red_semi_circle.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_chats_list.xml b/app/src/main/res/layout/fragment_chats_list.xml new file mode 100644 index 0000000000000000000000000000000000000000..cf570202c2bee9c5e526083df6fc322d73b094b8 --- /dev/null +++ b/app/src/main/res/layout/fragment_chats_list.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_add_contacts_from_phone_recycler.xml b/app/src/main/res/layout/item_add_contacts_from_phone_recycler.xml index 192f65cfd8598aa3e12c309a8c8879a4bfc0ae29..fa071bec31bff9b0f7ddcbf6d957d0514e3b9246 100644 --- a/app/src/main/res/layout/item_add_contacts_from_phone_recycler.xml +++ b/app/src/main/res/layout/item_add_contacts_from_phone_recycler.xml @@ -43,7 +43,6 @@ android:layout_width="@dimen/photo_recycler" android:layout_height="@dimen/photo_recycler" android:layout_margin="8dp" - android:src="@drawable/circle_small" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -89,6 +88,7 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toBottomOf="@+id/add_contact_from_phone_iv_photo" /> + app:layout_constraintTop_toBottomOf="@+id/add_contact_from_phone_iv_photo" + tools:ignore="ContentDescription" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_chats_list.xml b/app/src/main/res/layout/item_chats_list.xml new file mode 100644 index 0000000000000000000000000000000000000000..942ed4e85c99bf2123460ee5feff0d7f715fc46d --- /dev/null +++ b/app/src/main/res/layout/item_chats_list.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/dimen.xml b/app/src/main/res/values/dimen.xml index 397e2fc26606855a5c7f901e45ac28ab2a7b2d16..93f63093fbc7a4aebc9a48abd3d3e5070cd41259 100644 --- a/app/src/main/res/values/dimen.xml +++ b/app/src/main/res/values/dimen.xml @@ -4,6 +4,7 @@ 60dp 40dp 15dp + 20dp \ No newline at end of file