Loading src/com/android/settings/slices/SettingsSliceProvider.java +2 −13 Original line number Diff line number Diff line Loading @@ -28,12 +28,12 @@ import android.provider.Settings; import android.provider.SettingsSlicesContract; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; import android.util.KeyValueListParser; import android.util.Log; import android.util.Pair; import androidx.annotation.VisibleForTesting; import androidx.collection.ArraySet; import androidx.slice.Slice; import androidx.slice.SliceProvider; Loading @@ -53,7 +53,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; /** * A {@link SliceProvider} for Settings to enabled inline results in system apps. Loading Loading @@ -123,9 +122,6 @@ public class SettingsSliceProvider extends SliceProvider { @VisibleForTesting Map<Uri, SliceData> mSliceWeakDataCache; @VisibleForTesting Map<Uri, SliceData> mSliceDataCache; final Map<Uri, SliceBackgroundWorker> mPinnedWorkers = new ArrayMap<>(); public SettingsSliceProvider() { Loading @@ -135,7 +131,6 @@ public class SettingsSliceProvider extends SliceProvider { @Override public boolean onCreateSliceProvider() { mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(getContext()); mSliceDataCache = new ConcurrentHashMap<>(); mSliceWeakDataCache = new WeakHashMap<>(); return true; } Loading Loading @@ -170,7 +165,6 @@ public class SettingsSliceProvider extends SliceProvider { public void onSliceUnpinned(Uri sliceUri) { SliceBroadcastRelay.unregisterReceivers(getContext(), sliceUri); ThreadUtils.postOnMainThread(() -> stopBackgroundWorker(sliceUri)); mSliceDataCache.remove(sliceUri); } @Override Loading Loading @@ -226,7 +220,7 @@ public class SettingsSliceProvider extends SliceProvider { } // Remove the SliceData from the cache after it has been used to prevent a memory-leak. if (!mSliceDataCache.containsKey(sliceUri)) { if (!getPinnedSlices().contains(sliceUri)) { mSliceWeakDataCache.remove(sliceUri); } return SliceBuilderUtils.buildSlice(getContext(), cachedSliceData); Loading Loading @@ -396,11 +390,6 @@ public class SettingsSliceProvider extends SliceProvider { ThreadUtils.postOnMainThread(() -> startBackgroundWorker(controller, uri)); final List<Uri> pinnedSlices = getContext().getSystemService( SliceManager.class).getPinnedSlices(); if (pinnedSlices.contains(uri)) { mSliceDataCache.put(uri, sliceData); } mSliceWeakDataCache.put(uri, sliceData); getContext().getContentResolver().notifyChange(uri, null /* content observer */); Loading tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java +0 −37 Original line number Diff line number Diff line Loading @@ -133,7 +133,6 @@ public class SettingsSliceProviderTest { mProvider = spy(new SettingsSliceProvider()); ShadowStrictMode.reset(); mProvider.mSliceWeakDataCache = new HashMap<>(); mProvider.mSliceDataCache = new HashMap<>(); mProvider.mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(mContext); when(mProvider.getContext()).thenReturn(mContext); Loading Loading @@ -197,30 +196,6 @@ public class SettingsSliceProviderTest { .isEqualTo(FakeToggleController.TestWorker.class); } @Test public void testLoadSlice_doesNotCacheWithoutPin() { insertSpecialCase(KEY); final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false); mProvider.loadSlice(uri); SliceData data = mProvider.mSliceDataCache.get(uri); assertThat(data).isNull(); } @Test public void testLoadSlice_cachesWithPin() { insertSpecialCase(KEY); final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false); when(mManager.getPinnedSlices()).thenReturn(Arrays.asList(uri)); mProvider.loadSlice(uri); SliceData data = mProvider.mSliceDataCache.get(uri); assertThat(data.getKey()).isEqualTo(KEY); assertThat(data.getTitle()).isEqualTo(TITLE); } @Test public void testLoadSlice_cachedEntryRemovedOnBuild() { SliceData data = getDummyData(); Loading Loading @@ -276,18 +251,6 @@ public class SettingsSliceProviderTest { assertThat(slice).isNull(); } @Test public void testLoadSlice_cachedEntryRemovedOnUnpin() { SliceData data = getDummyData(); mProvider.mSliceDataCache.put(data.getUri(), data); mProvider.onSliceUnpinned(data.getUri()); insertSpecialCase(data.getKey()); SliceData cachedData = mProvider.mSliceWeakDataCache.get(data.getUri()); assertThat(cachedData).isNull(); } @Test public void getDescendantUris_fullActionUri_returnsSelf() { final Uri uri = SliceBuilderUtils.getUri( Loading Loading
src/com/android/settings/slices/SettingsSliceProvider.java +2 −13 Original line number Diff line number Diff line Loading @@ -28,12 +28,12 @@ import android.provider.Settings; import android.provider.SettingsSlicesContract; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; import android.util.KeyValueListParser; import android.util.Log; import android.util.Pair; import androidx.annotation.VisibleForTesting; import androidx.collection.ArraySet; import androidx.slice.Slice; import androidx.slice.SliceProvider; Loading @@ -53,7 +53,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; /** * A {@link SliceProvider} for Settings to enabled inline results in system apps. Loading Loading @@ -123,9 +122,6 @@ public class SettingsSliceProvider extends SliceProvider { @VisibleForTesting Map<Uri, SliceData> mSliceWeakDataCache; @VisibleForTesting Map<Uri, SliceData> mSliceDataCache; final Map<Uri, SliceBackgroundWorker> mPinnedWorkers = new ArrayMap<>(); public SettingsSliceProvider() { Loading @@ -135,7 +131,6 @@ public class SettingsSliceProvider extends SliceProvider { @Override public boolean onCreateSliceProvider() { mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(getContext()); mSliceDataCache = new ConcurrentHashMap<>(); mSliceWeakDataCache = new WeakHashMap<>(); return true; } Loading Loading @@ -170,7 +165,6 @@ public class SettingsSliceProvider extends SliceProvider { public void onSliceUnpinned(Uri sliceUri) { SliceBroadcastRelay.unregisterReceivers(getContext(), sliceUri); ThreadUtils.postOnMainThread(() -> stopBackgroundWorker(sliceUri)); mSliceDataCache.remove(sliceUri); } @Override Loading Loading @@ -226,7 +220,7 @@ public class SettingsSliceProvider extends SliceProvider { } // Remove the SliceData from the cache after it has been used to prevent a memory-leak. if (!mSliceDataCache.containsKey(sliceUri)) { if (!getPinnedSlices().contains(sliceUri)) { mSliceWeakDataCache.remove(sliceUri); } return SliceBuilderUtils.buildSlice(getContext(), cachedSliceData); Loading Loading @@ -396,11 +390,6 @@ public class SettingsSliceProvider extends SliceProvider { ThreadUtils.postOnMainThread(() -> startBackgroundWorker(controller, uri)); final List<Uri> pinnedSlices = getContext().getSystemService( SliceManager.class).getPinnedSlices(); if (pinnedSlices.contains(uri)) { mSliceDataCache.put(uri, sliceData); } mSliceWeakDataCache.put(uri, sliceData); getContext().getContentResolver().notifyChange(uri, null /* content observer */); Loading
tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java +0 −37 Original line number Diff line number Diff line Loading @@ -133,7 +133,6 @@ public class SettingsSliceProviderTest { mProvider = spy(new SettingsSliceProvider()); ShadowStrictMode.reset(); mProvider.mSliceWeakDataCache = new HashMap<>(); mProvider.mSliceDataCache = new HashMap<>(); mProvider.mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(mContext); when(mProvider.getContext()).thenReturn(mContext); Loading Loading @@ -197,30 +196,6 @@ public class SettingsSliceProviderTest { .isEqualTo(FakeToggleController.TestWorker.class); } @Test public void testLoadSlice_doesNotCacheWithoutPin() { insertSpecialCase(KEY); final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false); mProvider.loadSlice(uri); SliceData data = mProvider.mSliceDataCache.get(uri); assertThat(data).isNull(); } @Test public void testLoadSlice_cachesWithPin() { insertSpecialCase(KEY); final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false); when(mManager.getPinnedSlices()).thenReturn(Arrays.asList(uri)); mProvider.loadSlice(uri); SliceData data = mProvider.mSliceDataCache.get(uri); assertThat(data.getKey()).isEqualTo(KEY); assertThat(data.getTitle()).isEqualTo(TITLE); } @Test public void testLoadSlice_cachedEntryRemovedOnBuild() { SliceData data = getDummyData(); Loading Loading @@ -276,18 +251,6 @@ public class SettingsSliceProviderTest { assertThat(slice).isNull(); } @Test public void testLoadSlice_cachedEntryRemovedOnUnpin() { SliceData data = getDummyData(); mProvider.mSliceDataCache.put(data.getUri(), data); mProvider.onSliceUnpinned(data.getUri()); insertSpecialCase(data.getKey()); SliceData cachedData = mProvider.mSliceWeakDataCache.get(data.getUri()); assertThat(cachedData).isNull(); } @Test public void getDescendantUris_fullActionUri_returnsSelf() { final Uri uri = SliceBuilderUtils.getUri( Loading