Merge "Round screen size of configuration" into tm-qpr-dev
This commit is contained in:
@@ -365,8 +365,8 @@ public class ResourcesManager {
|
|||||||
@NonNull Configuration config) {
|
@NonNull Configuration config) {
|
||||||
config.touchscreen = Configuration.TOUCHSCREEN_NOTOUCH;
|
config.touchscreen = Configuration.TOUCHSCREEN_NOTOUCH;
|
||||||
config.densityDpi = dm.densityDpi;
|
config.densityDpi = dm.densityDpi;
|
||||||
config.screenWidthDp = (int) (dm.widthPixels / dm.density);
|
config.screenWidthDp = (int) (dm.widthPixels / dm.density + 0.5f);
|
||||||
config.screenHeightDp = (int) (dm.heightPixels / dm.density);
|
config.screenHeightDp = (int) (dm.heightPixels / dm.density + 0.5f);
|
||||||
int sl = Configuration.resetScreenLayout(config.screenLayout);
|
int sl = Configuration.resetScreenLayout(config.screenLayout);
|
||||||
if (dm.widthPixels > dm.heightPixels) {
|
if (dm.widthPixels > dm.heightPixels) {
|
||||||
config.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
config.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
||||||
|
|||||||
@@ -2212,9 +2212,9 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
|
|||||||
|
|
||||||
final float density = mDisplayMetrics.density;
|
final float density = mDisplayMetrics.density;
|
||||||
outConfig.screenWidthDp = (int) (mDisplayPolicy.getConfigDisplayWidth(dw, dh, rotation,
|
outConfig.screenWidthDp = (int) (mDisplayPolicy.getConfigDisplayWidth(dw, dh, rotation,
|
||||||
uiMode, displayCutout) / density);
|
uiMode, displayCutout) / density + 0.5f);
|
||||||
outConfig.screenHeightDp = (int) (mDisplayPolicy.getConfigDisplayHeight(dw, dh, rotation,
|
outConfig.screenHeightDp = (int) (mDisplayPolicy.getConfigDisplayHeight(dw, dh, rotation,
|
||||||
uiMode, displayCutout) / density);
|
uiMode, displayCutout) / density + 0.5f);
|
||||||
outConfig.compatScreenWidthDp = (int) (outConfig.screenWidthDp / mCompatibleScreenScale);
|
outConfig.compatScreenWidthDp = (int) (outConfig.screenWidthDp / mCompatibleScreenScale);
|
||||||
outConfig.compatScreenHeightDp = (int) (outConfig.screenHeightDp / mCompatibleScreenScale);
|
outConfig.compatScreenHeightDp = (int) (outConfig.screenHeightDp / mCompatibleScreenScale);
|
||||||
|
|
||||||
|
|||||||
@@ -2215,23 +2215,28 @@ public class DisplayContentTests extends WindowTestsBase {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testCreateTestDisplayContentFromDimensions() {
|
public void testCreateTestDisplayContentFromDimensions() {
|
||||||
final int displayWidth = 1000;
|
final int displayWidth = 540;
|
||||||
final int displayHeight = 2000;
|
final int displayHeight = 960;
|
||||||
|
final int density = 192;
|
||||||
|
final int expectedWidthDp = 450; // = 540/(192/160)
|
||||||
|
final int expectedHeightDp = 800; // = 960/(192/160)
|
||||||
final int windowingMode = WINDOWING_MODE_FULLSCREEN;
|
final int windowingMode = WINDOWING_MODE_FULLSCREEN;
|
||||||
final boolean ignoreOrientationRequests = false;
|
final boolean ignoreOrientationRequests = false;
|
||||||
final float fixedOrientationLetterboxRatio = 0;
|
final float fixedOrientationLetterboxRatio = 0;
|
||||||
final DisplayContent testDisplayContent = new TestDisplayContent.Builder(mAtm, displayWidth,
|
final DisplayContent testDisplayContent = new TestDisplayContent.Builder(mAtm, displayWidth,
|
||||||
displayHeight).build();
|
displayHeight).setDensityDpi(density).build();
|
||||||
|
|
||||||
// test display info
|
// test display info
|
||||||
final DisplayInfo di = testDisplayContent.getDisplayInfo();
|
final DisplayInfo di = testDisplayContent.getDisplayInfo();
|
||||||
assertEquals(displayWidth, di.logicalWidth);
|
assertEquals(displayWidth, di.logicalWidth);
|
||||||
assertEquals(displayHeight, di.logicalHeight);
|
assertEquals(displayHeight, di.logicalHeight);
|
||||||
assertEquals(TestDisplayContent.DEFAULT_LOGICAL_DISPLAY_DENSITY, di.logicalDensityDpi);
|
assertEquals(density, di.logicalDensityDpi);
|
||||||
|
|
||||||
// test configuration
|
// test configuration
|
||||||
final WindowConfiguration windowConfig = testDisplayContent.getConfiguration()
|
final Configuration config = testDisplayContent.getConfiguration();
|
||||||
.windowConfiguration;
|
assertEquals(expectedWidthDp, config.screenWidthDp);
|
||||||
|
assertEquals(expectedHeightDp, config.screenHeightDp);
|
||||||
|
final WindowConfiguration windowConfig = config.windowConfiguration;
|
||||||
assertEquals(displayWidth, windowConfig.getBounds().width());
|
assertEquals(displayWidth, windowConfig.getBounds().width());
|
||||||
assertEquals(displayHeight, windowConfig.getBounds().height());
|
assertEquals(displayHeight, windowConfig.getBounds().height());
|
||||||
assertEquals(windowingMode, windowConfig.getWindowingMode());
|
assertEquals(windowingMode, windowConfig.getWindowingMode());
|
||||||
|
|||||||
Reference in New Issue
Block a user