From 1f889a05b66ca1c37ecac6484b719f65d82558ed Mon Sep 17 00:00:00 2001 From: omarmt Date: Fri, 20 Jan 2023 16:43:40 +0000 Subject: [PATCH] Add a flag for predictive back animation in QS Dialog in Flags.kt. Add an AnimationFeatureFlags interface to access flags from AnimationLib module Test: m -j Bug: 265639042 Change-Id: Ie6456b04b02601e285ee08f70a1af7a038557065 --- .../systemui/animation/AnimationFeatureFlags.kt | 6 ++++++ .../src/com/android/systemui/flags/Flags.kt | 11 +++++++---- .../CentralSurfacesDependenciesModule.java | 16 ++++++++++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 packages/SystemUI/animation/src/com/android/systemui/animation/AnimationFeatureFlags.kt diff --git a/packages/SystemUI/animation/src/com/android/systemui/animation/AnimationFeatureFlags.kt b/packages/SystemUI/animation/src/com/android/systemui/animation/AnimationFeatureFlags.kt new file mode 100644 index 0000000000000..1c9dabbb0e075 --- /dev/null +++ b/packages/SystemUI/animation/src/com/android/systemui/animation/AnimationFeatureFlags.kt @@ -0,0 +1,6 @@ +package com.android.systemui.animation + +interface AnimationFeatureFlags { + val isPredictiveBackQsDialogAnim: Boolean + get() = false +} diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index d3ea87a61a7da..adea0b1f566ca 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -65,8 +65,7 @@ object Flags { val FSI_ON_DND_UPDATE = unreleasedFlag(259130119, "fsi_on_dnd_update", teamfood = true) // TODO(b/265804648): Tracking Bug - @JvmField - val DISABLE_FSI = unreleasedFlag(265804648, "disable_fsi") + @JvmField val DISABLE_FSI = unreleasedFlag(265804648, "disable_fsi") // TODO(b/254512538): Tracking Bug val INSTANT_VOICE_REPLY = unreleasedFlag(111, "instant_voice_reply", teamfood = true) @@ -474,6 +473,11 @@ object Flags { val WM_SHADE_ANIMATE_BACK_GESTURE = unreleasedFlag(1208, "persist.wm.debug.shade_animate_back_gesture", teamfood = true) + // TODO(b/265639042): Tracking Bug + @JvmField + val WM_ENABLE_PREDICTIVE_BACK_QS_DIALOG_ANIM = + unreleasedFlag(1209, "persist.wm.debug.predictive_back_qs_dialog_anim", teamfood = true) + // 1300 - screenshots // TODO(b/254513155): Tracking Bug @JvmField @@ -564,6 +568,5 @@ object Flags { // 2600 - keyboard shortcut // TODO(b/259352579): Tracking Bug - @JvmField - val SHORTCUT_LIST_SEARCH_LAYOUT = unreleasedFlag(2600, "shortcut_list_search_layout") + @JvmField val SHORTCUT_LIST_SEARCH_LAYOUT = unreleasedFlag(2600, "shortcut_list_search_layout") } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java index 9a65e342478e4..00852e23bf520 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java @@ -25,12 +25,15 @@ import android.util.Log; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.statusbar.IStatusBarService; import com.android.systemui.animation.ActivityLaunchAnimator; +import com.android.systemui.animation.AnimationFeatureFlags; import com.android.systemui.animation.DialogLaunchAnimator; import com.android.systemui.colorextraction.SysuiColorExtractor; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dump.DumpHandler; import com.android.systemui.dump.DumpManager; +import com.android.systemui.flags.FeatureFlags; +import com.android.systemui.flags.Flags; import com.android.systemui.keyguard.domain.interactor.AlternateBouncerInteractor; import com.android.systemui.media.controls.pipeline.MediaDataManager; import com.android.systemui.plugins.ActivityStarter; @@ -305,4 +308,17 @@ public interface CentralSurfacesDependenciesModule { }; return new DialogLaunchAnimator(callback, interactionJankMonitor); } + + /** + */ + @Provides + @SysUISingleton + static AnimationFeatureFlags provideAnimationFeatureFlags(FeatureFlags featureFlags) { + return new AnimationFeatureFlags() { + @Override + public boolean isPredictiveBackQsDialogAnim() { + return featureFlags.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_QS_DIALOG_ANIM); + } + }; + } }