Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java +3 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.content.res.Configuration; import android.graphics.Rect; import android.os.Bundle; import android.os.IBinder; import android.util.DisplayMetrics; import android.util.LayoutDirection; import android.util.Pair; import android.util.Size; Loading Loading @@ -972,6 +973,7 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer { private static WindowMetrics getTaskWindowMetrics(@NonNull Configuration taskConfiguration) { final Rect taskBounds = taskConfiguration.windowConfiguration.getBounds(); // TODO(b/190433398): Supply correct insets. return new WindowMetrics(taskBounds, WindowInsets.CONSUMED); final float density = taskConfiguration.densityDpi * DisplayMetrics.DENSITY_DEFAULT_SCALE; return new WindowMetrics(taskBounds, WindowInsets.CONSUMED, density); } } libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitPresenterTest.java +17 −1 Original line number Diff line number Diff line Loading @@ -66,8 +66,10 @@ import android.graphics.Color; import android.graphics.Rect; import android.os.IBinder; import android.platform.test.annotations.Presubmit; import android.util.DisplayMetrics; import android.util.Pair; import android.util.Size; import android.view.WindowMetrics; import android.window.TaskFragmentAnimationParams; import android.window.TaskFragmentInfo; import android.window.TaskFragmentOperation; Loading Loading @@ -101,7 +103,6 @@ import java.util.ArrayList; @RunWith(AndroidJUnit4.class) public class SplitPresenterTest { @Mock private Activity mActivity; @Mock private Resources mActivityResources; Loading Loading @@ -571,6 +572,21 @@ public class SplitPresenterTest { splitPairRule, null /* minDimensionsPair */)); } @Test public void testGetTaskWindowMetrics() { final Configuration taskConfig = new Configuration(); taskConfig.windowConfiguration.setBounds(TASK_BOUNDS); taskConfig.densityDpi = 123; final TaskContainer.TaskProperties taskProperties = new TaskContainer.TaskProperties( DEFAULT_DISPLAY, taskConfig); doReturn(taskProperties).when(mPresenter).getTaskProperties(mActivity); final WindowMetrics windowMetrics = mPresenter.getTaskWindowMetrics(mActivity); assertEquals(TASK_BOUNDS, windowMetrics.getBounds()); assertEquals(123 * DisplayMetrics.DENSITY_DEFAULT_SCALE, windowMetrics.getDensity(), 0f); } private Activity createMockActivity() { final Activity activity = mock(Activity.class); final Configuration activityConfig = new Configuration(); Loading Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java +3 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.content.res.Configuration; import android.graphics.Rect; import android.os.Bundle; import android.os.IBinder; import android.util.DisplayMetrics; import android.util.LayoutDirection; import android.util.Pair; import android.util.Size; Loading Loading @@ -972,6 +973,7 @@ class SplitPresenter extends JetpackTaskFragmentOrganizer { private static WindowMetrics getTaskWindowMetrics(@NonNull Configuration taskConfiguration) { final Rect taskBounds = taskConfiguration.windowConfiguration.getBounds(); // TODO(b/190433398): Supply correct insets. return new WindowMetrics(taskBounds, WindowInsets.CONSUMED); final float density = taskConfiguration.densityDpi * DisplayMetrics.DENSITY_DEFAULT_SCALE; return new WindowMetrics(taskBounds, WindowInsets.CONSUMED, density); } }
libs/WindowManager/Jetpack/tests/unittest/src/androidx/window/extensions/embedding/SplitPresenterTest.java +17 −1 Original line number Diff line number Diff line Loading @@ -66,8 +66,10 @@ import android.graphics.Color; import android.graphics.Rect; import android.os.IBinder; import android.platform.test.annotations.Presubmit; import android.util.DisplayMetrics; import android.util.Pair; import android.util.Size; import android.view.WindowMetrics; import android.window.TaskFragmentAnimationParams; import android.window.TaskFragmentInfo; import android.window.TaskFragmentOperation; Loading Loading @@ -101,7 +103,6 @@ import java.util.ArrayList; @RunWith(AndroidJUnit4.class) public class SplitPresenterTest { @Mock private Activity mActivity; @Mock private Resources mActivityResources; Loading Loading @@ -571,6 +572,21 @@ public class SplitPresenterTest { splitPairRule, null /* minDimensionsPair */)); } @Test public void testGetTaskWindowMetrics() { final Configuration taskConfig = new Configuration(); taskConfig.windowConfiguration.setBounds(TASK_BOUNDS); taskConfig.densityDpi = 123; final TaskContainer.TaskProperties taskProperties = new TaskContainer.TaskProperties( DEFAULT_DISPLAY, taskConfig); doReturn(taskProperties).when(mPresenter).getTaskProperties(mActivity); final WindowMetrics windowMetrics = mPresenter.getTaskWindowMetrics(mActivity); assertEquals(TASK_BOUNDS, windowMetrics.getBounds()); assertEquals(123 * DisplayMetrics.DENSITY_DEFAULT_SCALE, windowMetrics.getDensity(), 0f); } private Activity createMockActivity() { final Activity activity = mock(Activity.class); final Configuration activityConfig = new Configuration(); Loading