diff --git a/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsBottomSheetDialogFragment.java b/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsBottomSheetDialogFragment.java
index edc529c3de..4b91419879 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsBottomSheetDialogFragment.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/reactions/ReactionsBottomSheetDialogFragment.java
@@ -1,17 +1,18 @@
package org.thoughtcrime.securesms.reactions;
+import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.FrameLayout;
+import android.view.WindowManager;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.core.view.ViewCompat;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.viewpager2.widget.ViewPager2;
@@ -23,9 +24,9 @@ import com.google.android.material.tabs.TabLayoutMediator;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.emoji.EmojiImageView;
import org.thoughtcrime.securesms.database.model.MessageId;
+import org.thoughtcrime.securesms.util.FullscreenHelper;
import org.thoughtcrime.securesms.util.LifecycleDisposable;
-import org.thoughtcrime.securesms.util.ThemeUtil;
-import org.thoughtcrime.securesms.util.ViewUtil;
+import org.thoughtcrime.securesms.util.WindowUtil;
import java.util.Objects;
@@ -68,15 +69,21 @@ public final class ReactionsBottomSheetDialogFragment extends BottomSheetDialogF
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
- if (ThemeUtil.isDarkTheme(requireContext())) {
- setStyle(DialogFragment.STYLE_NORMAL, R.style.Theme_Signal_BottomSheetDialog_Fixed_ReactWithAny);
- } else {
- setStyle(DialogFragment.STYLE_NORMAL, R.style.Theme_Signal_Light_BottomSheetDialog_Fixed_ReactWithAny);
- }
+ setStyle(DialogFragment.STYLE_NORMAL, R.style.Theme_Signal_BottomSheetDialog_Fixed_ReactWithAny);
super.onCreate(savedInstanceState);
}
+ @Override
+ public @NonNull Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ Dialog dialog = super.onCreateDialog(savedInstanceState);
+
+ FullscreenHelper.showSystemUI(dialog.getWindow());
+ WindowUtil.setNavigationBarColor(dialog.getWindow(), ContextCompat.getColor(requireContext(), R.color.signal_colorSurface1));
+
+ return dialog;
+ }
+
@Override
public @Nullable View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@@ -92,7 +99,7 @@ public final class ReactionsBottomSheetDialogFragment extends BottomSheetDialogF
disposables.bindTo(getViewLifecycleOwner());
setUpRecipientsRecyclerView();
- setUpTabMediator(savedInstanceState);
+ setUpTabMediator(view, savedInstanceState);
MessageId messageId = new MessageId(requireArguments().getLong(ARGS_MESSAGE_ID), requireArguments().getBoolean(ARGS_IS_MMS));
setUpViewModel(messageId);
@@ -105,21 +112,9 @@ public final class ReactionsBottomSheetDialogFragment extends BottomSheetDialogF
callback.onReactionsDialogDismissed();
}
- private void setUpTabMediator(@Nullable Bundle savedInstanceState) {
+ private void setUpTabMediator(@NonNull View view, @Nullable Bundle savedInstanceState) {
if (savedInstanceState == null) {
- FrameLayout container = requireDialog().findViewById(R.id.container);
- LayoutInflater layoutInflater = LayoutInflater.from(requireContext());
- View statusBarShader = layoutInflater.inflate(R.layout.react_with_any_emoji_status_fade, container, false);
- TabLayout emojiTabs = (TabLayout) layoutInflater.inflate(R.layout.reactions_bottom_sheet_dialog_fragment_tabs, container, false);
-
- ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewUtil.getStatusBarHeight(container));
-
- statusBarShader.setLayoutParams(params);
-
- container.addView(statusBarShader, 0);
- container.addView(emojiTabs);
-
- ViewCompat.setOnApplyWindowInsetsListener(container, (v, insets) -> insets.consumeSystemWindowInsets());
+ TabLayout emojiTabs = view.findViewById(R.id.emoji_tabs);
new TabLayoutMediator(emojiTabs, recipientPagerView, (tab, position) -> {
tab.setCustomView(R.layout.reactions_bottom_sheet_dialog_fragment_emoji_item);
diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java b/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java
index 1657003b93..b27ae7147e 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/util/FullscreenHelper.java
@@ -161,8 +161,12 @@ public final class FullscreenHelper {
}
public void showSystemUI() {
- activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
- View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
- View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
+ showSystemUI(activity.getWindow());
+ }
+
+ public static void showSystemUI(@NonNull Window window) {
+ window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
+ View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
+ View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
}
diff --git a/app/src/main/res/drawable/reactions_bottom_sheet_tab_indicator.xml b/app/src/main/res/drawable/reactions_bottom_sheet_tab_indicator.xml
new file mode 100644
index 0000000000..092a6d19e5
--- /dev/null
+++ b/app/src/main/res/drawable/reactions_bottom_sheet_tab_indicator.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
+ -
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/react_with_any_emoji_status_fade.xml b/app/src/main/res/layout/react_with_any_emoji_status_fade.xml
deleted file mode 100644
index f2b9378c6c..0000000000
--- a/app/src/main/res/layout/react_with_any_emoji_status_fade.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/reactions_bottom_sheet_dialog_fragment.xml b/app/src/main/res/layout/reactions_bottom_sheet_dialog_fragment.xml
index 5107dad757..6a89fc3dbb 100644
--- a/app/src/main/res/layout/reactions_bottom_sheet_dialog_fragment.xml
+++ b/app/src/main/res/layout/reactions_bottom_sheet_dialog_fragment.xml
@@ -1,11 +1,37 @@
+ android:orientation="vertical">
+
+
+
+
+ android:minHeight="32dp"
+ android:orientation="horizontal"
+ android:paddingStart="8dp"
+ android:paddingTop="6dp"
+ android:paddingEnd="8dp"
+ android:paddingBottom="6dp">
diff --git a/app/src/main/res/layout/reactions_bottom_sheet_dialog_fragment_tabs.xml b/app/src/main/res/layout/reactions_bottom_sheet_dialog_fragment_tabs.xml
deleted file mode 100644
index f8de734e80..0000000000
--- a/app/src/main/res/layout/reactions_bottom_sheet_dialog_fragment_tabs.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index d59ab053ad..c3a9cced0c 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -168,7 +168,6 @@
160dp
340dp
- 40dp
12dp
52dp
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index d24246524e..7782f48bf1 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -426,16 +426,6 @@
- false
-
-
-
-
@@ -444,16 +434,12 @@
- @style/FakeBottomSheet
-
-
-