diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java index f1e1f426b4675..5014cfe39cce9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -884,6 +884,11 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { wiredChargingRippleController.registerCallbacks(); mLightRevealScrimViewModelLazy = lightRevealScrimViewModelLazy; + + // Based on teamfood flag, turn predictive back dispatch on at runtime. + if (mFeatureFlags.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_SYSUI)) { + mContext.getApplicationInfo().setEnableOnBackInvokedCallback(true); + } } @Override @@ -998,11 +1003,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { // Lastly, call to the icon policy to install/update all the icons. mIconPolicy.init(); - // Based on teamfood flag, turn predictive back dispatch on at runtime. - if (mFeatureFlags.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_SYSUI)) { - mContext.getApplicationInfo().setEnableOnBackInvokedCallback(true); - } - mKeyguardStateController.addCallback(new KeyguardStateController.Callback() { @Override public void onUnlockedChanged() { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java index c8157ccc8a9a0..6705208bf672c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java @@ -321,6 +321,10 @@ public class CentralSurfacesImplTest extends SysuiTestCase { public void setup() throws Exception { MockitoAnnotations.initMocks(this); + // CentralSurfacesImpl's runtime flag check fails if the flag is absent. + // This value is unused, because test manifest is opted in. + mFeatureFlags.set(Flags.WM_ENABLE_PREDICTIVE_BACK_SYSUI, false); + IThermalService thermalService = mock(IThermalService.class); mPowerManager = new PowerManager(mContext, mPowerManagerService, thermalService, Handler.createAsync(Looper.myLooper()));