Fix TransferOwnershipMetadataManager tests.
Test: bit FrameworksServicesTests:com.android.server.devicepolicy.TransferOwnershipMetadataManagerTest
Bug: 73448505
Change-Id: I06fc52b13ed27a77213cfb3b15dff3f7161f5be0
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/TransferOwnershipMetadataManager.java b/services/devicepolicy/java/com/android/server/devicepolicy/TransferOwnershipMetadataManager.java
index 1addeb6..dd3bfc3 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/TransferOwnershipMetadataManager.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/TransferOwnershipMetadataManager.java
@@ -54,10 +54,14 @@
class TransferOwnershipMetadataManager {
final static String ADMIN_TYPE_DEVICE_OWNER = "device-owner";
final static String ADMIN_TYPE_PROFILE_OWNER = "profile-owner";
- private final static String TAG_USER_ID = "user-id";
- private final static String TAG_SOURCE_COMPONENT = "source-component";
- private final static String TAG_TARGET_COMPONENT = "target-component";
- private final static String TAG_ADMIN_TYPE = "admin-type";
+ @VisibleForTesting
+ final static String TAG_USER_ID = "user-id";
+ @VisibleForTesting
+ final static String TAG_SOURCE_COMPONENT = "source-component";
+ @VisibleForTesting
+ final static String TAG_TARGET_COMPONENT = "target-component";
+ @VisibleForTesting
+ final static String TAG_ADMIN_TYPE = "admin-type";
private final static String TAG = TransferOwnershipMetadataManager.class.getName();
public static final String OWNER_TRANSFER_METADATA_XML = "owner-transfer-metadata.xml";
@@ -177,10 +181,10 @@
final ComponentName targetComponent;
final String adminType;
- Metadata(@NonNull String sourceComponent, @NonNull String targetComponent,
+ Metadata(@NonNull ComponentName sourceComponent, @NonNull ComponentName targetComponent,
@NonNull int userId, @NonNull String adminType) {
- this.sourceComponent = ComponentName.unflattenFromString(sourceComponent);
- this.targetComponent = ComponentName.unflattenFromString(targetComponent);
+ this.sourceComponent = sourceComponent;
+ this.targetComponent = targetComponent;
Preconditions.checkNotNull(sourceComponent);
Preconditions.checkNotNull(targetComponent);
Preconditions.checkStringNotEmpty(adminType);
@@ -188,10 +192,15 @@
this.adminType = adminType;
}
- Metadata(@NonNull ComponentName sourceComponent, @NonNull ComponentName targetComponent,
+ Metadata(@NonNull String flatSourceComponent, @NonNull String flatTargetComponent,
@NonNull int userId, @NonNull String adminType) {
- this(sourceComponent.flattenToString(), targetComponent.flattenToString(),
- userId, adminType);
+ this(unflattenComponentUnchecked(flatSourceComponent),
+ unflattenComponentUnchecked(flatTargetComponent), userId, adminType);
+ }
+
+ private static ComponentName unflattenComponentUnchecked(String flatComponent) {
+ Preconditions.checkNotNull(flatComponent);
+ return ComponentName.unflattenFromString(flatComponent);
}
@Override
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/TransferOwnershipMetadataManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/TransferOwnershipMetadataManagerTest.java
index 03cabb2..9213268 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/TransferOwnershipMetadataManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/TransferOwnershipMetadataManagerTest.java
@@ -21,6 +21,10 @@
import static com.android.server.devicepolicy.TransferOwnershipMetadataManager
.OWNER_TRANSFER_METADATA_XML;
+import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_ADMIN_TYPE;
+import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_SOURCE_COMPONENT;
+import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_TARGET_COMPONENT;
+import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_USER_ID;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -53,11 +57,13 @@
@RunWith(AndroidJUnit4.class)
public class TransferOwnershipMetadataManagerTest {
- private final static String ADMIN_PACKAGE = "com.dummy.admin.package";
- private final static String TARGET_PACKAGE = "com.dummy.target.package";
+ private final static String SOURCE_COMPONENT =
+ "com.dummy.admin.package/com.dummy.admin.package.SourceClassName";
+ private final static String TARGET_COMPONENT =
+ "com.dummy.target.package/com.dummy.target.package.TargetClassName";
private final static int USER_ID = 123;
- private final static Metadata TEST_PARAMS = new Metadata(ADMIN_PACKAGE,
- TARGET_PACKAGE, USER_ID, ADMIN_TYPE_DEVICE_OWNER);
+ private final static Metadata TEST_PARAMS = new Metadata(SOURCE_COMPONENT,
+ TARGET_COMPONENT, USER_ID, ADMIN_TYPE_DEVICE_OWNER);
private MockInjector mMockInjector;
@@ -84,10 +90,13 @@
String contents = new String(Files.readAllBytes(path), Charset.forName("UTF-8"));
assertEquals(
"<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n"
- + "<user-id>" + USER_ID + "</user-id>\n"
- + "<admin-component>" + ADMIN_PACKAGE + "</admin-component>\n"
- + "<target-component>" + TARGET_PACKAGE + "</target-component>\n"
- + "<admin-type>" + ADMIN_TYPE_DEVICE_OWNER + "</admin-type>\n",
+ + "<" + TAG_USER_ID + ">" + USER_ID + "</" + TAG_USER_ID + ">\n"
+ + "<" + TAG_SOURCE_COMPONENT + ">" + SOURCE_COMPONENT + "</"
+ + TAG_SOURCE_COMPONENT + ">\n"
+ + "<" + TAG_TARGET_COMPONENT + ">" + TARGET_COMPONENT + "</"
+ + TAG_TARGET_COMPONENT + ">\n"
+ + "<" + TAG_ADMIN_TYPE + ">" + ADMIN_TYPE_DEVICE_OWNER + "</"
+ + TAG_ADMIN_TYPE + ">\n",
contents);
} catch (IOException e) {
e.printStackTrace();