diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java index 8921fee6c8e0a..3c0377ddaa11e 100644 --- a/services/core/java/com/android/server/pm/ShortcutPackage.java +++ b/services/core/java/com/android/server/pm/ShortcutPackage.java @@ -23,7 +23,6 @@ import android.app.appsearch.AppSearchManager; import android.app.appsearch.AppSearchResult; import android.app.appsearch.AppSearchSession; import android.app.appsearch.GetByDocumentIdRequest; -import android.app.appsearch.PackageIdentifier; import android.app.appsearch.PutDocumentsRequest; import android.app.appsearch.RemoveByDocumentIdRequest; import android.app.appsearch.ReportUsageRequest; @@ -180,11 +179,6 @@ class ShortcutPackage extends ShortcutPackageItem { */ private final ArrayList mShareTargets = new ArrayList<>(0); - /** - * All external packages that have gained access to the shortcuts from this package - */ - private final Map mPackageIdentifiers = new ArrayMap<>(0); - /** * # of times the package has called rate-limited APIs. */ @@ -2313,14 +2307,15 @@ class ShortcutPackage extends ShortcutPackageItem { } SetSchemaRequest.Builder schemaBuilder = new SetSchemaRequest.Builder() .addSchemas(AppSearchShortcutPerson.SCHEMA, AppSearchShortcutInfo.SCHEMA) - .setForceOverride(true); - for (PackageIdentifier pi : mPackageIdentifiers.values()) { - schemaBuilder = schemaBuilder - .setSchemaTypeVisibilityForPackage( - AppSearchShortcutPerson.SCHEMA_TYPE, true, pi) - .setSchemaTypeVisibilityForPackage( - AppSearchShortcutInfo.SCHEMA_TYPE, true, pi); - } + .setForceOverride(true) + .addRequiredPermissionsForSchemaTypeVisibility(AppSearchShortcutInfo.SCHEMA_TYPE, + Collections.singleton(SetSchemaRequest.READ_HOME_APP_SEARCH_DATA)) + .addRequiredPermissionsForSchemaTypeVisibility(AppSearchShortcutInfo.SCHEMA_TYPE, + Collections.singleton(SetSchemaRequest.READ_ASSISTANT_APP_SEARCH_DATA)) + .addRequiredPermissionsForSchemaTypeVisibility(AppSearchShortcutPerson.SCHEMA_TYPE, + Collections.singleton(SetSchemaRequest.READ_HOME_APP_SEARCH_DATA)) + .addRequiredPermissionsForSchemaTypeVisibility(AppSearchShortcutPerson.SCHEMA_TYPE, + Collections.singleton(SetSchemaRequest.READ_ASSISTANT_APP_SEARCH_DATA)); final AndroidFuture future = new AndroidFuture<>(); session.setSchema( schemaBuilder.build(), mExecutor, mShortcutUser.mExecutor, result -> {