Merge "Apply colors when a non managed user is added" into sc-dev am: 0af4538527

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

Change-Id: Ib931e54d3821e8b51f03e33a7317fb6f288a3dc9
This commit is contained in:
Lucas Dupin
2021-06-10 15:43:56 +00:00
committed by Automerger Merge Worker
2 changed files with 18 additions and 4 deletions

View File

@@ -240,11 +240,14 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_USER_STARTED.equals(intent.getAction())
|| Intent.ACTION_MANAGED_PROFILE_ADDED.equals(intent.getAction())) {
if (!mDeviceProvisionedController.isCurrentUserSetup()) {
boolean newWorkProfile = Intent.ACTION_MANAGED_PROFILE_ADDED.equals(intent.getAction());
boolean userStarted = Intent.ACTION_USER_STARTED.equals(intent.getAction());
boolean isManagedProfile = mUserManager.isManagedProfile(
intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0));
if (userStarted || newWorkProfile) {
if (!mDeviceProvisionedController.isCurrentUserSetup() && isManagedProfile) {
Log.i(TAG, "User setup not finished when " + intent.getAction()
+ " was received. Deferring...");
+ " was received. Deferring... Managed profile? " + isManagedProfile);
return;
}
if (DEBUG) Log.d(TAG, "Updating overlays for user switch / profile added.");

View File

@@ -428,9 +428,20 @@ public class ThemeOverlayControllerTest extends SysuiTestCase {
verify(mThemeOverlayApplier).applyCurrentUserOverlays(any(), any(), anyInt(), any());
}
@Test
public void onUserAdded_appliesTheme_ifNotManagedProfile() {
reset(mDeviceProvisionedController);
when(mUserManager.isManagedProfile(anyInt())).thenReturn(false);
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);
when(mUserManager.isManagedProfile(anyInt())).thenReturn(true);
mBroadcastReceiver.getValue().onReceive(null,
new Intent(Intent.ACTION_MANAGED_PROFILE_ADDED));
verify(mThemeOverlayApplier, never())