diff options
author | 2022-11-12 18:04:38 +0000 | |
---|---|---|
committer | 2022-11-12 18:04:38 +0000 | |
commit | f371c654bd01aed1f48165334b16d961574c109c (patch) | |
tree | 02bbf105f235eb0d535dd0ce04c6bcfd478edc22 | |
parent | e6f04d864819db0178df93c6f93b2469eedab65e (diff) | |
parent | 3fa8a61e5e635961f9ae0c9d3a19997b4b3dd288 (diff) |
Merge "Revert "Start on cover display if folded"" into tm-qpr-dev am: 3fa8a61e5e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20447994
Change-Id: I712827c88577af47f636dd98b316e13ec1f532b8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | services/core/java/com/android/server/display/LogicalDisplayMapper.java | 18 | ||||
-rw-r--r-- | services/tests/servicestests/src/com/android/server/display/LogicalDisplayMapperTest.java | 61 |
2 files changed, 8 insertions, 71 deletions
diff --git a/services/core/java/com/android/server/display/LogicalDisplayMapper.java b/services/core/java/com/android/server/display/LogicalDisplayMapper.java index f64006c3b7c4..70c9e23c6af8 100644 --- a/services/core/java/com/android/server/display/LogicalDisplayMapper.java +++ b/services/core/java/com/android/server/display/LogicalDisplayMapper.java @@ -167,12 +167,6 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { LogicalDisplayMapper(@NonNull Context context, @NonNull DisplayDeviceRepository repo, @NonNull Listener listener, @NonNull DisplayManagerService.SyncRoot syncRoot, @NonNull Handler handler) { - this(context, repo, listener, syncRoot, handler, new DeviceStateToLayoutMap()); - } - - LogicalDisplayMapper(@NonNull Context context, @NonNull DisplayDeviceRepository repo, - @NonNull Listener listener, @NonNull DisplayManagerService.SyncRoot syncRoot, - @NonNull Handler handler, DeviceStateToLayoutMap deviceStateToLayoutMap) { mSyncRoot = syncRoot; mPowerManager = context.getSystemService(PowerManager.class); mInteractive = mPowerManager.isInteractive(); @@ -187,7 +181,7 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { mDeviceStatesOnWhichToSleep = toSparseBooleanArray(context.getResources().getIntArray( com.android.internal.R.array.config_deviceStatesOnWhichToSleep)); mDisplayDeviceRepo.addListener(this); - mDeviceStateToLayoutMap = deviceStateToLayoutMap; + mDeviceStateToLayoutMap = new DeviceStateToLayoutMap(); } @Override @@ -375,7 +369,9 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { // the transition is smooth. Plus, on some devices, only one internal displays can be // on at a time. We use DISPLAY_PHASE_LAYOUT_TRANSITION to mark a display that needs to be // temporarily turned off. - resetLayoutLocked(mDeviceState, state, LogicalDisplay.DISPLAY_PHASE_LAYOUT_TRANSITION); + if (mDeviceState != DeviceStateManager.INVALID_DEVICE_STATE) { + resetLayoutLocked(mDeviceState, state, LogicalDisplay.DISPLAY_PHASE_LAYOUT_TRANSITION); + } mPendingDeviceState = state; final boolean wakeDevice = shouldDeviceBeWoken(mPendingDeviceState, mDeviceState, mInteractive, mBootCompleted); @@ -895,8 +891,8 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { newDisplay.swapDisplaysLocked(oldDisplay); } - if (displayLayout.isEnabled()) { - setDisplayPhase(newDisplay, LogicalDisplay.DISPLAY_PHASE_ENABLED); + if (!displayLayout.isEnabled()) { + setDisplayPhase(newDisplay, LogicalDisplay.DISPLAY_PHASE_DISABLED); } } @@ -916,7 +912,7 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { final LogicalDisplay display = new LogicalDisplay(displayId, layerStack, device); display.updateLocked(mDisplayDeviceRepo); mLogicalDisplays.put(displayId, display); - setDisplayPhase(display, LogicalDisplay.DISPLAY_PHASE_DISABLED); + setDisplayPhase(display, LogicalDisplay.DISPLAY_PHASE_ENABLED); return display; } diff --git a/services/tests/servicestests/src/com/android/server/display/LogicalDisplayMapperTest.java b/services/tests/servicestests/src/com/android/server/display/LogicalDisplayMapperTest.java index 2094c9345fa2..cc68ba88f76e 100644 --- a/services/tests/servicestests/src/com/android/server/display/LogicalDisplayMapperTest.java +++ b/services/tests/servicestests/src/com/android/server/display/LogicalDisplayMapperTest.java @@ -22,8 +22,6 @@ import static android.view.Display.DEFAULT_DISPLAY_GROUP; import static com.android.server.display.DisplayAdapter.DISPLAY_DEVICE_EVENT_ADDED; import static com.android.server.display.DisplayAdapter.DISPLAY_DEVICE_EVENT_CHANGED; import static com.android.server.display.DisplayAdapter.DISPLAY_DEVICE_EVENT_REMOVED; -import static com.android.server.display.LogicalDisplay.DISPLAY_PHASE_DISABLED; -import static com.android.server.display.LogicalDisplay.DISPLAY_PHASE_ENABLED; import static com.android.server.display.LogicalDisplayMapper.LOGICAL_DISPLAY_EVENT_ADDED; import static com.android.server.display.LogicalDisplayMapper.LOGICAL_DISPLAY_EVENT_REMOVED; @@ -55,8 +53,6 @@ import android.view.DisplayInfo; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; -import com.android.server.display.layout.Layout; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -89,7 +85,6 @@ public class LogicalDisplayMapperTest { @Mock Resources mResourcesMock; @Mock IPowerManager mIPowerManagerMock; @Mock IThermalService mIThermalServiceMock; - @Mock DeviceStateToLayoutMap mDeviceStateToLayoutMapMock; @Captor ArgumentCaptor<LogicalDisplay> mDisplayCaptor; @@ -135,13 +130,11 @@ public class LogicalDisplayMapperTest { when(mResourcesMock.getIntArray( com.android.internal.R.array.config_deviceStatesOnWhichToSleep)) .thenReturn(new int[]{0}); - when(mDeviceStateToLayoutMapMock.get(-1)).thenReturn(new Layout()); mLooper = new TestLooper(); mHandler = new Handler(mLooper.getLooper()); mLogicalDisplayMapper = new LogicalDisplayMapper(mContextMock, mDisplayDeviceRepo, - mListenerMock, new DisplayManagerService.SyncRoot(), mHandler, - mDeviceStateToLayoutMapMock); + mListenerMock, new DisplayManagerService.SyncRoot(), mHandler); } @@ -420,58 +413,6 @@ public class LogicalDisplayMapperTest { /* isBootCompleted= */true)); } - @Test - public void testDeviceStateLocked() { - DisplayDevice device1 = createDisplayDevice(Display.TYPE_INTERNAL, 600, 800, - DisplayDeviceInfo.FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY); - DisplayDevice device2 = createDisplayDevice(Display.TYPE_INTERNAL, 600, 800, - DisplayDeviceInfo.FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY); - - Layout layout = new Layout(); - layout.createDisplayLocked(device1.getDisplayDeviceInfoLocked().address, true, true); - layout.createDisplayLocked(device2.getDisplayDeviceInfoLocked().address, false, false); - when(mDeviceStateToLayoutMapMock.get(0)).thenReturn(layout); - - layout = new Layout(); - layout.createDisplayLocked(device1.getDisplayDeviceInfoLocked().address, false, false); - layout.createDisplayLocked(device2.getDisplayDeviceInfoLocked().address, true, true); - when(mDeviceStateToLayoutMapMock.get(1)).thenReturn(layout); - when(mDeviceStateToLayoutMapMock.get(2)).thenReturn(layout); - - LogicalDisplay display1 = add(device1); - assertEquals(info(display1).address, info(device1).address); - assertEquals(DEFAULT_DISPLAY, id(display1)); - - LogicalDisplay display2 = add(device2); - assertEquals(info(display2).address, info(device2).address); - // We can only have one default display - assertEquals(DEFAULT_DISPLAY, id(display1)); - - mLogicalDisplayMapper.setDeviceStateLocked(0, false); - mLooper.moveTimeForward(1000); - mLooper.dispatchAll(); - assertEquals(DISPLAY_PHASE_ENABLED, - mLogicalDisplayMapper.getDisplayLocked(device1).getPhase()); - assertEquals(DISPLAY_PHASE_DISABLED, - mLogicalDisplayMapper.getDisplayLocked(device2).getPhase()); - - mLogicalDisplayMapper.setDeviceStateLocked(1, false); - mLooper.moveTimeForward(1000); - mLooper.dispatchAll(); - assertEquals(DISPLAY_PHASE_DISABLED, - mLogicalDisplayMapper.getDisplayLocked(device1).getPhase()); - assertEquals(DISPLAY_PHASE_ENABLED, - mLogicalDisplayMapper.getDisplayLocked(device2).getPhase()); - - mLogicalDisplayMapper.setDeviceStateLocked(2, false); - mLooper.moveTimeForward(1000); - mLooper.dispatchAll(); - assertEquals(DISPLAY_PHASE_DISABLED, - mLogicalDisplayMapper.getDisplayLocked(device1).getPhase()); - assertEquals(DISPLAY_PHASE_ENABLED, - mLogicalDisplayMapper.getDisplayLocked(device2).getPhase()); - } - ///////////////// // Helper Methods ///////////////// |