summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ryan Mitchell <rtmitchell@google.com> 2020-06-03 13:11:31 -0700
committer Ryan Mitchell <rtmitchell@google.com> 2020-06-04 23:28:28 +0000
commit2c206f86859343f0b47b36baf105e1c2de1bfaf4 (patch)
tree6008442661ae19d45495b8ecc14c4c122bfd502a
parent13313007e55fdf18f2ac647f55277576447ec2bd (diff)
Partial revert "Add overlayable configurator resources"
This reverts commit 639393e1e6bd87b21bab89b30c3da0f1431d80a1. This revert does not change a refactor of the OMSImpl tests done in the reverted commit. Change-Id: Ic916ab79278f9512ee91789c5e62c8461c407581 Bug: 154610560
-rw-r--r--core/res/res/values/config.xml7
-rw-r--r--core/res/res/values/symbols.xml3
-rw-r--r--services/core/java/com/android/server/om/IdmapManager.java21
-rw-r--r--services/core/java/com/android/server/om/OverlayManagerService.java13
-rw-r--r--services/core/java/com/android/server/om/OverlayableInfoCallback.java20
-rw-r--r--services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java46
-rw-r--r--services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java21
7 files changed, 3 insertions, 128 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 2cad9e6888a6..b79c9e804f89 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -4456,11 +4456,4 @@
<bool name="config_pdp_reject_enable_retry">false</bool>
<!-- pdp data reject retry delay in ms -->
<integer name="config_pdp_reject_retry_delay_ms">-1</integer>
-
- <!-- Package name that is recognized as an actor for the packages listed in
- @array/config_overlayableConfiguratorTargets. If an overlay targeting one of the listed
- targets is signed with the same signature as the configurator, the overlay will be granted
- the "actor" policy. -->
- <string name="config_overlayableConfigurator" translatable="false" />
- <string-array name="config_overlayableConfiguratorTargets" translatable="false" />
</resources>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index f30d482e06b2..53cdeb5e5c1c 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -4033,8 +4033,5 @@
<java-symbol type="string" name="config_pdp_reject_service_not_subscribed" />
<java-symbol type="string" name="config_pdp_reject_multi_conn_to_same_pdn_not_allowed" />
- <java-symbol type="string" name="config_overlayableConfigurator" />
- <java-symbol type="array" name="config_overlayableConfiguratorTargets" />
-
<java-symbol type="array" name="config_notificationMsgPkgsAllowedAsConvos" />
</resources>
diff --git a/services/core/java/com/android/server/om/IdmapManager.java b/services/core/java/com/android/server/om/IdmapManager.java
index 735d66983520..d6b1b27360ca 100644
--- a/services/core/java/com/android/server/om/IdmapManager.java
+++ b/services/core/java/com/android/server/om/IdmapManager.java
@@ -29,18 +29,15 @@ import android.os.OverlayablePolicy;
import android.os.SystemProperties;
import android.util.Slog;
-import com.android.internal.util.ArrayUtils;
-
import java.io.IOException;
/**
* Handle the creation and deletion of idmap files.
*
- * The actual work is performed by the idmap binary, launched through idmap2d.
- *
- * Note: this class is subclassed in the OMS unit tests, and hence not marked as final.
+ * The actual work is performed by idmap2d.
+ * @see IdmapDaemon
*/
-class IdmapManager {
+final class IdmapManager {
private static final boolean VENDOR_IS_Q_OR_LATER;
static {
final String value = SystemProperties.get("ro.vndk.version", "29");
@@ -57,14 +54,10 @@ class IdmapManager {
private final IdmapDaemon mIdmapDaemon;
private final OverlayableInfoCallback mOverlayableCallback;
- private final String mOverlayableConfigurator;
- private final String[] mOverlayableConfiguratorTargets;
IdmapManager(final IdmapDaemon idmapDaemon, final OverlayableInfoCallback verifyCallback) {
mOverlayableCallback = verifyCallback;
mIdmapDaemon = idmapDaemon;
- mOverlayableConfigurator = verifyCallback.getOverlayableConfigurator();
- mOverlayableConfiguratorTargets = verifyCallback.getOverlayableConfiguratorTargets() ;
}
/**
@@ -190,14 +183,6 @@ class IdmapManager {
String targetOverlayableName = overlayPackage.targetOverlayableName;
if (targetOverlayableName != null) {
try {
- if (!mOverlayableConfigurator.isEmpty()
- && ArrayUtils.contains(mOverlayableConfiguratorTargets,
- targetPackage.packageName)
- && mOverlayableCallback.signaturesMatching(mOverlayableConfigurator,
- overlayPackage.packageName, userId)) {
- return true;
- }
-
OverlayableInfo overlayableInfo = mOverlayableCallback.getOverlayableForTarget(
targetPackage.packageName, targetOverlayableName, userId);
if (overlayableInfo != null && overlayableInfo.actor != null) {
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index 086ab8183254..396815399874 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -45,7 +45,6 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManagerInternal;
import android.content.pm.UserInfo;
import android.content.res.ApkAssets;
-import android.content.res.Resources;
import android.net.Uri;
import android.os.Binder;
import android.os.Environment;
@@ -63,7 +62,6 @@ import android.util.AtomicFile;
import android.util.Slog;
import android.util.SparseArray;
-import com.android.internal.R;
import com.android.internal.content.om.OverlayConfig;
import com.android.server.FgThread;
import com.android.server.IoThread;
@@ -1121,17 +1119,6 @@ public final class OverlayManagerService extends SystemService {
}
@Override
- public String getOverlayableConfigurator() {
- return Resources.getSystem().getString(R.string.config_overlayableConfigurator);
- }
-
- @Override
- public String[] getOverlayableConfiguratorTargets() {
- return Resources.getSystem().getStringArray(
- R.array.config_overlayableConfiguratorTargets);
- }
-
- @Override
public List<PackageInfo> getOverlayPackages(final int userId) {
final List<PackageInfo> overlays = mPackageManagerInternal.getOverlayPackages(userId);
for (final PackageInfo info : overlays) {
diff --git a/services/core/java/com/android/server/om/OverlayableInfoCallback.java b/services/core/java/com/android/server/om/OverlayableInfoCallback.java
index 41c341adf1bc..5066ecdd6316 100644
--- a/services/core/java/com/android/server/om/OverlayableInfoCallback.java
+++ b/services/core/java/com/android/server/om/OverlayableInfoCallback.java
@@ -80,24 +80,4 @@ public interface OverlayableInfoCallback {
* in the system returns {@link PackageManager#SIGNATURE_MATCH}
*/
boolean signaturesMatching(@NonNull String pkgName1, @NonNull String pkgName2, int userId);
-
- /**
- * Retrieves the package name that is recognized as an actor for the packages specified by
- * {@link #getOverlayableConfiguratorTargets()}.
- */
- @NonNull
- default String getOverlayableConfigurator() {
- return "";
- }
-
- /**
- * Retrieves the target packages that recognize the {@link #getOverlayableConfigurator} as an
- * actor for its overlayable declarations. Overlays targeting one of the specified targets that
- * are signed with the same signature as the overlayable configurator will be granted the
- * "actor" policy.
- */
- @NonNull
- default String[] getOverlayableConfiguratorTargets() {
- return new String[0];
- }
}
diff --git a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java
index b25af0543829..f4c5506c7001 100644
--- a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java
+++ b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTests.java
@@ -26,7 +26,6 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import android.content.om.OverlayInfo;
-import android.os.OverlayablePolicy;
import androidx.test.runner.AndroidJUnit4;
@@ -205,49 +204,4 @@ public class OverlayManagerServiceImplTests extends OverlayManagerServiceImplTes
impl.setEnabled(OVERLAY, true, USER);
assertEquals(0, listener.count);
}
-
- @Test
- public void testConfigurator() {
- final DummyPackageManagerHelper packageManager = getPackageManager();
- packageManager.overlayableConfigurator = "actor";
- packageManager.overlayableConfiguratorTargets = new String[]{TARGET};
- reinitializeImpl();
-
- installNewPackage(target("actor").setCertificate("one"), USER);
- installNewPackage(target(TARGET)
- .addOverlayable("TestResources")
- .setCertificate("two"), USER);
-
- final DummyDeviceState.PackageBuilder overlay = overlay(OVERLAY, TARGET, "TestResources")
- .setCertificate("one");
- installNewPackage(overlay, USER);
-
- final DummyIdmapDaemon idmapDaemon = getIdmapDaemon();
- final DummyIdmapDaemon.IdmapHeader idmap = idmapDaemon.getIdmap(overlay.build().apkPath);
- assertNotNull(idmap);
- assertEquals(OverlayablePolicy.ACTOR_SIGNATURE,
- idmap.policies & OverlayablePolicy.ACTOR_SIGNATURE);
- }
-
- @Test
- public void testConfiguratorDifferentSignatures() {
- final DummyPackageManagerHelper packageManager = getPackageManager();
- packageManager.overlayableConfigurator = "actor";
- packageManager.overlayableConfiguratorTargets = new String[]{TARGET};
- reinitializeImpl();
-
- installNewPackage(target("actor").setCertificate("one"), USER);
- installNewPackage(target(TARGET)
- .addOverlayable("TestResources")
- .setCertificate("two"), USER);
-
- final DummyDeviceState.PackageBuilder overlay = overlay(OVERLAY, TARGET, "TestResources")
- .setCertificate("two");
- installNewPackage(overlay, USER);
-
- final DummyIdmapDaemon idmapDaemon = getIdmapDaemon();
- final DummyIdmapDaemon.IdmapHeader idmap = idmapDaemon.getIdmap(overlay.build().apkPath);
- assertNotNull(idmap);
- assertEquals(0, idmap.policies & OverlayablePolicy.ACTOR_SIGNATURE);
- }
}
diff --git a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java
index 13c9e6b837ef..733310b2508a 100644
--- a/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java
+++ b/services/tests/servicestests/src/com/android/server/om/OverlayManagerServiceImplTestsBase.java
@@ -42,7 +42,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.stream.Collectors;
/** Base class for creating {@link OverlayManagerServiceImplTests} tests. */
@@ -84,14 +83,6 @@ class OverlayManagerServiceImplTestsBase {
return mListener;
}
- DummyPackageManagerHelper getPackageManager() {
- return mPackageManager;
- }
-
- DummyIdmapDaemon getIdmapDaemon() {
- return mIdmapDaemon;
- }
-
void assertState(@State int expected, final String overlayPackageName, int userId) {
final OverlayInfo info = mImpl.getOverlayInfo(overlayPackageName, userId);
if (info == null) {
@@ -314,8 +305,6 @@ class OverlayManagerServiceImplTestsBase {
static final class DummyPackageManagerHelper implements PackageManagerHelper,
OverlayableInfoCallback {
private final DummyDeviceState mState;
- String[] overlayableConfiguratorTargets = new String[0];
- String overlayableConfigurator = "";
private DummyPackageManagerHelper(DummyDeviceState state) {
mState = state;
@@ -387,16 +376,6 @@ class OverlayManagerServiceImplTestsBase {
public void enforcePermission(String permission, String message) throws SecurityException {
throw new UnsupportedOperationException();
}
-
- @Override
- public String[] getOverlayableConfiguratorTargets() {
- return overlayableConfiguratorTargets;
- }
-
- @Override
- public String getOverlayableConfigurator() {
- return overlayableConfigurator;
- }
}
static class DummyIdmapDaemon extends IdmapDaemon {