From 4283b2d8129edfc34d6d5d8db9536fae090389cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 22 Mar 2024 15:18:06 -0400 Subject: [PATCH] conversation: improve loading experience Change-Id: Ia1bdd216e3837e690b12fcae44e841fa585c18dc --- .../src/main/java/cx/ring/client/HomeActivity.kt | 14 ++++++-------- .../java/cx/ring/fragments/ConversationFragment.kt | 7 +++++++ .../app/src/main/res/layout/frag_conversation.xml | 5 +++-- .../app/src/main/res/layout/item_smartlist.xml | 1 + 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt b/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt index 9d718a86b..4451e309f 100644 --- a/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt +++ b/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt @@ -37,6 +37,7 @@ import androidx.core.view.doOnNextLayout import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction +import androidx.fragment.app.commit import androidx.lifecycle.ViewModelProvider import com.google.android.material.dialog.MaterialAlertDialogBuilder import cx.ring.R @@ -428,13 +429,10 @@ class HomeActivity : AppCompatActivity(), ContactPickerFragment.OnContactedPicke fun showWelcomeFragment() { val welcomeJamiFragment = WelcomeJamiFragment() - supportFragmentManager.beginTransaction() - .replace( - R.id.conversation, - welcomeJamiFragment, - welcomeJamiFragment::class.java.simpleName - ) - .commit() + supportFragmentManager.commit { + setReorderingAllowed(true) + replace(R.id.conversation, welcomeJamiFragment, welcomeJamiFragment::class.java.simpleName) + } fWelcomeJami = welcomeJamiFragment fConversation = null } @@ -467,7 +465,7 @@ class HomeActivity : AppCompatActivity(), ContactPickerFragment.OnContactedPicke intent?.let { conversation.handleShareIntent(it) } }.commit() fConversation = conversation - mBinding!!.panel.openPane() + mBinding?.panel?.openPane() } fun goToAdvancedSettings() { diff --git a/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt b/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt index 9c0c03eda..16fcfe157 100644 --- a/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt +++ b/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt @@ -136,6 +136,12 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa mAdapter?.let { adapter -> adapter.updateDataset(conversation.toMutableList()) loading = false + binding?.histList?.doOnNextLayout { + it.animate() + .alpha(1f) + .setDuration(220) + .start() + } } } @@ -1015,6 +1021,7 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa } } + // fun blockContactRequest() { // presenter.onBlockIncomingContactRequest() // } diff --git a/jami-android/app/src/main/res/layout/frag_conversation.xml b/jami-android/app/src/main/res/layout/frag_conversation.xml index c14c6e632..f1a0b2622 100644 --- a/jami-android/app/src/main/res/layout/frag_conversation.xml +++ b/jami-android/app/src/main/res/layout/frag_conversation.xml @@ -161,7 +161,9 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:listSelector="@color/transparent" android:paddingBottom="60dp" android:transcriptMode="normal" - app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" + android:alpha="0" + app:layoutManager="LinearLayoutManager" + app:layout_behavior="@string/appbar_scrolling_view_behavior" app:stackFromEnd="true" tools:listitem="@layout/item_conv_msg_peer" /> @@ -328,7 +330,6 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" - android:animateLayoutChanges="true" android:background="@drawable/textmsg_bg_input" android:orientation="vertical"> diff --git a/jami-android/app/src/main/res/layout/item_smartlist.xml b/jami-android/app/src/main/res/layout/item_smartlist.xml index 9472f8430..e7e9a9148 100644 --- a/jami-android/app/src/main/res/layout/item_smartlist.xml +++ b/jami-android/app/src/main/res/layout/item_smartlist.xml @@ -19,6 +19,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:layout_width="match_parent" android:layout_height="72dp" android:background="@drawable/background_item_smartlist" + android:foreground="?attr/selectableItemBackground" android:descendantFocusability="blocksDescendants" android:paddingLeft="16dp" android:paddingTop="8dp" -- GitLab