From ce24a66812ec1938e4f84ceae787cc6c8b2f3346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Sun, 6 Apr 2025 23:18:10 -0400 Subject: [PATCH] conversation: move conversation message to AppBar Change-Id: I3da02840e123f9e75daf0191ce4a94c821d36eb5 --- .../cx/ring/fragments/ConversationFragment.kt | 40 ++++++++-------- .../src/main/res/layout/frag_conversation.xml | 48 ++++++++----------- .../app/src/main/res/values/strings.xml | 2 +- 3 files changed, 41 insertions(+), 49 deletions(-) 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 add6e4821..9c0c03eda 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 @@ -1029,42 +1029,42 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa override fun switchToUnknownView() { binding?.apply { - toolbar.menu.findItem(R.id.conv_search).setVisible(false) - toolbar.menu.findItem(R.id.conv_action_videocall).setVisible(false) - toolbar.menu.findItem(R.id.conv_action_audiocall).setVisible(false) + toolbar.menu.findItem(R.id.conv_search).isVisible = false + toolbar.menu.findItem(R.id.conv_action_videocall).isVisible = false + toolbar.menu.findItem(R.id.conv_action_audiocall).isVisible = false cvMessageInput.visibility = View.GONE unknownContactPrompt.visibility = View.VISIBLE trustRequestPrompt.visibility = View.GONE - tvTrustRequestMessage.text = getString(R.string.outgoing_contact_invitation_message) - trustRequestMessageLayout.visibility = View.VISIBLE + trustRequestMessage.text = getString(R.string.outgoing_contact_invitation_message) + trustRequestMessage.visibility = View.VISIBLE currentBottomView = unknownContactPrompt } } override fun switchToIncomingTrustRequestView(name: String, requestMode: Conversation.Mode) { binding?.apply { - toolbar.menu.findItem(R.id.conv_search).setVisible(false) - toolbar.menu.findItem(R.id.conv_action_videocall).setVisible(false) - toolbar.menu.findItem(R.id.conv_action_audiocall).setVisible(false) + toolbar.menu.findItem(R.id.conv_search).isVisible = false + toolbar.menu.findItem(R.id.conv_action_videocall).isVisible = false + toolbar.menu.findItem(R.id.conv_action_audiocall).isVisible = false cvMessageInput.visibility = View.GONE unknownContactPrompt.visibility = View.GONE trustRequestPrompt.visibility = View.VISIBLE btnBlock.isVisible = requestMode == Conversation.Mode.OneToOne - tvTrustRequestMessage.text = getString(R.string.invitation_received_message, name) - trustRequestMessageLayout.visibility = View.VISIBLE + trustRequestMessage.text = getString(R.string.invitation_received_message, name) + trustRequestMessage.visibility = View.VISIBLE currentBottomView = trustRequestPrompt } } override fun switchToConversationView() { binding?.apply { - toolbar.menu.findItem(R.id.conv_search).setVisible(true) - toolbar.menu.findItem(R.id.conv_action_videocall).setVisible(true) - toolbar.menu.findItem(R.id.conv_action_audiocall).setVisible(true) + toolbar.menu.findItem(R.id.conv_search).isVisible = true + toolbar.menu.findItem(R.id.conv_action_videocall).isVisible = true + toolbar.menu.findItem(R.id.conv_action_audiocall).isVisible = true cvMessageInput.visibility = View.VISIBLE unknownContactPrompt.visibility = View.GONE trustRequestPrompt.visibility = View.GONE - trustRequestMessageLayout.visibility = View.GONE + trustRequestMessage.visibility = View.GONE currentBottomView = cvMessageInput cvMessageInput.doOnNextLayout { cvMessageInput.height.takeIf { it > 0 }?.let { @@ -1082,8 +1082,8 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa cvMessageInput.visibility = View.GONE unknownContactPrompt.visibility = View.GONE trustRequestPrompt.visibility = View.GONE - trustRequestMessageLayout.visibility = View.VISIBLE - tvTrustRequestMessage.text = getText(R.string.conversation_syncing) + trustRequestMessage.visibility = View.VISIBLE + trustRequestMessage.text = getText(R.string.conversation_syncing) } currentBottomView = null } @@ -1096,8 +1096,8 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa cvMessageInput.visibility = View.GONE unknownContactPrompt.visibility = View.GONE trustRequestPrompt.visibility = View.GONE - trustRequestMessageLayout.visibility = View.VISIBLE - tvTrustRequestMessage.text = getText(R.string.conversation_blocked) + trustRequestMessage.visibility = View.VISIBLE + trustRequestMessage.text = getText(R.string.conversation_blocked) } } @@ -1106,8 +1106,8 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa cvMessageInput.visibility = View.GONE unknownContactPrompt.visibility = View.GONE trustRequestPrompt.visibility = View.GONE - trustRequestMessageLayout.visibility = View.VISIBLE - tvTrustRequestMessage.text = getText(R.string.conversation_ended) + trustRequestMessage.visibility = View.VISIBLE + trustRequestMessage.text = getText(R.string.conversation_ended) } currentBottomView = null } 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 fe2122b2a..c14c6e632 100644 --- a/jami-android/app/src/main/res/layout/frag_conversation.xml +++ b/jami-android/app/src/main/res/layout/frag_conversation.xml @@ -22,7 +22,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:layout_height="match_parent" android:orientation="vertical" android:animateLayoutChanges="true" - android:background="@color/background"> + android:background="@color/background" + tools:context=".client.ConversationActivity"> <com.google.android.material.appbar.AppBarLayout android:fitsSystemWindows="true" @@ -127,6 +128,21 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. tools:src="@drawable/outline_call_24" /> </LinearLayout> + <TextView + android:id="@+id/trustRequestMessage" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_alignParentTop="true" + android:orientation="vertical" + android:visibility="gone" + android:gravity="center" + android:paddingTop="8dp" + android:paddingBottom="16dp" + android:textColor="@color/colorOnSurface" + android:textAppearance="?android:attr/textAppearanceMedium" + tools:text="@string/outgoing_contact_invitation_message" + tools:visibility="visible"/> + </com.google.android.material.appbar.AppBarLayout> <RelativeLayout @@ -166,31 +182,6 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:visibility="gone" tools:listitem="@layout/item_conv_msg_peer" /> - <LinearLayout - android:id="@+id/trustRequestMessageLayout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_alignParentTop="true" - android:orientation="vertical" - android:visibility="gone"> - - <TextView - android:id="@+id/tvTrustRequestMessage" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@color/surface" - android:gravity="center" - android:padding="24dp" - android:textColor="@color/colorOnSurface" - tools:text="Jean is not in your contacts yet" /> - - <View - android:layout_width="match_parent" - android:layout_height="1dp" - android:background="@color/lighter_gray" /> - - </LinearLayout> - <ProgressBar android:id="@+id/pb_loading" android:layout_width="64dp" @@ -203,7 +194,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:id="@+id/mapCard" android:layout_width="@dimen/location_sharing_minmap_width" android:layout_height="@dimen/location_sharing_minmap_height" - android:layout_below="@id/trustRequestMessageLayout" + android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginHorizontal="0dp" android:layout_marginVertical="16dp" @@ -213,7 +204,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. android:focusable="true" android:visibility="gone" app:cardCornerRadius="16dp" - app:cardElevation="4dp"> + app:cardElevation="4dp" + tools:visibility="visible"> <FrameLayout android:id="@+id/mapLayout" diff --git a/jami-android/app/src/main/res/values/strings.xml b/jami-android/app/src/main/res/values/strings.xml index e25ebe6a9..259adc81f 100644 --- a/jami-android/app/src/main/res/values/strings.xml +++ b/jami-android/app/src/main/res/values/strings.xml @@ -445,7 +445,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. <string name="invitation_message">You have %1$d contact requests</string> <string name="no_invitations">There are no invitations to display.</string> <string name="invitation_received_message">Invitation received from %s.\nAccept or decline the invitation?</string> - <string name="outgoing_contact_invitation_message">This contact is not in your contact list.\nSend a request to connect.</string> + <string name="outgoing_contact_invitation_message">This contact is not in your contact list.</string> <!-- Blacklist --> <string name="no_blocked_contact">No blocked contacts</string> -- GitLab