Merge "Default to the new lockscreen layout for AOSP" into sc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
index 09da9d2..18d2c91 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
@@ -367,7 +367,7 @@
ViewGroup.LayoutParams.WRAP_CONTENT)
newRecs.recommendationViewHolder?.recommendations?.setLayoutParams(lp)
newRecs.bindRecommendation(data.copy(backgroundColor = bgColor))
- MediaPlayerData.addMediaRecommendation(key, newRecs, shouldPrioritize)
+ MediaPlayerData.addMediaRecommendation(key, data, newRecs, shouldPrioritize)
updatePlayerToState(newRecs, noAnimation = true)
reorderAllPlayers()
updatePageIndicator()
@@ -408,9 +408,18 @@
bgColor = getBackgroundColor()
pageIndicator.tintList = ColorStateList.valueOf(getForegroundColor())
- MediaPlayerData.mediaData().forEach { (key, data) ->
- removePlayer(key, dismissMediaData = false, dismissRecommendation = false)
- addOrUpdatePlayer(key = key, oldKey = null, data = data)
+ MediaPlayerData.mediaData().forEach { (key, data, isSsMediaRec) ->
+ if (isSsMediaRec) {
+ val smartspaceMediaData = MediaPlayerData.smartspaceMediaData
+ removePlayer(key, dismissMediaData = false, dismissRecommendation = false)
+ smartspaceMediaData?.let {
+ addSmartspaceMediaRecommendations(
+ it.targetId, it, MediaPlayerData.shouldPrioritizeSs)
+ }
+ } else {
+ removePlayer(key, dismissMediaData = false, dismissRecommendation = false)
+ addOrUpdatePlayer(key = key, oldKey = null, data = data)
+ }
}
}
@@ -697,7 +706,10 @@
private val EMPTY = MediaData(-1, false, 0, null, null, null, null, null,
emptyList(), emptyList(), "INVALID", null, null, null, true, null)
// Whether should prioritize Smartspace card.
- private var shouldPrioritizeSs: Boolean = false
+ internal var shouldPrioritizeSs: Boolean = false
+ private set
+ internal var smartspaceMediaData: SmartspaceMediaData? = null
+ private set
data class MediaSortKey(
// Whether the item represents a Smartspace media recommendation.
@@ -724,12 +736,18 @@
mediaPlayers.put(sortKey, player)
}
- fun addMediaRecommendation(key: String, player: MediaControlPanel, shouldPrioritize: Boolean) {
+ fun addMediaRecommendation(
+ key: String,
+ data: SmartspaceMediaData,
+ player: MediaControlPanel,
+ shouldPrioritize: Boolean
+ ) {
shouldPrioritizeSs = shouldPrioritize
removeMediaPlayer(key)
val sortKey = MediaSortKey(isSsMediaRec = true, EMPTY, System.currentTimeMillis())
mediaData.put(key, sortKey)
mediaPlayers.put(sortKey, player)
+ smartspaceMediaData = data
}
fun getMediaPlayer(key: String, oldKey: String?): MediaControlPanel? {
@@ -742,9 +760,14 @@
return mediaData.get(key)?.let { mediaPlayers.get(it) }
}
- fun removeMediaPlayer(key: String) = mediaData.remove(key)?.let { mediaPlayers.remove(it) }
+ fun removeMediaPlayer(key: String) = mediaData.remove(key)?.let {
+ if (it.isSsMediaRec) {
+ smartspaceMediaData = null
+ }
+ mediaPlayers.remove(it)
+ }
- fun mediaData() = mediaData.entries.map { e -> Pair(e.key, e.value.data) }
+ fun mediaData() = mediaData.entries.map { e -> Triple(e.key, e.value.data, e.value.isSsMediaRec) }
fun players() = mediaPlayers.values
diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ImageExporterTest.java b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ImageExporterTest.java
index b0f78ad..7d56339 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ImageExporterTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ImageExporterTest.java
@@ -25,7 +25,6 @@
import android.content.ContentResolver;
import android.content.ContentValues;
-import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
@@ -39,7 +38,6 @@
import androidx.exifinterface.media.ExifInterface;
import androidx.test.filters.MediumTest;
-import androidx.test.platform.app.InstrumentationRegistry;
import com.android.systemui.SysuiTestCase;
@@ -92,8 +90,7 @@
@Test
public void testImageExport() throws ExecutionException, InterruptedException, IOException {
- Context context = InstrumentationRegistry.getInstrumentation().getContext();
- ContentResolver contentResolver = context.getContentResolver();
+ ContentResolver contentResolver = mContext.getContentResolver();
ImageExporter exporter = new ImageExporter(contentResolver);
UUID requestId = UUID.fromString("3c11da99-9284-4863-b1d5-6f3684976814");
diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureClientTest.java b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureClientTest.java
index cf7dc20..d95063f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureClientTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureClientTest.java
@@ -26,11 +26,8 @@
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
-import static java.util.Objects.requireNonNull;
-
import android.content.Context;
import android.graphics.Rect;
-import android.hardware.display.DisplayManager;
import android.os.RemoteException;
import android.testing.AndroidTestingRunner;
import android.view.Display;
@@ -63,17 +60,12 @@
public class ScrollCaptureClientTest extends SysuiTestCase {
private static final float MAX_PAGES = 3.0f;
- private Context mContext;
private IWindowManager mWm;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
Context context = InstrumentationRegistry.getInstrumentation().getContext();
- DisplayManager displayManager = requireNonNull(
- context.getSystemService(DisplayManager.class));
- mContext = context.createDisplayContext(
- displayManager.getDisplay(Display.DEFAULT_DISPLAY));
mWm = mock(IWindowManager.class);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureFrameworkSmokeTest.java b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureFrameworkSmokeTest.java
index 54d9732..de97bc3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureFrameworkSmokeTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScrollCaptureFrameworkSmokeTest.java
@@ -35,6 +35,7 @@
import com.android.systemui.SysuiTestCase;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -46,6 +47,7 @@
*/
@RunWith(AndroidTestingRunner.class)
@SmallTest
+@Ignore
public class ScrollCaptureFrameworkSmokeTest extends SysuiTestCase {
private static final String TAG = "ScrollCaptureFrameworkSmokeTest";
private volatile ScrollCaptureResponse mResponse;
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index fdb3d8c..a68364e 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -3351,10 +3351,21 @@
boolean shouldCollectMessage) {
RestrictionBypass bypass;
try {
- bypass = verifyAndGetBypass(uid, packageName, attributionTag, proxyPackageName);
+ boolean isLocOrActivity = code == AppOpsManager.OP_FINE_LOCATION
+ || code == AppOpsManager.OP_FINE_LOCATION_SOURCE
+ || code == AppOpsManager.OP_ACTIVITY_RECOGNITION
+ || code == AppOpsManager.OP_ACTIVITY_RECOGNITION_SOURCE;
+ bypass = verifyAndGetBypass(uid, packageName, attributionTag, proxyPackageName,
+ isLocOrActivity);
+ boolean wasNull = attributionTag == null;
if (bypass != null && bypass.getIsAttributionTagNotFound()) {
attributionTag = null;
}
+ if (attributionTag == null && isLocOrActivity
+ && packageName.equals("com.google.android.gms")) {
+ Slog.i("AppOpsDebug", "null tag on location or activity op " + code
+ + " for " + packageName + ", was overridden: " + !wasNull, new Exception());
+ }
} catch (SecurityException e) {
Slog.e(TAG, "noteOperation", e);
return new SyncNotedAppOp(AppOpsManager.MODE_ERRORED, code, attributionTag,
@@ -3861,10 +3872,20 @@
int attributionChainId, boolean dryRun) {
RestrictionBypass bypass;
try {
- bypass = verifyAndGetBypass(uid, packageName, attributionTag, proxyPackageName);
+ boolean isLocOrActivity = code == AppOpsManager.OP_FINE_LOCATION
+ || code == AppOpsManager.OP_FINE_LOCATION_SOURCE
+ || code == AppOpsManager.OP_ACTIVITY_RECOGNITION
+ || code == AppOpsManager.OP_ACTIVITY_RECOGNITION_SOURCE;
+ bypass = verifyAndGetBypass(uid, packageName, attributionTag, proxyPackageName,
+ isLocOrActivity);
if (bypass != null && bypass.getIsAttributionTagNotFound()) {
attributionTag = null;
}
+ if (attributionTag == null && isLocOrActivity
+ && packageName.equals("com.google.android.gms")) {
+ Slog.i("AppOpsDebug", "null tag on location or activity op "
+ + code + " for " + packageName, new Exception());
+ }
} catch (SecurityException e) {
Slog.e(TAG, "startOperation", e);
return new SyncNotedAppOp(AppOpsManager.MODE_ERRORED, code, attributionTag,
@@ -4418,7 +4439,7 @@
*/
private @Nullable RestrictionBypass verifyAndGetBypass(int uid, String packageName,
@Nullable String attributionTag) {
- return verifyAndGetBypass(uid, packageName, attributionTag, null);
+ return verifyAndGetBypass(uid, packageName, attributionTag, null, false);
}
/**
@@ -4433,7 +4454,7 @@
* @return {@code true} iff the package is privileged
*/
private @Nullable RestrictionBypass verifyAndGetBypass(int uid, String packageName,
- @Nullable String attributionTag, @Nullable String proxyPackageName) {
+ @Nullable String attributionTag, @Nullable String proxyPackageName, boolean extraLog) {
if (uid == Process.ROOT_UID) {
// For backwards compatibility, don't check package name for root UID.
return null;
@@ -4475,6 +4496,15 @@
AndroidPackage pkg = pmInt.getPackage(packageName);
if (pkg != null) {
isAttributionTagValid = isAttributionInPackage(pkg, attributionTag);
+ if (packageName.equals("com.google.android.gms") && extraLog) {
+ if (isAttributionTagValid && attributionTag != null) {
+ Slog.i("AppOpsDebug", "tag " + attributionTag + " found in "
+ + packageName);
+ } else {
+ Slog.i("AppOpsDebug", "tag " + attributionTag + " missing from "
+ + packageName);
+ }
+ }
pkgUid = UserHandle.getUid(userId, UserHandle.getAppId(pkg.getUid()));
bypass = getBypassforPackage(pkg);
diff --git a/services/core/java/com/android/server/policy/AppOpsPolicy.java b/services/core/java/com/android/server/policy/AppOpsPolicy.java
index 607bc56..f39d618 100644
--- a/services/core/java/com/android/server/policy/AppOpsPolicy.java
+++ b/services/core/java/com/android/server/policy/AppOpsPolicy.java
@@ -225,13 +225,21 @@
if (isDatasourceAttributionTag(uid, packageName, attributionTag,
mLocationTags)) {
return resolvedCode;
+ } else if (packageName.equals("com.google.android.gms")) {
+ Log.i("AppOpsDebugRemapping", "NOT remapping " + packageName + " code "
+ + code + " for tag " + attributionTag);
}
} else {
resolvedCode = resolveArOp(code);
if (resolvedCode != code) {
if (isDatasourceAttributionTag(uid, packageName, attributionTag,
mActivityRecognitionTags)) {
+ Log.i("AppOpsDebugRemapping", "remapping " + packageName + " code "
+ + code + " to " + resolvedCode + " for tag " + attributionTag);
return resolvedCode;
+ } else if (packageName.equals("com.google.android.gms")) {
+ Log.i("AppOpsDebugRemapping", "NOT remapping " + packageName
+ + " code " + code + " for tag " + attributionTag);
}
}
}
@@ -334,8 +342,22 @@
if (appIdTags != null) {
final ArraySet<String> packageTags = appIdTags.get(packageName);
if (packageTags != null && packageTags.contains(attributionTag)) {
+ if (packageName.equals("com.google.android.gms")) {
+ Log.i("AppOpsDebugRemapping", packageName + " tag "
+ + attributionTag + " in " + packageTags);
+ }
return true;
}
+ if (packageName.equals("com.google.android.gms")) {
+ Log.i("AppOpsDebugRemapping", packageName + " tag " + attributionTag
+ + " NOT in " + packageTags);
+ }
+ } else {
+ if (packageName.equals("com.google.android.gms")) {
+ Log.i("AppOpsDebugRemapping", "no package tags for uid " + uid
+ + " package " + packageName);
+ }
+
}
return false;
}
diff --git a/services/people/java/com/android/server/people/data/DataManager.java b/services/people/java/com/android/server/people/data/DataManager.java
index 7189fb4..d55d060 100644
--- a/services/people/java/com/android/server/people/data/DataManager.java
+++ b/services/people/java/com/android/server/people/data/DataManager.java
@@ -264,7 +264,7 @@
@Nullable
private ConversationChannel getConversationChannel(ShortcutInfo shortcutInfo,
ConversationInfo conversationInfo) {
- if (conversationInfo == null) {
+ if (conversationInfo == null || conversationInfo.isDemoted()) {
return null;
}
if (shortcutInfo == null) {
diff --git a/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java b/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java
index b112f3fc..c506485 100644
--- a/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java
@@ -682,6 +682,29 @@
}
@Test
+ public void testGetConversation_demoted() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+ assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
+ TEST_SHORTCUT_ID)).isNull();
+
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ shortcut.setCached(ShortcutInfo.FLAG_PINNED);
+ mDataManager.addOrUpdateConversationInfo(shortcut);
+ assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
+ TEST_SHORTCUT_ID)).isNotNull();
+
+ mNotificationChannel.setDemoted(true);
+ NotificationListenerService listenerService =
+ mDataManager.getNotificationListenerServiceForTesting(USER_ID_PRIMARY);
+ listenerService.onNotificationChannelModified(TEST_PKG_NAME, UserHandle.of(USER_ID_PRIMARY),
+ mNotificationChannel, NOTIFICATION_CHANNEL_OR_GROUP_UPDATED);
+
+ assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
+ TEST_SHORTCUT_ID)).isNull();
+ }
+
+ @Test
public void testGetConversationGetsPersonsData() {
mDataManager.onUserUnlocked(USER_ID_PRIMARY);
@@ -720,6 +743,27 @@
}
@Test
+ public void testIsConversation_demoted() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+ assertThat(mDataManager.isConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
+ TEST_SHORTCUT_ID)).isFalse();
+
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ shortcut.setCached(ShortcutInfo.FLAG_PINNED);
+ mDataManager.addOrUpdateConversationInfo(shortcut);
+
+ mNotificationChannel.setDemoted(true);
+ NotificationListenerService listenerService =
+ mDataManager.getNotificationListenerServiceForTesting(USER_ID_PRIMARY);
+ listenerService.onNotificationChannelModified(TEST_PKG_NAME, UserHandle.of(USER_ID_PRIMARY),
+ mNotificationChannel, NOTIFICATION_CHANNEL_OR_GROUP_UPDATED);
+
+ assertThat(mDataManager.isConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
+ TEST_SHORTCUT_ID)).isFalse();
+ }
+
+ @Test
public void testNotificationChannelCreated() {
mDataManager.onUserUnlocked(USER_ID_PRIMARY);
mDataManager.onUserUnlocked(USER_ID_SECONDARY);
@@ -1371,13 +1415,20 @@
NotificationListenerService listenerService =
mDataManager.getNotificationListenerServiceForTesting(USER_ID_PRIMARY);
listenerService.onNotificationPosted(mStatusBarNotification);
+ // posting updates the last interaction time, so delay before deletion
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ long approxDeletionTime = System.currentTimeMillis();
listenerService.onNotificationRemoved(mStatusBarNotification, null,
NotificationListenerService.REASON_CANCEL);
ConversationInfo conversationInfo = mDataManager.getPackage(TEST_PKG_NAME, USER_ID_PRIMARY)
.getConversationStore()
.getConversation(TEST_SHORTCUT_ID);
- assertEquals(conversationInfo.getLastEventTimestamp(), System.currentTimeMillis());
+ assertTrue(conversationInfo.getLastEventTimestamp() - approxDeletionTime < 100);
}
@Test
diff --git a/telecomm/java/android/telecom/RemoteConnectionManager.java b/telecomm/java/android/telecom/RemoteConnectionManager.java
index f3c7bd8..fbbfefd 100644
--- a/telecomm/java/android/telecom/RemoteConnectionManager.java
+++ b/telecomm/java/android/telecom/RemoteConnectionManager.java
@@ -45,7 +45,10 @@
outgoingConnectionServiceRpc,
mOurConnectionServiceImpl);
mRemoteConnectionServices.put(componentName, remoteConnectionService);
- } catch (RemoteException ignored) {
+ } catch (RemoteException e) {
+ Log.w(RemoteConnectionManager.this,
+ "error when addConnectionService of %s: %s", componentName,
+ e.toString());
}
}
}
diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java
index 8b6f2b5..be1502a 100644
--- a/telephony/java/android/telephony/data/ApnSetting.java
+++ b/telephony/java/android/telephony/data/ApnSetting.java
@@ -1551,6 +1551,20 @@
}
/**
+ * Converts the APN type bitmask to an array of all APN types
+ * @param apnTypeBitmask bitmask of APN types.
+ * @return int array of APN types
+ * @hide
+ */
+ @NonNull
+ public static int[] getApnTypesFromBitmask(int apnTypeBitmask) {
+ return APN_TYPE_INT_MAP.keySet().stream()
+ .filter(type -> ((apnTypeBitmask & type) == type))
+ .mapToInt(Integer::intValue)
+ .toArray();
+ }
+
+ /**
* Converts the integer representation of APN type to its string representation.
*
* @param apnType APN type as an integer
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt
index 0e2f5a4..71184c2 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt
@@ -16,7 +16,6 @@
package com.android.server.wm.flicker.close
-import androidx.test.filters.FlakyTest
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -24,7 +23,6 @@
import com.android.server.wm.flicker.annotation.Group1
import com.android.server.wm.flicker.dsl.FlickerBuilder
import org.junit.FixMethodOrder
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
import org.junit.runners.Parameterized
@@ -48,30 +46,6 @@
}
}
- @FlakyTest(bugId = 185401242)
- @Test
- override fun launcherLayerReplacesApp() {
- super.launcherLayerReplacesApp()
- }
-
- @FlakyTest(bugId = 185401242)
- @Test
- override fun launcherReplacesAppWindowAsTopWindow() {
- super.launcherReplacesAppWindowAsTopWindow()
- }
-
- @FlakyTest(bugId = 185401242)
- @Test
- override fun launcherWindowBecomesVisible() {
- super.launcherWindowBecomesVisible()
- }
-
- @FlakyTest(bugId = 185401242)
- @Test
- override fun noUncoveredRegions() {
- super.noUncoveredRegions()
- }
-
companion object {
@Parameterized.Parameters(name = "{0}")
@JvmStatic
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt
index 95e55a1..6786279 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt
@@ -16,7 +16,6 @@
package com.android.server.wm.flicker.close
-import android.platform.test.annotations.Postsubmit
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -24,7 +23,6 @@
import com.android.server.wm.flicker.annotation.Group1
import com.android.server.wm.flicker.dsl.FlickerBuilder
import org.junit.FixMethodOrder
-import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
import org.junit.runners.Parameterized
@@ -48,30 +46,6 @@
}
}
- @Postsubmit
- @Test
- override fun statusBarLayerIsAlwaysVisible() {
- super.statusBarLayerIsAlwaysVisible()
- }
-
- @Postsubmit
- @Test
- override fun statusBarLayerRotatesScales() {
- super.statusBarLayerRotatesScales()
- }
-
- @Postsubmit
- @Test
- override fun launcherLayerReplacesApp() {
- super.launcherLayerReplacesApp()
- }
-
- @Postsubmit
- @Test
- override fun noUncoveredRegions() {
- super.noUncoveredRegions()
- }
-
companion object {
@Parameterized.Parameters(name = "{0}")
@JvmStatic
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt
index e088062..f7f977d 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt
@@ -17,7 +17,6 @@
package com.android.server.wm.flicker.close
import android.app.Instrumentation
-import android.platform.test.annotations.Postsubmit
import android.platform.test.annotations.Presubmit
import android.view.Surface
import androidx.test.filters.FlakyTest
@@ -83,7 +82,7 @@
testSpec.navBarLayerIsAlwaysVisible(rotatesScreen = testSpec.isRotated)
}
- @Postsubmit
+ @Presubmit
@Test
open fun statusBarLayerIsAlwaysVisible() {
testSpec.statusBarLayerIsAlwaysVisible(rotatesScreen = testSpec.isRotated)
@@ -95,7 +94,7 @@
testSpec.navBarLayerRotatesAndScales(testSpec.config.startRotation, Surface.ROTATION_0)
}
- @Postsubmit
+ @Presubmit
@Test
open fun statusBarLayerRotatesScales() {
testSpec.statusBarLayerRotatesScales(testSpec.config.startRotation, Surface.ROTATION_0)
@@ -117,25 +116,25 @@
}
}
- @FlakyTest(bugId = 185400889)
+ @Presubmit
@Test
open fun noUncoveredRegions() {
testSpec.noUncoveredRegions(testSpec.config.startRotation, Surface.ROTATION_0)
}
- @FlakyTest(bugId = 185400889)
+ @Presubmit
@Test
open fun launcherReplacesAppWindowAsTopWindow() {
testSpec.launcherReplacesAppWindowAsTopWindow(testApp)
}
- @Postsubmit
+ @Presubmit
@Test
open fun launcherWindowBecomesVisible() {
testSpec.launcherWindowBecomesVisible()
}
- @FlakyTest(bugId = 185400889)
+ @Presubmit
@Test
open fun launcherLayerReplacesApp() {
testSpec.launcherLayerReplacesApp(testApp)
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt
index 1dbb617..69e8a8d 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt
@@ -55,7 +55,7 @@
}
}
- @FlakyTest(bugId = 151179149)
+ @FlakyTest(bugId = 190185577)
@Test
override fun focusDoesNotChange() {
super.focusDoesNotChange()
@@ -63,12 +63,6 @@
@Postsubmit
@Test
- override fun noUncoveredRegions() {
- super.noUncoveredRegions()
- }
-
- @FlakyTest
- @Test
fun screenshotLayerBecomesInvisible() {
testSpec.assertLayers {
this.isVisible(testApp.getPackage())
@@ -81,14 +75,8 @@
@Postsubmit
@Test
- override fun appLayerRotates_EndingPos() {
- super.appLayerRotates_EndingPos()
- }
-
- @Postsubmit
- @Test
- override fun appLayerRotates_StartingPos() {
- super.appLayerRotates_StartingPos()
+ override fun statusBarLayerRotatesScales() {
+ super.statusBarLayerRotatesScales()
}
@Presubmit
@@ -97,18 +85,12 @@
super.navBarWindowIsAlwaysVisible()
}
- @Postsubmit
+ @FlakyTest
@Test
override fun statusBarLayerIsAlwaysVisible() {
super.statusBarLayerIsAlwaysVisible()
}
- @Postsubmit
- @Test
- override fun statusBarWindowIsAlwaysVisible() {
- super.statusBarWindowIsAlwaysVisible()
- }
-
companion object {
private const val SCREENSHOT_LAYER = "RotationLayer"
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt
index ab8ebd9..4b888cd 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt
@@ -88,7 +88,7 @@
testSpec.config.startRotation, testSpec.config.endRotation)
}
- @FlakyTest
+ @Presubmit
@Test
open fun statusBarWindowIsAlwaysVisible() {
testSpec.statusBarWindowIsAlwaysVisible()
@@ -128,7 +128,7 @@
}
}
- @FlakyTest
+ @Presubmit
@Test
open fun noUncoveredRegions() {
testSpec.noUncoveredRegions(testSpec.config.startRotation,
@@ -141,7 +141,7 @@
testSpec.focusDoesNotChange()
}
- @FlakyTest
+ @Presubmit
@Test
open fun appLayerRotates_StartingPos() {
testSpec.assertLayersStart {
@@ -149,7 +149,7 @@
}
}
- @FlakyTest
+ @Presubmit
@Test
open fun appLayerRotates_EndingPos() {
testSpec.assertLayersEnd {
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt
index 4627107..b153bec 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt
@@ -17,6 +17,7 @@
package com.android.server.wm.flicker.rotation
import android.platform.test.annotations.Postsubmit
+import android.platform.test.annotations.Presubmit
import androidx.test.filters.FlakyTest
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
@@ -71,13 +72,7 @@
super.statusBarLayerIsAlwaysVisible()
}
- @FlakyTest(bugId = 185400889)
- @Test
- override fun noUncoveredRegions() {
- super.noUncoveredRegions()
- }
-
- @FlakyTest(bugId = 185400889)
+ @Presubmit
@Test
fun appLayerAlwaysVisible() {
testSpec.assertLayers {
@@ -97,12 +92,6 @@
@Postsubmit
@Test
- override fun navBarWindowIsAlwaysVisible() {
- super.navBarWindowIsAlwaysVisible()
- }
-
- @Postsubmit
- @Test
override fun visibleLayersShownMoreThanOneConsecutiveEntry() {
super.visibleLayersShownMoreThanOneConsecutiveEntry()
}