From 43565d3414f96811edaeaf788339b07d882c9136 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 24 Apr 2023 13:41:20 -0300 Subject: [PATCH] Call icon and toast restructure. --- .../webrtc/CallStateUpdatePopupWindow.kt | 17 ++++++++++++++++- .../drawable/webrtc_call_screen_ring_toggle.xml | 2 +- .../webrtc_call_screen_ring_toggle_small.xml | 2 +- app/src/main/res/layout/call_state_update.xml | 15 ++++++++------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallStateUpdatePopupWindow.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallStateUpdatePopupWindow.kt index 3b18f6994f..79b17caea9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallStateUpdatePopupWindow.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/CallStateUpdatePopupWindow.kt @@ -9,8 +9,11 @@ import android.widget.PopupWindow import android.widget.TextView import androidx.annotation.DrawableRes import androidx.annotation.StringRes +import androidx.core.view.ViewCompat +import org.signal.core.util.dp import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.util.Debouncer +import org.thoughtcrime.securesms.util.visible import java.util.concurrent.TimeUnit /** @@ -70,6 +73,7 @@ class CallStateUpdatePopupWindow(private val parent: ViewGroup) : PopupWindow( iconView.setImageResource(callStateUpdate.iconRes) } + iconView.visible = callStateUpdate.iconRes != null descriptionView.setText(callStateUpdate.stringRes) } @@ -78,8 +82,19 @@ class CallStateUpdatePopupWindow(private val parent: ViewGroup) : PopupWindow( return } - showAtLocation(parent, Gravity.TOP or Gravity.START, 0, 0) measureChild() + + val anchor: View = ViewCompat.requireViewById(parent, R.id.call_screen_footer_gradient_barrier) + val pill: View = ViewCompat.requireViewById(contentView, R.id.call_state_pill) + + // 54 is the top margin of the contentView (30) plus the desired padding (24) + showAtLocation( + parent, + Gravity.TOP or Gravity.START, + 0, + anchor.top - 54.dp - pill.measuredHeight + ) + update() dismissDebouncer.publish { dismiss() } } diff --git a/app/src/main/res/drawable/webrtc_call_screen_ring_toggle.xml b/app/src/main/res/drawable/webrtc_call_screen_ring_toggle.xml index f4b93c3dae..55f34d58bb 100644 --- a/app/src/main/res/drawable/webrtc_call_screen_ring_toggle.xml +++ b/app/src/main/res/drawable/webrtc_call_screen_ring_toggle.xml @@ -15,7 +15,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/webrtc_call_screen_ring_toggle_small.xml b/app/src/main/res/drawable/webrtc_call_screen_ring_toggle_small.xml index 4f544a8913..1902d057c1 100644 --- a/app/src/main/res/drawable/webrtc_call_screen_ring_toggle_small.xml +++ b/app/src/main/res/drawable/webrtc_call_screen_ring_toggle_small.xml @@ -15,7 +15,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/call_state_update.xml b/app/src/main/res/layout/call_state_update.xml index d8da7a2bed..c7b411c6ce 100644 --- a/app/src/main/res/layout/call_state_update.xml +++ b/app/src/main/res/layout/call_state_update.xml @@ -4,10 +4,11 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:minHeight="94dp" + android:minHeight="82dp" tools:viewBindingIgnore="true">