From a7532cfa46bc0c0a795aaaafe89d0727927b3cd7 Mon Sep 17 00:00:00 2001 From: Svet Ganov Date: Mon, 2 May 2016 08:13:17 -0700 Subject: [PATCH] Disable unused features The multi-package APKs feature was not validated and is now disabled. Also the ephemeral work was postponed which requires disabling of the ephemeral cookie APIs. bug:28514747 Change-Id: Iab7f11c503a76bcc414408dfebdf200843db814e --- .../android/content/pm/PackageParser.java | 6 ++++- .../pm/EphemeralApplicationRegistry.java | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 6534f5b324563..b7aecc9fbcbb7 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -79,7 +79,6 @@ import libcore.io.IoUtils; import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE; import static android.content.pm.ActivityInfo.FLAG_IMMERSIVE; -import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS; import static android.content.pm.ActivityInfo.RESIZE_MODE_FORCE_RESIZEABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE; @@ -120,6 +119,7 @@ public class PackageParser { private static final boolean DEBUG_PARSER = false; private static final boolean DEBUG_BACKUP = false; + private static final boolean MULTI_PACKAGE_APK_ENABLED = false; private static final int MAX_PACKAGES_PER_APK = 5; public static final int APK_SIGNING_UNKNOWN = 0; @@ -2086,6 +2086,10 @@ public class PackageParser { continue; } else if (tagName.equals(TAG_PACKAGE)) { + if (!MULTI_PACKAGE_APK_ENABLED) { + XmlUtils.skipCurrentTag(parser); + continue; + } if (!parseBaseApkChild(pkg, res, parser, flags, outError)) { // If parsing a child failed the error is already set return null; diff --git a/services/core/java/com/android/server/pm/EphemeralApplicationRegistry.java b/services/core/java/com/android/server/pm/EphemeralApplicationRegistry.java index 389e0a15bfb9c..1e3e0caa1ece8 100644 --- a/services/core/java/com/android/server/pm/EphemeralApplicationRegistry.java +++ b/services/core/java/com/android/server/pm/EphemeralApplicationRegistry.java @@ -36,6 +36,7 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.util.ArrayUtils; import com.android.internal.util.XmlUtils; import libcore.io.IoUtils; +import libcore.util.EmptyArray; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; @@ -61,6 +62,8 @@ import java.util.Set; class EphemeralApplicationRegistry { private static final boolean DEBUG = false; + private static final boolean ENABLED = false; + private static final String LOG_TAG = "EphemeralAppRegistry"; private static final long DEFAULT_UNINSTALLED_EPHEMERAL_APP_CACHE_DURATION_MILLIS = @@ -92,6 +95,9 @@ class EphemeralApplicationRegistry { } public byte[] getEphemeralApplicationCookieLPw(String packageName, int userId) { + if (!ENABLED) { + return EmptyArray.BYTE; + } pruneUninstalledEphemeralAppsLPw(userId); File cookieFile = peekEphemeralCookieFile(packageName, userId); @@ -107,6 +113,9 @@ class EphemeralApplicationRegistry { public boolean setEphemeralApplicationCookieLPw(String packageName, byte[] cookie, int userId) { + if (!ENABLED) { + return false; + } pruneUninstalledEphemeralAppsLPw(userId); PackageParser.Package pkg = mService.mPackages.get(packageName); @@ -138,6 +147,9 @@ class EphemeralApplicationRegistry { } public Bitmap getEphemeralApplicationIconLPw(String packageName, int userId) { + if (!ENABLED) { + return null; + } pruneUninstalledEphemeralAppsLPw(userId); File iconFile = new File(getEphemeralApplicationDir(packageName, userId), @@ -149,6 +161,9 @@ class EphemeralApplicationRegistry { } public List getEphemeralApplicationsLPw(int userId) { + if (!ENABLED) { + return Collections.emptyList(); + } pruneUninstalledEphemeralAppsLPw(userId); List result = getInstalledEphemeralApplicationsLPr(userId); @@ -157,6 +172,9 @@ class EphemeralApplicationRegistry { } public void onPackageInstalledLPw(PackageParser.Package pkg) { + if (!ENABLED) { + return; + } PackageSetting ps = (PackageSetting) pkg.mExtras; if (ps == null) { return; @@ -210,6 +228,9 @@ class EphemeralApplicationRegistry { } public void onPackageUninstalledLPw(PackageParser.Package pkg) { + if (!ENABLED) { + return; + } if (pkg == null) { return; } @@ -235,6 +256,9 @@ class EphemeralApplicationRegistry { } public void onUserRemovedLPw(int userId) { + if (!ENABLED) { + return; + } if (mUninstalledEphemeralApps != null) { mUninstalledEphemeralApps.remove(userId); }