Skip to content

Commit f2a1775

Browse files
TreeHugger RobotAndroid (Google) Code Review
authored andcommitted
Merge "DO NOT MERGE Ensure package names read from config are system packages." into qt-qpr1-dev
2 parents 7891cda + 6a56247 commit f2a1775

1 file changed

Lines changed: 26 additions & 8 deletions

File tree

services/core/java/com/android/server/pm/PackageManagerService.java

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3130,8 +3130,7 @@ public PackageManagerService(Context context, Installer installer,
31303130

31313131
mWellbeingPackage = getWellbeingPackageName();
31323132
mDocumenterPackage = getDocumenterPackageName();
3133-
mConfiguratorPackage =
3134-
mContext.getString(R.string.config_deviceConfiguratorPackageName);
3133+
mConfiguratorPackage = getDeviceConfiguratorPackageName();
31353134
mAppPredictionServicePackage = getAppPredictionServicePackageName();
31363135
mIncidentReportApproverPackage = getIncidentReportApproverPackageName();
31373136

@@ -21121,7 +21120,8 @@ public void setHomeActivity(ComponentName comp, int userId) {
2112121120

2112221121
@Override
2112321122
public String getSystemTextClassifierPackageName() {
21124-
return mContext.getString(R.string.config_defaultTextClassifierPackage);
21123+
return ensureSystemPackageName(mContext.getString(
21124+
R.string.config_defaultTextClassifierPackage));
2112521125
}
2112621126

2112721127
@Override
@@ -21131,7 +21131,7 @@ public String getSystemTextClassifierPackageName() {
2113121131
if (flattenedComponentName != null) {
2113221132
ComponentName componentName = ComponentName.unflattenFromString(flattenedComponentName);
2113321133
if (componentName != null && componentName.getPackageName() != null) {
21134-
return componentName.getPackageName();
21134+
return ensureSystemPackageName(componentName.getPackageName());
2113521135
}
2113621136
}
2113721137
return null;
@@ -21156,9 +21156,15 @@ public String getSystemTextClassifierPackageName() {
2115621156
}
2115721157
}
2115821158

21159+
@Nullable
21160+
private String getDeviceConfiguratorPackageName() {
21161+
return ensureSystemPackageName(mContext.getString(
21162+
R.string.config_deviceConfiguratorPackageName));
21163+
}
21164+
2115921165
@Override
2116021166
public String getWellbeingPackageName() {
21161-
return mContext.getString(R.string.config_defaultWellbeingPackage);
21167+
return ensureSystemPackageName(mContext.getString(R.string.config_defaultWellbeingPackage));
2116221168
}
2116321169

2116421170
@Override
@@ -21173,7 +21179,7 @@ public String getAppPredictionServicePackageName() {
2117321179
if (appPredictionServiceComponentName == null) {
2117421180
return null;
2117521181
}
21176-
return appPredictionServiceComponentName.getPackageName();
21182+
return ensureSystemPackageName(appPredictionServiceComponentName.getPackageName());
2117721183
}
2117821184

2117921185
@Override
@@ -21190,11 +21196,23 @@ public String getSystemCaptionsServicePackageName() {
2119021196
if (systemCaptionsServiceComponentName == null) {
2119121197
return null;
2119221198
}
21193-
return systemCaptionsServiceComponentName.getPackageName();
21199+
return ensureSystemPackageName(systemCaptionsServiceComponentName.getPackageName());
2119421200
}
2119521201

2119621202
public String getIncidentReportApproverPackageName() {
21197-
return mContext.getString(R.string.config_incidentReportApproverPackage);
21203+
return ensureSystemPackageName(mContext.getString(
21204+
R.string.config_incidentReportApproverPackage));
21205+
}
21206+
21207+
@Nullable
21208+
private String ensureSystemPackageName(@Nullable String packageName) {
21209+
if (packageName == null) {
21210+
return null;
21211+
}
21212+
if (getPackageInfo(packageName, MATCH_FACTORY_ONLY, UserHandle.USER_SYSTEM) == null) {
21213+
return null;
21214+
}
21215+
return packageName;
2119821216
}
2119921217

2120021218
@Override

0 commit comments

Comments
 (0)