aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-08-08 22:42:11 +0200
committerJorge Ruesga <jorge@ruesga.com>2013-08-08 22:42:11 +0200
commit3d007dc962dafc76437bba8f9df0ed2401e809b5 (patch)
tree3698fd421d090162a75bfc53e397a1e2b4d4e352 /src
parent7ae9b377e1dc2839cc4b0c660cc07fb232f93643 (diff)
downloadandroid_packages_wallpapers_PhotoPhase-3d007dc962dafc76437bba8f9df0ed2401e809b5.tar.gz
android_packages_wallpapers_PhotoPhase-3d007dc962dafc76437bba8f9df0ed2401e809b5.tar.bz2
android_packages_wallpapers_PhotoPhase-3d007dc962dafc76437bba8f9df0ed2401e809b5.zip
Show a toast when "Refresh now" action was completed (#15)
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'src')
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java18
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java5
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/TextureManager.java20
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java1
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java8
5 files changed, 40 insertions, 12 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java b/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java
index b1b4d2d..2a84ffe 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/MediaPictureDiscoverer.java
@@ -49,8 +49,9 @@ 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
*/
- void onMediaDiscovered(MediaPictureDiscoverer mpc, File[] images);
+ void onMediaDiscovered(MediaPictureDiscoverer mpc, File[] images, boolean userRequest);
}
/**
@@ -61,6 +62,7 @@ public class MediaPictureDiscoverer {
private final ContentResolver mFinalContentResolver;
private final OnMediaPictureDiscoveredListener mFinalCallback;
private final Set<String> mFilter;
+ private final boolean mUserRequest;
/**
* Constructor of <code>AsyncDiscoverTask</code>
@@ -68,13 +70,15 @@ public class MediaPictureDiscoverer {
* @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) {
+ OnMediaPictureDiscoveredListener cb, boolean userRequest) {
super();
mFinalContentResolver = cr;
mFinalCallback = cb;
mFilter = filter;
+ mUserRequest = userRequest;
}
/**
@@ -117,7 +121,8 @@ public class MediaPictureDiscoverer {
protected void onPostExecute(List<File> result) {
if (mFinalCallback != null) {
mFinalCallback.onMediaDiscovered(
- MediaPictureDiscoverer.this, result.toArray(new File[result.size()]));
+ MediaPictureDiscoverer.this, result.toArray(new File[result.size()]),
+ mUserRequest);
}
}
@@ -129,7 +134,7 @@ public class MediaPictureDiscoverer {
// Nothing found
if (mFinalCallback != null) {
mFinalCallback.onMediaDiscovered(
- MediaPictureDiscoverer.this, new File[]{});
+ MediaPictureDiscoverer.this, new File[]{}, mUserRequest);
}
}
@@ -218,12 +223,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) {
+ public synchronized void discover(Set<String> filter, boolean userRequest) {
if (mTask != null && !mTask.isCancelled()) {
mTask.cancel(true);
}
- mTask = new AsyncDiscoverTask(mContext.getContentResolver(), filter, mCallback);
+ mTask = new AsyncDiscoverTask(mContext.getContentResolver(), filter, mCallback, userRequest);
mTask.execute();
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
index b056c6c..266606d 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
@@ -98,7 +98,10 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
if (mediaReload) {
synchronized (mMediaSync) {
if (mTextureManager != null) {
- mTextureManager.reloadMedia();
+ boolean userReloadRequest =
+ intent.getBooleanExtra(
+ PreferencesProvider.EXTRA_ACTION_MEDIA_USER_RELOAD_REQUEST, false);
+ mTextureManager.reloadMedia(userReloadRequest);
scheduleOrCancelMediaScan();
}
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
index ba605d7..93e0740 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
@@ -21,6 +21,7 @@ import android.graphics.Rect;
import android.media.effect.EffectContext;
import android.opengl.GLES20;
import android.util.Log;
+import android.widget.Toast;
import org.cyanogenmod.wallpapers.photophase.FixedQueue.EmptyQueueException;
import org.cyanogenmod.wallpapers.photophase.GLESUtil.GLESTextureInfo;
@@ -134,7 +135,7 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
// Run the media discovery thread
mBackgroundTask = new BackgroundPictureLoaderThread();
mBackgroundTask.mTaskPaused = false;
- reloadMedia();
+ reloadMedia(false);
}
/**
@@ -180,11 +181,13 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
/**
* Method that reload the references of media pictures
+ *
+ * @param userRequest If the request was generated by the user
*/
- void reloadMedia() {
+ void reloadMedia(boolean userRequest) {
Log.d(TAG, "Reload media picture data");
// Discover new media
- mPictureDiscoverer.discover(Preferences.Media.getSelectedAlbums());
+ mPictureDiscoverer.discover(Preferences.Media.getSelectedAlbums(), userRequest);
}
/**
@@ -275,7 +278,8 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
* {@inheritDoc}
*/
@Override
- public void onMediaDiscovered(MediaPictureDiscoverer mpc, File[] images) {
+ @SuppressWarnings("boxing")
+ public void onMediaDiscovered(MediaPictureDiscoverer mpc, File[] images, boolean userRequest) {
// Now we have the paths of the images to use. Start a image loader
// thread to load pictures in background
mBackgroundTask.setAvailableImages(images);
@@ -288,6 +292,12 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
}
int found = images == null ? 0 : images.length;
Log.d(TAG, "Media picture data reloaded: " + found + " images found.");
+ if (userRequest) {
+ CharSequence msg =
+ String.format(mContext.getResources().getQuantityText(
+ R.plurals.msg_media_reload_complete, found).toString(), found);
+ Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();
+ }
}
/**
@@ -375,7 +385,7 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
}
if (mNewImages.size() == 0) {
if (!mEmpty) {
- reloadMedia();
+ reloadMedia(false);
}
break;
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java
index 8dd942d..5a13c4e 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/MediaPreferenceFragment.java
@@ -98,6 +98,7 @@ public class MediaPreferenceFragment extends PreferenceFragment {
// Request a refresh of the media data
Intent intent = new Intent(PreferencesProvider.ACTION_SETTINGS_CHANGED);
intent.putExtra(PreferencesProvider.EXTRA_FLAG_MEDIA_RELOAD, Boolean.TRUE);
+ intent.putExtra(PreferencesProvider.EXTRA_ACTION_MEDIA_USER_RELOAD_REQUEST, Boolean.TRUE);
getActivity().sendBroadcast(intent);
return true;
}
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java
index fd4b172..4d5be75 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/PreferencesProvider.java
@@ -77,6 +77,14 @@ public final class PreferencesProvider {
public static final String EXTRA_FLAG_MEDIA_INTERVAL_CHANGED = "flag_media_interval_changed";
/**
+ * An extra setting that indicates that the media reload becomes from a user
+ *
+ * @see #EXTRA_FLAG_MEDIA_RELOAD
+ * {@hide}
+ */
+ public static final String EXTRA_ACTION_MEDIA_USER_RELOAD_REQUEST = "action_media_user_reload_req";
+
+ /**
* The shared preferences file
*/
public static final String PREFERENCES_FILE = "org.cyanogenmod.wallpapers.photophase";