Loading services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +75 −0 Original line number Original line Diff line number Diff line Loading @@ -1974,6 +1974,81 @@ public class DisplayContentTests extends WindowTestsBase { assertEquals(new Rect(500, 0, 2000, 700), rotateBounds); assertEquals(new Rect(500, 0, 2000, 700), rotateBounds); } } /** * Creates a TestDisplayContent using the constructor that takes in display width and height as * parameters and validates that the newly-created TestDisplayContent's DisplayInfo and * WindowConfiguration match the parameters passed into the constructor. Additionally, this test * checks that device-specific overrides are not applied. */ @Test public void testCreateTestDisplayContentFromDimensions() { final int displayWidth = 1000; final int displayHeight = 2000; final int windowingMode = WINDOWING_MODE_FULLSCREEN; final boolean ignoreOrientationRequests = false; final float fixedOrientationLetterboxRatio = 0; final DisplayContent testDisplayContent = new TestDisplayContent.Builder(mAtm, displayWidth, displayHeight).build(); // test display info final DisplayInfo di = testDisplayContent.getDisplayInfo(); assertEquals(displayWidth, di.logicalWidth); assertEquals(displayHeight, di.logicalHeight); assertEquals(TestDisplayContent.DEFAULT_LOGICAL_DISPLAY_DENSITY, di.logicalDensityDpi); // test configuration final WindowConfiguration windowConfig = testDisplayContent.getConfiguration() .windowConfiguration; assertEquals(displayWidth, windowConfig.getBounds().width()); assertEquals(displayHeight, windowConfig.getBounds().height()); assertEquals(windowingMode, windowConfig.getWindowingMode()); // test misc display overrides assertEquals(ignoreOrientationRequests, testDisplayContent.mIgnoreOrientationRequest); assertEquals(fixedOrientationLetterboxRatio, mWm.getFixedOrientationLetterboxAspectRatio(), 0 /* delta */); } /** * Creates a TestDisplayContent using the constructor that takes in a DisplayInfo as a parameter * and validates that the newly-created TestDisplayContent's DisplayInfo and WindowConfiguration * match the width, height, and density values set in the DisplayInfo passed as a parameter. * Additionally, this test checks that device-specific overrides are not applied. */ @Test public void testCreateTestDisplayContentFromDisplayInfo() { final int displayWidth = 1000; final int displayHeight = 2000; final int windowingMode = WINDOWING_MODE_FULLSCREEN; final boolean ignoreOrientationRequests = false; final float fixedOrientationLetterboxRatio = 0; final DisplayInfo testDisplayInfo = new DisplayInfo(); mContext.getDisplay().getDisplayInfo(testDisplayInfo); testDisplayInfo.logicalWidth = displayWidth; testDisplayInfo.logicalHeight = displayHeight; testDisplayInfo.logicalDensityDpi = TestDisplayContent.DEFAULT_LOGICAL_DISPLAY_DENSITY; final DisplayContent testDisplayContent = new TestDisplayContent.Builder(mAtm, testDisplayInfo).build(); // test display info final DisplayInfo di = testDisplayContent.getDisplayInfo(); assertEquals(displayWidth, di.logicalWidth); assertEquals(displayHeight, di.logicalHeight); assertEquals(TestDisplayContent.DEFAULT_LOGICAL_DISPLAY_DENSITY, di.logicalDensityDpi); // test configuration final WindowConfiguration windowConfig = testDisplayContent.getConfiguration() .windowConfiguration; assertEquals(displayWidth, windowConfig.getBounds().width()); assertEquals(displayHeight, windowConfig.getBounds().height()); assertEquals(windowingMode, windowConfig.getWindowingMode()); // test misc display overrides assertEquals(ignoreOrientationRequests, testDisplayContent.mIgnoreOrientationRequest); assertEquals(fixedOrientationLetterboxRatio, mWm.getFixedOrientationLetterboxAspectRatio(), 0 /* delta */); } private boolean isOptionsPanelAtRight(int displayId) { private boolean isOptionsPanelAtRight(int displayId) { return (mWm.getPreferredOptionsPanelGravity(displayId) & Gravity.RIGHT) == Gravity.RIGHT; return (mWm.getPreferredOptionsPanelGravity(displayId) & Gravity.RIGHT) == Gravity.RIGHT; } } Loading services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsProviderTests.java +5 −5 Original line number Original line Diff line number Diff line Loading @@ -102,7 +102,7 @@ public class DisplayWindowSettingsProviderTests extends WindowTestsBase { SettingsEntry expectedSettings = new SettingsEntry(); SettingsEntry expectedSettings = new SettingsEntry(); expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; readAndAssertExpectedSettings(mPrimaryDisplay, expectedSettings); readAndAssertExpectedSettings(mSecondaryDisplay, expectedSettings); } } @Test @Test Loading Loading @@ -176,17 +176,17 @@ public class DisplayWindowSettingsProviderTests extends WindowTestsBase { // Expected settings should be empty because the default is to read from the primary vendor // Expected settings should be empty because the default is to read from the primary vendor // settings location. // settings location. SettingsEntry expectedSettings = new SettingsEntry(); SettingsEntry expectedSettings = new SettingsEntry(); assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); // Now switch to secondary vendor settings and assert proper settings. // Now switch to secondary vendor settings and assert proper settings. provider.setBaseSettingsStorage(mSecondaryVendorSettingsStorage); provider.setBaseSettingsStorage(mSecondaryVendorSettingsStorage); expectedSettings.mWindowingMode = WINDOWING_MODE_FULLSCREEN; expectedSettings.mWindowingMode = WINDOWING_MODE_FULLSCREEN; assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); // Switch back to primary and assert settings are empty again. // Switch back to primary and assert settings are empty again. provider.setBaseSettingsStorage(mDefaultVendorSettingsStorage); provider.setBaseSettingsStorage(mDefaultVendorSettingsStorage); expectedSettings.mWindowingMode = WINDOWING_MODE_UNDEFINED; expectedSettings.mWindowingMode = WINDOWING_MODE_UNDEFINED; assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); } } @Test @Test Loading @@ -204,7 +204,7 @@ public class DisplayWindowSettingsProviderTests extends WindowTestsBase { // take precedence over the vendor provided settings. // take precedence over the vendor provided settings. SettingsEntry expectedSettings = new SettingsEntry(); SettingsEntry expectedSettings = new SettingsEntry(); expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); } } @Test @Test Loading services/tests/wmtests/src/com/android/server/wm/TestDisplayContent.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -37,6 +37,8 @@ import android.view.DisplayInfo; class TestDisplayContent extends DisplayContent { class TestDisplayContent extends DisplayContent { public static final int DEFAULT_LOGICAL_DISPLAY_DENSITY = 300; /** Please use the {@link Builder} to create, visible for use in test builder overrides only. */ /** Please use the {@link Builder} to create, visible for use in test builder overrides only. */ TestDisplayContent(RootWindowContainer rootWindowContainer, Display display) { TestDisplayContent(RootWindowContainer rootWindowContainer, Display display) { super(display, rootWindowContainer); super(display, rootWindowContainer); Loading Loading @@ -82,12 +84,21 @@ class TestDisplayContent extends DisplayContent { mService.mContext.getDisplay().getDisplayInfo(mInfo); mService.mContext.getDisplay().getDisplayInfo(mInfo); mInfo.logicalWidth = width; mInfo.logicalWidth = width; mInfo.logicalHeight = height; mInfo.logicalHeight = height; mInfo.logicalDensityDpi = 300; mInfo.logicalDensityDpi = DEFAULT_LOGICAL_DISPLAY_DENSITY; mInfo.displayCutout = null; mInfo.displayCutout = null; // Set unique ID so physical display overrides are not inheritted from // DisplayWindowSettings. mInfo.uniqueId = generateUniqueId(); } } Builder(ActivityTaskManagerService service, DisplayInfo info) { Builder(ActivityTaskManagerService service, DisplayInfo info) { mService = service; mService = service; mInfo = info; mInfo = info; // Set unique ID so physical display overrides are not inheritted from // DisplayWindowSettings. mInfo.uniqueId = generateUniqueId(); } private String generateUniqueId() { return "TEST_DISPLAY_CONTENT_" + System.currentTimeMillis(); } } Builder setSystemDecorations(boolean yes) { Builder setSystemDecorations(boolean yes) { mSystemDecorations = yes; mSystemDecorations = yes; Loading Loading
services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +75 −0 Original line number Original line Diff line number Diff line Loading @@ -1974,6 +1974,81 @@ public class DisplayContentTests extends WindowTestsBase { assertEquals(new Rect(500, 0, 2000, 700), rotateBounds); assertEquals(new Rect(500, 0, 2000, 700), rotateBounds); } } /** * Creates a TestDisplayContent using the constructor that takes in display width and height as * parameters and validates that the newly-created TestDisplayContent's DisplayInfo and * WindowConfiguration match the parameters passed into the constructor. Additionally, this test * checks that device-specific overrides are not applied. */ @Test public void testCreateTestDisplayContentFromDimensions() { final int displayWidth = 1000; final int displayHeight = 2000; final int windowingMode = WINDOWING_MODE_FULLSCREEN; final boolean ignoreOrientationRequests = false; final float fixedOrientationLetterboxRatio = 0; final DisplayContent testDisplayContent = new TestDisplayContent.Builder(mAtm, displayWidth, displayHeight).build(); // test display info final DisplayInfo di = testDisplayContent.getDisplayInfo(); assertEquals(displayWidth, di.logicalWidth); assertEquals(displayHeight, di.logicalHeight); assertEquals(TestDisplayContent.DEFAULT_LOGICAL_DISPLAY_DENSITY, di.logicalDensityDpi); // test configuration final WindowConfiguration windowConfig = testDisplayContent.getConfiguration() .windowConfiguration; assertEquals(displayWidth, windowConfig.getBounds().width()); assertEquals(displayHeight, windowConfig.getBounds().height()); assertEquals(windowingMode, windowConfig.getWindowingMode()); // test misc display overrides assertEquals(ignoreOrientationRequests, testDisplayContent.mIgnoreOrientationRequest); assertEquals(fixedOrientationLetterboxRatio, mWm.getFixedOrientationLetterboxAspectRatio(), 0 /* delta */); } /** * Creates a TestDisplayContent using the constructor that takes in a DisplayInfo as a parameter * and validates that the newly-created TestDisplayContent's DisplayInfo and WindowConfiguration * match the width, height, and density values set in the DisplayInfo passed as a parameter. * Additionally, this test checks that device-specific overrides are not applied. */ @Test public void testCreateTestDisplayContentFromDisplayInfo() { final int displayWidth = 1000; final int displayHeight = 2000; final int windowingMode = WINDOWING_MODE_FULLSCREEN; final boolean ignoreOrientationRequests = false; final float fixedOrientationLetterboxRatio = 0; final DisplayInfo testDisplayInfo = new DisplayInfo(); mContext.getDisplay().getDisplayInfo(testDisplayInfo); testDisplayInfo.logicalWidth = displayWidth; testDisplayInfo.logicalHeight = displayHeight; testDisplayInfo.logicalDensityDpi = TestDisplayContent.DEFAULT_LOGICAL_DISPLAY_DENSITY; final DisplayContent testDisplayContent = new TestDisplayContent.Builder(mAtm, testDisplayInfo).build(); // test display info final DisplayInfo di = testDisplayContent.getDisplayInfo(); assertEquals(displayWidth, di.logicalWidth); assertEquals(displayHeight, di.logicalHeight); assertEquals(TestDisplayContent.DEFAULT_LOGICAL_DISPLAY_DENSITY, di.logicalDensityDpi); // test configuration final WindowConfiguration windowConfig = testDisplayContent.getConfiguration() .windowConfiguration; assertEquals(displayWidth, windowConfig.getBounds().width()); assertEquals(displayHeight, windowConfig.getBounds().height()); assertEquals(windowingMode, windowConfig.getWindowingMode()); // test misc display overrides assertEquals(ignoreOrientationRequests, testDisplayContent.mIgnoreOrientationRequest); assertEquals(fixedOrientationLetterboxRatio, mWm.getFixedOrientationLetterboxAspectRatio(), 0 /* delta */); } private boolean isOptionsPanelAtRight(int displayId) { private boolean isOptionsPanelAtRight(int displayId) { return (mWm.getPreferredOptionsPanelGravity(displayId) & Gravity.RIGHT) == Gravity.RIGHT; return (mWm.getPreferredOptionsPanelGravity(displayId) & Gravity.RIGHT) == Gravity.RIGHT; } } Loading
services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsProviderTests.java +5 −5 Original line number Original line Diff line number Diff line Loading @@ -102,7 +102,7 @@ public class DisplayWindowSettingsProviderTests extends WindowTestsBase { SettingsEntry expectedSettings = new SettingsEntry(); SettingsEntry expectedSettings = new SettingsEntry(); expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; readAndAssertExpectedSettings(mPrimaryDisplay, expectedSettings); readAndAssertExpectedSettings(mSecondaryDisplay, expectedSettings); } } @Test @Test Loading Loading @@ -176,17 +176,17 @@ public class DisplayWindowSettingsProviderTests extends WindowTestsBase { // Expected settings should be empty because the default is to read from the primary vendor // Expected settings should be empty because the default is to read from the primary vendor // settings location. // settings location. SettingsEntry expectedSettings = new SettingsEntry(); SettingsEntry expectedSettings = new SettingsEntry(); assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); // Now switch to secondary vendor settings and assert proper settings. // Now switch to secondary vendor settings and assert proper settings. provider.setBaseSettingsStorage(mSecondaryVendorSettingsStorage); provider.setBaseSettingsStorage(mSecondaryVendorSettingsStorage); expectedSettings.mWindowingMode = WINDOWING_MODE_FULLSCREEN; expectedSettings.mWindowingMode = WINDOWING_MODE_FULLSCREEN; assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); // Switch back to primary and assert settings are empty again. // Switch back to primary and assert settings are empty again. provider.setBaseSettingsStorage(mDefaultVendorSettingsStorage); provider.setBaseSettingsStorage(mDefaultVendorSettingsStorage); expectedSettings.mWindowingMode = WINDOWING_MODE_UNDEFINED; expectedSettings.mWindowingMode = WINDOWING_MODE_UNDEFINED; assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); } } @Test @Test Loading @@ -204,7 +204,7 @@ public class DisplayWindowSettingsProviderTests extends WindowTestsBase { // take precedence over the vendor provided settings. // take precedence over the vendor provided settings. SettingsEntry expectedSettings = new SettingsEntry(); SettingsEntry expectedSettings = new SettingsEntry(); expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; expectedSettings.mWindowingMode = WINDOWING_MODE_PINNED; assertEquals(expectedSettings, provider.getSettings(mPrimaryDisplay.getDisplayInfo())); assertEquals(expectedSettings, provider.getSettings(mSecondaryDisplay.getDisplayInfo())); } } @Test @Test Loading
services/tests/wmtests/src/com/android/server/wm/TestDisplayContent.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -37,6 +37,8 @@ import android.view.DisplayInfo; class TestDisplayContent extends DisplayContent { class TestDisplayContent extends DisplayContent { public static final int DEFAULT_LOGICAL_DISPLAY_DENSITY = 300; /** Please use the {@link Builder} to create, visible for use in test builder overrides only. */ /** Please use the {@link Builder} to create, visible for use in test builder overrides only. */ TestDisplayContent(RootWindowContainer rootWindowContainer, Display display) { TestDisplayContent(RootWindowContainer rootWindowContainer, Display display) { super(display, rootWindowContainer); super(display, rootWindowContainer); Loading Loading @@ -82,12 +84,21 @@ class TestDisplayContent extends DisplayContent { mService.mContext.getDisplay().getDisplayInfo(mInfo); mService.mContext.getDisplay().getDisplayInfo(mInfo); mInfo.logicalWidth = width; mInfo.logicalWidth = width; mInfo.logicalHeight = height; mInfo.logicalHeight = height; mInfo.logicalDensityDpi = 300; mInfo.logicalDensityDpi = DEFAULT_LOGICAL_DISPLAY_DENSITY; mInfo.displayCutout = null; mInfo.displayCutout = null; // Set unique ID so physical display overrides are not inheritted from // DisplayWindowSettings. mInfo.uniqueId = generateUniqueId(); } } Builder(ActivityTaskManagerService service, DisplayInfo info) { Builder(ActivityTaskManagerService service, DisplayInfo info) { mService = service; mService = service; mInfo = info; mInfo = info; // Set unique ID so physical display overrides are not inheritted from // DisplayWindowSettings. mInfo.uniqueId = generateUniqueId(); } private String generateUniqueId() { return "TEST_DISPLAY_CONTENT_" + System.currentTimeMillis(); } } Builder setSystemDecorations(boolean yes) { Builder setSystemDecorations(boolean yes) { mSystemDecorations = yes; mSystemDecorations = yes; Loading