Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipSizeSpecHandler.java +12 −3 Original line number Diff line number Diff line Loading @@ -45,8 +45,9 @@ public class PipSizeSpecHandler { @VisibleForTesting final SizeSpecSource mSizeSpecSourceImpl; /** The preferred minimum (and default) size specified by apps. */ /** The preferred minimum (and default minimum) size specified by apps. */ @Nullable private Size mOverrideMinSize; private int mOverridableMinSize; /** Used to store values obtained from resource files. */ private Point mScreenEdgeInsets; Loading Loading @@ -386,6 +387,8 @@ public class PipSizeSpecHandler { mDefaultMinSize = res.getDimensionPixelSize( R.dimen.default_minimal_size_pip_resizable_task); mOverridableMinSize = res.getDimensionPixelSize( R.dimen.overridable_minimal_size_pip_resizable_task); final String screenEdgeInsetsDpString = res.getString( R.string.config_defaultPictureInPictureScreenEdgeInsets); Loading Loading @@ -443,13 +446,19 @@ public class PipSizeSpecHandler { /** Returns the preferred minimal size specified by the activity in PIP. */ @Nullable public Size getOverrideMinSize() { if (mOverrideMinSize != null && (mOverrideMinSize.getWidth() < mOverridableMinSize || mOverrideMinSize.getHeight() < mOverridableMinSize)) { return new Size(mOverridableMinSize, mOverridableMinSize); } return mOverrideMinSize; } /** Returns the minimum edge size of the override minimum size, or 0 if not set. */ public int getOverrideMinEdgeSize() { if (mOverrideMinSize == null) return 0; return Math.min(mOverrideMinSize.getWidth(), mOverrideMinSize.getHeight()); return Math.min(getOverrideMinSize().getWidth(), getOverrideMinSize().getHeight()); } public int getMinEdgeSize() { Loading Loading @@ -505,7 +514,7 @@ public class PipSizeSpecHandler { if (mOverrideMinSize == null) { return null; } final Size size = mOverrideMinSize; final Size size = getOverrideMinSize(); final float sizeAspectRatio = size.getWidth() / (float) size.getHeight(); if (sizeAspectRatio > aspectRatio) { // Size is wider, fix the width and increase the height Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsAlgorithmTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -300,9 +300,9 @@ public class PipBoundsAlgorithmTest extends ShellTestCase { (MAX_ASPECT_RATIO + DEFAULT_ASPECT_RATIO) / 2 }; final Size[] minimalSizes = new Size[] { new Size((int) (100 * aspectRatios[0]), 100), new Size((int) (100 * aspectRatios[1]), 100), new Size((int) (100 * aspectRatios[2]), 100) new Size((int) (200 * aspectRatios[0]), 200), new Size((int) (200 * aspectRatios[1]), 200), new Size((int) (200 * aspectRatios[2]), 200) }; for (int i = 0; i < aspectRatios.length; i++) { final float aspectRatio = aspectRatios[i]; Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsStateTest.java +6 −6 Original line number Diff line number Diff line Loading @@ -162,10 +162,10 @@ public class PipBoundsStateTest extends ShellTestCase { @Test public void testSetOverrideMinSize_notChanged_callbackNotInvoked() { final Runnable callback = mock(Runnable.class); mPipBoundsState.setOverrideMinSize(new Size(5, 5)); mPipBoundsState.setOverrideMinSize(new Size(100, 150)); mPipBoundsState.setOnMinimalSizeChangeCallback(callback); mPipBoundsState.setOverrideMinSize(new Size(5, 5)); mPipBoundsState.setOverrideMinSize(new Size(100, 150)); verify(callback, never()).run(); } Loading @@ -175,11 +175,11 @@ public class PipBoundsStateTest extends ShellTestCase { mPipBoundsState.setOverrideMinSize(null); assertEquals(0, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(5, 10)); assertEquals(5, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(100, 110)); assertEquals(100, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(15, 10)); assertEquals(10, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(150, 200)); assertEquals(150, mPipBoundsState.getOverrideMinEdgeSize()); } @Test Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipSizeSpecHandler.java +12 −3 Original line number Diff line number Diff line Loading @@ -45,8 +45,9 @@ public class PipSizeSpecHandler { @VisibleForTesting final SizeSpecSource mSizeSpecSourceImpl; /** The preferred minimum (and default) size specified by apps. */ /** The preferred minimum (and default minimum) size specified by apps. */ @Nullable private Size mOverrideMinSize; private int mOverridableMinSize; /** Used to store values obtained from resource files. */ private Point mScreenEdgeInsets; Loading Loading @@ -386,6 +387,8 @@ public class PipSizeSpecHandler { mDefaultMinSize = res.getDimensionPixelSize( R.dimen.default_minimal_size_pip_resizable_task); mOverridableMinSize = res.getDimensionPixelSize( R.dimen.overridable_minimal_size_pip_resizable_task); final String screenEdgeInsetsDpString = res.getString( R.string.config_defaultPictureInPictureScreenEdgeInsets); Loading Loading @@ -443,13 +446,19 @@ public class PipSizeSpecHandler { /** Returns the preferred minimal size specified by the activity in PIP. */ @Nullable public Size getOverrideMinSize() { if (mOverrideMinSize != null && (mOverrideMinSize.getWidth() < mOverridableMinSize || mOverrideMinSize.getHeight() < mOverridableMinSize)) { return new Size(mOverridableMinSize, mOverridableMinSize); } return mOverrideMinSize; } /** Returns the minimum edge size of the override minimum size, or 0 if not set. */ public int getOverrideMinEdgeSize() { if (mOverrideMinSize == null) return 0; return Math.min(mOverrideMinSize.getWidth(), mOverrideMinSize.getHeight()); return Math.min(getOverrideMinSize().getWidth(), getOverrideMinSize().getHeight()); } public int getMinEdgeSize() { Loading Loading @@ -505,7 +514,7 @@ public class PipSizeSpecHandler { if (mOverrideMinSize == null) { return null; } final Size size = mOverrideMinSize; final Size size = getOverrideMinSize(); final float sizeAspectRatio = size.getWidth() / (float) size.getHeight(); if (sizeAspectRatio > aspectRatio) { // Size is wider, fix the width and increase the height Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsAlgorithmTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -300,9 +300,9 @@ public class PipBoundsAlgorithmTest extends ShellTestCase { (MAX_ASPECT_RATIO + DEFAULT_ASPECT_RATIO) / 2 }; final Size[] minimalSizes = new Size[] { new Size((int) (100 * aspectRatios[0]), 100), new Size((int) (100 * aspectRatios[1]), 100), new Size((int) (100 * aspectRatios[2]), 100) new Size((int) (200 * aspectRatios[0]), 200), new Size((int) (200 * aspectRatios[1]), 200), new Size((int) (200 * aspectRatios[2]), 200) }; for (int i = 0; i < aspectRatios.length; i++) { final float aspectRatio = aspectRatios[i]; Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/PipBoundsStateTest.java +6 −6 Original line number Diff line number Diff line Loading @@ -162,10 +162,10 @@ public class PipBoundsStateTest extends ShellTestCase { @Test public void testSetOverrideMinSize_notChanged_callbackNotInvoked() { final Runnable callback = mock(Runnable.class); mPipBoundsState.setOverrideMinSize(new Size(5, 5)); mPipBoundsState.setOverrideMinSize(new Size(100, 150)); mPipBoundsState.setOnMinimalSizeChangeCallback(callback); mPipBoundsState.setOverrideMinSize(new Size(5, 5)); mPipBoundsState.setOverrideMinSize(new Size(100, 150)); verify(callback, never()).run(); } Loading @@ -175,11 +175,11 @@ public class PipBoundsStateTest extends ShellTestCase { mPipBoundsState.setOverrideMinSize(null); assertEquals(0, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(5, 10)); assertEquals(5, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(100, 110)); assertEquals(100, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(15, 10)); assertEquals(10, mPipBoundsState.getOverrideMinEdgeSize()); mPipBoundsState.setOverrideMinSize(new Size(150, 200)); assertEquals(150, mPipBoundsState.getOverrideMinEdgeSize()); } @Test Loading