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

Commit fa45bffa authored by Alex Chau's avatar Alex Chau Committed by Automerger Merge Worker
Browse files

Merge "Use correct config.smallestScreenWidthDp when creating Resource in...

Merge "Use correct config.smallestScreenWidthDp when creating Resource in DeviceProfile" into tm-dev am: d826f04b

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/17258303

Change-Id: I2da17fef7b44ab96e0c5c60c006073dfbcf633ac
parents 0681e62d d826f04b
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -257,7 +257,8 @@ public class DeviceProfile {
        // Some more constants.
        context = getContext(context, info, isVerticalBarLayout() || (isTablet && isLandscape)
                ? Configuration.ORIENTATION_LANDSCAPE
                : Configuration.ORIENTATION_PORTRAIT);
                : Configuration.ORIENTATION_PORTRAIT,
                windowBounds);
        final Resources res = context.getResources();
        mMetrics = res.getDisplayMetrics();

@@ -1231,10 +1232,11 @@ public class DeviceProfile {
        writer.println(prefix + pxToDpStr("overviewGridSideMargin", overviewGridSideMargin));
    }

    private static Context getContext(Context c, Info info, int orientation) {
    private static Context getContext(Context c, Info info, int orientation, WindowBounds bounds) {
        Configuration config = new Configuration(c.getResources().getConfiguration());
        config.orientation = orientation;
        config.densityDpi = info.densityDpi;
        config.smallestScreenWidthDp = (int) info.smallestSizeDp(bounds);
        return c.createConfigurationContext(config);
    }

+9 −4
Original line number Diff line number Diff line
@@ -345,16 +345,21 @@ public class DisplayController implements ComponentCallbacks, SafeCloseable {
         * Returns {@code true} if the bounds represent a tablet.
         */
        public boolean isTablet(WindowBounds bounds) {
            return dpiFromPx(Math.min(bounds.bounds.width(), bounds.bounds.height()),
                    densityDpi) >= MIN_TABLET_WIDTH;
            return smallestSizeDp(bounds) >= MIN_TABLET_WIDTH;
        }

        /**
         * Returns {@code true} if the bounds represent a large tablet.
         */
        public boolean isLargeTablet(WindowBounds bounds) {
            return dpiFromPx(Math.min(bounds.bounds.width(), bounds.bounds.height()),
                    densityDpi) >= MIN_LARGE_TABLET_WIDTH;
            return smallestSizeDp(bounds) >= MIN_LARGE_TABLET_WIDTH;
        }

        /**
         * Returns smallest size in dp for given bounds.
         */
        public float smallestSizeDp(WindowBounds bounds) {
            return dpiFromPx(Math.min(bounds.bounds.width(), bounds.bounds.height()), densityDpi);
        }
    }