diff options
| author | 2023-08-17 18:41:22 +0000 | |
|---|---|---|
| committer | 2023-08-17 18:41:22 +0000 | |
| commit | 23b05cd28bff2d6420aca3137650abd8f07e166c (patch) | |
| tree | 6d0d459e2d9c837c8bf6083a60e1c6abcd34bc9b | |
| parent | 2e44408cc73b3a052fd67a96efdf7b1bb80996e8 (diff) | |
| parent | c2754952c480be38e5107c9e7aee5ef31908d271 (diff) | |
Merge "Add ClockId to AOD CUJs" into udc-qpr-dev
6 files changed, 44 insertions, 7 deletions
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt index e7a53e5baaf4..b28920c590c5 100644 --- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt +++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/DefaultClockController.kt @@ -65,7 +65,7 @@ class DefaultClockController( protected var onSecondaryDisplay: Boolean = false override val events: DefaultClockEvents - override val config = ClockConfig() + override val config = ClockConfig(DEFAULT_CLOCK_ID) init { val parent = FrameLayout(ctx) diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockProviderPlugin.kt b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockProviderPlugin.kt index 527f80072222..e2f4793b8f91 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockProviderPlugin.kt +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockProviderPlugin.kt @@ -199,6 +199,8 @@ data class ClockMetadata( /** Render configuration for the full clock. Modifies the way systemUI behaves with this clock. */ data class ClockConfig( + val id: String, + /** Transition to AOD should move smartspace like large clock instead of small clock */ val useAlternateSmartspaceAODTransition: Boolean = false, diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java index 5915b22c9a5f..5d0e8f70f744 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java @@ -39,6 +39,7 @@ import java.lang.annotation.RetentionPolicy; public class KeyguardClockSwitch extends RelativeLayout { private static final String TAG = "KeyguardClockSwitch"; + public static final String MISSING_CLOCK_ID = "CLOCK_MISSING"; private static final long CLOCK_OUT_MILLIS = 133; private static final long CLOCK_IN_MILLIS = 167; @@ -192,6 +193,14 @@ public class KeyguardClockSwitch extends RelativeLayout { return mLogBuffer; } + /** Returns the id of the currently rendering clock */ + public String getClockId() { + if (mClock == null) { + return MISSING_CLOCK_ID; + } + return mClock.getConfig().getId(); + } + void setClock(ClockController clock, int statusBarState) { mClock = clock; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java index d6a14604ffb0..6dd24ea4062b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java @@ -48,8 +48,10 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.jank.InteractionJankMonitor.Configuration; import com.android.internal.logging.UiEventLogger; +import com.android.keyguard.KeyguardClockSwitch; import com.android.systemui.DejankUtils; import com.android.systemui.Dumpable; +import com.android.systemui.R; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dump.DumpManager; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; @@ -420,6 +422,25 @@ public class StatusBarStateControllerImpl implements } } + /** Returns the id of the currently rendering clock */ + public String getClockId() { + if (mView == null) { + return KeyguardClockSwitch.MISSING_CLOCK_ID; + } + + View clockSwitch = mView.findViewById(R.id.keyguard_clock_container); + if (clockSwitch == null) { + Log.e(TAG, "Clock container was missing"); + return KeyguardClockSwitch.MISSING_CLOCK_ID; + } + if (!(clockSwitch instanceof KeyguardClockSwitch)) { + Log.e(TAG, "Clock container was incorrect type: " + clockSwitch); + return KeyguardClockSwitch.MISSING_CLOCK_ID; + } + + return ((KeyguardClockSwitch) clockSwitch).getClockId(); + } + private void beginInteractionJankMonitor() { final boolean shouldPost = (mIsDozing && mDozeAmount == 0) || (!mIsDozing && mDozeAmount == 1); @@ -429,6 +450,7 @@ public class StatusBarStateControllerImpl implements Choreographer.CALLBACK_ANIMATION, this::beginInteractionJankMonitor, null); } else { Configuration.Builder builder = Configuration.Builder.withView(getCujType(), mView) + .setTag(getClockId()) .setDeferMonitorForAnimationStart(false); mInteractionJankMonitor.begin(builder); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt index 1bceb29dc85d..cd1afc727346 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt @@ -223,10 +223,14 @@ class UnlockedScreenOffAnimationController @Inject constructor( } .setCustomInterpolator(View.ALPHA, Interpolators.FAST_OUT_SLOW_IN), true /* animate */) - interactionJankMonitor.begin( - notifShadeWindowControllerLazy.get().windowRootView, - CUJ_SCREEN_OFF_SHOW_AOD - ) + val builder = InteractionJankMonitor.Configuration.Builder + .withView( + InteractionJankMonitor.CUJ_SCREEN_OFF_SHOW_AOD, + notifShadeWindowControllerLazy.get().windowRootView + ) + .setTag(statusBarStateControllerImpl.getClockId()) + + interactionJankMonitor.begin(builder) } override fun onStartedWakingUp() { diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java index 7d23c800321a..b8b0198f94df 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardStatusViewControllerTest.java @@ -77,7 +77,7 @@ public class KeyguardStatusViewControllerTest extends KeyguardStatusViewControll public void updatePosition_primaryClockAnimation() { ClockController mockClock = mock(ClockController.class); when(mKeyguardClockSwitchController.getClock()).thenReturn(mockClock); - when(mockClock.getConfig()).thenReturn(new ClockConfig(false, true)); + when(mockClock.getConfig()).thenReturn(new ClockConfig("MOCK", false, true)); mController.updatePosition(10, 15, 20f, true); @@ -92,7 +92,7 @@ public class KeyguardStatusViewControllerTest extends KeyguardStatusViewControll public void updatePosition_alternateClockAnimation() { ClockController mockClock = mock(ClockController.class); when(mKeyguardClockSwitchController.getClock()).thenReturn(mockClock); - when(mockClock.getConfig()).thenReturn(new ClockConfig(true, true)); + when(mockClock.getConfig()).thenReturn(new ClockConfig("MOCK", true, true)); mController.updatePosition(10, 15, 20f, true); |