Loading core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +36 −6 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Rect; import android.hardware.display.DisplayManager; import android.hardware.display.VirtualDisplay; import android.os.Bundle; import android.os.IBinder; import android.platform.test.annotations.Presubmit; import android.util.DisplayMetrics; Loading @@ -66,6 +68,7 @@ import androidx.test.runner.AndroidJUnit4; import com.android.internal.content.ReferrerIntent; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; Loading Loading @@ -95,6 +98,16 @@ public class ActivityThreadTest { new ActivityTestRule<>(TestActivity.class, true /* initialTouchMode */, false /* launchActivity */); private ArrayList<VirtualDisplay> mCreatedVirtualDisplays; @After public void tearDown() { if (mCreatedVirtualDisplays != null) { mCreatedVirtualDisplays.forEach(VirtualDisplay::release); mCreatedVirtualDisplays = null; } } @Test public void testDoubleRelaunch() throws Exception { final Activity activity = mActivityTestRule.launchActivity(new Intent()); Loading Loading @@ -410,7 +423,6 @@ public class ActivityThreadTest { Context appContext = activity.getApplication(); Configuration originalAppConfig = new Configuration(appContext.getResources().getConfiguration()); DisplayManager dm = appContext.getSystemService(DisplayManager.class); int virtualDisplayWidth; int virtualDisplayHeight; Loading @@ -421,8 +433,8 @@ public class ActivityThreadTest { virtualDisplayWidth = 200; virtualDisplayHeight = 100; } Display virtualDisplay = dm.createVirtualDisplay("virtual-display", virtualDisplayWidth, virtualDisplayHeight, 200, null, 0).getDisplay(); final Display virtualDisplay = createVirtualDisplay(appContext, virtualDisplayWidth, virtualDisplayHeight); Context virtualDisplayContext = appContext.createDisplayContext(virtualDisplay); int originalVirtualDisplayOrientation = virtualDisplayContext.getResources() .getConfiguration().orientation; Loading Loading @@ -467,7 +479,6 @@ public class ActivityThreadTest { InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { Configuration originalActivityConfig = new Configuration(activity.getResources().getConfiguration()); DisplayManager dm = activity.getSystemService(DisplayManager.class); int virtualDisplayWidth; int virtualDisplayHeight; Loading @@ -478,8 +489,8 @@ public class ActivityThreadTest { virtualDisplayWidth = 200; virtualDisplayHeight = 100; } Display virtualDisplay = dm.createVirtualDisplay("virtual-display", virtualDisplayWidth, virtualDisplayHeight, 200, null, 0).getDisplay(); final Display virtualDisplay = createVirtualDisplay(activity, virtualDisplayWidth, virtualDisplayHeight); Context virtualDisplayContext = activity.createDisplayContext(virtualDisplay); int originalVirtualDisplayOrientation = virtualDisplayContext.getResources() .getConfiguration().orientation; Loading Loading @@ -704,6 +715,17 @@ public class ActivityThreadTest { return config.seq; } private Display createVirtualDisplay(Context context, int w, int h) { final DisplayManager dm = context.getSystemService(DisplayManager.class); final VirtualDisplay virtualDisplay = dm.createVirtualDisplay("virtual-display", w, h, 200 /* densityDpi */, null /* surface */, 0 /* flags */); if (mCreatedVirtualDisplays == null) { mCreatedVirtualDisplays = new ArrayList<>(); } mCreatedVirtualDisplays.add(virtualDisplay); return virtualDisplay.getDisplay(); } private static ActivityClientRecord getActivityClientRecord(Activity activity) { final ActivityThread thread = activity.getActivityThread(); final IBinder token = activity.getActivityToken(); Loading Loading @@ -795,6 +817,14 @@ public class ActivityThreadTest { */ volatile CountDownLatch mConfigLatch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().getDecorView().setKeepScreenOn(true); setShowWhenLocked(true); setTurnScreenOn(true); } @Override public void onConfigurationChanged(Configuration config) { super.onConfigurationChanged(config); Loading Loading
core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +36 −6 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Rect; import android.hardware.display.DisplayManager; import android.hardware.display.VirtualDisplay; import android.os.Bundle; import android.os.IBinder; import android.platform.test.annotations.Presubmit; import android.util.DisplayMetrics; Loading @@ -66,6 +68,7 @@ import androidx.test.runner.AndroidJUnit4; import com.android.internal.content.ReferrerIntent; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; Loading Loading @@ -95,6 +98,16 @@ public class ActivityThreadTest { new ActivityTestRule<>(TestActivity.class, true /* initialTouchMode */, false /* launchActivity */); private ArrayList<VirtualDisplay> mCreatedVirtualDisplays; @After public void tearDown() { if (mCreatedVirtualDisplays != null) { mCreatedVirtualDisplays.forEach(VirtualDisplay::release); mCreatedVirtualDisplays = null; } } @Test public void testDoubleRelaunch() throws Exception { final Activity activity = mActivityTestRule.launchActivity(new Intent()); Loading Loading @@ -410,7 +423,6 @@ public class ActivityThreadTest { Context appContext = activity.getApplication(); Configuration originalAppConfig = new Configuration(appContext.getResources().getConfiguration()); DisplayManager dm = appContext.getSystemService(DisplayManager.class); int virtualDisplayWidth; int virtualDisplayHeight; Loading @@ -421,8 +433,8 @@ public class ActivityThreadTest { virtualDisplayWidth = 200; virtualDisplayHeight = 100; } Display virtualDisplay = dm.createVirtualDisplay("virtual-display", virtualDisplayWidth, virtualDisplayHeight, 200, null, 0).getDisplay(); final Display virtualDisplay = createVirtualDisplay(appContext, virtualDisplayWidth, virtualDisplayHeight); Context virtualDisplayContext = appContext.createDisplayContext(virtualDisplay); int originalVirtualDisplayOrientation = virtualDisplayContext.getResources() .getConfiguration().orientation; Loading Loading @@ -467,7 +479,6 @@ public class ActivityThreadTest { InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> { Configuration originalActivityConfig = new Configuration(activity.getResources().getConfiguration()); DisplayManager dm = activity.getSystemService(DisplayManager.class); int virtualDisplayWidth; int virtualDisplayHeight; Loading @@ -478,8 +489,8 @@ public class ActivityThreadTest { virtualDisplayWidth = 200; virtualDisplayHeight = 100; } Display virtualDisplay = dm.createVirtualDisplay("virtual-display", virtualDisplayWidth, virtualDisplayHeight, 200, null, 0).getDisplay(); final Display virtualDisplay = createVirtualDisplay(activity, virtualDisplayWidth, virtualDisplayHeight); Context virtualDisplayContext = activity.createDisplayContext(virtualDisplay); int originalVirtualDisplayOrientation = virtualDisplayContext.getResources() .getConfiguration().orientation; Loading Loading @@ -704,6 +715,17 @@ public class ActivityThreadTest { return config.seq; } private Display createVirtualDisplay(Context context, int w, int h) { final DisplayManager dm = context.getSystemService(DisplayManager.class); final VirtualDisplay virtualDisplay = dm.createVirtualDisplay("virtual-display", w, h, 200 /* densityDpi */, null /* surface */, 0 /* flags */); if (mCreatedVirtualDisplays == null) { mCreatedVirtualDisplays = new ArrayList<>(); } mCreatedVirtualDisplays.add(virtualDisplay); return virtualDisplay.getDisplay(); } private static ActivityClientRecord getActivityClientRecord(Activity activity) { final ActivityThread thread = activity.getActivityThread(); final IBinder token = activity.getActivityToken(); Loading Loading @@ -795,6 +817,14 @@ public class ActivityThreadTest { */ volatile CountDownLatch mConfigLatch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().getDecorView().setKeepScreenOn(true); setShowWhenLocked(true); setTurnScreenOn(true); } @Override public void onConfigurationChanged(Configuration config) { super.onConfigurationChanged(config); Loading