Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e750ddd8 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Apply colors when a non managed user is added

This way we'll be able to have colors on SetupWizard when added a
secondary user.

Test: manual
Test: atest ThemeOverlayControllerTest
Fixes: 189168701
Change-Id: I8c7e5cc3a4804c34ad4ace0ba473a373b939cb83
parent 789fe389
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -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.");
+11 −0
Original line number Diff line number Diff line
@@ -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())