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:
@@ -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.");
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user