diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 89c913b8f5806..60ff0e150bc96 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -3490,13 +3490,14 @@ set to empty string), a default textclassifier will be loaded in the calling app's process. See android.view.textclassifier.TextClassificationManager. --> + - android.ext.services diff --git a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java index 603b01a17e148..6d6ec250e4cc3 100644 --- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java +++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java @@ -726,10 +726,12 @@ public final class DefaultPermissionGrantPolicy { userId, STORAGE_PERMISSIONS); // TextClassifier Service - String textClassifierPackageName = - mContext.getPackageManager().getSystemTextClassifierPackageName(); - if (!TextUtils.isEmpty(textClassifierPackageName)) { - grantPermissionsToSystemPackage(textClassifierPackageName, userId, + final String[] packages = mContext.getPackageManager().getSystemTextClassifierPackages(); + if (packages.length > 0) { + // We have a list of supported system TextClassifier package names, the first one + // package is the default system TextClassifier service. Grant permissions to default + // TextClassifier Service. + grantPermissionsToSystemPackage(packages[0], userId, COARSE_BACKGROUND_LOCATION_PERMISSIONS, CONTACTS_PERMISSIONS); } @@ -998,7 +1000,7 @@ public final class DefaultPermissionGrantPolicy { private void revokeRuntimePermissions(String packageName, Set permissions, boolean systemFixed, int userId) { PackageInfo pkg = getSystemPackageInfo(packageName); - if (ArrayUtils.isEmpty(pkg.requestedPermissions)) { + if (pkg == null || ArrayUtils.isEmpty(pkg.requestedPermissions)) { return; } Set revokablePermissions = new ArraySet<>(Arrays.asList(pkg.requestedPermissions));