diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java index 8921fee6c8e0a..5ba334768defb 100644 --- a/services/core/java/com/android/server/pm/ShortcutPackage.java +++ b/services/core/java/com/android/server/pm/ShortcutPackage.java @@ -19,9 +19,12 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UserIdInt; import android.app.Person; +import android.app.appsearch.AppSearchBatchResult; import android.app.appsearch.AppSearchManager; import android.app.appsearch.AppSearchResult; import android.app.appsearch.AppSearchSession; +import android.app.appsearch.BatchResultCallback; +import android.app.appsearch.GenericDocument; import android.app.appsearch.GetByDocumentIdRequest; import android.app.appsearch.PackageIdentifier; import android.app.appsearch.PutDocumentsRequest; @@ -2384,14 +2387,24 @@ class ShortcutPackage extends ShortcutPackageItem { } runAsSystem(() -> fromAppSearch().thenAccept(session -> { session.getByDocumentId(new GetByDocumentIdRequest.Builder(getPackageName()) - .addIds(ids).build(), mShortcutUser.mExecutor, result -> { - final List ret = result.getSuccesses().values() - .stream().map(doc -> - ShortcutInfo.createFromGenericDocument( - mShortcutUser.getUserId(), doc)) - .collect(Collectors.toList()); - cb.accept(ret); - }); + .addIds(ids).build(), mShortcutUser.mExecutor, + new BatchResultCallback() { + @Override + public void onResult( + @NonNull AppSearchBatchResult result) { + final List ret = result.getSuccesses().values() + .stream().map(doc -> + ShortcutInfo.createFromGenericDocument( + mShortcutUser.getUserId(), doc)) + .collect(Collectors.toList()); + cb.accept(ret); + } + @Override + public void onSystemError( + @Nullable Throwable throwable) { + Slog.d(TAG, "Error retrieving shortcuts", throwable); + } + }); })); } @@ -2407,15 +2420,24 @@ class ShortcutPackage extends ShortcutPackageItem { runAsSystem(() -> fromAppSearch().thenAccept(session -> session.remove( new RemoveByDocumentIdRequest.Builder(getPackageName()).addIds(ids).build(), - mShortcutUser.mExecutor, result -> { - if (!result.isSuccess()) { - final Map> failures = - result.getFailures(); - for (String key : failures.keySet()) { - Slog.e(TAG, "Failed deleting " + key + ", error message:" - + failures.get(key).getErrorMessage()); + mShortcutUser.mExecutor, + new BatchResultCallback() { + @Override + public void onResult( + @NonNull AppSearchBatchResult result) { + if (!result.isSuccess()) { + final Map> failures = + result.getFailures(); + for (String key : failures.keySet()) { + Slog.e(TAG, "Failed deleting " + key + ", error message:" + + failures.get(key).getErrorMessage()); + } } } + @Override + public void onSystemError(@Nullable Throwable throwable) { + Slog.e(TAG, "Error removing shortcuts", throwable); + } }))); } @@ -2452,12 +2474,20 @@ class ShortcutPackage extends ShortcutPackageItem { AppSearchShortcutInfo.toGenericDocuments(shortcuts)) .build(), mShortcutUser.mExecutor, - result -> { - if (!result.isSuccess()) { - for (AppSearchResult k : result.getFailures().values()) { - Slog.e(TAG, k.getErrorMessage()); + new BatchResultCallback() { + @Override + public void onResult( + @NonNull AppSearchBatchResult result) { + if (!result.isSuccess()) { + for (AppSearchResult k : result.getFailures().values()) { + Slog.e(TAG, k.getErrorMessage()); + } } } + @Override + public void onSystemError(@Nullable Throwable throwable) { + Slog.d(TAG, "Error persisting shortcuts", throwable); + } }); })); }