From fd537a5838aab645d954262e4a7b2cfb6d4973b8 Mon Sep 17 00:00:00 2001 From: Sean Pont Date: Thu, 14 May 2020 10:04:24 -0700 Subject: [PATCH] Add animation for wallet resizing Bug: 155410303 Test: manual Change-Id: I42ffa274b597f47c69601c3f9d03cbe3efeb7c3e --- .../globalactions/GlobalActionsDialog.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java index 03f8e66baeed0..f93c169ee44b0 100644 --- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java +++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java @@ -69,6 +69,9 @@ import android.telecom.TelecomManager; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.TelephonyManager; +import android.transition.AutoTransition; +import android.transition.TransitionManager; +import android.transition.TransitionSet; import android.util.ArraySet; import android.util.FeatureFlagUtils; import android.util.Log; @@ -2026,7 +2029,22 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, new FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); - panelContainer.addView(mPanelController.getPanelContent(), panelParams); + View walletView = mPanelController.getPanelContent(); + panelContainer.addView(walletView, panelParams); + // Smooth transitions when wallet is resized, which can happen when a card is added + ViewGroup root = findViewById(com.android.systemui.R.id.global_actions_grid_root); + if (root != null) { + walletView.addOnLayoutChangeListener((v, l, t, r, b, ol, ot, or, ob) -> { + int oldHeight = ob - ot; + int newHeight = b - t; + if (oldHeight > 0 && oldHeight != newHeight) { + TransitionSet transition = new AutoTransition() + .setDuration(250) + .setOrdering(TransitionSet.ORDERING_TOGETHER); + TransitionManager.beginDelayedTransition(root, transition); + } + }); + } } }