Merge "Revert "Implement a global maximum on number of shortcuts an app can publish"" into tm-dev
diff --git a/TEST_MAPPING b/TEST_MAPPING
index e178583..a48ce0c 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -15,6 +15,22 @@
]
}
],
+ "presubmit-pm": [
+ {
+ "name": "PackageManagerServiceServerTests",
+ "options": [
+ {
+ "include-annotation": "android.platform.test.annotations.Presubmit"
+ },
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ },
+ {
+ "exclude-annotation": "org.junit.Ignore"
+ }
+ ]
+ }
+ ],
"presubmit": [
{
"name": "ManagedProvisioningTests",
@@ -167,6 +183,20 @@
"exclude-annotation": "org.junit.Ignore"
}
]
+ },
+ {
+ "name": "PackageManagerServiceServerTests",
+ "options": [
+ {
+ "include-annotation": "android.platform.test.annotations.Presubmit"
+ },
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ },
+ {
+ "exclude-annotation": "org.junit.Ignore"
+ }
+ ]
}
]
}
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index cb64173..9344d96 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -9134,8 +9134,9 @@
*/
public int startProxyOpNoThrow(int op, @NonNull AttributionSource attributionSource,
@Nullable String message, boolean skipProxyOperation) {
- return startProxyOpNoThrow(op, attributionSource, message, skipProxyOperation,
- ATTRIBUTION_FLAGS_NONE, ATTRIBUTION_FLAGS_NONE, ATTRIBUTION_CHAIN_ID_NONE);
+ return startProxyOpNoThrow(attributionSource.getToken(), op, attributionSource, message,
+ skipProxyOperation, ATTRIBUTION_FLAGS_NONE, ATTRIBUTION_FLAGS_NONE,
+ ATTRIBUTION_CHAIN_ID_NONE);
}
/**
@@ -9147,7 +9148,8 @@
*
* @hide
*/
- public int startProxyOpNoThrow(int op, @NonNull AttributionSource attributionSource,
+ public int startProxyOpNoThrow(@NonNull IBinder clientId, int op,
+ @NonNull AttributionSource attributionSource,
@Nullable String message, boolean skipProxyOperation, @AttributionFlags
int proxyAttributionFlags, @AttributionFlags int proxiedAttributionFlags,
int attributionChainId) {
@@ -9165,7 +9167,7 @@
}
}
- SyncNotedAppOp syncOp = mService.startProxyOperation(op,
+ SyncNotedAppOp syncOp = mService.startProxyOperation(clientId, op,
attributionSource, false, collectionMode == COLLECT_ASYNC, message,
shouldCollectMessage, skipProxyOperation, proxyAttributionFlags,
proxiedAttributionFlags, attributionChainId);
@@ -9263,9 +9265,10 @@
*/
public void finishProxyOp(@NonNull String op, int proxiedUid,
@NonNull String proxiedPackageName, @Nullable String proxiedAttributionTag) {
- finishProxyOp(op, new AttributionSource(mContext.getAttributionSource(),
+ IBinder token = mContext.getAttributionSource().getToken();
+ finishProxyOp(token, op, new AttributionSource(mContext.getAttributionSource(),
new AttributionSource(proxiedUid, proxiedPackageName, proxiedAttributionTag,
- mContext.getAttributionSource().getToken())), /*skipProxyOperation*/ false);
+ token)), /*skipProxyOperation*/ false);
}
/**
@@ -9280,10 +9283,11 @@
*
* @hide
*/
- public void finishProxyOp(@NonNull String op, @NonNull AttributionSource attributionSource,
- boolean skipProxyOperation) {
+ public void finishProxyOp(@NonNull IBinder clientId, @NonNull String op,
+ @NonNull AttributionSource attributionSource, boolean skipProxyOperation) {
try {
- mService.finishProxyOperation(strOpToOp(op), attributionSource, skipProxyOperation);
+ mService.finishProxyOperation(clientId, strOpToOp(op), attributionSource,
+ skipProxyOperation);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
diff --git a/core/java/android/app/AppOpsManagerInternal.java b/core/java/android/app/AppOpsManagerInternal.java
index 4d6e4ae..43023fe 100644
--- a/core/java/android/app/AppOpsManagerInternal.java
+++ b/core/java/android/app/AppOpsManagerInternal.java
@@ -26,13 +26,11 @@
import android.util.SparseIntArray;
import com.android.internal.app.IAppOpsCallback;
-import com.android.internal.util.function.DecFunction;
import com.android.internal.util.function.HeptFunction;
import com.android.internal.util.function.HexFunction;
import com.android.internal.util.function.QuadFunction;
import com.android.internal.util.function.QuintConsumer;
import com.android.internal.util.function.QuintFunction;
-import com.android.internal.util.function.TriFunction;
import com.android.internal.util.function.UndecFunction;
/**
@@ -135,6 +133,7 @@
/**
* Allows overriding start proxy operation behavior.
*
+ * @param clientId The client calling start, represented by an IBinder
* @param code The op code to start.
* @param attributionSource The permission identity of the caller.
* @param startIfModeDefault Whether to start the op of the mode is default.
@@ -148,11 +147,12 @@
* @param superImpl The super implementation.
* @return The app op note result.
*/
- SyncNotedAppOp startProxyOperation(int code, @NonNull AttributionSource attributionSource,
- boolean startIfModeDefault, boolean shouldCollectAsyncNotedOp, String message,
- boolean shouldCollectMessage, boolean skipProxyOperation, @AttributionFlags
- int proxyAttributionFlags, @AttributionFlags int proxiedAttributionFlags,
- int attributionChainId, @NonNull DecFunction<Integer, AttributionSource, Boolean,
+ SyncNotedAppOp startProxyOperation(@NonNull IBinder clientId, int code,
+ @NonNull AttributionSource attributionSource, boolean startIfModeDefault,
+ boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
+ boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags,
+ @AttributionFlags int proxiedAttributionFlags, int attributionChainId,
+ @NonNull UndecFunction<IBinder, Integer, AttributionSource, Boolean,
Boolean, String, Boolean, Boolean, Integer, Integer, Integer,
SyncNotedAppOp> superImpl);
@@ -176,10 +176,15 @@
*
* @param code The op code to finish.
* @param attributionSource The permission identity of the caller.
+ * @param skipProxyOperation Whether to skip the proxy in the proxy/proxied operation
+ * @param clientId The client calling finishProxyOperation
+ * @param superImpl The "standard" implementation to potentially call
*/
- void finishProxyOperation(int code, @NonNull AttributionSource attributionSource,
+ void finishProxyOperation(@NonNull IBinder clientId, int code,
+ @NonNull AttributionSource attributionSource,
boolean skipProxyOperation,
- @NonNull TriFunction<Integer, AttributionSource, Boolean, Void> superImpl);
+ @NonNull QuadFunction<IBinder, Integer, AttributionSource, Boolean,
+ Void> superImpl);
}
/**
diff --git a/core/java/android/os/WorkSource.java b/core/java/android/os/WorkSource.java
index e899f77..65528e3 100644
--- a/core/java/android/os/WorkSource.java
+++ b/core/java/android/os/WorkSource.java
@@ -128,7 +128,7 @@
mNames = in.createStringArray();
int numChains = in.readInt();
- if (numChains > 0) {
+ if (numChains >= 0) {
mChains = new ArrayList<>(numChains);
in.readParcelableList(mChains, WorkChain.class.getClassLoader(), android.os.WorkSource.WorkChain.class);
} else {
diff --git a/core/java/android/service/quicksettings/Tile.java b/core/java/android/service/quicksettings/Tile.java
index 40c0ac0..d1a8eba 100644
--- a/core/java/android/service/quicksettings/Tile.java
+++ b/core/java/android/service/quicksettings/Tile.java
@@ -39,8 +39,8 @@
/**
* An unavailable state indicates that for some reason this tile is not currently
- * available to the user for some reason, and will have no click action. The tile's
- * icon will be tinted differently to reflect this state.
+ * available to the user, and will have no click action. The tile's icon will be
+ * tinted differently to reflect this state.
*/
public static final int STATE_UNAVAILABLE = 0;
diff --git a/core/java/com/android/internal/app/IAppOpsService.aidl b/core/java/com/android/internal/app/IAppOpsService.aidl
index 30da4b4..88447da 100644
--- a/core/java/com/android/internal/app/IAppOpsService.aidl
+++ b/core/java/com/android/internal/app/IAppOpsService.aidl
@@ -58,11 +58,12 @@
SyncNotedAppOp noteProxyOperation(int code, in AttributionSource attributionSource,
boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
boolean skipProxyOperation);
- SyncNotedAppOp startProxyOperation(int code, in AttributionSource attributionSource,
- boolean startIfModeDefault, boolean shouldCollectAsyncNotedOp, String message,
- boolean shouldCollectMessage, boolean skipProxyOperation, int proxyAttributionFlags,
- int proxiedAttributionFlags, int attributionChainId);
- void finishProxyOperation(int code, in AttributionSource attributionSource,
+ SyncNotedAppOp startProxyOperation(IBinder clientId, int code,
+ in AttributionSource attributionSource, boolean startIfModeDefault,
+ boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
+ boolean skipProxyOperation, int proxyAttributionFlags, int proxiedAttributionFlags,
+ int attributionChainId);
+ void finishProxyOperation(IBinder clientId, int code, in AttributionSource attributionSource,
boolean skipProxyOperation);
// Remaining methods are only used in Java.
diff --git a/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt b/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt
index f1d5e94..258db2d 100644
--- a/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt
@@ -37,7 +37,7 @@
* is triggered.
*/
interface ColorTransition {
- fun updateColorScheme(scheme: ColorScheme?)
+ fun updateColorScheme(scheme: ColorScheme?): Boolean
}
/**
@@ -67,14 +67,16 @@
applyColor(currentColor)
}
- override fun updateColorScheme(scheme: ColorScheme?) {
+ override fun updateColorScheme(scheme: ColorScheme?): Boolean {
val newTargetColor = if (scheme == null) defaultColor else extractColor(scheme)
if (newTargetColor != targetColor) {
sourceColor = currentColor
targetColor = newTargetColor
valueAnimator.cancel()
valueAnimator.start()
+ return true
}
+ return false
}
init {
@@ -235,9 +237,11 @@
return Utils.getColorAttr(context, id).defaultColor
}
- fun updateColorScheme(colorScheme: ColorScheme?, enableGradient: Boolean) {
+ fun updateColorScheme(colorScheme: ColorScheme?, enableGradient: Boolean): Boolean {
isGradientEnabled = enableGradient
- colorTransitions.forEach { it.updateColorScheme(colorScheme) }
+ var anyChanged = false
+ colorTransitions.forEach { anyChanged = it.updateColorScheme(colorScheme) || anyChanged }
colorScheme?.let { mediaViewHolder.gutsViewHolder.colorScheme = colorScheme }
+ return anyChanged
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
index 1597845..37be0b3 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
@@ -673,10 +673,15 @@
}
mArtworkBoundId = reqId;
+ // Transition Colors to current color scheme
+ boolean colorSchemeChanged = mColorSchemeTransition
+ .updateColorScheme(colorScheme, isArtworkBound);
+
// Bind the album view to the artwork or a transition drawable
ImageView albumView = mMediaViewHolder.getAlbumView();
albumView.setPadding(0, 0, 0, 0);
- if (updateBackground || (!mIsArtworkBound && isArtworkBound)) {
+ if (updateBackground || colorSchemeChanged
+ || (!mIsArtworkBound && isArtworkBound)) {
if (mPrevArtwork == null) {
albumView.setImageDrawable(artwork);
} else {
@@ -699,9 +704,6 @@
mIsArtworkBound = isArtworkBound;
}
- // Transition Colors to current color scheme
- mColorSchemeTransition.updateColorScheme(colorScheme, mIsArtworkBound);
-
// App icon - use notification icon
ImageView appIconView = mMediaViewHolder.getAppIcon();
appIconView.clearColorFilter();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
index 6f4579b..6cf2e66 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
@@ -577,14 +577,20 @@
@Test
fun bindAlbumView_bitmapInLaterStates_setAfterExecutors() {
- val bmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888)
- val canvas = Canvas(bmp)
- canvas.drawColor(Color.RED)
- val albumArt = Icon.createWithBitmap(bmp)
+ val redBmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888)
+ val redCanvas = Canvas(redBmp)
+ redCanvas.drawColor(Color.RED)
+ val redArt = Icon.createWithBitmap(redBmp)
+
+ val greenBmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888)
+ val greenCanvas = Canvas(greenBmp)
+ greenCanvas.drawColor(Color.GREEN)
+ val greenArt = Icon.createWithBitmap(greenBmp)
val state0 = mediaData.copy(artwork = null)
- val state1 = mediaData.copy(artwork = albumArt)
- val state2 = mediaData.copy(artwork = albumArt)
+ val state1 = mediaData.copy(artwork = redArt)
+ val state2 = mediaData.copy(artwork = redArt)
+ val state3 = mediaData.copy(artwork = greenArt)
player.attachPlayer(viewHolder)
// First binding sets (empty) drawable
@@ -613,6 +619,12 @@
bgExecutor.runAllReady()
mainExecutor.runAllReady()
verify(albumView, times(2)).setImageDrawable(any(Drawable::class.java))
+
+ // Fourth binding to new image runs transition due to color scheme change
+ player.bindPlayer(state3, PACKAGE)
+ bgExecutor.runAllReady()
+ mainExecutor.runAllReady()
+ verify(albumView, times(3)).setImageDrawable(any(Drawable::class.java))
}
@Test
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index fb9d60a..6113d2e 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -368,12 +368,10 @@
import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.MemInfoReader;
import com.android.internal.util.Preconditions;
-import com.android.internal.util.function.DecFunction;
import com.android.internal.util.function.HeptFunction;
import com.android.internal.util.function.HexFunction;
import com.android.internal.util.function.QuadFunction;
import com.android.internal.util.function.QuintFunction;
-import com.android.internal.util.function.TriFunction;
import com.android.internal.util.function.UndecFunction;
import com.android.server.AlarmManagerInternal;
import com.android.server.DeviceIdleInternal;
@@ -18280,19 +18278,20 @@
}
@Override
- public SyncNotedAppOp startProxyOperation(int code,
+ public SyncNotedAppOp startProxyOperation(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource, boolean startIfModeDefault,
boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags,
@AttributionFlags int proxiedAttributionFlags, int attributionChainId,
- @NonNull DecFunction<Integer, AttributionSource, Boolean, Boolean, String, Boolean,
- Boolean, Integer, Integer, Integer, SyncNotedAppOp> superImpl) {
+ @NonNull UndecFunction<IBinder, Integer, AttributionSource,
+ Boolean, Boolean, String, Boolean, Boolean, Integer, Integer, Integer,
+ SyncNotedAppOp> superImpl) {
if (attributionSource.getUid() == mTargetUid && isTargetOp(code)) {
final int shellUid = UserHandle.getUid(UserHandle.getUserId(
attributionSource.getUid()), Process.SHELL_UID);
final long identity = Binder.clearCallingIdentity();
try {
- return superImpl.apply(code, new AttributionSource(shellUid,
+ return superImpl.apply(clientId, code, new AttributionSource(shellUid,
"com.android.shell", attributionSource.getAttributionTag(),
attributionSource.getToken(), attributionSource.getNext()),
startIfModeDefault, shouldCollectAsyncNotedOp, message,
@@ -18302,21 +18301,22 @@
Binder.restoreCallingIdentity(identity);
}
}
- return superImpl.apply(code, attributionSource, startIfModeDefault,
+ return superImpl.apply(clientId, code, attributionSource, startIfModeDefault,
shouldCollectAsyncNotedOp, message, shouldCollectMessage, skipProxyOperation,
proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
}
@Override
- public void finishProxyOperation(int code, @NonNull AttributionSource attributionSource,
- boolean skipProxyOperation, @NonNull TriFunction<Integer, AttributionSource,
- Boolean, Void> superImpl) {
+ public void finishProxyOperation(@NonNull IBinder clientId, int code,
+ @NonNull AttributionSource attributionSource, boolean skipProxyOperation,
+ @NonNull QuadFunction<IBinder, Integer, AttributionSource, Boolean,
+ Void> superImpl) {
if (attributionSource.getUid() == mTargetUid && isTargetOp(code)) {
final int shellUid = UserHandle.getUid(UserHandle.getUserId(
attributionSource.getUid()), Process.SHELL_UID);
final long identity = Binder.clearCallingIdentity();
try {
- superImpl.apply(code, new AttributionSource(shellUid,
+ superImpl.apply(clientId, code, new AttributionSource(shellUid,
"com.android.shell", attributionSource.getAttributionTag(),
attributionSource.getToken(), attributionSource.getNext()),
skipProxyOperation);
@@ -18324,7 +18324,7 @@
Binder.restoreCallingIdentity(identity);
}
}
- superImpl.apply(code, attributionSource, skipProxyOperation);
+ superImpl.apply(clientId, code, attributionSource, skipProxyOperation);
}
private boolean isTargetOp(int code) {
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index b56654f..3b30c8f 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -3863,18 +3863,18 @@
}
@Override
- public SyncNotedAppOp startProxyOperation(int code,
+ public SyncNotedAppOp startProxyOperation(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource, boolean startIfModeDefault,
boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags,
@AttributionFlags int proxiedAttributionFlags, int attributionChainId) {
- return mCheckOpsDelegateDispatcher.startProxyOperation(code, attributionSource,
+ return mCheckOpsDelegateDispatcher.startProxyOperation(clientId, code, attributionSource,
startIfModeDefault, shouldCollectAsyncNotedOp, message, shouldCollectMessage,
skipProxyOperation, proxyAttributionFlags, proxiedAttributionFlags,
attributionChainId);
}
- private SyncNotedAppOp startProxyOperationImpl(int code,
+ private SyncNotedAppOp startProxyOperationImpl(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource,
boolean startIfModeDefault, boolean shouldCollectAsyncNotedOp, String message,
boolean shouldCollectMessage, boolean skipProxyOperation, @AttributionFlags
@@ -3883,11 +3883,9 @@
final int proxyUid = attributionSource.getUid();
final String proxyPackageName = attributionSource.getPackageName();
final String proxyAttributionTag = attributionSource.getAttributionTag();
- final IBinder proxyToken = attributionSource.getToken();
final int proxiedUid = attributionSource.getNextUid();
final String proxiedPackageName = attributionSource.getNextPackageName();
final String proxiedAttributionTag = attributionSource.getNextAttributionTag();
- final IBinder proxiedToken = attributionSource.getNextToken();
verifyIncomingProxyUid(attributionSource);
verifyIncomingOp(code);
@@ -3926,7 +3924,7 @@
if (!skipProxyOperation) {
// Test if the proxied operation will succeed before starting the proxy operation
- final SyncNotedAppOp testProxiedOp = startOperationUnchecked(proxiedToken, code,
+ final SyncNotedAppOp testProxiedOp = startOperationUnchecked(clientId, code,
proxiedUid, resolvedProxiedPackageName, proxiedAttributionTag, proxyUid,
resolvedProxyPackageName, proxyAttributionTag, proxiedFlags, startIfModeDefault,
shouldCollectAsyncNotedOp, message, shouldCollectMessage,
@@ -3938,7 +3936,7 @@
final int proxyFlags = isProxyTrusted ? AppOpsManager.OP_FLAG_TRUSTED_PROXY
: AppOpsManager.OP_FLAG_UNTRUSTED_PROXY;
- final SyncNotedAppOp proxyAppOp = startOperationUnchecked(proxyToken, code, proxyUid,
+ final SyncNotedAppOp proxyAppOp = startOperationUnchecked(clientId, code, proxyUid,
resolvedProxyPackageName, proxyAttributionTag, Process.INVALID_UID, null, null,
proxyFlags, startIfModeDefault, !isProxyTrusted, "proxy " + message,
shouldCollectMessage, proxyAttributionFlags, attributionChainId,
@@ -3948,7 +3946,7 @@
}
}
- return startOperationUnchecked(proxiedToken, code, proxiedUid, resolvedProxiedPackageName,
+ return startOperationUnchecked(clientId, code, proxiedUid, resolvedProxiedPackageName,
proxiedAttributionTag, proxyUid, resolvedProxyPackageName, proxyAttributionTag,
proxiedFlags, startIfModeDefault, shouldCollectAsyncNotedOp, message,
shouldCollectMessage, proxiedAttributionFlags, attributionChainId,
@@ -4089,22 +4087,20 @@
}
@Override
- public void finishProxyOperation(int code, @NonNull AttributionSource attributionSource,
- boolean skipProxyOperation) {
- mCheckOpsDelegateDispatcher.finishProxyOperation(code, attributionSource,
+ public void finishProxyOperation(@NonNull IBinder clientId, int code,
+ @NonNull AttributionSource attributionSource, boolean skipProxyOperation) {
+ mCheckOpsDelegateDispatcher.finishProxyOperation(clientId, code, attributionSource,
skipProxyOperation);
}
- private Void finishProxyOperationImpl(int code, @NonNull AttributionSource attributionSource,
- boolean skipProxyOperation) {
+ private Void finishProxyOperationImpl(IBinder clientId, int code,
+ @NonNull AttributionSource attributionSource, boolean skipProxyOperation) {
final int proxyUid = attributionSource.getUid();
final String proxyPackageName = attributionSource.getPackageName();
final String proxyAttributionTag = attributionSource.getAttributionTag();
- final IBinder proxyToken = attributionSource.getToken();
final int proxiedUid = attributionSource.getNextUid();
final String proxiedPackageName = attributionSource.getNextPackageName();
final String proxiedAttributionTag = attributionSource.getNextAttributionTag();
- final IBinder proxiedToken = attributionSource.getNextToken();
skipProxyOperation = skipProxyOperation
&& isCallerAndAttributionTrusted(attributionSource);
@@ -4121,7 +4117,7 @@
}
if (!skipProxyOperation) {
- finishOperationUnchecked(proxyToken, code, proxyUid, resolvedProxyPackageName,
+ finishOperationUnchecked(clientId, code, proxyUid, resolvedProxyPackageName,
proxyAttributionTag);
}
@@ -4131,7 +4127,7 @@
return null;
}
- finishOperationUnchecked(proxiedToken, code, proxiedUid, resolvedProxiedPackageName,
+ finishOperationUnchecked(clientId, code, proxiedUid, resolvedProxiedPackageName,
proxiedAttributionTag);
return null;
@@ -7725,42 +7721,42 @@
attributionFlags, attributionChainId, AppOpsService.this::startOperationImpl);
}
- public SyncNotedAppOp startProxyOperation(int code,
+ public SyncNotedAppOp startProxyOperation(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource, boolean startIfModeDefault,
boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags,
@AttributionFlags int proxiedAttributionFlags, int attributionChainId) {
if (mPolicy != null) {
if (mCheckOpsDelegate != null) {
- return mPolicy.startProxyOperation(code, attributionSource,
+ return mPolicy.startProxyOperation(clientId, code, attributionSource,
startIfModeDefault, shouldCollectAsyncNotedOp, message,
shouldCollectMessage, skipProxyOperation, proxyAttributionFlags,
proxiedAttributionFlags, attributionChainId,
this::startDelegateProxyOperationImpl);
} else {
- return mPolicy.startProxyOperation(code, attributionSource,
+ return mPolicy.startProxyOperation(clientId, code, attributionSource,
startIfModeDefault, shouldCollectAsyncNotedOp, message,
shouldCollectMessage, skipProxyOperation, proxyAttributionFlags,
proxiedAttributionFlags, attributionChainId,
AppOpsService.this::startProxyOperationImpl);
}
} else if (mCheckOpsDelegate != null) {
- return startDelegateProxyOperationImpl(code, attributionSource,
+ return startDelegateProxyOperationImpl(clientId, code, attributionSource,
startIfModeDefault, shouldCollectAsyncNotedOp, message,
shouldCollectMessage, skipProxyOperation, proxyAttributionFlags,
proxiedAttributionFlags, attributionChainId);
}
- return startProxyOperationImpl(code, attributionSource, startIfModeDefault,
+ return startProxyOperationImpl(clientId, code, attributionSource, startIfModeDefault,
shouldCollectAsyncNotedOp, message, shouldCollectMessage, skipProxyOperation,
proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
}
- private SyncNotedAppOp startDelegateProxyOperationImpl(int code,
+ private SyncNotedAppOp startDelegateProxyOperationImpl(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource, boolean startIfModeDefault,
boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags,
@AttributionFlags int proxiedAttributionFlsgs, int attributionChainId) {
- return mCheckOpsDelegate.startProxyOperation(code, attributionSource,
+ return mCheckOpsDelegate.startProxyOperation(clientId, code, attributionSource,
startIfModeDefault, shouldCollectAsyncNotedOp, message, shouldCollectMessage,
skipProxyOperation, proxyAttributionFlags, proxiedAttributionFlsgs,
attributionChainId, AppOpsService.this::startProxyOperationImpl);
@@ -7789,27 +7785,28 @@
AppOpsService.this::finishOperationImpl);
}
- public void finishProxyOperation(int code,
+ public void finishProxyOperation(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource, boolean skipProxyOperation) {
if (mPolicy != null) {
if (mCheckOpsDelegate != null) {
- mPolicy.finishProxyOperation(code, attributionSource,
+ mPolicy.finishProxyOperation(clientId, code, attributionSource,
skipProxyOperation, this::finishDelegateProxyOperationImpl);
} else {
- mPolicy.finishProxyOperation(code, attributionSource,
+ mPolicy.finishProxyOperation(clientId, code, attributionSource,
skipProxyOperation, AppOpsService.this::finishProxyOperationImpl);
}
} else if (mCheckOpsDelegate != null) {
- finishDelegateProxyOperationImpl(code, attributionSource, skipProxyOperation);
+ finishDelegateProxyOperationImpl(clientId, code, attributionSource,
+ skipProxyOperation);
} else {
- finishProxyOperationImpl(code, attributionSource, skipProxyOperation);
+ finishProxyOperationImpl(clientId, code, attributionSource, skipProxyOperation);
}
}
- private Void finishDelegateProxyOperationImpl(int code,
+ private Void finishDelegateProxyOperationImpl(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource, boolean skipProxyOperation) {
- mCheckOpsDelegate.finishProxyOperation(code, attributionSource, skipProxyOperation,
- AppOpsService.this::finishProxyOperationImpl);
+ mCheckOpsDelegate.finishProxyOperation(clientId, code, attributionSource,
+ skipProxyOperation, AppOpsService.this::finishProxyOperationImpl);
return null;
}
}
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index b3ba20b..2c81b21 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -1099,7 +1099,7 @@
if (resolvedPackageName == null) {
return;
}
- appOpsManager.finishOp(accessorSource.getToken(), op,
+ appOpsManager.finishOp(attributionSourceState.token, op,
accessorSource.getUid(), resolvedPackageName,
accessorSource.getAttributionTag());
} else {
@@ -1108,8 +1108,9 @@
if (resolvedAttributionSource.getPackageName() == null) {
return;
}
- appOpsManager.finishProxyOp(AppOpsManager.opToPublicName(op),
- resolvedAttributionSource, skipCurrentFinish);
+ appOpsManager.finishProxyOp(attributionSourceState.token,
+ AppOpsManager.opToPublicName(op), resolvedAttributionSource,
+ skipCurrentFinish);
}
if (next == null || next.getNext() == null) {
@@ -1219,10 +1220,11 @@
&& next.getNext() == null);
final boolean selfAccess = singleReceiverFromDatasource || next == null;
- final int opMode = performOpTransaction(context, op, current, message,
- forDataDelivery, /*startDataDelivery*/ false, skipCurrentChecks,
- selfAccess, singleReceiverFromDatasource, AppOpsManager.OP_NONE,
- AppOpsManager.ATTRIBUTION_FLAGS_NONE, AppOpsManager.ATTRIBUTION_FLAGS_NONE,
+ final int opMode = performOpTransaction(context, attributionSource.getToken(), op,
+ current, message, forDataDelivery, /*startDataDelivery*/ false,
+ skipCurrentChecks, selfAccess, singleReceiverFromDatasource,
+ AppOpsManager.OP_NONE, AppOpsManager.ATTRIBUTION_FLAGS_NONE,
+ AppOpsManager.ATTRIBUTION_FLAGS_NONE,
AppOpsManager.ATTRIBUTION_CHAIN_ID_NONE);
switch (opMode) {
@@ -1325,10 +1327,10 @@
attributionSource, next, fromDatasource, startDataDelivery, selfAccess,
isLinkTrusted) : ATTRIBUTION_FLAGS_NONE;
- final int opMode = performOpTransaction(context, op, current, message,
- forDataDelivery, startDataDelivery, skipCurrentChecks, selfAccess,
- singleReceiverFromDatasource, attributedOp, proxyAttributionFlags,
- proxiedAttributionFlags, attributionChainId);
+ final int opMode = performOpTransaction(context, attributionSource.getToken(), op,
+ current, message, forDataDelivery, startDataDelivery, skipCurrentChecks,
+ selfAccess, singleReceiverFromDatasource, attributedOp,
+ proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
switch (opMode) {
case AppOpsManager.MODE_ERRORED: {
@@ -1473,8 +1475,8 @@
attributionSource, next, /*fromDatasource*/ false, startDataDelivery,
selfAccess, isLinkTrusted) : ATTRIBUTION_FLAGS_NONE;
- final int opMode = performOpTransaction(context, op, current, message,
- forDataDelivery, startDataDelivery, skipCurrentChecks, selfAccess,
+ final int opMode = performOpTransaction(context, current.getToken(), op, current,
+ message, forDataDelivery, startDataDelivery, skipCurrentChecks, selfAccess,
/*fromDatasource*/ false, AppOpsManager.OP_NONE, proxyAttributionFlags,
proxiedAttributionFlags, attributionChainId);
@@ -1496,7 +1498,8 @@
}
@SuppressWarnings("ConstantConditions")
- private static int performOpTransaction(@NonNull Context context, int op,
+ private static int performOpTransaction(@NonNull Context context,
+ @NonNull IBinder chainStartToken, int op,
@NonNull AttributionSource attributionSource, @Nullable String message,
boolean forDataDelivery, boolean startDataDelivery, boolean skipProxyOperation,
boolean selfAccess, boolean singleReceiverFromDatasource, int attributedOp,
@@ -1558,7 +1561,7 @@
if (selfAccess) {
try {
startedOpResult = appOpsManager.startOpNoThrow(
- resolvedAttributionSource.getToken(), startedOp,
+ chainStartToken, startedOp,
resolvedAttributionSource.getUid(),
resolvedAttributionSource.getPackageName(),
/*startIfModeDefault*/ false,
@@ -1569,14 +1572,14 @@
+ " platform defined runtime permission "
+ AppOpsManager.opToPermission(op) + " while not having "
+ Manifest.permission.UPDATE_APP_OPS_STATS);
- startedOpResult = appOpsManager.startProxyOpNoThrow(attributedOp,
- attributionSource, message, skipProxyOperation,
+ startedOpResult = appOpsManager.startProxyOpNoThrow(chainStartToken,
+ attributedOp, attributionSource, message, skipProxyOperation,
proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
}
} else {
try {
- startedOpResult = appOpsManager.startProxyOpNoThrow(startedOp,
- resolvedAttributionSource, message, skipProxyOperation,
+ startedOpResult = appOpsManager.startProxyOpNoThrow(chainStartToken,
+ startedOp, resolvedAttributionSource, message, skipProxyOperation,
proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
} catch (SecurityException e) {
//TODO 195339480: remove
diff --git a/services/core/java/com/android/server/policy/AppOpsPolicy.java b/services/core/java/com/android/server/policy/AppOpsPolicy.java
index ebd9126..b26c1b9 100644
--- a/services/core/java/com/android/server/policy/AppOpsPolicy.java
+++ b/services/core/java/com/android/server/policy/AppOpsPolicy.java
@@ -45,13 +45,11 @@
import android.util.SparseArray;
import com.android.internal.annotations.GuardedBy;
-import com.android.internal.util.function.DecFunction;
import com.android.internal.util.function.HeptFunction;
import com.android.internal.util.function.HexFunction;
import com.android.internal.util.function.QuadFunction;
import com.android.internal.util.function.QuintConsumer;
import com.android.internal.util.function.QuintFunction;
-import com.android.internal.util.function.TriFunction;
import com.android.internal.util.function.UndecFunction;
import com.android.server.LocalServices;
@@ -256,14 +254,14 @@
}
@Override
- public SyncNotedAppOp startProxyOperation(int code,
+ public SyncNotedAppOp startProxyOperation(@NonNull IBinder clientId, int code,
@NonNull AttributionSource attributionSource, boolean startIfModeDefault,
boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage,
boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags,
@AttributionFlags int proxiedAttributionFlags, int attributionChainId,
- @NonNull DecFunction<Integer, AttributionSource, Boolean, Boolean, String, Boolean,
- Boolean, Integer, Integer, Integer, SyncNotedAppOp> superImpl) {
- return superImpl.apply(resolveDatasourceOp(code, attributionSource.getUid(),
+ @NonNull UndecFunction<IBinder, Integer, AttributionSource, Boolean, Boolean, String,
+ Boolean, Boolean, Integer, Integer, Integer, SyncNotedAppOp> superImpl) {
+ return superImpl.apply(clientId, resolveDatasourceOp(code, attributionSource.getUid(),
attributionSource.getPackageName(), attributionSource.getAttributionTag()),
attributionSource, startIfModeDefault, shouldCollectAsyncNotedOp, message,
shouldCollectMessage, skipProxyOperation, proxyAttributionFlags,
@@ -279,10 +277,10 @@
}
@Override
- public void finishProxyOperation(int code, @NonNull AttributionSource attributionSource,
- boolean skipProxyOperation, @NonNull TriFunction<Integer, AttributionSource,
- Boolean, Void> superImpl) {
- superImpl.apply(resolveDatasourceOp(code, attributionSource.getUid(),
+ public void finishProxyOperation(@NonNull IBinder clientId, int code,
+ @NonNull AttributionSource attributionSource, boolean skipProxyOperation,
+ @NonNull QuadFunction<IBinder, Integer, AttributionSource, Boolean, Void> superImpl) {
+ superImpl.apply(clientId, resolveDatasourceOp(code, attributionSource.getUid(),
attributionSource.getPackageName(), attributionSource.getAttributionTag()),
attributionSource, skipProxyOperation);
}
diff --git a/services/tests/PackageManagerServiceTests/TEST_MAPPING b/services/tests/PackageManagerServiceTests/TEST_MAPPING
index af0008c..fe27a37 100644
--- a/services/tests/PackageManagerServiceTests/TEST_MAPPING
+++ b/services/tests/PackageManagerServiceTests/TEST_MAPPING
@@ -2,11 +2,45 @@
"presubmit": [
{
"name": "AppEnumerationInternalTests"
+ },
+ {
+ "name": "PackageManagerServiceServerTests",
+ "options": [
+ {
+ "include-filter": "com.android.server.pm."
+ },
+ {
+ "include-annotation": "android.platform.test.annotations.Presubmit"
+ },
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ },
+ {
+ "exclude-annotation": "org.junit.Ignore"
+ }
+ ]
}
],
"postsubmit": [
{
"name": "PackageManagerServiceHostTests"
+ },
+ {
+ "name": "PackageManagerServiceServerTests",
+ "options": [
+ {
+ "include-filter": "com.android.server.pm."
+ },
+ {
+ "include-annotation": "android.platform.test.annotations.Postsubmit"
+ },
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ },
+ {
+ "exclude-annotation": "org.junit.Ignore"
+ }
+ ]
}
],
"imports": [
diff --git a/services/tests/servicestests/apks/Android.bp b/services/tests/PackageManagerServiceTests/apks/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/Android.bp
diff --git a/services/tests/servicestests/apks/OWNERS b/services/tests/PackageManagerServiceTests/apks/OWNERS
similarity index 100%
rename from services/tests/servicestests/apks/OWNERS
rename to services/tests/PackageManagerServiceTests/apks/OWNERS
diff --git a/services/tests/servicestests/apks/install-split-base/Android.bp b/services/tests/PackageManagerServiceTests/apks/install-split-base/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install-split-base/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install-split-base/Android.bp
diff --git a/services/tests/servicestests/apks/install-split-base/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install-split-base/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install-split-base/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install-split-base/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install-split-base/src/com/google/android/dexapis/splitapp/BaseActivity.java b/services/tests/PackageManagerServiceTests/apks/install-split-base/src/com/google/android/dexapis/splitapp/BaseActivity.java
similarity index 100%
rename from services/tests/servicestests/apks/install-split-base/src/com/google/android/dexapis/splitapp/BaseActivity.java
rename to services/tests/PackageManagerServiceTests/apks/install-split-base/src/com/google/android/dexapis/splitapp/BaseActivity.java
diff --git a/services/tests/servicestests/apks/install-split-feature-a/Android.bp b/services/tests/PackageManagerServiceTests/apks/install-split-feature-a/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install-split-feature-a/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install-split-feature-a/Android.bp
diff --git a/services/tests/servicestests/apks/install-split-feature-a/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install-split-feature-a/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install-split-feature-a/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install-split-feature-a/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install-split-feature-a/src/com/google/android/dexapis/splitapp/feature_a/FeatureAActivity.java b/services/tests/PackageManagerServiceTests/apks/install-split-feature-a/src/com/google/android/dexapis/splitapp/feature_a/FeatureAActivity.java
similarity index 100%
rename from services/tests/servicestests/apks/install-split-feature-a/src/com/google/android/dexapis/splitapp/feature_a/FeatureAActivity.java
rename to services/tests/PackageManagerServiceTests/apks/install-split-feature-a/src/com/google/android/dexapis/splitapp/feature_a/FeatureAActivity.java
diff --git a/services/tests/servicestests/apks/install/Android.bp b/services/tests/PackageManagerServiceTests/apks/install/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install/Android.bp
diff --git a/services/tests/servicestests/apks/install/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_bad_dex/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_bad_dex/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_bad_dex/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_bad_dex/Android.bp
diff --git a/services/tests/servicestests/apks/install_bad_dex/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_bad_dex/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_bad_dex/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_bad_dex/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_bad_dex/classes.dex b/services/tests/PackageManagerServiceTests/apks/install_bad_dex/classes.dex
similarity index 100%
rename from services/tests/servicestests/apks/install_bad_dex/classes.dex
rename to services/tests/PackageManagerServiceTests/apks/install_bad_dex/classes.dex
diff --git a/services/tests/servicestests/apks/install_bad_dex/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_bad_dex/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_bad_dex/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_bad_dex/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_bad_dex/src/com/android/frameworks/coretests/TestActivity.java b/services/tests/PackageManagerServiceTests/apks/install_bad_dex/src/com/android/frameworks/coretests/TestActivity.java
similarity index 100%
rename from services/tests/servicestests/apks/install_bad_dex/src/com/android/frameworks/coretests/TestActivity.java
rename to services/tests/PackageManagerServiceTests/apks/install_bad_dex/src/com/android/frameworks/coretests/TestActivity.java
diff --git a/services/tests/servicestests/apks/install_complete_package_info/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_complete_package_info/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_complete_package_info/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_complete_package_info/Android.bp
diff --git a/services/tests/servicestests/apks/install_complete_package_info/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_complete_package_info/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_complete_package_info/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_complete_package_info/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestActivity.java b/services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestActivity.java
similarity index 100%
rename from services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestActivity.java
rename to services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestActivity.java
diff --git a/services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestProvider.java b/services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestProvider.java
similarity index 100%
rename from services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestProvider.java
rename to services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestProvider.java
diff --git a/services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestReceiver.java b/services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestReceiver.java
similarity index 100%
rename from services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestReceiver.java
rename to services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestReceiver.java
diff --git a/services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestService.java b/services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestService.java
similarity index 100%
rename from services/tests/servicestests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestService.java
rename to services/tests/PackageManagerServiceTests/apks/install_complete_package_info/src/com/android/frameworks/coretests/TestService.java
diff --git a/services/tests/servicestests/apks/install_decl_perm/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_decl_perm/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_decl_perm/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_decl_perm/Android.bp
diff --git a/services/tests/servicestests/apks/install_decl_perm/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_decl_perm/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_decl_perm/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_decl_perm/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_decl_perm/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_decl_perm/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_decl_perm/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_decl_perm/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_intent_filters/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_intent_filters/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_intent_filters/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_intent_filters/Android.bp
diff --git a/services/tests/servicestests/apks/install_intent_filters/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_intent_filters/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_intent_filters/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_intent_filters/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_intent_filters/src/com/android/frameworks/servicestests/TestActivity.java b/services/tests/PackageManagerServiceTests/apks/install_intent_filters/src/com/android/frameworks/servicestests/TestActivity.java
similarity index 100%
rename from services/tests/servicestests/apks/install_intent_filters/src/com/android/frameworks/servicestests/TestActivity.java
rename to services/tests/PackageManagerServiceTests/apks/install_intent_filters/src/com/android/frameworks/servicestests/TestActivity.java
diff --git a/services/tests/servicestests/apks/install_loc_auto/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_loc_auto/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_auto/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_loc_auto/Android.bp
diff --git a/services/tests/servicestests/apks/install_loc_auto/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_auto/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_auto/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_auto/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_loc_auto/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_auto/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_auto/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_auto/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_loc_internal/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_loc_internal/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_internal/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_loc_internal/Android.bp
diff --git a/services/tests/servicestests/apks/install_loc_internal/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_internal/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_internal/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_internal/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_loc_internal/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_internal/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_internal/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_internal/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_loc_sdcard/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_loc_sdcard/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_sdcard/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_loc_sdcard/Android.bp
diff --git a/services/tests/servicestests/apks/install_loc_sdcard/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_sdcard/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_sdcard/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_sdcard/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_loc_sdcard/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_sdcard/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_sdcard/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_sdcard/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_loc_unspecified/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_loc_unspecified/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_unspecified/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_loc_unspecified/Android.bp
diff --git a/services/tests/servicestests/apks/install_loc_unspecified/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_unspecified/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_unspecified/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_unspecified/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_loc_unspecified/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_loc_unspecified/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_loc_unspecified/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_loc_unspecified/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_use_perm_good/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_use_perm_good/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_use_perm_good/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_use_perm_good/Android.bp
diff --git a/services/tests/servicestests/apks/install_use_perm_good/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_use_perm_good/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_use_perm_good/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_use_perm_good/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_use_perm_good/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_use_perm_good/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_use_perm_good/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_use_perm_good/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_uses_feature/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_uses_feature/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_feature/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_uses_feature/Android.bp
diff --git a/services/tests/servicestests/apks/install_uses_feature/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_feature/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_feature/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_feature/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/install_uses_feature/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_feature/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_feature/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_feature/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/Android.bp b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/Android.bp
similarity index 82%
rename from services/tests/servicestests/apks/install_uses_sdk/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/Android.bp
index a51293d..9f96256 100644
--- a/services/tests/servicestests/apks/install_uses_sdk/Android.bp
+++ b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/Android.bp
@@ -38,12 +38,24 @@
}
android_test_helper_app {
+ name: "FrameworksServicesTests_install_uses_sdk_r1000",
+ defaults: ["FrameworksServicesTests_apks_defaults"],
+ manifest: "AndroidManifest-r1000.xml",
+}
+
+android_test_helper_app {
name: "FrameworksServicesTests_install_uses_sdk_r0_s0",
defaults: ["FrameworksServicesTests_apks_defaults"],
manifest: "AndroidManifest-r0-s0.xml",
}
android_test_helper_app {
+ name: "FrameworksServicesTests_install_uses_sdk_r0_s1000",
+ defaults: ["FrameworksServicesTests_apks_defaults"],
+ manifest: "AndroidManifest-r0-s1000.xml",
+}
+
+android_test_helper_app {
name: "FrameworksServicesTests_install_uses_sdk_r0_s5",
defaults: ["FrameworksServicesTests_apks_defaults"],
manifest: "AndroidManifest-r0-s5.xml",
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-0.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-0.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-0.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-0.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-q0-r0.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-q0-r0.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-q0-r0.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-q0-r0.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-q0.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-q0.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-q0.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-q0.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r-none.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r-none.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r-none.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r-none.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0-s0.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0-s0.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0-s0.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0-s0.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0-s5.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0-s1000.xml
similarity index 100%
copy from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0-s5.xml
copy to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0-s1000.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0-s5.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0-s5.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0-s5.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0-s5.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r0.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r0.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r5.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r1000.xml
similarity index 100%
copy from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r5.xml
copy to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r1000.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r5.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r5.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/AndroidManifest-r5.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/AndroidManifest-r5.xml
diff --git a/services/tests/servicestests/apks/install_uses_sdk/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/install_uses_sdk/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/install_uses_sdk/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/install_uses_sdk/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/keyset/Android.bp b/services/tests/PackageManagerServiceTests/apks/keyset/Android.bp
similarity index 100%
rename from services/tests/servicestests/apks/keyset/Android.bp
rename to services/tests/PackageManagerServiceTests/apks/keyset/Android.bp
diff --git a/services/tests/servicestests/apks/keyset/api_test/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/api_test/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/api_test/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/api_test/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/keyset/permDef/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/permDef/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/permDef/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/permDef/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/keyset/permUse/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/permUse/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/permUse/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/permUse/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/keyset/res/values/strings.xml b/services/tests/PackageManagerServiceTests/apks/keyset/res/values/strings.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/res/values/strings.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/res/values/strings.xml
diff --git a/services/tests/servicestests/apks/keyset/uA/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/uA/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/uA/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/uA/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/keyset/uAB/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/uAB/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/uAB/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/uAB/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/keyset/uAuB/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/uAuB/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/uAuB/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/uAuB/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/keyset/uB/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/uB/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/uB/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/uB/AndroidManifest.xml
diff --git a/services/tests/servicestests/apks/keyset/uNone/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/apks/keyset/uNone/AndroidManifest.xml
similarity index 100%
rename from services/tests/servicestests/apks/keyset/uNone/AndroidManifest.xml
rename to services/tests/PackageManagerServiceTests/apks/keyset/uNone/AndroidManifest.xml
diff --git a/services/tests/PackageManagerServiceTests/server/Android.bp b/services/tests/PackageManagerServiceTests/server/Android.bp
new file mode 100644
index 0000000..f1edd96
--- /dev/null
+++ b/services/tests/PackageManagerServiceTests/server/Android.bp
@@ -0,0 +1,160 @@
+//########################################################################
+// Build PackageManagerServiceServerTests package
+//########################################################################
+
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "frameworks_base_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["frameworks_base_license"],
+}
+
+android_test {
+ name: "PackageManagerServiceServerTests",
+
+ // Include all test java files.
+ srcs: [
+ "src/**/*.java",
+ "src/**/*.kt",
+ ],
+ static_libs: [
+ "frameworks-base-testutils",
+ "services.accessibility",
+ "services.appwidget",
+ "services.autofill",
+ "services.backup",
+ "services.companion",
+ "services.core",
+ "services.devicepolicy",
+ "services.net",
+ "services.people",
+ "services.usage",
+ "guava",
+ "guava-android-testlib",
+ "androidx.test.core",
+ "androidx.test.ext.truth",
+ "androidx.test.runner",
+ "androidx.test.rules",
+ "cts-wm-util",
+ "platform-compat-test-rules",
+ "mockito-target-minus-junit4",
+ "platform-test-annotations",
+ "ShortcutManagerTestUtils",
+ "truth-prebuilt",
+ "testables",
+ "ub-uiautomator",
+ "platformprotosnano",
+ "framework-protos",
+ "hamcrest-library",
+ "servicestests-core-utils",
+ "servicestests-dpm-utils",
+ "servicestests-utils",
+ "service-permission.impl",
+ "testng",
+ "truth-prebuilt",
+ "junit",
+ "junit-params",
+ "platform-compat-test-rules",
+ "ActivityContext",
+ "coretests-aidl",
+ ],
+
+ libs: [
+ "android.hardware.power-V1-java",
+ "android.hardware.tv.cec-V1.0-java",
+ "android.hardware.vibrator-V2-java",
+ "android.hidl.manager-V1.0-java",
+ "android.test.mock",
+ "android.test.base",
+ "android.test.runner",
+ ],
+
+ platform_apis: true,
+
+ test_suites: [
+ "device-tests",
+ "automotive-tests",
+ ],
+
+ certificate: "platform",
+
+ // These are not normally accessible from apps so they must be explicitly included.
+ jni_libs: [
+ "libbase",
+ "libbinder",
+ "libc++",
+ "libcutils",
+ "liblog",
+ "liblzma",
+ "libnativehelper",
+ "libpsi",
+ "libui",
+ "libunwindstack",
+ "libutils",
+ "netd_aidl_interface-V5-cpp",
+ ],
+
+ dxflags: ["--multi-dex"],
+
+ java_resources: [
+ ":PackageParserTestApp1",
+ ":PackageParserTestApp2",
+ ":PackageParserTestApp3",
+ ":PackageParserTestApp4",
+ ":PackageParserTestApp5",
+ ],
+ resource_zips: [":PackageManagerServiceServerTests_apks_as_resources"],
+}
+
+// Rules to copy all the test apks to the intermediate raw resource directory
+java_genrule {
+ name: "PackageManagerServiceServerTests_apks_as_resources",
+ srcs: [
+ ":FrameworksServicesTests_install",
+ ":FrameworksServicesTests_install_bad_dex",
+ ":FrameworksServicesTests_install_complete_package_info",
+ ":FrameworksServicesTests_install_decl_perm",
+ ":FrameworksServicesTests_install_intent_filters",
+ ":FrameworksServicesTests_install_loc_auto",
+ ":FrameworksServicesTests_install_loc_internal",
+ ":FrameworksServicesTests_install_loc_sdcard",
+ ":FrameworksServicesTests_install_loc_unspecified",
+ ":FrameworksServicesTests_install_use_perm_good",
+ ":FrameworksServicesTests_install_uses_feature",
+ ":FrameworksServicesTests_install_uses_sdk_0",
+ ":FrameworksServicesTests_install_uses_sdk_q0",
+ ":FrameworksServicesTests_install_uses_sdk_q0_r0",
+ ":FrameworksServicesTests_install_uses_sdk_r0",
+ ":FrameworksServicesTests_install_uses_sdk_r5",
+ ":FrameworksServicesTests_install_uses_sdk_r1000",
+ ":FrameworksServicesTests_install_uses_sdk_r_none",
+ ":FrameworksServicesTests_install_uses_sdk_r0_s0",
+ ":FrameworksServicesTests_install_uses_sdk_r0_s5",
+ ":FrameworksServicesTests_install_uses_sdk_r0_s1000",
+ ":FrameworksServicesTests_keyset_permdef_sa_unone",
+ ":FrameworksServicesTests_keyset_permuse_sa_ua_ub",
+ ":FrameworksServicesTests_keyset_permuse_sb_ua_ub",
+ ":FrameworksServicesTests_keyset_sa_ua",
+ ":FrameworksServicesTests_keyset_sa_ua_ub",
+ ":FrameworksServicesTests_keyset_sa_uab",
+ ":FrameworksServicesTests_keyset_sa_ub",
+ ":FrameworksServicesTests_keyset_sa_unone",
+ ":FrameworksServicesTests_keyset_sab_ua",
+ ":FrameworksServicesTests_keyset_sau_ub",
+ ":FrameworksServicesTests_keyset_sb_ua",
+ ":FrameworksServicesTests_keyset_sb_ub",
+ ":FrameworksServicesTests_keyset_splat_api",
+ ":FrameworksServicesTests_keyset_splata_api",
+ ],
+ out: ["PackageManagerServiceServerTests_apks_as_resources.res.zip"],
+ tools: ["soong_zip"],
+
+ cmd: "mkdir -p $(genDir)/res/raw && " +
+ "for i in $(in); do " +
+ " x=$${i##*FrameworksCoreTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
+ " x=$${i##*FrameworksServicesTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
+ "done && " +
+ "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
+}
diff --git a/services/tests/PackageManagerServiceTests/server/AndroidManifest.xml b/services/tests/PackageManagerServiceTests/server/AndroidManifest.xml
new file mode 100644
index 0000000..c383197
--- /dev/null
+++ b/services/tests/PackageManagerServiceTests/server/AndroidManifest.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.server.pm.test.service.server">
+
+ <uses-permission android:name="android.permission.READ_LOGS"/>
+ <uses-permission android:name="android.permission.ACCESS_VR_MANAGER"/>
+ <uses-permission android:name="android.permission.ACCOUNT_MANAGER"/>
+ <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
+ <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
+ <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
+ <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"/>
+ <uses-permission android:name="android.permission.MANAGE_APP_TOKENS"/>
+ <uses-permission android:name="android.permission.WAKE_LOCK"/>
+ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
+ <uses-permission android:name="android.permission.REAL_GET_TASKS"/>
+ <uses-permission android:name="android.permission.GET_DETAILED_TASKS"/>
+ <uses-permission android:name="android.permission.REORDER_TASKS"/>
+ <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY"/>
+ <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"/>
+ <uses-permission android:name="android.permission.OBSERVE_NETWORK_POLICY"/>
+ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
+ <uses-permission android:name="android.permission.MANAGE_USERS"/>
+ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
+ <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS"/>
+ <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
+ <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
+ <uses-permission android:name="android.permission.INTERNET"/>
+ <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
+ <uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"/>
+ <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT"/>
+ <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"/>
+ <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
+ <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
+ <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
+ <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
+ <uses-permission android:name="android.permission.GET_APP_OPS_STATS"/>
+ <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS"/>
+ <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES"/>
+ <uses-permission android:name="android.permission.DEVICE_POWER"/>
+ <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>
+ <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"/>
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
+ <uses-permission android:name="android.permission.STATUS_BAR"/>
+ <uses-permission android:name="android.permission.STATUS_BAR_SERVICE"/>
+ <uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER"/>
+ <uses-permission android:name="android.permission.READ_FRAME_BUFFER"/>
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.STORAGE_INTERNAL"/>
+ <uses-permission android:name="android.permission.WATCH_APPOPS"/>
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
+ <uses-permission android:name="android.permission.SUSPEND_APPS"/>
+ <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/>
+ <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG"/>
+ <uses-permission android:name="android.permission.CONTROL_KEYGUARD"/>
+ <uses-permission android:name="android.permission.MANAGE_BIND_INSTANT_SERVICE"/>
+ <uses-permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"/>
+ <uses-permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"/>
+ <uses-permission android:name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"/>
+ <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
+ <uses-permission android:name="android.permission.WRITE_DEVICE_CONFIG"/>
+ <uses-permission android:name="android.permission.HARDWARE_TEST"/>
+ <uses-permission android:name="android.permission.BLUETOOTH"/>
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
+ <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
+ <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
+ <uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
+ <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
+ <uses-permission android:name="android.permission.DUMP"/>
+ <uses-permission android:name="android.permission.READ_DREAM_STATE"/>
+ <uses-permission android:name="android.permission.READ_DREAM_SUPPRESSION"/>
+ <uses-permission android:name="android.permission.WRITE_DREAM_STATE"/>
+ <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
+ <uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
+ <uses-permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID"/>
+ <uses-permission android:name="android.permission.VIBRATE"/>
+ <uses-permission android:name="android.permission.ACCESS_VIBRATOR_STATE"/>
+ <uses-permission android:name="android.permission.VIBRATE_ALWAYS_ON"/>
+ <uses-permission android:name="android.permission.CONTROL_DEVICE_STATE"/>
+ <uses-permission android:name="android.permission.READ_PROJECTION_STATE"/>
+ <uses-permission android:name="android.permission.KILL_UID"/>
+ <uses-permission android:name="android.permission.MAINLINE_NETWORK_STACK"/>
+ <uses-permission
+ android:name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"/>
+ <uses-permission android:name="android.permission.ASSOCIATE_INPUT_DEVICE_TO_DISPLAY" />
+ <uses-permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY" />
+ <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
+ <uses-permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT" />
+ <uses-permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" />
+ <uses-permission android:name="android.permission.BATTERY_STATS" />
+
+ <!-- Uses API introduced in O (26) -->
+ <uses-sdk android:minSdkVersion="1" android:targetSdkVersion="26"/>
+
+ <application android:testOnly="true" android:debuggable="true">
+ <uses-library android:name="android.test.runner"/>
+ </application>
+
+ <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
+ android:targetPackage="com.android.server.pm.test.service.server"
+ android:label="Package Manager Service Tests"/>
+
+ <key-sets>
+ <key-set android:name="A" >
+ <public-key android:name="keyA"
+ android:value="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsMpNthdOxud7roPDZMMomOqXgJJdRfIWpkKEqmC61Mv+Nf6QY3TorEwJeghjSmqj7IbBKrtvfQq4E2XJO1HuspmQO4Ng2gvn+r+6EwNfKc9k55d6s+27SR867jKurBbHNtZMG+tjL1yH4r+tNzcuJCsgyAFqLmxFdcxEwzNvREyRpoYc5RDR0mmTwkMCUhJ6CId1EYEKiCEdNzxv+fWPEb21u+/MWpleGCILs8kglRVb2q/WOzAAvGr4FY5plfaE6N+lr7+UschQ+aMi1+uqewo2o0qPFVmZP5hnwj55K4UMzu/NhhDqQQsX4cSGES1KgHo5MTqRqZjN/I7emw5pFQIDAQAB"/>
+ </key-set>
+ <upgrade-key-set android:name="A"/>
+ </key-sets>
+</manifest>
diff --git a/services/tests/PackageManagerServiceTests/server/AndroidTest.xml b/services/tests/PackageManagerServiceTests/server/AndroidTest.xml
new file mode 100644
index 0000000..869d60e
--- /dev/null
+++ b/services/tests/PackageManagerServiceTests/server/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<configuration description="Runs Frameworks Services Tests.">
+ <option name="test-suite-tag" value="apct" />
+ <option name="test-suite-tag" value="apct-instrumentation" />
+
+ <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
+ <option name="cleanup-apks" value="true" />
+ <option name="install-arg" value="-t" />
+ <option name="test-file-name" value="PackageManagerServiceServerTests.apk" />
+ </target_preparer>
+
+ <option name="test-tag" value="PackageManagerServiceServerTests" />
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+ <option name="package" value="com.android.server.pm.test.service.server" />
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+ <option name="hidden-api-checks" value="false"/>
+ <option name="exclude-annotation" value="androidx.test.filters.FlakyTest" />
+ </test>
+</configuration>
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256-lineage-2-signers b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256-lineage-2-signers
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256-lineage-2-signers
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256-lineage-2-signers
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256-lineage-3-signers b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256-lineage-3-signers
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256-lineage-3-signers
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256-lineage-3-signers
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256.pk8 b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256.pk8
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256.pk8
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256.pk8
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256.x509.der b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256.x509.der
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256.x509.der
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256.x509.der
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_2.pk8 b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_2.pk8
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_2.pk8
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_2.pk8
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_2.x509.der b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_2.x509.der
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_2.x509.der
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_2.x509.der
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_3.pk8 b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_3.pk8
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_3.pk8
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_3.pk8
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_3.x509.der b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_3.x509.der
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/certs/ec-p256_3.x509.der
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/certs/ec-p256_3.x509.der
Binary files differ
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/README b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/README
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/README
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/README
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-extra-cert-tag.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-extra-cert-tag.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-extra-cert-tag.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-extra-cert-tag.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-index.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-index.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-index.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-index.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-key.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-key.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-key.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-cert-key.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-public-key-cert-key.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-public-key-cert-key.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-public-key-cert-key.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-public-key-cert-key.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-tag.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-tag.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-invalid-tag.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-invalid-tag.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-cert-index.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-cert-index.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-cert-index.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-cert-index.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-cert-key.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-cert-key.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-cert-key.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-cert-key.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-cert-tag.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-cert-tag.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-cert-tag.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-cert-tag.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-scheme-version.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-scheme-version.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-scheme-version.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-scheme-version.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-sigs-count.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-sigs-count.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-missing-sigs-count.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-missing-sigs-count.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-previous-cert.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-previous-cert.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer-previous-cert.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer-previous-cert.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/one-signer.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/one-signer.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-invalid-pastSigs-count.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-invalid-pastSigs-count.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-invalid-pastSigs-count.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-invalid-pastSigs-count.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-cert-tag.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-cert-tag.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-cert-tag.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-cert-tag.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-count.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-count.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-count.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-pastSigs-count.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-scheme-version.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-scheme-version.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-scheme-version.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage-missing-scheme-version.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/three-signers-in-lineage.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/three-signers-in-lineage.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-certs-flags.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-certs-flags.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-certs-flags.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-certs-flags.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-pastSigs-cert-index.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-pastSigs-cert-index.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-pastSigs-cert-index.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-invalid-pastSigs-cert-index.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-certs-flags.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-certs-flags.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-certs-flags.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-certs-flags.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-pastSigs-cert-index.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-pastSigs-cert-index.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-pastSigs-cert-index.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-missing-pastSigs-cert-index.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-multiple-pastSigs-tags.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-multiple-pastSigs-tags.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-multiple-pastSigs-tags.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-multiple-pastSigs-tags.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-no-caps.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-no-caps.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-no-caps.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-no-caps.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-undefined-pastSigs-index.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-undefined-pastSigs-index.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage-undefined-pastSigs-index.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage-undefined-pastSigs-index.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-in-lineage.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-in-lineage.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-v1v2-missing-cert-tag.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-v1v2-missing-cert-tag.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-v1v2-missing-cert-tag.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-v1v2-missing-cert-tag.xml
diff --git a/services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-v1v2.xml b/services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-v1v2.xml
similarity index 100%
rename from services/tests/servicestests/assets/PackageSignaturesTest/xml/two-signers-v1v2.xml
rename to services/tests/PackageManagerServiceTests/server/assets/PackageSignaturesTest/xml/two-signers-v1v2.xml
diff --git a/services/tests/servicestests/res/raw/PackageParsingTestAppEmptyActionSdkQ.apk b/services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyActionSdkQ.apk
similarity index 100%
rename from services/tests/servicestests/res/raw/PackageParsingTestAppEmptyActionSdkQ.apk
rename to services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyActionSdkQ.apk
Binary files differ
diff --git a/services/tests/servicestests/res/raw/PackageParsingTestAppEmptyActionSdkR.apk b/services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyActionSdkR.apk
similarity index 100%
rename from services/tests/servicestests/res/raw/PackageParsingTestAppEmptyActionSdkR.apk
rename to services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyActionSdkR.apk
Binary files differ
diff --git a/services/tests/servicestests/res/raw/PackageParsingTestAppEmptyCategorySdkQ.apk b/services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyCategorySdkQ.apk
similarity index 100%
rename from services/tests/servicestests/res/raw/PackageParsingTestAppEmptyCategorySdkQ.apk
rename to services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyCategorySdkQ.apk
Binary files differ
diff --git a/services/tests/servicestests/res/raw/PackageParsingTestAppEmptyCategorySdkR.apk b/services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyCategorySdkR.apk
similarity index 100%
rename from services/tests/servicestests/res/raw/PackageParsingTestAppEmptyCategorySdkR.apk
rename to services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppEmptyCategorySdkR.apk
Binary files differ
diff --git a/services/tests/servicestests/res/raw/PackageParsingTestAppMissingAppSdkQ.apk b/services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppMissingAppSdkQ.apk
similarity index 100%
rename from services/tests/servicestests/res/raw/PackageParsingTestAppMissingAppSdkQ.apk
rename to services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppMissingAppSdkQ.apk
Binary files differ
diff --git a/services/tests/servicestests/res/raw/PackageParsingTestAppMissingAppSdkR.apk b/services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppMissingAppSdkR.apk
similarity index 100%
rename from services/tests/servicestests/res/raw/PackageParsingTestAppMissingAppSdkR.apk
rename to services/tests/PackageManagerServiceTests/server/res/raw/PackageParsingTestAppMissingAppSdkR.apk
Binary files differ
diff --git a/services/tests/servicestests/res/raw/com_android_tzdata.apex b/services/tests/PackageManagerServiceTests/server/res/raw/com_android_tzdata.apex
similarity index 100%
rename from services/tests/servicestests/res/raw/com_android_tzdata.apex
rename to services/tests/PackageManagerServiceTests/server/res/raw/com_android_tzdata.apex
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert1 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert1
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert1
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert1
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert1_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert1_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert1_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert1_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert3 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert3
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert3
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert3
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert3_cert4 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert3_cert4
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert3_cert4
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert3_cert4
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert5 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert5
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert5
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert5
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert5_rotated_cert6 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert5_rotated_cert6
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert5_rotated_cert6
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert5_rotated_cert6
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_cert6 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert6
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_cert6
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_cert6
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app1_unsigned b/services/tests/PackageManagerServiceTests/server/res/raw/install_app1_unsigned
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app1_unsigned
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app1_unsigned
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app2_cert1 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert1
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app2_cert1
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert1
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app2_cert1_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert1_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app2_cert1_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert1_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app2_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app2_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app2_cert3 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert3
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app2_cert3
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert3
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app2_cert5_rotated_cert6 b/services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert5_rotated_cert6
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app2_cert5_rotated_cert6
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app2_cert5_rotated_cert6
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_app2_unsigned b/services/tests/PackageManagerServiceTests/server/res/raw/install_app2_unsigned
similarity index 100%
rename from services/tests/servicestests/res/raw/install_app2_unsigned
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_app2_unsigned
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared1_cert1 b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_cert1
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared1_cert1
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_cert1
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared1_cert1_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_cert1_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared1_cert1_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_cert1_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared1_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared1_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared1_unsigned b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_unsigned
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared1_unsigned
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared1_unsigned
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared2_cert1 b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_cert1
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared2_cert1
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_cert1
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared2_cert1_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_cert1_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared2_cert1_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_cert1_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared2_cert2 b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_cert2
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared2_cert2
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_cert2
Binary files differ
diff --git a/services/tests/servicestests/res/raw/install_shared2_unsigned b/services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_unsigned
similarity index 100%
rename from services/tests/servicestests/res/raw/install_shared2_unsigned
rename to services/tests/PackageManagerServiceTests/server/res/raw/install_shared2_unsigned
Binary files differ
diff --git a/services/tests/PackageManagerServiceTests/server/res/values/values.xml b/services/tests/PackageManagerServiceTests/server/res/values/values.xml
new file mode 100644
index 0000000..79c6653
--- /dev/null
+++ b/services/tests/PackageManagerServiceTests/server/res/values/values.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2022 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="module_1_name" translatable="false">module_1_name</string>
+ <string name="module_2_name" translatable="false">module_2_name</string>
+</resources>
diff --git a/services/tests/servicestests/res/xml/unparseable_metadata1.xml b/services/tests/PackageManagerServiceTests/server/res/xml/unparseable_metadata1.xml
similarity index 100%
rename from services/tests/servicestests/res/xml/unparseable_metadata1.xml
rename to services/tests/PackageManagerServiceTests/server/res/xml/unparseable_metadata1.xml
diff --git a/services/tests/servicestests/res/xml/unparseable_metadata2.xml b/services/tests/PackageManagerServiceTests/server/res/xml/unparseable_metadata2.xml
similarity index 100%
rename from services/tests/servicestests/res/xml/unparseable_metadata2.xml
rename to services/tests/PackageManagerServiceTests/server/res/xml/unparseable_metadata2.xml
diff --git a/services/tests/servicestests/res/xml/well_formed_metadata.xml b/services/tests/PackageManagerServiceTests/server/res/xml/well_formed_metadata.xml
similarity index 100%
rename from services/tests/servicestests/res/xml/well_formed_metadata.xml
rename to services/tests/PackageManagerServiceTests/server/res/xml/well_formed_metadata.xml
diff --git a/services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/AppsFilterImplTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/AppsFilterImplTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/BundleUtilsTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/BundleUtilsTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/BundleUtilsTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/BundleUtilsTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/CompatibilityModeTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/CompatibilityModeTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/CompatibilityModeTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/CompatibilityModeTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/CrossProfileAppsServiceImplTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/CrossProfileAppsServiceImplTest.java
similarity index 96%
rename from services/tests/servicestests/src/com/android/server/pm/CrossProfileAppsServiceImplTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/CrossProfileAppsServiceImplTest.java
index ce322f7..129efc6 100644
--- a/services/tests/servicestests/src/com/android/server/pm/CrossProfileAppsServiceImplTest.java
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/CrossProfileAppsServiceImplTest.java
@@ -38,6 +38,7 @@
import android.content.pm.PackageManagerInternal;
import android.content.pm.PermissionInfo;
import android.content.pm.ResolveInfo;
+import android.os.Binder;
import android.os.Bundle;
import android.os.IBinder;
import android.os.UserHandle;
@@ -47,7 +48,6 @@
import android.platform.test.annotations.Presubmit;
import android.util.SparseArray;
-import com.android.activitycontext.ActivityContext;
import com.android.internal.util.FunctionalUtils.ThrowingRunnable;
import com.android.internal.util.FunctionalUtils.ThrowingSupplier;
import com.android.server.LocalServices;
@@ -66,7 +66,7 @@
/**
* Build/Install/Run:
- * atest FrameworksServicesTests:com.android.server.pm.CrossProfileAppsServiceImplTest
+ * atest PackageManagerServiceServerTests:com.android.server.pm.CrossProfileAppsServiceImplTest
*/
@Presubmit
@RunWith(MockitoJUnitRunner.class)
@@ -611,34 +611,23 @@
mTestInjector.setCallingUserId(PROFILE_OF_PRIMARY_USER);
Bundle options = ActivityOptions.makeOpenCrossProfileAppsAnimation().toBundle();
- IBinder result = ActivityContext.getWithContext(activity -> {
- try {
- IBinder targetTask = activity.getActivityToken();
- mCrossProfileAppsServiceImpl.startActivityAsUser(
- mIApplicationThread,
- PACKAGE_ONE,
- FEATURE_ID,
- ACTIVITY_COMPONENT,
- UserHandle.of(PRIMARY_USER).getIdentifier(),
- true,
- targetTask,
- options);
- return targetTask;
- } catch (Exception re) {
- return null;
- }
- });
- if (result == null) {
- throw new Exception();
- }
-
+ Binder targetTask = new Binder();
+ mCrossProfileAppsServiceImpl.startActivityAsUser(
+ mIApplicationThread,
+ PACKAGE_ONE,
+ FEATURE_ID,
+ ACTIVITY_COMPONENT,
+ UserHandle.of(PRIMARY_USER).getIdentifier(),
+ true,
+ targetTask,
+ options);
verify(mActivityTaskManagerInternal)
.startActivityAsUser(
nullable(IApplicationThread.class),
eq(PACKAGE_ONE),
eq(FEATURE_ID),
any(Intent.class),
- eq(result),
+ eq(targetTask),
anyInt(),
eq(options),
eq(PRIMARY_USER));
diff --git a/services/tests/servicestests/src/com/android/server/pm/InstallerTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/InstallerTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/InstallerTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/InstallerTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/KeySetManagerServiceTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/KeySetManagerServiceTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/KeySetManagerServiceTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/KeySetManagerServiceTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/KeySetStrings.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/KeySetStrings.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/KeySetStrings.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/KeySetStrings.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/KeySetUtils.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/KeySetUtils.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/KeySetUtils.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/KeySetUtils.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/ModuleInfoProviderTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/ModuleInfoProviderTest.java
similarity index 98%
rename from services/tests/servicestests/src/com/android/server/pm/ModuleInfoProviderTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/ModuleInfoProviderTest.java
index 9ea7907..ad58507 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ModuleInfoProviderTest.java
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/ModuleInfoProviderTest.java
@@ -24,7 +24,7 @@
import android.platform.test.annotations.Presubmit;
import android.test.InstrumentationTestCase;
-import com.android.frameworks.servicestests.R;
+import com.android.server.pm.test.service.server.R;
import org.mockito.Mock;
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageInstallerSessionTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageInstallerSessionTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/PackageInstallerSessionTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageInstallerSessionTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerServiceTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerServiceTest.java
similarity index 99%
rename from services/tests/servicestests/src/com/android/server/pm/PackageManagerServiceTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerServiceTest.java
index 1877d45..b82ffb4 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageManagerServiceTest.java
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerServiceTest.java
@@ -66,8 +66,6 @@
import java.util.regex.Pattern;
// atest PackageManagerServiceTest
-// runtest -c com.android.server.pm.PackageManagerServiceTest frameworks-services
-// bit FrameworksServicesTests:com.android.server.pm.PackageManagerServiceTest
@Postsubmit
@RunWith(AndroidJUnit4.class)
public class PackageManagerServiceTest {
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerSettingsTests.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerSettingsTests.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerTests.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerTests.java
similarity index 99%
rename from services/tests/servicestests/src/com/android/server/pm/PackageManagerTests.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerTests.java
index 869ac88..d288d41 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageManagerTests.java
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageManagerTests.java
@@ -69,7 +69,7 @@
import androidx.test.filters.SmallTest;
import androidx.test.filters.Suppress;
-import com.android.frameworks.servicestests.R;
+import com.android.server.pm.test.service.server.R;
import com.android.internal.content.InstallLocationUtils;
import com.android.server.pm.pkg.parsing.ParsingPackage;
import com.android.server.pm.pkg.parsing.ParsingPackageUtils;
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageParserTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageParserTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageSignaturesTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageSignaturesTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/PackageSignaturesTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageSignaturesTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageUserStateTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageUserStateTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/PackageUserStateTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageUserStateTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageVerificationStateTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageVerificationStateTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/PackageVerificationStateTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PackageVerificationStateTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/ParallelPackageParserTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/ParallelPackageParserTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/ParallelPackageParserTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/ParallelPackageParserTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/PreferredComponentTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/PreferredComponentTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/PreferredComponentTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/PreferredComponentTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/RestrictionsSetTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/RestrictionsSetTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/RestrictionsSetTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/RestrictionsSetTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/ScanRequestBuilder.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/ScanRequestBuilder.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/ScanRequestBuilder.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/ScanRequestBuilder.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/ScanTests.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/ScanTests.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/ScanTests.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/ScanTests.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/UserDataPreparerTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/UserDataPreparerTest.java
similarity index 96%
rename from services/tests/servicestests/src/com/android/server/pm/UserDataPreparerTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/UserDataPreparerTest.java
index c489cf0..2d09ef7 100644
--- a/services/tests/servicestests/src/com/android/server/pm/UserDataPreparerTest.java
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/UserDataPreparerTest.java
@@ -46,15 +46,7 @@
import java.util.Arrays;
import java.util.Collections;
-/**
- * <p>Run with:<pre>
- * m FrameworksServicesTests &&
- * adb install \
- * -r out/target/product/hammerhead/data/app/FrameworksServicesTests/FrameworksServicesTests.apk &&
- * adb shell am instrument -e class com.android.server.pm.UserDataPreparerTest \
- * -w com.android.frameworks.servicestests/androidx.test.runner.AndroidJUnitRunner
- * </pre>
- */
+// atest PackageManagerServiceTest:com.android.server.pm.UserDataPreparerTest
@RunWith(AndroidJUnit4.class)
@Presubmit
@SmallTest
diff --git a/services/tests/servicestests/src/com/android/server/pm/WatchedIntentHandlingTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/WatchedIntentHandlingTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/WatchedIntentHandlingTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/WatchedIntentHandlingTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParserLegacyCoreTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/PackageParserLegacyCoreTest.java
similarity index 99%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/PackageParserLegacyCoreTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/PackageParserLegacyCoreTest.java
index 07cca0c..c6a6340 100644
--- a/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParserLegacyCoreTest.java
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/PackageParserLegacyCoreTest.java
@@ -42,7 +42,7 @@
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
-import com.android.frameworks.servicestests.R;
+import com.android.server.pm.test.service.server.R;
import com.android.internal.util.ArrayUtils;
import com.android.server.pm.PackageManagerException;
import com.android.server.pm.parsing.pkg.AndroidPackage;
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParsingDeferErrorTest.kt b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/PackageParsingDeferErrorTest.kt
similarity index 97%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/PackageParsingDeferErrorTest.kt
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/PackageParsingDeferErrorTest.kt
index bb094ba..d8cc5aa 100644
--- a/services/tests/servicestests/src/com/android/server/pm/parsing/PackageParsingDeferErrorTest.kt
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/PackageParsingDeferErrorTest.kt
@@ -23,7 +23,8 @@
import android.content.pm.parsing.result.ParseResult
import android.platform.test.annotations.Presubmit
import androidx.test.InstrumentationRegistry
-import com.android.frameworks.servicestests.R
+import com.android.server.pm.parsing.pkg.ParsedPackage
+import com.android.server.pm.test.service.server.R
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import org.junit.Rule
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/SystemPartitionParseTest.kt b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/SystemPartitionParseTest.kt
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/SystemPartitionParseTest.kt
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/SystemPartitionParseTest.kt
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidHidlUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidHidlUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidHidlUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidHidlUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidNetIpSecIkeUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidNetIpSecIkeUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidNetIpSecIkeUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidNetIpSecIkeUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidTestBaseUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidTestBaseUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidTestBaseUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidTestBaseUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidTestRunnerSplitUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidTestRunnerSplitUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/AndroidTestRunnerSplitUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/AndroidTestRunnerSplitUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/ApexSharedLibraryUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/ApexSharedLibraryUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/ApexSharedLibraryUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/ApexSharedLibraryUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/ComGoogleAndroidMapsUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/ComGoogleAndroidMapsUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/ComGoogleAndroidMapsUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/ComGoogleAndroidMapsUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/OptionalClassRunner.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/OptionalClassRunner.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/OptionalClassRunner.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/OptionalClassRunner.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/OrgApacheHttpLegacyUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/OrgApacheHttpLegacyUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/OrgApacheHttpLegacyUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/PackageBackwardCompatibilityTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/PackageBackwardCompatibilityTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/PackageBackwardCompatibilityTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/PackageBackwardCompatibilityTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/PackageSharedLibraryUpdaterTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/PackageSharedLibraryUpdaterTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/PackageSharedLibraryUpdaterTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/PackageSharedLibraryUpdaterTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/RemoveUnnecessaryAndroidTestBaseLibraryTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/RemoveUnnecessaryAndroidTestBaseLibraryTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/RemoveUnnecessaryAndroidTestBaseLibraryTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/RemoveUnnecessaryAndroidTestBaseLibraryTest.java
diff --git a/services/tests/servicestests/src/com/android/server/pm/parsing/library/RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/pm/parsing/library/RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/parsing/library/RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest.java
diff --git a/services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/OWNERS b/services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/OWNERS
new file mode 100644
index 0000000..1853220
--- /dev/null
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/OWNERS
@@ -0,0 +1,4 @@
+per-file WatchableTester.java = file:/services/core/java/com/android/server/pm/OWNERS
+per-file WatchableTester.java = shombert@google.com
+per-file WatcherTest.java = file:/services/core/java/com/android/server/pm/OWNERS
+per-file WatcherTest.java = shombert@google.com
diff --git a/services/tests/servicestests/src/com/android/server/utils/WatchableTester.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/WatchableTester.java
similarity index 100%
rename from services/tests/servicestests/src/com/android/server/utils/WatchableTester.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/WatchableTester.java
diff --git a/services/tests/servicestests/src/com/android/server/utils/WatcherTest.java b/services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/WatcherTest.java
similarity index 99%
rename from services/tests/servicestests/src/com/android/server/utils/WatcherTest.java
rename to services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/WatcherTest.java
index 37c95f7..74d491d 100644
--- a/services/tests/servicestests/src/com/android/server/utils/WatcherTest.java
+++ b/services/tests/PackageManagerServiceTests/server/src/com/android/server/utils/WatcherTest.java
@@ -44,7 +44,7 @@
* {@link WatchedSparseBooleanArray}.
*
* Build/Install/Run:
- * atest FrameworksServicesTests:WatcherTest
+ * atest PackageManagerServiceTest:WatcherTest
*/
@SmallTest
public class WatcherTest {
diff --git a/services/tests/servicestests/Android.bp b/services/tests/servicestests/Android.bp
index 16df5de..d622a80 100644
--- a/services/tests/servicestests/Android.bp
+++ b/services/tests/servicestests/Android.bp
@@ -55,7 +55,6 @@
"hamcrest-library",
"servicestests-utils",
"service-jobscheduler",
- "service-permission.impl",
// TODO: remove once Android migrates to JUnit 4.12,
// which provides assertThrows
"testng",
@@ -107,17 +106,12 @@
],
java_resources: [
- ":PackageParserTestApp1",
- ":PackageParserTestApp2",
- ":PackageParserTestApp3",
- ":PackageParserTestApp4",
- ":PackageParserTestApp5",
- ":apex.test",
- ":test.rebootless_apex_v1",
- ":test.rebootless_apex_v2",
":com.android.apex.cts.shim.v1_prebuilt",
":com.android.apex.cts.shim.v2_different_certificate_prebuilt",
":com.android.apex.cts.shim.v2_unsigned_apk_container_prebuilt",
+ ":apex.test",
+ ":test.rebootless_apex_v1",
+ ":test.rebootless_apex_v2",
],
resource_zips: [":FrameworksServicesTests_apks_as_resources"],
}
@@ -127,6 +121,7 @@
srcs: [
"src/com/android/server/pm/PackageSettingBuilder.java",
"src/com/android/server/am/DeviceConfigSession.java",
+ "src/com/android/server/pm/parsing/TestPackageParser2.kt",
],
static_libs: [
"services.core",
@@ -135,6 +130,33 @@
}
java_library {
+ name: "servicestests-dpm-utils",
+ srcs: [
+ "src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java",
+ "src/com/android/server/devicepolicy/DevicePolicyManagerTestable.java",
+ "src/com/android/server/devicepolicy/DpmMockContext.java",
+ "src/com/android/server/devicepolicy/DpmTestBase.java",
+ "src/com/android/server/devicepolicy/DpmTestUtils.java",
+ "src/com/android/server/devicepolicy/DummyDeviceAdmins.java",
+ "src/com/android/server/devicepolicy/MockSystemServices.java",
+ "src/com/android/server/devicepolicy/MockUtils.java",
+ ],
+ libs: [
+ "android.test.mock",
+ "android.test.base",
+ "mockito-target-minus-junit4",
+ ],
+ static_libs: [
+ "frameworks-base-testutils",
+ "androidx.test.core",
+ "androidx.test.ext.truth",
+ "androidx.test.rules",
+ "services.core",
+ "services.devicepolicy",
+ ],
+}
+
+java_library {
name: "servicestests-utils",
srcs: [
"utils/**/*.java",
@@ -177,41 +199,8 @@
java_genrule {
name: "FrameworksServicesTests_apks_as_resources",
srcs: [
- ":FrameworksServicesTests_install",
- ":FrameworksServicesTests_install_bad_dex",
- ":FrameworksServicesTests_install_complete_package_info",
- ":FrameworksServicesTests_install_decl_perm",
- ":FrameworksServicesTests_install_intent_filters",
- ":FrameworksServicesTests_install_loc_auto",
- ":FrameworksServicesTests_install_loc_internal",
- ":FrameworksServicesTests_install_loc_sdcard",
- ":FrameworksServicesTests_install_loc_unspecified",
":FrameworksServicesTests_install_split_base",
":FrameworksServicesTests_install_split_feature_a",
- ":FrameworksServicesTests_install_use_perm_good",
- ":FrameworksServicesTests_install_uses_feature",
- ":FrameworksServicesTests_install_uses_sdk_0",
- ":FrameworksServicesTests_install_uses_sdk_q0",
- ":FrameworksServicesTests_install_uses_sdk_q0_r0",
- ":FrameworksServicesTests_install_uses_sdk_r0",
- ":FrameworksServicesTests_install_uses_sdk_r5",
- ":FrameworksServicesTests_install_uses_sdk_r_none",
- ":FrameworksServicesTests_install_uses_sdk_r0_s0",
- ":FrameworksServicesTests_install_uses_sdk_r0_s5",
- ":FrameworksServicesTests_keyset_permdef_sa_unone",
- ":FrameworksServicesTests_keyset_permuse_sa_ua_ub",
- ":FrameworksServicesTests_keyset_permuse_sb_ua_ub",
- ":FrameworksServicesTests_keyset_sa_ua",
- ":FrameworksServicesTests_keyset_sa_ua_ub",
- ":FrameworksServicesTests_keyset_sa_uab",
- ":FrameworksServicesTests_keyset_sa_ub",
- ":FrameworksServicesTests_keyset_sa_unone",
- ":FrameworksServicesTests_keyset_sab_ua",
- ":FrameworksServicesTests_keyset_sau_ub",
- ":FrameworksServicesTests_keyset_sb_ua",
- ":FrameworksServicesTests_keyset_sb_ub",
- ":FrameworksServicesTests_keyset_splat_api",
- ":FrameworksServicesTests_keyset_splata_api",
],
out: ["FrameworkServicesTests_apks_as_resources.res.zip"],
tools: ["soong_zip"],
diff --git a/services/tests/servicestests/AndroidManifest.xml b/services/tests/servicestests/AndroidManifest.xml
index 0afb182..6c03cb9 100644
--- a/services/tests/servicestests/AndroidManifest.xml
+++ b/services/tests/servicestests/AndroidManifest.xml
@@ -287,11 +287,4 @@
<instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
android:targetPackage="com.android.frameworks.servicestests"
android:label="Frameworks Services Tests"/>
- <key-sets>
- <key-set android:name="A" >
- <public-key android:name="keyA"
- android:value="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsMpNthdOxud7roPDZMMomOqXgJJdRfIWpkKEqmC61Mv+Nf6QY3TorEwJeghjSmqj7IbBKrtvfQq4E2XJO1HuspmQO4Ng2gvn+r+6EwNfKc9k55d6s+27SR867jKurBbHNtZMG+tjL1yH4r+tNzcuJCsgyAFqLmxFdcxEwzNvREyRpoYc5RDR0mmTwkMCUhJ6CId1EYEKiCEdNzxv+fWPEb21u+/MWpleGCILs8kglRVb2q/WOzAAvGr4FY5plfaE6N+lr7+UschQ+aMi1+uqewo2o0qPFVmZP5hnwj55K4UMzu/NhhDqQQsX4cSGES1KgHo5MTqRqZjN/I7emw5pFQIDAQAB"/>
- </key-set>
- <upgrade-key-set android:name="A"/>
- </key-sets>
</manifest>
diff --git a/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java
index bccd8a0b..bc8670f 100644
--- a/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java
@@ -37,6 +37,7 @@
import android.content.pm.PackageManager;
import android.platform.test.annotations.Presubmit;
+import androidx.test.filters.FlakyTest;
import androidx.test.runner.AndroidJUnit4;
import com.android.server.backup.internal.LifecycleOperationStorage;
@@ -172,6 +173,7 @@
}
@Test
+ @FlakyTest
public void testAgentDisconnected_cancelsCurrentOperations() throws Exception {
when(mOperationStorage.operationTokensForPackage(eq("com.android.foo"))).thenReturn(
ImmutableSet.of(123, 456, 789)
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
index c771998..9a73dd3a 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
@@ -35,6 +35,7 @@
import android.net.IIpConnectivityMetrics;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Environment;
import android.os.Looper;
import android.os.PowerManagerInternal;
import android.os.UserHandle;
@@ -57,6 +58,7 @@
import com.android.server.pm.UserManagerInternal;
import com.android.server.wm.ActivityTaskManagerInternal;
+import java.io.File;
import java.io.IOException;
import java.util.Map;
@@ -443,7 +445,7 @@
@Override
public TransferOwnershipMetadataManager newTransferOwnershipMetadataManager() {
return new TransferOwnershipMetadataManager(
- new TransferOwnershipMetadataManagerTest.MockInjector());
+ new TransferOwnershipMetadataManagerMockInjector());
}
@Override
@@ -496,4 +498,12 @@
return context;
}
}
+
+ static class TransferOwnershipMetadataManagerMockInjector extends
+ TransferOwnershipMetadataManager.Injector {
+ @Override
+ public File getOwnerTransferMetadataDir() {
+ return Environment.getExternalStorageDirectory();
+ }
+ }
}
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
index 388170b..7e50332 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
@@ -132,7 +132,6 @@
import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
-import android.platform.test.annotations.FlakyTest;
import android.platform.test.annotations.Presubmit;
import android.provider.Settings;
import android.security.KeyChain;
@@ -144,6 +143,7 @@
import android.util.Log;
import android.util.Pair;
+import androidx.test.filters.FlakyTest;
import androidx.test.filters.SmallTest;
import com.android.internal.R;
@@ -4782,6 +4782,7 @@
}
@Test
+ @FlakyTest(bugId = 260145949)
public void testLockTaskPolicyForProfileOwner() throws Exception {
mockPolicyExemptApps();
mockVendorPolicyExemptApps();
@@ -4817,6 +4818,7 @@
}
@Test
+ @FlakyTest(bugId = 260145949)
public void testLockTaskFeatures_IllegalArgumentException() throws Exception {
// Setup a device owner.
mContext.binder.callingUid = DpmMockContext.CALLER_SYSTEM_USER_UID;
@@ -7812,6 +7814,7 @@
}
@Test
+ @FlakyTest(bugId = 260145949)
public void testSetLockTaskFeatures_financeDo_validLockTaskFeatures_lockTaskFeaturesSet()
throws Exception {
int validLockTaskFeatures = LOCK_TASK_FEATURE_SYSTEM_INFO | LOCK_TASK_FEATURE_KEYGUARD
@@ -7827,6 +7830,7 @@
}
@Test
+ @FlakyTest(bugId = 260145949)
public void testSetLockTaskFeatures_financeDo_invalidLockTaskFeatures_throwsException()
throws Exception {
int invalidLockTaskFeatures = LOCK_TASK_FEATURE_NONE | LOCK_TASK_FEATURE_OVERVIEW
@@ -7843,6 +7847,7 @@
}
@Test
+ @FlakyTest(bugId = 260145949)
public void testIsUninstallBlocked_financeDo_success() throws Exception {
String packageName = "com.android.foo.package";
setDeviceOwner();
@@ -7943,6 +7948,7 @@
}
@Test
+ @FlakyTest(bugId = 260145949)
public void testSetLockTaskPackages_financeDo_success() throws Exception {
String[] packages = {"com.android.foo.package"};
mockEmptyPolicyExemptApps();
diff --git a/services/tests/servicestests/src/com/android/server/utils/OWNERS b/services/tests/servicestests/src/com/android/server/utils/OWNERS
index 1853220..5e24828 100644
--- a/services/tests/servicestests/src/com/android/server/utils/OWNERS
+++ b/services/tests/servicestests/src/com/android/server/utils/OWNERS
@@ -1,4 +1,2 @@
-per-file WatchableTester.java = file:/services/core/java/com/android/server/pm/OWNERS
-per-file WatchableTester.java = shombert@google.com
-per-file WatcherTest.java = file:/services/core/java/com/android/server/pm/OWNERS
-per-file WatcherTest.java = shombert@google.com
+per-file EventLoggerTest.java = file:/platform/frameworks/av:/media/janitors/media_solutions_OWNERS
+per-file EventLoggerTest.java = jmtrivi@google.com