Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7a4d730 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "DO NOT MERGE Ensure package names read from config are system packages." into qt-dev

parents 28fe1003 4bf6bc5d
Loading
Loading
Loading
Loading
+36 −8
Original line number Diff line number Diff line
@@ -3114,8 +3114,7 @@ public class PackageManagerService extends IPackageManager.Stub
            mWellbeingPackage = getWellbeingPackageName();
            mDocumenterPackage = getDocumenterPackageName();
            mConfiguratorPackage =
                    mContext.getString(R.string.config_deviceConfiguratorPackageName);
            mConfiguratorPackage = getDeviceConfiguratorPackageName();
            mAppPredictionServicePackage = getAppPredictionServicePackageName();
            mIncidentReportApproverPackage = getIncidentReportApproverPackageName();
@@ -21109,7 +21108,8 @@ public class PackageManagerService extends IPackageManager.Stub
    @Override
    public String getSystemTextClassifierPackageName() {
        return mContext.getString(R.string.config_defaultTextClassifierPackage);
        return ensureSystemPackageName(mContext.getString(
                R.string.config_defaultTextClassifierPackage));
    }
    @Override
@@ -21119,7 +21119,7 @@ public class PackageManagerService extends IPackageManager.Stub
        if (flattenedComponentName != null) {
            ComponentName componentName = ComponentName.unflattenFromString(flattenedComponentName);
            if (componentName != null && componentName.getPackageName() != null) {
                return componentName.getPackageName();
                return ensureSystemPackageName(componentName.getPackageName());
            }
        }
        return null;
@@ -21144,9 +21144,15 @@ public class PackageManagerService extends IPackageManager.Stub
        }
    }
    @Nullable
    private String getDeviceConfiguratorPackageName() {
        return ensureSystemPackageName(mContext.getString(
                R.string.config_deviceConfiguratorPackageName));
    }
    @Override
    public String getWellbeingPackageName() {
        return mContext.getString(R.string.config_defaultWellbeingPackage);
        return ensureSystemPackageName(mContext.getString(R.string.config_defaultWellbeingPackage));
    }
    @Override
@@ -21161,7 +21167,7 @@ public class PackageManagerService extends IPackageManager.Stub
        if (appPredictionServiceComponentName == null) {
            return null;
        }
        return appPredictionServiceComponentName.getPackageName();
        return ensureSystemPackageName(appPredictionServiceComponentName.getPackageName());
    }
    @Override
@@ -21178,11 +21184,33 @@ public class PackageManagerService extends IPackageManager.Stub
        if (systemCaptionsServiceComponentName == null) {
            return null;
        }
        return systemCaptionsServiceComponentName.getPackageName();
        return ensureSystemPackageName(systemCaptionsServiceComponentName.getPackageName());
    }
    public String getIncidentReportApproverPackageName() {
        return mContext.getString(R.string.config_incidentReportApproverPackage);
        return ensureSystemPackageName(mContext.getString(
                R.string.config_incidentReportApproverPackage));
    }
    @Nullable
    private String ensureSystemPackageName(@Nullable String packageName) {
        if (packageName == null) {
            return null;
        }
        long token = Binder.clearCallingIdentity();
        try {
            if (getPackageInfo(packageName, MATCH_FACTORY_ONLY, UserHandle.USER_SYSTEM) == null) {
                PackageInfo packageInfo = getPackageInfo(packageName, 0, UserHandle.USER_SYSTEM);
                if (packageInfo != null) {
                    EventLog.writeEvent(0x534e4554, "145981139", packageInfo.applicationInfo.uid,
                            "");
                }
                return null;
            }
        } finally {
            Binder.restoreCallingIdentity(token);
        }
        return packageName;
    }
    @Override