Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 753eb655 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Revert "Revert "Workaround of Slice not pinned bug when using Sl...""...

Merge "Revert "Revert "Workaround of Slice not pinned bug when using Sl..."" into rvc-dev am: 15a62def

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12003874

Change-Id: Ibc086b620e35319115d8101f064143d7069c4598
parents bf6d8eb8 15a62def
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ 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;
@@ -32,6 +33,7 @@ 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;
@@ -115,7 +117,12 @@ 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;
    }
    }