summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorAndrii Kulian <akulian@google.com>2020-06-25 22:57:42 +0000
committerAndrii Kulian <akulian@google.com>2020-06-25 23:50:53 +0000
commitf11088a88644e842a137c82c14813cfe8ef72953 (patch)
tree3c65cd9321c02360ec463ef63342427245093854 /src/com/android
parent1b514c3f3776b811c1d0a0af8ccd9a77f21d6d73 (diff)
downloadpackages_apps_Settings-f11088a88644e842a137c82c14813cfe8ef72953.tar.gz
packages_apps_Settings-f11088a88644e842a137c82c14813cfe8ef72953.tar.bz2
packages_apps_Settings-f11088a88644e842a137c82c14813cfe8ef72953.zip
Revert "Revert "Workaround of Slice not pinned bug when using Sl..."
Revert "Import AndroidX from build 6620107" Revert submission 11970208-update_slice_view Reason for revert: b/159943588 Reverted Changes: Id09f4f6aa:Import AndroidX from build 6620107 Icb150b4f6:Revert "Workaround of Slice not pinned bug when us... Bug: 157387583 Bug: 159943588 Change-Id: Iedd9883ea144395b9d4afb011a218fe5dcb6b560
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
index 43403306cb..46b4c869ec 100644
--- a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
+++ b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
@@ -22,6 +22,7 @@ import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context;
import android.net.Uri;
+import android.os.AsyncTask;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -32,6 +33,7 @@ import androidx.slice.core.SliceAction;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.utils.ThreadUtils;
import java.util.List;
import java.util.concurrent.Callable;
@@ -115,7 +117,12 @@ public class EligibleCardChecker implements Callable<ContextualCard> {
// Register a trivial callback to pin the slice
manager.registerSliceCallback(uri, callback);
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;
}