Merge "[RESTRICT AUTOMERGE][CarTelemetryService] Add memory metrics test to kitchen sink" into sc-v2-dev
diff --git a/service/src/com/android/car/pm/CarPackageManagerService.java b/service/src/com/android/car/pm/CarPackageManagerService.java
index e8e4315..fb11fd8 100644
--- a/service/src/com/android/car/pm/CarPackageManagerService.java
+++ b/service/src/com/android/car/pm/CarPackageManagerService.java
@@ -1308,7 +1308,8 @@
private void blockTopActivityIfNecessary(TopTaskInfoContainer topTask) {
synchronized (mLock) {
- if (mTopActivityWithDialogPerDisplay.contains(topTask.displayId)
+ if (!topTask.topActivity.equals(mActivityBlockingActivity)
+ && mTopActivityWithDialogPerDisplay.contains(topTask.displayId)
&& !topTask.topActivity.equals(
mTopActivityWithDialogPerDisplay.get(topTask.displayId))) {
// Clear top activity-with-dialog if the activity has changed on this display.
diff --git a/tests/carservice_test/src/com/android/car/pm/ActivityBlockingActivityTest.java b/tests/carservice_test/src/com/android/car/pm/ActivityBlockingActivityTest.java
index b8c4eab..0978d74 100644
--- a/tests/carservice_test/src/com/android/car/pm/ActivityBlockingActivityTest.java
+++ b/tests/carservice_test/src/com/android/car/pm/ActivityBlockingActivityTest.java
@@ -29,6 +29,7 @@
import android.app.AlertDialog;
import android.app.UiAutomation;
import android.car.Car;
+import android.car.content.pm.CarPackageManager;
import android.car.drivingstate.CarDrivingStateEvent;
import android.car.drivingstate.CarDrivingStateManager;
import android.content.ComponentName;
@@ -67,6 +68,7 @@
private static final long ACTIVITY_TIMEOUT_MS = 5000;
private CarDrivingStateManager mCarDrivingStateManager;
+ private CarPackageManager mCarPackageManager;
private UiDevice mDevice;
@@ -78,6 +80,8 @@
Car car = Car.createCar(getContext());
mCarDrivingStateManager = (CarDrivingStateManager)
car.getCarManager(Car.CAR_DRIVING_STATE_SERVICE);
+ mCarPackageManager = (CarPackageManager)
+ car.getCarManager(Car.PACKAGE_SERVICE);
assertNotNull(mCarDrivingStateManager);
Configurator.getInstance()
@@ -150,6 +154,10 @@
CarAppActivity.class.getSimpleName())),
UI_TIMEOUT_MS)).isNotNull();
assertBlockingActivityNotFound();
+ assertThat(mCarPackageManager.isActivityDistractionOptimized(
+ getTestContext().getPackageName(),
+ CarAppActivity.class.getName()
+ )).isTrue();
getContext().sendBroadcast(new Intent().setAction(ACTION_SHOW_DIALOG));
assertThat(mDevice.wait(Until.findObject(By.text(DoActivity.DIALOG_TITLE)),
@@ -157,6 +165,10 @@
assertThat(mDevice.wait(Until.findObject(By.res(ACTIVITY_BLOCKING_ACTIVITY_TEXTVIEW_ID)),
UI_TIMEOUT_MS)).isNotNull();
+ assertThat(mCarPackageManager.isActivityDistractionOptimized(
+ getTestContext().getPackageName(),
+ CarAppActivity.class.getName()
+ )).isFalse();
}
@Test