summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorWinson Chiu <chiuwinson@google.com>2020-04-17 21:04:18 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-04-17 21:04:18 +0000
commitc7cd73aa001f0a721b841b72d545505d6bbdc062 (patch)
tree40b49908fb4683faa8e1c05801e53c4b6c29c4e6 /core/java
parentb31a5f43d0cae4f590efe7ef436b21cf8d2a2feb (diff)
parentc7f8e75806772e6b2414f5ee437caca6882bf5d4 (diff)
Merge "Optimization: remove duplicated flags computations for getInstalledPackages" into rvc-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java3
-rw-r--r--core/java/android/content/pm/parsing/ParsingPackageImpl.java8
-rw-r--r--core/java/android/content/pm/parsing/ParsingPackageRead.java5
3 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java b/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java
index 9a1f7c9e80c5..216b3bb5de8e 100644
--- a/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java
+++ b/core/java/android/content/pm/parsing/PackageInfoWithoutStateUtils.java
@@ -350,9 +350,6 @@ public class PackageInfoWithoutStateUtils {
// TODO(b/135203078): Consolidate the data directory logic, remove initForUser
ai.initForUser(userId);
- ai.flags = appInfoFlags(pkg);
- ai.privateFlags = appInfoPrivateFlags(pkg);
-
if ((flags & PackageManager.GET_META_DATA) == 0) {
ai.metaData = null;
}
diff --git a/core/java/android/content/pm/parsing/ParsingPackageImpl.java b/core/java/android/content/pm/parsing/ParsingPackageImpl.java
index 1a1395ca7e9e..f932bc250e28 100644
--- a/core/java/android/content/pm/parsing/ParsingPackageImpl.java
+++ b/core/java/android/content/pm/parsing/ParsingPackageImpl.java
@@ -850,9 +850,15 @@ public class ParsingPackageImpl implements ParsingPackage, Parcelable {
@Deprecated
@Override
public ApplicationInfo toAppInfoWithoutState() {
- ApplicationInfo appInfo = new ApplicationInfo();
+ ApplicationInfo appInfo = toAppInfoWithoutStateWithoutFlags();
appInfo.flags = PackageInfoWithoutStateUtils.appInfoFlags(this);
appInfo.privateFlags = PackageInfoWithoutStateUtils.appInfoPrivateFlags(this);
+ return appInfo;
+ }
+
+ @Override
+ public ApplicationInfo toAppInfoWithoutStateWithoutFlags() {
+ ApplicationInfo appInfo = new ApplicationInfo();
appInfo.appComponentFactory = appComponentFactory;
appInfo.backupAgentName = backupAgentName;
diff --git a/core/java/android/content/pm/parsing/ParsingPackageRead.java b/core/java/android/content/pm/parsing/ParsingPackageRead.java
index 1ded8d40c727..5b53c18b820c 100644
--- a/core/java/android/content/pm/parsing/ParsingPackageRead.java
+++ b/core/java/android/content/pm/parsing/ParsingPackageRead.java
@@ -858,4 +858,9 @@ public interface ParsingPackageRead extends Parcelable {
// TODO(b/135203078): Hide and enforce going through PackageInfoUtils
ApplicationInfo toAppInfoWithoutState();
+
+ /**
+ * same as toAppInfoWithoutState except without flag computation.
+ */
+ ApplicationInfo toAppInfoWithoutStateWithoutFlags();
}