aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/strings.xml34
-rw-r--r--res/xml/preferences_media.xml9
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/Colors.java4
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java62
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java21
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/TextureManager.java7
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java13
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/GeneralPreferenceFragment.java5
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/LandscapeDispositionFragment.java11
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java3
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/PortraitDispositionFragment.java11
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java44
12 files changed, 158 insertions, 66 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index be80054..7b7a071 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -36,52 +36,54 @@
<!-- Preferences -->
<string name="pref_general">General</string>
- <string name="pref_general_summary">Access to general settings, effects and transitions</string>
+ <string name="pref_general_summary">Access to general settings, effects and transitions.</string>
<string name="pref_general_settings">Settings</string>
<string name="pref_general_settings_wallpaper_dim">Wallpaper dim</string>
<string name="pref_general_settings_wallpaper_dim_format">%s%%</string>
- <string name="pref_general_settings_wallpaper_dim_summary">Set the brightness of the wallpaper for a better visualization and battery performance</string>
+ <string name="pref_general_settings_wallpaper_dim_summary">Set the brightness of the wallpaper for a better visualization and battery performance.</string>
<string name="pref_general_settings_background_color">Background color</string>
- <string name="pref_general_settings_background_color_summary">Set the background color of the wallpaper</string>
+ <string name="pref_general_settings_background_color_summary">Set the background color of the wallpaper.</string>
<string name="pref_general_touch_action">Touch action</string>
- <string name="pref_general_touch_action_summary">Select the action to apply when touch a frame</string>
+ <string name="pref_general_touch_action_summary">Select the action to apply when touch a frame.</string>
<string name="pref_general_aspect_ratio_correction">Aspect ratio correction</string>
- <string name="pref_general_aspect_ratio_correction_summary">Select the aspect ratio correction to apply</string>
+ <string name="pref_general_aspect_ratio_correction_summary">Select the aspect ratio correction to apply.</string>
<string name="pref_general_transitions">Transitions</string>
<string name="pref_general_transitions_types">Types</string>
- <string name="pref_general_transitions_types_summary">Select the types of transition effects to be applied</string>
+ <string name="pref_general_transitions_types_summary">Select the types of transition effects to be applied.</string>
<string name="pref_general_transitions_interval">Interval</string>
- <string name="pref_general_transitions_interval_summary">Set how often are triggered the picture transitions</string>
+ <string name="pref_general_transitions_interval_summary">Set how often are triggered the picture transitions.</string>
<string name="pref_general_transitions_interval_format">%s sec.</string>
<string name="pref_general_effects">Effects</string>
<string name="pref_general_effects_types">Types</string>
- <string name="pref_general_effects_types_summary">Select the types of image effects to be applied to the pictures</string>
+ <string name="pref_general_effects_types_summary">Select the types of image effects to be applied to the pictures.</string>
<string name="pref_media">Media</string>
- <string name="pref_media_summary">Set the pictures and albums to be displayed, the refresh interval and other media settings</string>
+ <string name="pref_media_summary">Set the pictures and albums to be displayed, the refresh interval and other media settings.</string>
<string name="pref_media_settings">Settings</string>
<string name="pref_media_settings_refresh_interval">Refresh interval</string>
<string name="pref_media_settings_refresh_interval_disable">The search of new pictures is disabled</string>
- <string name="pref_media_settings_refresh_interval_summary">Search for new pictures every <xliff:g id="interval">%1$s</xliff:g></string>
+ <string name="pref_media_settings_refresh_interval_summary">Search for new pictures every <xliff:g id="interval">%1$s</xliff:g>.</string>
<string name="pref_media_settings_refresh_now">Refresh now</string>
- <string name="pref_media_settings_refresh_now_summary">Refresh the pictures and albums database right now</string>
+ <string name="pref_media_settings_refresh_now_summary">Refresh the pictures and albums database right now.</string>
<string name="pref_media_pictures">Pictures</string>
<string name="pref_media_albums">Albums</string>
- <string name="pref_media_albums_summary">Set the albums and pictures that will be displayed on the wallpaper</string>
+ <string name="pref_media_albums_summary">Set the albums and pictures that will be displayed on the wallpaper.</string>
+ <string name="pref_media_auto_select_new">Auto select albums</string>
+ <string name="pref_media_auto_select_new_summary">Select automatically new albums when media discovery occurs.</string>
<string name="pref_layout">Layout</string>
- <string name="pref_layout_summary">Select how pictures are disposed on the screen</string>
+ <string name="pref_layout_summary">Select how pictures are disposed on the screen.</string>
<string name="pref_layout_disposition">Disposition</string>
<string name="pref_disposition_portrait">Portrait disposition</string>
- <string name="pref_disposition_portrait_summary">Select how pictures are disposed on a portrait screen</string>
+ <string name="pref_disposition_portrait_summary">Select how pictures are disposed on a portrait screen.</string>
<string name="pref_disposition_landscape">Landscape disposition</string>
- <string name="pref_disposition_landscape_summary">Select how pictures are disposed on a landscape screen</string>
+ <string name="pref_disposition_landscape_summary">Select how pictures are disposed on a landscape screen.</string>
<string name="pref_disposition_description">Long tap a frame to select it. Then drag \u0026 drop the borders of the frame to resize it.</string>
<string name="pref_disposition_unable_delete_advise">Unable to delete the selected frame</string>
<string name="pref_about">About</string>
- <string name="pref_about_summary">PhotoPhase v<xliff:g id="version">%1$s</xliff:g>\nCopyright \u00A9 2013 The CyanogenMod Project</string>
+ <string name="pref_about_summary">PhotoPhase v<xliff:g id="version">%1$s</xliff:g>\nCopyright \u00A9 2013 The CyanogenMod Project.</string>
<!-- Refresh intervals -->
<string name="refresh_intervals_disabled">Disabled</string>
diff --git a/res/xml/preferences_media.xml b/res/xml/preferences_media.xml
index 99bd1f9..c2d65ab 100644
--- a/res/xml/preferences_media.xml
+++ b/res/xml/preferences_media.xml
@@ -44,7 +44,7 @@
android:key="category_pictures"
android:title="@string/pref_media_pictures">
- <!-- Refresh now -->
+ <!-- Albums -->
<Preference
android:key="ui_media_albums"
android:title="@string/pref_media_albums"
@@ -52,6 +52,13 @@
android:fragment="org.cyanogenmod.wallpapers.photophase.preferences.ChoosePicturesFragment"
android:persistent="false" />
+ <!-- Auto select new albums -->
+ <CheckBoxPreference
+ android:key="ui_media_auto_select_new"
+ android:title="@string/pref_media_auto_select_new"
+ android:summary="@string/pref_media_auto_select_new_summary"
+ android:defaultValue="true" />
+
</PreferenceCategory>
</PreferenceScreen>
diff --git a/src/org/cyanogenmod/wallpapers/photophase/Colors.java b/src/org/cyanogenmod/wallpapers/photophase/Colors.java
index 3c3ffb9..f422498 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/Colors.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/Colors.java
@@ -20,7 +20,7 @@ import android.content.Context;
import android.content.res.Resources;
import org.cyanogenmod.wallpapers.photophase.GLESUtil.GLColor;
-import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
/**
* A class that defines some wallpaper GLColor colors.
@@ -35,7 +35,7 @@ public class Colors {
*/
public static void register(Context ctx) {
Resources res = ctx.getResources();
- sBackground = PreferencesProvider.Preferences.General.getBackgroundColor();
+ sBackground = Preferences.General.getBackgroundColor();
sOverlay = new GLColor(res.getColor(R.color.wallpaper_overlay_color));
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java b/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java
index 2a84ffe..afe699d 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java
@@ -24,8 +24,11 @@ import android.os.AsyncTask;
import android.provider.MediaStore;
import android.util.Log;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
+
import java.io.File;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -49,7 +52,7 @@ public class MediaPictureDiscoverer {
*
* @param mpc The reference to the discoverer
* @param images All the images paths found
- * @param userRequest If the user requested this media discover
+ * @param userRequest If the user requested this media discovery
*/
void onMediaDiscovered(MediaPictureDiscoverer mpc, File[] images, boolean userRequest);
}
@@ -62,22 +65,27 @@ public class MediaPictureDiscoverer {
private final ContentResolver mFinalContentResolver;
private final OnMediaPictureDiscoveredListener mFinalCallback;
private final Set<String> mFilter;
+ private final Set<String> mLastAlbums;
+ private final Set<String> mNewAlbums;
+ private final boolean mIsAutoSelectNewAlbums;
private final boolean mUserRequest;
/**
* Constructor of <code>AsyncDiscoverTask</code>
*
* @param cr The {@link ContentResolver}
- * @param filter The filter of pictures and albums to retrieve
* @param cb The {@link OnMediaPictureDiscoveredListener} listener
* @param userRequest If the request was generated by the user
*/
- public AsyncDiscoverTask(ContentResolver cr, Set<String> filter,
- OnMediaPictureDiscoveredListener cb, boolean userRequest) {
+ public AsyncDiscoverTask(
+ ContentResolver cr, OnMediaPictureDiscoveredListener cb, boolean userRequest) {
super();
mFinalContentResolver = cr;
mFinalCallback = cb;
- mFilter = filter;
+ mFilter = Preferences.Media.getSelectedMedia();
+ mLastAlbums = Preferences.Media.getLastDiscorevedAlbums();
+ mIsAutoSelectNewAlbums = Preferences.Media.isAutoSelectNewAlbums();
+ mNewAlbums = new HashSet<String>();
mUserRequest = userRequest;
}
@@ -111,6 +119,10 @@ public class MediaPictureDiscoverer {
// Return and empty list
return new ArrayList<File>();
+ } finally {
+ // Save the filter (could have new albums)
+ Preferences.Media.setSelectedMedia(mContext, mFilter);
+ Preferences.Media.setLastDiscorevedAlbums(mContext, mNewAlbums);
}
}
@@ -158,8 +170,14 @@ public class MediaPictureDiscoverer {
String p = c.getString(0);
if (p != null) {
File f = new File(p);
- if (f.isFile() && f.canRead() && matchFilter(f)) {
- paths.add(f);
+ if (f.isFile() && f.canRead()) {
+ // Catalog the file
+ catalog(f);
+
+ // Check if is a valid filter
+ if (matchFilter(f)) {
+ paths.add(f);
+ }
}
}
}
@@ -200,9 +218,32 @@ public class MediaPictureDiscoverer {
}
return noFilter;
}
+
+ /**
+ * Method that catalog the file (set its album and determine if is a new album)
+ *
+ * @param f The file to catalog
+ */
+ private void catalog(File f) {
+ File parent = f.getParentFile();
+ String album = parent.getName();
+ String albumPath = parent.getAbsolutePath();
+
+ // Add to new albums
+ mNewAlbums.add(album);
+
+ // Is a new album?
+ if (!mLastAlbums.contains(album)) {
+ // Is in the filter?
+ if (mIsAutoSelectNewAlbums && !mFilter.contains(albumPath)) {
+ // Add the album to the selected filter
+ mFilter.add(parent.getAbsolutePath());
+ }
+ }
+ }
}
- private final Context mContext;
+ /*package*/ final Context mContext;
private final OnMediaPictureDiscoveredListener mCallback;
private AsyncDiscoverTask mTask;
@@ -222,14 +263,13 @@ public class MediaPictureDiscoverer {
/**
* Method that request a new reload of the media store picture data.
*
- * @param filter The filter of pictures and albums where to search images
* @param userRequest If the request was generated by the user
*/
- public synchronized void discover(Set<String> filter, boolean userRequest) {
+ public synchronized void discover(boolean userRequest) {
if (mTask != null && !mTask.isCancelled()) {
mTask.cancel(true);
}
- mTask = new AsyncDiscoverTask(mContext.getContentResolver(), filter, mCallback, userRequest);
+ mTask = new AsyncDiscoverTask(mContext.getContentResolver(), mCallback, userRequest);
mTask.execute();
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
index 266606d..1ea7bec 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
@@ -38,6 +38,7 @@ import android.util.Log;
import org.cyanogenmod.wallpapers.photophase.GLESUtil.GLColor;
import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
import org.cyanogenmod.wallpapers.photophase.preferences.TouchAction;
import org.cyanogenmod.wallpapers.photophase.shapes.ColorShape;
import org.cyanogenmod.wallpapers.photophase.transitions.Transition;
@@ -206,8 +207,8 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
mContext.registerReceiver(mSettingsChangedReceiver, filter);
// Check whether the media scan is active
- int interval = PreferencesProvider.Preferences.Media.getRefreshFrecuency();
- if (interval != PreferencesProvider.Preferences.Media.MEDIA_RELOAD_DISABLED) {
+ int interval = Preferences.Media.getRefreshFrecuency();
+ if (interval != Preferences.Media.MEDIA_RELOAD_DISABLED) {
// Schedule a media scan
scheduleMediaScan(interval);
}
@@ -260,7 +261,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
public void onTouch(float x , float y) {
if (mWorld != null) {
// Do user action
- TouchAction touchAction = PreferencesProvider.Preferences.General.getTouchAction();
+ TouchAction touchAction = Preferences.General.getTouchAction();
if (touchAction.compareTo(TouchAction.NONE) == 0) {
//Ignore
} else {
@@ -330,8 +331,8 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
}
void scheduleOrCancelMediaScan() {
- int interval = PreferencesProvider.Preferences.Media.getRefreshFrecuency();
- if (interval != PreferencesProvider.Preferences.Media.MEDIA_RELOAD_DISABLED) {
+ int interval = Preferences.Media.getRefreshFrecuency();
+ if (interval != Preferences.Media.MEDIA_RELOAD_DISABLED) {
scheduleMediaScan(interval);
} else {
cancelMediaScan();
@@ -350,7 +351,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
i.putExtra(PreferencesProvider.EXTRA_FLAG_MEDIA_RELOAD, Boolean.TRUE);
mMediaScanIntent = PendingIntent.getBroadcast(mContext, 0, i, PendingIntent.FLAG_CANCEL_CURRENT);
- long milliseconds = PreferencesProvider.Preferences.Media.getRefreshFrecuency() * 1000L;
+ long milliseconds = Preferences.Media.getRefreshFrecuency() * 1000L;
am.set(AlarmManager.RTC, System.currentTimeMillis() + milliseconds, mMediaScanIntent);
}
@@ -428,8 +429,8 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
int mh = h - AndroidHelper.calculateStatusBarHeight(mContext);
Rect dimensions = new Rect(0, 0, w, mh);
int cc = (orientation == Configuration.ORIENTATION_PORTRAIT)
- ? PreferencesProvider.Preferences.Layout.getPortraitDisposition().size()
- : PreferencesProvider.Preferences.Layout.getLandscapeDisposition().size();
+ ? Preferences.Layout.getPortraitDisposition().size()
+ : Preferences.Layout.getLandscapeDisposition().size();
// Recycle the current texture manager and create a new one
recycle();
@@ -516,7 +517,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
mWorld.deselectTransition(mMVPMatrix);
mLastRunningTransition = 0;
mHandler.postDelayed(mTransitionThread,
- PreferencesProvider.Preferences.General.Transitions.getTransitionInterval());
+ Preferences.General.Transitions.getTransitionInterval());
}
}
@@ -552,7 +553,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
*/
private void drawOverlay() {
if (mOverlay != null) {
- mOverlay.setAlpha(PreferencesProvider.Preferences.General.getWallpaperDim() / 100.0f);
+ mOverlay.setAlpha(Preferences.General.getWallpaperDim() / 100.0f);
mOverlay.draw(mMVPMatrix);
}
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
index 93e0740..c538199 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
@@ -27,7 +27,6 @@ import org.cyanogenmod.wallpapers.photophase.FixedQueue.EmptyQueueException;
import org.cyanogenmod.wallpapers.photophase.GLESUtil.GLESTextureInfo;
import org.cyanogenmod.wallpapers.photophase.MediaPictureDiscoverer.OnMediaPictureDiscoveredListener;
import org.cyanogenmod.wallpapers.photophase.effects.Effects;
-import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
import java.io.File;
import java.util.ArrayList;
@@ -186,8 +185,8 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
*/
void reloadMedia(boolean userRequest) {
Log.d(TAG, "Reload media picture data");
- // Discover new media
- mPictureDiscoverer.discover(Preferences.Media.getSelectedAlbums(), userRequest);
+ // Discovery new media
+ mPictureDiscoverer.discover(userRequest);
}
/**
@@ -290,6 +289,8 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
mBackgroundTask.mLoadSync.notify();
}
}
+
+ // Audit
int found = images == null ? 0 : images.length;
Log.d(TAG, "Media picture data reloaded: " + found + " images found.");
if (userRequest) {
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java
index 30a7bb9..eb6128c 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java
@@ -36,6 +36,7 @@ import android.view.ViewGroup;
import org.cyanogenmod.wallpapers.photophase.R;
import org.cyanogenmod.wallpapers.photophase.animations.AlbumsFlip3dAnimationController;
import org.cyanogenmod.wallpapers.photophase.model.Album;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
import org.cyanogenmod.wallpapers.photophase.widgets.AlbumInfo;
import org.cyanogenmod.wallpapers.photophase.widgets.AlbumPictures;
import org.cyanogenmod.wallpapers.photophase.widgets.CardLayout;
@@ -83,7 +84,7 @@ public class ChoosePicturesFragment extends PreferenceFragment {
if (DEBUG) Log.v(TAG, "\t" + p);
if (p != null) {
File f = new File(p);
- if (f.exists() && f.isFile() && f.canRead()) {
+ if (f.isFile() && f.canRead()) {
File path = f.getParentFile();
String name = path.getName();
if (album == null || album.getPath().compareTo(path.getAbsolutePath()) != 0) {
@@ -170,7 +171,7 @@ public class ChoosePicturesFragment extends PreferenceFragment {
getPreferenceManager().setSharedPreferencesMode(Context.MODE_PRIVATE);
// Load the albums user selection
- mOriginalSelectedAlbums = PreferencesProvider.Preferences.Media.getSelectedAlbums();
+ mOriginalSelectedAlbums = Preferences.Media.getSelectedMedia();
mSelectedAlbums = new HashSet<String>(mOriginalSelectedAlbums);
mSelectionChanged = false;
@@ -285,7 +286,7 @@ public class ChoosePicturesFragment extends PreferenceFragment {
}
// Restore the preference
- PreferencesProvider.Preferences.Media.setSelectedAlbums(getActivity(), mSelectedAlbums);
+ Preferences.Media.setSelectedMedia(getActivity(), mSelectedAlbums);
mSelectionChanged = true;
// Restore all the animations states
@@ -319,7 +320,7 @@ public class ChoosePicturesFragment extends PreferenceFragment {
ref.setSelected(true);
albumPictures.updateView(ref);
- PreferencesProvider.Preferences.Media.setSelectedAlbums(getActivity(), mSelectedAlbums);
+ Preferences.Media.setSelectedMedia(getActivity(), mSelectedAlbums);
mSelectionChanged = true;
}
@@ -330,7 +331,7 @@ public class ChoosePicturesFragment extends PreferenceFragment {
ref.setSelected(false);
albumPictures.updateView(ref);
- PreferencesProvider.Preferences.Media.setSelectedAlbums(getActivity(), mSelectedAlbums);
+ Preferences.Media.setSelectedMedia(getActivity(), mSelectedAlbums);
mSelectionChanged = true;
}
@@ -353,7 +354,7 @@ public class ChoosePicturesFragment extends PreferenceFragment {
ref.setSelected(false);
albumInfo.updateView(ref);
- PreferencesProvider.Preferences.Media.setSelectedAlbums(getActivity(), mSelectedAlbums);
+ Preferences.Media.setSelectedMedia(getActivity(), mSelectedAlbums);
mSelectionChanged = true;
}
});
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/GeneralPreferenceFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/GeneralPreferenceFragment.java
index b495757..bbce169 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/GeneralPreferenceFragment.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/GeneralPreferenceFragment.java
@@ -29,6 +29,7 @@ import android.util.Log;
import org.cyanogenmod.wallpapers.photophase.Colors;
import org.cyanogenmod.wallpapers.photophase.GLESUtil.GLColor;
import org.cyanogenmod.wallpapers.photophase.R;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
import org.cyanogenmod.wallpapers.photophase.preferences.SeekBarProgressPreference.OnDisplayProgress;
import org.cyanogenmod.wallpapers.photophase.widgets.ColorPickerPreference;
@@ -136,8 +137,8 @@ public class GeneralPreferenceFragment extends PreferenceFragment {
mTransitionsInterval = (SeekBarProgressPreference)findPreference("ui_transition_interval");
mTransitionsInterval.setFormat(getString(R.string.pref_general_transitions_interval_format));
- int max = PreferencesProvider.Preferences.General.Transitions.MAX_TRANSITION_INTERVAL;
- int min = PreferencesProvider.Preferences.General.Transitions.MIN_TRANSITION_INTERVAL;
+ int max = Preferences.General.Transitions.MAX_TRANSITION_INTERVAL;
+ int min = Preferences.General.Transitions.MIN_TRANSITION_INTERVAL;
final int MAX = ((max - min) / 1000) * 2;
mTransitionsInterval.setMax(MAX);
mTransitionsInterval.setOnDisplayProgress(new OnDisplayProgress() {
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/LandscapeDispositionFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/LandscapeDispositionFragment.java
index f30e291..77267e6 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/LandscapeDispositionFragment.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/LandscapeDispositionFragment.java
@@ -19,6 +19,7 @@ package org.cyanogenmod.wallpapers.photophase.preferences;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
import org.cyanogenmod.wallpapers.photophase.model.Disposition;
import org.cyanogenmod.wallpapers.photophase.utils.DispositionUtil;
@@ -51,7 +52,7 @@ public class LandscapeDispositionFragment extends DispositionFragment {
*/
@Override
public List<Disposition> getUserDispositions() {
- return PreferencesProvider.Preferences.Layout.getLandscapeDisposition();
+ return Preferences.Layout.getLandscapeDisposition();
}
/**
@@ -60,7 +61,7 @@ public class LandscapeDispositionFragment extends DispositionFragment {
@Override
public List<Disposition> getDefaultDispositions() {
return DispositionUtil.toDispositions(
- PreferencesProvider.Preferences.Layout.DEFAULT_LANDSCAPE_DISPOSITION);
+ Preferences.Layout.DEFAULT_LANDSCAPE_DISPOSITION);
}
/**
@@ -68,7 +69,7 @@ public class LandscapeDispositionFragment extends DispositionFragment {
*/
@Override
public void saveDispositions(List<Disposition> dispositions) {
- PreferencesProvider.Preferences.Layout.setLandscapeDisposition(getActivity(), dispositions);
+ Preferences.Layout.setLandscapeDisposition(getActivity(), dispositions);
}
/**
@@ -77,7 +78,7 @@ public class LandscapeDispositionFragment extends DispositionFragment {
@Override
public int getRows() {
// inverted
- return PreferencesProvider.Preferences.Layout.getCols();
+ return Preferences.Layout.getCols();
}
/**
@@ -86,6 +87,6 @@ public class LandscapeDispositionFragment extends DispositionFragment {
@Override
public int getCols() {
// inverted
- return PreferencesProvider.Preferences.Layout.getRows();
+ return Preferences.Layout.getRows();
}
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java
index 5a13c4e..f4348c6 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java
@@ -27,6 +27,7 @@ import android.preference.PreferenceFragment;
import android.util.Log;
import org.cyanogenmod.wallpapers.photophase.R;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
/**
* A fragment class with all the media settings
@@ -88,7 +89,7 @@ public class MediaPreferenceFragment extends PreferenceFragment {
addPreferencesFromResource(R.xml.preferences_media);
mRefreshInterval = (ListPreference)findPreference("ui_media_refresh_interval");
- setRefreshIntervalSummary(PreferencesProvider.Preferences.Media.getRefreshFrecuency());
+ setRefreshIntervalSummary(Preferences.Media.getRefreshFrecuency());
mRefreshInterval.setOnPreferenceChangeListener(mOnChangeListener);
mRefreshNow = findPreference("ui_media_refresh_now");
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/PortraitDispositionFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/PortraitDispositionFragment.java
index 3942093..8763e1e 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/PortraitDispositionFragment.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/PortraitDispositionFragment.java
@@ -20,6 +20,7 @@ import android.content.pm.ActivityInfo;
import android.os.Bundle;
import org.cyanogenmod.wallpapers.photophase.model.Disposition;
+import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider.Preferences;
import org.cyanogenmod.wallpapers.photophase.utils.DispositionUtil;
import java.util.List;
@@ -51,7 +52,7 @@ public class PortraitDispositionFragment extends DispositionFragment {
*/
@Override
public List<Disposition> getUserDispositions() {
- return PreferencesProvider.Preferences.Layout.getPortraitDisposition();
+ return Preferences.Layout.getPortraitDisposition();
}
/**
@@ -60,7 +61,7 @@ public class PortraitDispositionFragment extends DispositionFragment {
@Override
public List<Disposition> getDefaultDispositions() {
return DispositionUtil.toDispositions(
- PreferencesProvider.Preferences.Layout.DEFAULT_PORTRAIT_DISPOSITION);
+ Preferences.Layout.DEFAULT_PORTRAIT_DISPOSITION);
}
/**
@@ -68,7 +69,7 @@ public class PortraitDispositionFragment extends DispositionFragment {
*/
@Override
public void saveDispositions(List<Disposition> dispositions) {
- PreferencesProvider.Preferences.Layout.setPortraitDisposition(getActivity(), dispositions);
+ Preferences.Layout.setPortraitDisposition(getActivity(), dispositions);
}
/**
@@ -76,7 +77,7 @@ public class PortraitDispositionFragment extends DispositionFragment {
*/
@Override
public int getRows() {
- return PreferencesProvider.Preferences.Layout.getRows();
+ return Preferences.Layout.getRows();
}
/**
@@ -84,6 +85,6 @@ public class PortraitDispositionFragment extends DispositionFragment {
*/
@Override
public int getCols() {
- return PreferencesProvider.Preferences.Layout.getCols();
+ return Preferences.Layout.getCols();
}
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java
index 4d5be75..c3f0736 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java
@@ -307,12 +307,22 @@ public final class PreferencesProvider {
}
/**
+ * Method that returns if the app must be select new albums when they are discovered.
+ *
+ * @return boolean If the app must be select new albums when they are discovered.
+ */
+ public static boolean isAutoSelectNewAlbums() {
+ return getBoolean("ui_media_auto_select_new", Boolean.TRUE);
+ }
+
+ // Internal settings (non-UI)
+ /**
* Method that returns the list of albums and pictures to be displayed
*
* @return Set<String> The list of albums and pictures to be displayed
*/
- public static Set<String> getSelectedAlbums() {
- return getStringSet("ui_media_selected_albums", new HashSet<String>());
+ public static Set<String> getSelectedMedia() {
+ return getStringSet("media_selected_media", new HashSet<String>());
}
/**
@@ -321,11 +331,37 @@ public final class PreferencesProvider {
* @param context The current context
* @param selection The new list of albums and pictures to be displayed
*/
- public static synchronized void setSelectedAlbums(Context context, Set<String> selection) {
+ public static synchronized void setSelectedMedia(Context context, Set<String> selection) {
+ SharedPreferences preferences =
+ context.getSharedPreferences(PREFERENCES_FILE, Context.MODE_PRIVATE);
+ Editor editor = preferences.edit();
+ editor.putStringSet("media_selected_media", selection);
+ editor.commit();
+ reload(context);
+ }
+
+ /**
+ * Method that returns the list of the name of the albums seen by the
+ * last media discovery scan.
+ *
+ * @return Set<String> The list of albums and pictures to be displayed
+ */
+ public static Set<String> getLastDiscorevedAlbums() {
+ return getStringSet("media_last_disvored_albums", new HashSet<String>());
+ }
+
+ /**
+ * Method that sets the list of the name of the albums seen by the
+ * last media discovery scan.
+ *
+ * @param context The current context
+ * @param albums The albums seen by the last media discovery scan
+ */
+ public static synchronized void setLastDiscorevedAlbums(Context context, Set<String> albums) {
SharedPreferences preferences =
context.getSharedPreferences(PREFERENCES_FILE, Context.MODE_PRIVATE);
Editor editor = preferences.edit();
- editor.putStringSet("ui_media_selected_albums", selection);
+ editor.putStringSet("media_last_disvored_albums", albums);
editor.commit();
reload(context);
}