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

Commit f362c2d7 authored by An An Yu's avatar An An Yu Committed by Android (Google) Code Review
Browse files

Merge "Read default_minimal_size_resizable_task directly from Resources." into udc-dev

parents 0427a755 2c7bfcde
Loading
Loading
Loading
Loading
+15 −8
Original line number Original line Diff line number Diff line
@@ -38,6 +38,9 @@ import static android.os.Process.SYSTEM_UID;
import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
import static android.util.DisplayMetrics.DENSITY_DEFAULT;
import static android.util.DisplayMetrics.DENSITY_DEFAULT;
import static android.util.RotationUtils.deltaRotation;
import static android.util.RotationUtils.deltaRotation;
import static android.util.TypedValue.COMPLEX_UNIT_DIP;
import static android.util.TypedValue.COMPLEX_UNIT_MASK;
import static android.util.TypedValue.COMPLEX_UNIT_SHIFT;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.Display.FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD;
import static android.view.Display.FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD;
import static android.view.Display.FLAG_PRIVATE;
import static android.view.Display.FLAG_PRIVATE;
@@ -170,6 +173,7 @@ import android.content.pm.ActivityInfo;
import android.content.pm.ActivityInfo.ScreenOrientation;
import android.content.pm.ActivityInfo.ScreenOrientation;
import android.content.res.CompatibilityInfo;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap;
import android.graphics.ColorSpace;
import android.graphics.ColorSpace;
import android.graphics.Insets;
import android.graphics.Insets;
@@ -206,6 +210,7 @@ import android.util.Size;
import android.util.Slog;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.util.SparseBooleanArray;
import android.util.TypedValue;
import android.util.proto.ProtoOutputStream;
import android.util.proto.ProtoOutputStream;
import android.view.ContentRecordingSession;
import android.view.ContentRecordingSession;
import android.view.Display;
import android.view.Display;
@@ -1684,14 +1689,16 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
    private int getMinimalTaskSizeDp() {
    private int getMinimalTaskSizeDp() {
        final Context displayConfigurationContext =
        final Context displayConfigurationContext =
                mAtmService.mContext.createConfigurationContext(getConfiguration());
                mAtmService.mContext.createConfigurationContext(getConfiguration());
        final float minimalSize =
        final Resources res = displayConfigurationContext.getResources();
                displayConfigurationContext.getResources().getDimension(
        final TypedValue value = new TypedValue();
                        R.dimen.default_minimal_size_resizable_task);
        res.getValue(R.dimen.default_minimal_size_resizable_task, value, true /* resolveRefs */);
        if (Double.compare(mDisplayMetrics.density, 0.0) == 0) {
        final int valueUnit = ((value.data >> COMPLEX_UNIT_SHIFT) & COMPLEX_UNIT_MASK);
            throw new IllegalArgumentException("Display with ID=" + getDisplayId() + "has invalid "
        if (value.type != TypedValue.TYPE_DIMENSION || valueUnit != COMPLEX_UNIT_DIP) {
                + "DisplayMetrics.density= 0.0");
            throw new IllegalArgumentException(
        }
                "Resource ID #0x" + Integer.toHexString(R.dimen.default_minimal_size_resizable_task)
        return (int) (minimalSize / mDisplayMetrics.density);
                    + " is not in valid type or unit");
        }
        return (int) TypedValue.complexToFloat(value.data);
    }
    }


    private boolean updateOrientation(boolean forceUpdate) {
    private boolean updateOrientation(boolean forceUpdate) {
+21 −4
Original line number Original line Diff line number Diff line
@@ -30,6 +30,9 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;


import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;

import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.content.Context;
import android.content.Context;
@@ -39,6 +42,7 @@ import android.graphics.Insets;
import android.graphics.Rect;
import android.graphics.Rect;
import android.hardware.display.DisplayManagerGlobal;
import android.hardware.display.DisplayManagerGlobal;
import android.util.DisplayMetrics;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Display;
import android.view.Display;
import android.view.DisplayCutout;
import android.view.DisplayCutout;
import android.view.DisplayInfo;
import android.view.DisplayInfo;
@@ -47,6 +51,8 @@ import com.android.server.wm.DisplayWindowSettings.SettingsProvider.SettingsEntr


import org.mockito.Mock;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.MockitoAnnotations;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;


class TestDisplayContent extends DisplayContent {
class TestDisplayContent extends DisplayContent {


@@ -197,10 +203,21 @@ class TestDisplayContent extends DisplayContent {
            MockitoAnnotations.initMocks(this);
            MockitoAnnotations.initMocks(this);
            doReturn(mMockContext).when(mService.mContext).createConfigurationContext(any());
            doReturn(mMockContext).when(mService.mContext).createConfigurationContext(any());
            doReturn(mResources).when(mMockContext).getResources();
            doReturn(mResources).when(mMockContext).getResources();
            doReturn(valueDp * mDisplayMetrics.density)
            doAnswer(
                    .when(mResources)
                    new Answer() {
                    .getDimension(
                        @Override
                        com.android.internal.R.dimen.default_minimal_size_resizable_task);
                        public Object answer(InvocationOnMock i) {
                            Object[] args = i.getArguments();
                            TypedValue v = (TypedValue) args[1];
                            v.type = TypedValue.TYPE_DIMENSION;
                            v.data = TypedValue.createComplexDimension(valueDp,
                                    TypedValue.COMPLEX_UNIT_DIP);
                            return null;
                        }
                    }
            ).when(mResources).getValue(
                    eq(com.android.internal.R.dimen.default_minimal_size_resizable_task),
                    any(TypedValue.class), eq(true));
            return this;
            return this;
        }
        }
        Builder setDeviceStateController(@NonNull DeviceStateController deviceStateController) {
        Builder setDeviceStateController(@NonNull DeviceStateController deviceStateController) {