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

Commit 98f7b2b2 authored by Xuanang Zhao's avatar Xuanang Zhao
Browse files

Clean the slice in onUnpinned rather than onBinded.

Change-Id: Idda7cbedb0ce7b0ec83fc2f11a2505634d2b465c
Bug: 249101421
parent fcf10fa0
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -187,6 +187,7 @@ public class SettingsSliceProvider extends SliceProvider {

    @Override
    public void onSliceUnpinned(Uri sliceUri) {
        mSliceWeakDataCache.remove(sliceUri);
        final Context context = getContext();
        if (!VolumeSliceHelper.unregisterUri(context, sliceUri)) {
            SliceBroadcastRelay.unregisterReceivers(context, sliceUri);
@@ -258,11 +259,6 @@ public class SettingsSliceProvider extends SliceProvider {
                loadSliceInBackground(sliceUri);
                return getSliceStub(sliceUri);
            }

            // Remove the SliceData from the cache after it has been used to prevent a memory-leak.
            if (!getPinnedSlices().contains(sliceUri)) {
                mSliceWeakDataCache.remove(sliceUri);
            }
            return SliceBuilderUtils.buildSlice(getContext(), cachedSliceData);
        } finally {
            StrictMode.setThreadPolicy(oldPolicy);