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

Commit 7b75f135 authored by Chris Li's avatar Chris Li
Browse files

Supply density in Task WindowMetrics

Bug: 257000820
Test: atest WMJetpackUnitTests:SplitPresenterTest
Change-Id: Id3cbaf1c0c259bce53b784ab24683445e929f541
parent 4b3fa992
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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);
    }
}
+17 −1
Original line number Diff line number Diff line
@@ -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;
@@ -101,7 +103,6 @@ import java.util.ArrayList;
@RunWith(AndroidJUnit4.class)
public class SplitPresenterTest {

    @Mock
    private Activity mActivity;
    @Mock
    private Resources mActivityResources;
@@ -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();