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

Commit 4c09aa41 authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "Fix ui_mode change have not schedule configuration change to client" into sc-dev

parents bc807558 d9c20d2b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -812,7 +812,9 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio
    void updateNightModeForAllActivities(int nightMode) {
        for (int i = mActivities.size() - 1; i >= 0; --i) {
            final ActivityRecord r = mActivities.get(i);
            r.setOverrideNightMode(nightMode);
            if (r.setOverrideNightMode(nightMode) && r.mVisibleRequested) {
                r.ensureActivityConfiguration(0 /* globalChanges */, true /* preserveWindow */);
            }
        }
    }

+11 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -359,6 +361,15 @@ public class WindowProcessControllerTests extends WindowTestsBase {
        return new ActivityBuilder(mAtm).setCreateTask(true).setUseProcess(wpc).build();
    }

    @Test
    public void testTopActivityUiModeChangeScheduleConfigChange() {
        final ActivityRecord activity = createActivityRecord(mWpc);
        activity.mVisibleRequested = true;
        doReturn(true).when(activity).setOverrideNightMode(anyInt());
        mWpc.updateNightModeForAllActivities(Configuration.UI_MODE_NIGHT_YES);
        verify(activity).ensureActivityConfiguration(anyInt(), anyBoolean());
    }

    @Test
    public void testTopActivityDisplayAreaMatchesTopMostActivity_noActivities() {
        assertNull(mWpc.getTopActivityDisplayArea());