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

Commit 068101ec authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Fix unit tests if universal_resizable_by_default is enabled" into main

parents d5526d53 4a8f23df
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -139,7 +139,6 @@ import android.os.PersistableBundle;
import android.os.Process;
import android.os.RemoteException;
import android.platform.test.annotations.Presubmit;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.provider.DeviceConfig;
import android.util.MutableBoolean;
import android.view.DisplayInfo;
@@ -2662,8 +2661,11 @@ public class ActivityRecordTests extends WindowTestsBase {
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_UNIVERSAL_RESIZABLE_BY_DEFAULT)
    public void testSetOrientation_restrictedByTargetSdk() {
        mSetFlagsRule.enableFlags(Flags.FLAG_UNIVERSAL_RESIZABLE_BY_DEFAULT);
        mDisplayContent.setIgnoreOrientationRequest(true);
        makeDisplayLargeScreen(mDisplayContent);

        assertSetOrientation(Build.VERSION_CODES.CUR_DEVELOPMENT, CATEGORY_SOCIAL, false);
        assertSetOrientation(Build.VERSION_CODES.CUR_DEVELOPMENT, CATEGORY_GAME, true);

@@ -2673,12 +2675,13 @@ public class ActivityRecordTests extends WindowTestsBase {
    }

    private void assertSetOrientation(int targetSdk, int category, boolean expectRotate) {
        final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build();
        activity.mTargetSdk = targetSdk;
        final String packageName = targetSdk <= Build.VERSION_CODES.VANILLA_ICE_CREAM
                ? mContext.getPackageName() // WmTests uses legacy sdk.
                : null; // Simulate CUR_DEVELOPMENT by invalid package (see PlatformCompat).
        final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true)
                .setComponent(getUniqueComponentName(packageName)).build();
        activity.info.applicationInfo.category = category;

        activity.setVisible(true);

        // Assert orientation is unspecified to start.
        assertEquals(SCREEN_ORIENTATION_UNSPECIFIED, activity.getOrientation());

+2 −0
Original line number Diff line number Diff line
@@ -307,6 +307,8 @@ class AppCompatActivityRobot {
    void createNewTaskWithBaseActivity() {
        final Task newTask = new WindowTestsBase.TaskBuilder(mSupervisor)
                .setCreateActivity(true)
                // Respect "@ChangeId" according to test package's target sdk.
                .setPackage(mAtm.mContext.getPackageName())
                .setDisplay(mDisplayContent).build();
        mTaskStack.push(newTask);
        pushActivity(newTask.getTopNonFinishingActivity());
+2 −1
Original line number Diff line number Diff line
@@ -1081,7 +1081,8 @@ public class DisplayContentTests extends WindowTestsBase {
        final DisplayRotation dr = dc.getDisplayRotation();
        spyOn(dr);
        doReturn(false).when(dr).useDefaultSettingsProvider();
        final ActivityRecord app = new ActivityBuilder(mAtm).setCreateTask(true).build();
        final ActivityRecord app = new ActivityBuilder(mAtm).setCreateTask(true)
                .setComponent(getUniqueComponentName(mContext.getPackageName())).build();
        app.setOrientation(SCREEN_ORIENTATION_LANDSCAPE, app);

        assertFalse(dc.getRotationReversionController().isAnyOverrideActive());
+6 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import static org.mockito.Mockito.times;
import android.app.servertransaction.RefreshCallbackItem;
import android.app.servertransaction.ResumeActivityItem;
import android.content.ComponentName;
import android.content.pm.ActivityInfo;
import android.content.pm.ActivityInfo.ScreenOrientation;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
@@ -592,6 +593,11 @@ public final class DisplayRotationCompatPolicyTests extends WindowTestsBase {
                .setTask(mTask)
                .build();

        spyOn(mActivity.info.applicationInfo);
        // Disable for camera compat.
        doReturn(false).when(mActivity.info.applicationInfo).isChangeEnabled(
                ActivityInfo.UNIVERSAL_RESIZABLE_BY_DEFAULT);

        spyOn(mActivity.mAtmService.getLifecycleManager());
        spyOn(mActivity.mAppCompatController.getAppCompatCameraOverrides());

+1 −6
Original line number Diff line number Diff line
@@ -4824,12 +4824,7 @@ public class SizeCompatTests extends WindowTestsBase {
        assertFalse(mActivity.isUniversalResizeable());

        mDisplayContent.setIgnoreOrientationRequest(true);
        final int swDp = mDisplayContent.getConfiguration().smallestScreenWidthDp;
        if (swDp < WindowManager.LARGE_SCREEN_SMALLEST_SCREEN_WIDTH_DP) {
            final int height = 100 + (int) (mDisplayContent.getDisplayMetrics().density
                    * WindowManager.LARGE_SCREEN_SMALLEST_SCREEN_WIDTH_DP);
            resizeDisplay(mDisplayContent, 100 + height, height);
        }
        makeDisplayLargeScreen(mDisplayContent);
        assertTrue(mActivity.isUniversalResizeable());
    }

Loading