diff options
author | Chris Wren <cwren@android.com> | 2012-10-05 11:31:18 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2012-10-05 17:35:47 -0400 |
commit | 146ce64b748e2393e80174240624c2e9f2b61c41 (patch) | |
tree | e58614f5548035885152f8a57c8a709852f2e3df /src/com/android/dreams/phototable/AlbumSettings.java | |
parent | 012590f122eb38b4a50b4f9735d1a009d4053c14 (diff) | |
download | android_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.java | 11 |
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; |