Merge "Allow onGetSliceDescendants to be slow" into pi-dev

am: 02b9592ff1

Change-Id: I91899f01fd769c313e62000eee277ab3242099f0
This commit is contained in:
Jason Monk
2018-05-11 10:37:59 -07:00
committed by android-build-merger
2 changed files with 3 additions and 6 deletions

View File

@@ -23,6 +23,7 @@ import android.annotation.Nullable;
import android.annotation.SdkConstant; import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemService; import android.annotation.SystemService;
import android.annotation.WorkerThread;
import android.content.ContentProviderClient; import android.content.ContentProviderClient;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
@@ -217,6 +218,7 @@ public class SliceManager {
* @return All slices within the space. * @return All slices within the space.
* @see SliceProvider#onGetSliceDescendants(Uri) * @see SliceProvider#onGetSliceDescendants(Uri)
*/ */
@WorkerThread
public @NonNull Collection<Uri> getSliceDescendants(@NonNull Uri uri) { public @NonNull Collection<Uri> getSliceDescendants(@NonNull Uri uri) {
ContentResolver resolver = mContext.getContentResolver(); ContentResolver resolver = mContext.getContentResolver();
try (ContentProviderClient provider = resolver.acquireContentProviderClient(uri)) { try (ContentProviderClient provider = resolver.acquireContentProviderClient(uri)) {

View File

@@ -398,12 +398,7 @@ public abstract class SliceProvider extends ContentProvider {
private Collection<Uri> handleGetDescendants(Uri uri) { private Collection<Uri> handleGetDescendants(Uri uri) {
mCallback = "onGetSliceDescendants"; mCallback = "onGetSliceDescendants";
Handler.getMain().postDelayed(mAnr, SLICE_BIND_ANR); return onGetSliceDescendants(uri);
try {
return onGetSliceDescendants(uri);
} finally {
Handler.getMain().removeCallbacks(mAnr);
}
} }
private void handlePinSlice(Uri sliceUri) { private void handlePinSlice(Uri sliceUri) {