diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java index 86f050a88f..63b5b40871 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListArchiveFragment.java @@ -81,7 +81,7 @@ public class ConversationListArchiveFragment extends ConversationListFragment im } @Override - protected void onPostSubmitList() { + protected void onPostSubmitList(int conversationCount) { list.setVisibility(View.VISIBLE); if (emptyState.resolved()) { @@ -148,6 +148,11 @@ public class ConversationListArchiveFragment extends ConversationListFragment im } }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, threadId); } + + @Override + void updateEmptyState(boolean isConversationEmpty) { + // Do nothing + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index 14f248ee85..34d29c9537 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -832,10 +832,10 @@ public class ConversationListFragment extends MainFragment implements ActionMode private void onSubmitList(@NonNull List conversationList) { defaultAdapter.submitList(conversationList); - onPostSubmitList(); + onPostSubmitList(conversationList.size()); } - private void updateEmptyState(boolean isConversationEmpty) { + void updateEmptyState(boolean isConversationEmpty) { if (isConversationEmpty) { Log.i(TAG, "Received an empty data set."); list.setVisibility(View.INVISIBLE); @@ -856,7 +856,11 @@ public class ConversationListFragment extends MainFragment implements ActionMode } } - protected void onPostSubmitList() { + protected void onPostSubmitList(int conversationCount) { + if (conversationCount >= 6 && (SignalStore.onboarding().shouldShowInviteFriends() || SignalStore.onboarding().shouldShowNewGroup())) { + SignalStore.onboarding().clearAll(); + ApplicationDependencies.getMegaphoneRepository().markFinished(Megaphones.Event.ONBOARDING); + } } @Override diff --git a/app/src/main/res/drawable/megaphone_onboarding_gradient.xml b/app/src/main/res/drawable/megaphone_onboarding_gradient.xml new file mode 100644 index 0000000000..30d5020f98 --- /dev/null +++ b/app/src/main/res/drawable/megaphone_onboarding_gradient.xml @@ -0,0 +1,8 @@ + + + + diff --git a/app/src/main/res/layout/conversation_list_fragment.xml b/app/src/main/res/layout/conversation_list_fragment.xml index 42eecd66a2..636f2a967f 100644 --- a/app/src/main/res/layout/conversation_list_fragment.xml +++ b/app/src/main/res/layout/conversation_list_fragment.xml @@ -139,7 +139,7 @@ android:clipToPadding="false" android:nextFocusDown="@+id/fab" android:nextFocusForward="@+id/fab" - android:paddingBottom="150dp" + android:paddingBottom="160dp" android:scrollbars="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@id/reminder" diff --git a/app/src/main/res/layout/onboarding_megaphone.xml b/app/src/main/res/layout/onboarding_megaphone.xml index 8a320633d2..3c8b879103 100644 --- a/app/src/main/res/layout/onboarding_megaphone.xml +++ b/app/src/main/res/layout/onboarding_megaphone.xml @@ -5,38 +5,53 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingBottom="14dp" + android:paddingBottom="10dp" android:clipChildren="false" android:clipToPadding="false" tools:parentTag="android.widget.FrameLayout"> - - + android:layout_height="24dp" + android:src="@drawable/megaphone_onboarding_gradient" /> - + android:clipChildren="false" + android:background="@color/signal_background_primary"> - + + + + + + \ No newline at end of file