Merge "Allow onGetSliceDescendants to be slow" into pi-dev
am: 02b9592ff1
Change-Id: I91899f01fd769c313e62000eee277ab3242099f0
This commit is contained in:
@@ -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)) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user