From ed0be6fc9ad8bb293e4cbce44e345f7533e5341f Mon Sep 17 00:00:00 2001
From: Alan Evans <alan@signal.org>
Date: Wed, 7 Oct 2020 14:02:11 -0300
Subject: [PATCH] Add dialog transitions to group manager.

---
 .../CustomNotificationsDialogFragment.java          |  4 ++--
 .../ShareableGroupLinkDialogFragment.java           |  4 ++--
 app/src/main/res/values/themes.xml                  | 13 +++++++++++++
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/notifications/CustomNotificationsDialogFragment.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/notifications/CustomNotificationsDialogFragment.java
index a587e5ceba..d28ae22e79 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/notifications/CustomNotificationsDialogFragment.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/notifications/CustomNotificationsDialogFragment.java
@@ -71,9 +71,9 @@ public class CustomNotificationsDialogFragment extends DialogFragment {
   public void onCreate(@Nullable Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     if (ThemeUtil.isDarkTheme(requireActivity())) {
-      setStyle(STYLE_NO_FRAME, R.style.TextSecure_DarkTheme);
+      setStyle(STYLE_NO_FRAME, R.style.TextSecure_DarkTheme_AnimatedDialog);
     } else {
-      setStyle(STYLE_NO_FRAME, R.style.TextSecure_LightTheme);
+      setStyle(STYLE_NO_FRAME, R.style.TextSecure_LightTheme_AnimatedDialog);
     }
   }
 
diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/sharablegrouplink/ShareableGroupLinkDialogFragment.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/sharablegrouplink/ShareableGroupLinkDialogFragment.java
index f682b2fb0f..830ebdaf6d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/sharablegrouplink/ShareableGroupLinkDialogFragment.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/sharablegrouplink/ShareableGroupLinkDialogFragment.java
@@ -44,8 +44,8 @@ public final class ShareableGroupLinkDialogFragment extends DialogFragment {
   public void onCreate(@Nullable Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     
-    setStyle(STYLE_NO_FRAME, ThemeUtil.isDarkTheme(requireActivity()) ? R.style.TextSecure_DarkTheme
-                                                                      : R.style.TextSecure_LightTheme);
+    setStyle(STYLE_NO_FRAME, ThemeUtil.isDarkTheme(requireActivity()) ? R.style.TextSecure_DarkTheme_AnimatedDialog
+                                                                      : R.style.TextSecure_LightTheme_AnimatedDialog);
   }
 
   @Override
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 0cf0466bc1..65c8ca111c 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -132,6 +132,11 @@
         <item name="android:windowExitAnimation">@anim/slide_to_top</item>
     </style>
 
+    <style name="FadeScale" parent="@android:style/Animation">
+        <item name="android:windowEnterAnimation">@anim/fade_scale_in</item>
+        <item name="android:windowExitAnimation">@anim/fade_scale_out</item>
+    </style>
+
     <style name="StickerPopupAnimation" parent="@android:style/Animation">
         <item name="android:windowEnterAnimation">@anim/fade_in</item>
         <item name="android:windowExitAnimation">@anim/fade_out</item>
@@ -913,6 +918,14 @@
         <item name="shapeAppearanceOverlay">@style/ShapeAppearanceOverlay.Signal.BottomSheet.Rounded</item>
     </style>
 
+    <style name="TextSecure.DarkTheme.AnimatedDialog">
+        <item name="android:windowAnimationStyle">@style/FadeScale</item>
+    </style>
+
+    <style name="TextSecure.LightTheme.AnimatedDialog">
+        <item name="android:windowAnimationStyle">@style/FadeScale</item>
+    </style>
+
     <style name="Widget.Signal.BottomSheet.ReactWithAny" parent="Widget.MaterialComponents.BottomSheet">
         <item name="backgroundTint">@color/core_grey_75</item>
         <item name="behavior_peekHeight">@dimen/react_with_any_emoji_bottom_sheet_dialog_fragment_min_height</item>