Loading core/java/android/content/pm/PackageParser.java +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -2087,6 +2087,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; Loading services/core/java/com/android/server/pm/EphemeralApplicationRegistry.java +24 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 = Loading Loading @@ -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); Loading @@ -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); Loading Loading @@ -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), Loading @@ -149,6 +161,9 @@ class EphemeralApplicationRegistry { } public List<EphemeralApplicationInfo> getEphemeralApplicationsLPw(int userId) { if (!ENABLED) { return Collections.emptyList(); } pruneUninstalledEphemeralAppsLPw(userId); List<EphemeralApplicationInfo> result = getInstalledEphemeralApplicationsLPr(userId); Loading @@ -157,6 +172,9 @@ class EphemeralApplicationRegistry { } public void onPackageInstalledLPw(PackageParser.Package pkg) { if (!ENABLED) { return; } PackageSetting ps = (PackageSetting) pkg.mExtras; if (ps == null) { return; Loading Loading @@ -210,6 +228,9 @@ class EphemeralApplicationRegistry { } public void onPackageUninstalledLPw(PackageParser.Package pkg) { if (!ENABLED) { return; } if (pkg == null) { return; } Loading @@ -235,6 +256,9 @@ class EphemeralApplicationRegistry { } public void onUserRemovedLPw(int userId) { if (!ENABLED) { return; } if (mUninstalledEphemeralApps != null) { mUninstalledEphemeralApps.remove(userId); } Loading Loading
core/java/android/content/pm/PackageParser.java +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -2087,6 +2087,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; Loading
services/core/java/com/android/server/pm/EphemeralApplicationRegistry.java +24 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 = Loading Loading @@ -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); Loading @@ -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); Loading Loading @@ -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), Loading @@ -149,6 +161,9 @@ class EphemeralApplicationRegistry { } public List<EphemeralApplicationInfo> getEphemeralApplicationsLPw(int userId) { if (!ENABLED) { return Collections.emptyList(); } pruneUninstalledEphemeralAppsLPw(userId); List<EphemeralApplicationInfo> result = getInstalledEphemeralApplicationsLPr(userId); Loading @@ -157,6 +172,9 @@ class EphemeralApplicationRegistry { } public void onPackageInstalledLPw(PackageParser.Package pkg) { if (!ENABLED) { return; } PackageSetting ps = (PackageSetting) pkg.mExtras; if (ps == null) { return; Loading Loading @@ -210,6 +228,9 @@ class EphemeralApplicationRegistry { } public void onPackageUninstalledLPw(PackageParser.Package pkg) { if (!ENABLED) { return; } if (pkg == null) { return; } Loading @@ -235,6 +256,9 @@ class EphemeralApplicationRegistry { } public void onUserRemovedLPw(int userId) { if (!ENABLED) { return; } if (mUninstalledEphemeralApps != null) { mUninstalledEphemeralApps.remove(userId); } Loading