diff options
| author | 2024-09-08 12:05:04 -0700 | |
|---|---|---|
| committer | 2024-09-08 23:31:57 -0700 | |
| commit | 0469ca8398efc93397e3989f01c1fa14e7227cdc (patch) | |
| tree | f8a6d546f79f098cade757539841ce8af9a4610c | |
| parent | ce3c17d76db6fe945285c7f35090b0e17745d77e (diff) | |
Pipe appTransition signal to taskbar to pause region sampling when it's ongoing
For nav bar, RegionSamplingHelper calls LightTransitionsController#setIconsDark to apply color changes, which listens to mTransitionPending signal. For taskbar, due to the RegionSamplingHelper in Launcher and LightTransitionsController in SysUI, we need to pipe this signal (mTransitionPending) through.
Bug: 361593564
Test: https://android-build.corp.google.com/builds/abtd/run/L78300030006280283
Flag: EXEMPT bugfix
Change-Id: I4a3607ddc6c92ee1bee6464d121024582aa70870
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl | 5 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java | 27 |
2 files changed, 32 insertions, 0 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl index c00007b55482..283e4556d05c 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl @@ -132,4 +132,9 @@ oneway interface IOverviewProxy { * Sent when {@link TaskbarDelegate#transitionTo} is called. */ void transitionTo(int barMode, boolean animate) = 33; + + /** + * Sent when {@link TaskbarDelegate#appTransitionPending} is called. + */ + void appTransitionPending(boolean pending) = 34; } diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java b/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java index e44069f78ee3..b3c697e06a92 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/TaskbarDelegate.java @@ -425,6 +425,18 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, } } + private void appTransitionPending(boolean pending) { + if (mOverviewProxyService.getProxy() == null) { + return; + } + + try { + mOverviewProxyService.getProxy().appTransitionPending(pending); + } catch (RemoteException e) { + Log.e(TAG, "appTransitionPending() failed, pending: " + pending, e); + } + } + @Override public void setImeWindowStatus(int displayId, @ImeWindowVisibility int vis, @BackDispositionMode int backDisposition, boolean showImeSwitcher) { @@ -533,6 +545,21 @@ public class TaskbarDelegate implements CommandQueue.Callbacks, } } + @Override + public void appTransitionPending(int displayId, boolean forced) { + appTransitionPending(true); + } + + @Override + public void appTransitionCancelled(int displayId) { + appTransitionPending(false); + } + + @Override + public void appTransitionFinished(int displayId) { + appTransitionPending(false); + } + private void clearTransient() { if (mTaskbarTransientShowing) { mTaskbarTransientShowing = false; |