From d317332b86ca21f9c59abe824e009babbde480ee Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 27 Oct 2020 10:14:58 +0100 Subject: [PATCH] Quick fix for unread chat message & missed call indicator becoming visible after many fragment changes, probably due an issue in motion layout visibilityMode --- .../hidden_unread_message_count_bg.xml | 5 ++ .../main/res/layout-land/tabs_fragment.xml | 12 ++- app/src/main/res/layout/tabs_fragment.xml | 12 ++- .../res/xml/motion_main_activity_tabs.xml | 84 +------------------ .../xml/motion_main_activity_tabs_land.xml | 84 +------------------ .../motion_main_activity_tabs_selector.xml | 73 ++++++++++++++++ ...otion_main_activity_tabs_selector_land.xml | 73 ++++++++++++++++ 7 files changed, 165 insertions(+), 178 deletions(-) create mode 100644 app/src/main/res/drawable/hidden_unread_message_count_bg.xml create mode 100644 app/src/main/res/xml/motion_main_activity_tabs_selector.xml create mode 100644 app/src/main/res/xml/motion_main_activity_tabs_selector_land.xml diff --git a/app/src/main/res/drawable/hidden_unread_message_count_bg.xml b/app/src/main/res/drawable/hidden_unread_message_count_bg.xml new file mode 100644 index 000000000..6c1145f56 --- /dev/null +++ b/app/src/main/res/drawable/hidden_unread_message_count_bg.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout-land/tabs_fragment.xml b/app/src/main/res/layout-land/tabs_fragment.xml index 619c33de7..4c94c23af 100644 --- a/app/src/main/res/layout-land/tabs_fragment.xml +++ b/app/src/main/res/layout-land/tabs_fragment.xml @@ -26,7 +26,7 @@ android:id="@+id/motion_layout" android:layout_width="@dimen/main_activity_tabs_fragment_size" android:layout_height="match_parent" - app:layoutDescription="@xml/motion_main_activity_tabs_land"> + app:layoutDescription="@xml/motion_main_activity_tabs_selector_land"> @@ -134,10 +133,9 @@ android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_marginTop="5dp" - android:background="@drawable/unread_message_count_bg" android:gravity="center" - android:text="@{String.valueOf(viewModel.unreadMessagesCount)}" - android:visibility="@{viewModel.unreadMessagesCount == 0 ? View.GONE : View.VISIBLE}" + android:background="@{viewModel.unreadMessagesCount == 0 ? @drawable/hidden_unread_message_count_bg : @drawable/unread_message_count_bg}" + android:text="@{viewModel.unreadMessagesCount == 0 ? `` : String.valueOf(viewModel.unreadMessagesCount)}" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="@id/guidelineBottom" /> diff --git a/app/src/main/res/layout/tabs_fragment.xml b/app/src/main/res/layout/tabs_fragment.xml index 0ba902072..c650724eb 100644 --- a/app/src/main/res/layout/tabs_fragment.xml +++ b/app/src/main/res/layout/tabs_fragment.xml @@ -26,7 +26,7 @@ android:id="@+id/motion_layout" android:layout_width="match_parent" android:layout_height="@dimen/main_activity_tabs_fragment_size" - app:layoutDescription="@xml/motion_main_activity_tabs"> + app:layoutDescription="@xml/motion_main_activity_tabs_selector"> @@ -134,10 +133,9 @@ android:layout_height="wrap_content" android:layout_marginRight="25dp" android:layout_marginTop="5dp" - android:background="@drawable/unread_message_count_bg" android:gravity="center" - android:text="@{String.valueOf(viewModel.unreadMessagesCount)}" - android:visibility="@{viewModel.unreadMessagesCount == 0 ? View.GONE : View.VISIBLE}" + android:background="@{viewModel.unreadMessagesCount == 0 ? @drawable/hidden_unread_message_count_bg : @drawable/unread_message_count_bg}" + android:text="@{viewModel.unreadMessagesCount == 0 ? `` : String.valueOf(viewModel.unreadMessagesCount)}" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"/> diff --git a/app/src/main/res/xml/motion_main_activity_tabs.xml b/app/src/main/res/xml/motion_main_activity_tabs.xml index a9b169e01..2ca2f6d4f 100644 --- a/app/src/main/res/xml/motion_main_activity_tabs.xml +++ b/app/src/main/res/xml/motion_main_activity_tabs.xml @@ -7,43 +7,7 @@ motion:constraintSetStart="@+id/visible" motion:constraintSetEnd="@+id/gone" /> - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/xml/motion_main_activity_tabs_land.xml b/app/src/main/res/xml/motion_main_activity_tabs_land.xml index 224827ae6..127cdbfb2 100644 --- a/app/src/main/res/xml/motion_main_activity_tabs_land.xml +++ b/app/src/main/res/xml/motion_main_activity_tabs_land.xml @@ -7,43 +7,7 @@ motion:constraintSetStart="@+id/visible" motion:constraintSetEnd="@+id/gone" /> - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/xml/motion_main_activity_tabs_selector.xml b/app/src/main/res/xml/motion_main_activity_tabs_selector.xml new file mode 100644 index 000000000..06593e7d5 --- /dev/null +++ b/app/src/main/res/xml/motion_main_activity_tabs_selector.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/xml/motion_main_activity_tabs_selector_land.xml b/app/src/main/res/xml/motion_main_activity_tabs_selector_land.xml new file mode 100644 index 000000000..d9c7591df --- /dev/null +++ b/app/src/main/res/xml/motion_main_activity_tabs_selector_land.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +