diff options
| author | 2020-03-05 09:40:41 +0000 | |
|---|---|---|
| committer | 2020-03-05 09:42:49 +0000 | |
| commit | 15db04ec6c71248e895481a2a2b8fc8d089c700c (patch) | |
| tree | f4b522c6d77f2021849563cb612fc0054317b0ad | |
| parent | 920105c38ba977c8b56e16e4d969ead3acbc576f (diff) | |
Revert "Revert "Remove exception from OverlayConfig zygote method""
This reverts commit 920105c38ba977c8b56e16e4d969ead3acbc576f.
Reason for revert: The real reason for the robolectric freeze has been found
Bug: 150011638#comment55
Bug: 150763929
Change-Id: Ib59acf362e87fa907902e19bac6e3b16cafa77d4
| -rw-r--r-- | core/java/com/android/internal/content/om/OverlayConfig.java | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/core/java/com/android/internal/content/om/OverlayConfig.java b/core/java/com/android/internal/content/om/OverlayConfig.java index 2b08a773b6e7..fbef027ac37f 100644 --- a/core/java/com/android/internal/content/om/OverlayConfig.java +++ b/core/java/com/android/internal/content/om/OverlayConfig.java @@ -21,7 +21,6 @@ import android.annotation.Nullable; import android.content.pm.PackagePartitions; import android.content.pm.parsing.ParsingPackageRead; import android.os.Build; -import android.os.Process; import android.os.Trace; import android.util.ArrayMap; import android.util.Log; @@ -186,13 +185,6 @@ public class OverlayConfig { */ @NonNull public static OverlayConfig getZygoteInstance() { - if (Process.myUid() != Process.ROOT_UID) { - // Scan the overlays in the zygote process to generate configuration settings for - // overlays on the system image. Do not cache this instance so OverlayConfig will not - // be present in applications by default. - throw new IllegalStateException("Can only be invoked in the root process"); - } - Trace.traceBegin(Trace.TRACE_TAG_RRO, "OverlayConfig#getZygoteInstance"); try { return new OverlayConfig(null /* rootDirectory */, OverlayScanner::new, @@ -209,13 +201,12 @@ public class OverlayConfig { */ @NonNull public static OverlayConfig initializeSystemInstance(PackageProvider packageProvider) { - if (Process.myUid() != Process.SYSTEM_UID) { - throw new IllegalStateException("Can only be invoked in the system process"); - } - Trace.traceBegin(Trace.TRACE_TAG_RRO, "OverlayConfig#initializeSystemInstance"); - sInstance = new OverlayConfig(null, null, packageProvider); - Trace.traceEnd(Trace.TRACE_TAG_RRO); + try { + sInstance = new OverlayConfig(null, null, packageProvider); + } finally { + Trace.traceEnd(Trace.TRACE_TAG_RRO); + } return sInstance; } @@ -379,10 +370,6 @@ public class OverlayConfig { */ @NonNull public String[] createImmutableFrameworkIdmapsInZygote() { - if (Process.myUid() != Process.ROOT_UID) { - throw new IllegalStateException("This method can only be called from the root process"); - } - final String targetPath = "/system/framework/framework-res.apk"; final ArrayList<String> idmapPaths = new ArrayList<>(); final ArrayList<IdmapInvocation> idmapInvocations = |