summaryrefslogtreecommitdiffstats
path: root/src/com/android/dreams/phototable/AlbumSettings.java
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2012-10-05 11:31:18 -0400
committerChris Wren <cwren@android.com>2012-10-05 17:35:47 -0400
commit146ce64b748e2393e80174240624c2e9f2b61c41 (patch)
treee58614f5548035885152f8a57c8a709852f2e3df /src/com/android/dreams/phototable/AlbumSettings.java
parent012590f122eb38b4a50b4f9735d1a009d4053c14 (diff)
downloadandroid_packages_screensavers_PhotoTable-146ce64b748e2393e80174240624c2e9f2b61c41.tar.gz
android_packages_screensavers_PhotoTable-146ce64b748e2393e80174240624c2e9f2b61c41.tar.bz2
android_packages_screensavers_PhotoTable-146ce64b748e2393e80174240624c2e9f2b61c41.zip
handle some edge cases: many albums, deleted albums, and slow network.
Bug: 7258024 Change-Id: If9ab2ecf6bc12881854df83a637dc1fdb685552c
Diffstat (limited to 'src/com/android/dreams/phototable/AlbumSettings.java')
-rw-r--r--src/com/android/dreams/phototable/AlbumSettings.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/dreams/phototable/AlbumSettings.java b/src/com/android/dreams/phototable/AlbumSettings.java
index a719d4f..23dda46 100644
--- a/src/com/android/dreams/phototable/AlbumSettings.java
+++ b/src/com/android/dreams/phototable/AlbumSettings.java
@@ -17,6 +17,7 @@ package com.android.dreams.phototable;
import android.content.SharedPreferences;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
@@ -69,6 +70,16 @@ public class AlbumSettings {
}
}
+ public void pruneObsoleteSettings(Collection<String> validAlbums) {
+ if (!validAlbums.containsAll(mEnabledAlbums)) {
+ synchronized (mEnabledAlbums) {
+ readEnabledAlbumsLocked();
+ mEnabledAlbums.retainAll(validAlbums);
+ writeEnabledAlbumsLocked();
+ }
+ }
+ }
+
public boolean isConfigured() {
synchronized (mEnabledAlbums) {
return mEnabledAlbums.size() != 0;