Merge "Do not reload theme when managed profile" into sc-dev am: 1ddd959e96

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14276177

Change-Id: I0d6374c178c8a3645ae4fa23ee94fa0b7a7ae574
This commit is contained in:
Lucas Dupin
2021-04-22 18:50:25 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 0 deletions

View File

@@ -166,6 +166,11 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())
|| Intent.ACTION_MANAGED_PROFILE_ADDED.equals(intent.getAction())) {
if (!mDeviceProvisionedController.isCurrentUserSetup()) {
Log.i(TAG, "User setup not finished when " + intent.getAction()
+ " was received. Deferring...");
return;
}
if (DEBUG) Log.d(TAG, "Updating overlays for user switch / profile added.");
reevaluateSystemTheme(true /* forceReload */);
} else if (Intent.ACTION_WALLPAPER_CHANGED.equals(intent.getAction())) {

View File

@@ -202,6 +202,22 @@ public class ThemeOverlayControllerTest extends SysuiTestCase {
.isEqualTo(new OverlayIdentifier("override.package.name"));
}
@Test
public void onProfileAdded_setsTheme() {
mBroadcastReceiver.getValue().onReceive(null,
new Intent(Intent.ACTION_MANAGED_PROFILE_ADDED));
verify(mThemeOverlayApplier).applyCurrentUserOverlays(any(), any(), anyInt(), any());
}
@Test
public void onProfileAdded_ignoresUntilSetupComplete() {
reset(mDeviceProvisionedController);
mBroadcastReceiver.getValue().onReceive(null,
new Intent(Intent.ACTION_MANAGED_PROFILE_ADDED));
verify(mThemeOverlayApplier, never())
.applyCurrentUserOverlays(any(), any(), anyInt(), any());
}
@Test
public void onWallpaperColorsChanged_firstEventBeforeUserSetup_shouldBeAccepted() {
// By default, on setup() we make this controller return that the user finished setup