From a66dfee8d0946b301dda9853e1782b7fef7600ff Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Fri, 11 May 2018 08:23:59 -0700 Subject: [PATCH] Allow onGetSliceDescendants to be slow Because sometimes it needs to be Test: existing tests Bug: 79132845 Bug: 77873463 Change-Id: I93aa8553c48c856bf96c347a229be6e770751708 --- core/java/android/app/slice/SliceManager.java | 2 ++ core/java/android/app/slice/SliceProvider.java | 7 +------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/core/java/android/app/slice/SliceManager.java b/core/java/android/app/slice/SliceManager.java index 22df6c03aee25..f682ec1c31d40 100644 --- a/core/java/android/app/slice/SliceManager.java +++ b/core/java/android/app/slice/SliceManager.java @@ -23,6 +23,7 @@ import android.annotation.Nullable; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemService; +import android.annotation.WorkerThread; import android.content.ContentProviderClient; import android.content.ContentResolver; import android.content.Context; @@ -217,6 +218,7 @@ public class SliceManager { * @return All slices within the space. * @see SliceProvider#onGetSliceDescendants(Uri) */ + @WorkerThread public @NonNull Collection getSliceDescendants(@NonNull Uri uri) { ContentResolver resolver = mContext.getContentResolver(); try (ContentProviderClient provider = resolver.acquireContentProviderClient(uri)) { diff --git a/core/java/android/app/slice/SliceProvider.java b/core/java/android/app/slice/SliceProvider.java index 9e4e97a011faf..6c57d81e317d2 100644 --- a/core/java/android/app/slice/SliceProvider.java +++ b/core/java/android/app/slice/SliceProvider.java @@ -398,12 +398,7 @@ public abstract class SliceProvider extends ContentProvider { private Collection handleGetDescendants(Uri uri) { mCallback = "onGetSliceDescendants"; - Handler.getMain().postDelayed(mAnr, SLICE_BIND_ANR); - try { - return onGetSliceDescendants(uri); - } finally { - Handler.getMain().removeCallbacks(mAnr); - } + return onGetSliceDescendants(uri); } private void handlePinSlice(Uri sliceUri) {