Merge "Revert "Workaround of Slice not pinned bug when using SliceCallback"" into rvc-dev am: 77dcc34b26
am: 6983516124
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11970208 Change-Id: I9e03c8066fb014c5d23e5f62245e58e8a09dcb09
This commit is contained in:
@@ -22,7 +22,6 @@ import android.app.settings.SettingsEnums;
|
|||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -33,7 +32,6 @@ import androidx.slice.core.SliceAction;
|
|||||||
|
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.utils.ThreadUtils;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
@@ -117,12 +115,7 @@ public class EligibleCardChecker implements Callable<ContextualCard> {
|
|||||||
// Register a trivial callback to pin the slice
|
// Register a trivial callback to pin the slice
|
||||||
manager.registerSliceCallback(uri, callback);
|
manager.registerSliceCallback(uri, callback);
|
||||||
final Slice slice = manager.bindSlice(uri);
|
final Slice slice = manager.bindSlice(uri);
|
||||||
|
manager.unregisterSliceCallback(uri, callback);
|
||||||
// Workaround of unpinning slice in the same SerialExecutor of AsyncTask as SliceCallback's
|
|
||||||
// observer.
|
|
||||||
ThreadUtils.postOnMainThread(() ->
|
|
||||||
AsyncTask.execute(() -> manager.unregisterSliceCallback(uri, callback))
|
|
||||||
);
|
|
||||||
|
|
||||||
return slice;
|
return slice;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user