aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-10-13 01:46:20 +0200
committerJorge Ruesga <jorge@ruesga.com>2013-10-13 01:46:20 +0200
commit294fa3a20a2ec70adbaa8a25d1d1664c1105b343 (patch)
treeadde76be09e70d18ac7bc3f77020e00ece7a6602 /src
parent0e97904d149d2d62ac63ee359caa0856af879e33 (diff)
downloadandroid_packages_wallpapers_PhotoPhase-294fa3a20a2ec70adbaa8a25d1d1664c1105b343.tar.gz
android_packages_wallpapers_PhotoPhase-294fa3a20a2ec70adbaa8a25d1d1664c1105b343.tar.bz2
android_packages_wallpapers_PhotoPhase-294fa3a20a2ec70adbaa8a25d1d1664c1105b343.zip
Improve times for filter media discover
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'src')
-rw-r--r--src/com/ruesga/android/wallpapers/photophase/MediaPictureDiscoverer.java39
-rw-r--r--src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java2
-rw-r--r--src/com/ruesga/android/wallpapers/photophase/preferences/ChoosePicturesFragment.java3
3 files changed, 15 insertions, 29 deletions
diff --git a/src/com/ruesga/android/wallpapers/photophase/MediaPictureDiscoverer.java b/src/com/ruesga/android/wallpapers/photophase/MediaPictureDiscoverer.java
index 297bb20..c2aa116 100644
--- a/src/com/ruesga/android/wallpapers/photophase/MediaPictureDiscoverer.java
+++ b/src/com/ruesga/android/wallpapers/photophase/MediaPictureDiscoverer.java
@@ -30,7 +30,6 @@ import com.ruesga.android.wallpapers.photophase.preferences.PreferencesProvider.
import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -190,6 +189,7 @@ public class MediaPictureDiscoverer {
*/
private List<File> getPictures(
Uri uri, String[] projection, String where, String[] args) {
+ long start = System.currentTimeMillis();
List<File> paths = new ArrayList<File>();
List<File> partial = new ArrayList<File>();
Cursor c = mFinalContentResolver.query(uri, projection, where, args, null);
@@ -201,15 +201,12 @@ public class MediaPictureDiscoverer {
String p = c.getString(0);
if (p != null) {
File f = new File(p);
- if (f.isFile() && f.canRead()) {
- // Catalog the file
- catalog(f);
-
- // Check if is a valid filter
- if (matchFilter(f)) {
- paths.add(f);
- partial.add(f);
- }
+ catalog(f);
+
+ // Check if is a valid filter
+ if (matchFilter(f)) {
+ paths.add(f);
+ partial.add(f);
}
}
@@ -228,6 +225,8 @@ public class MediaPictureDiscoverer {
}
}
}
+ long end = System.currentTimeMillis();
+ if (DEBUG) Log.v(TAG, "Media reloaded in " + (end - start) + " miliseconds");
return paths;
}
@@ -238,24 +237,8 @@ public class MediaPictureDiscoverer {
* @return boolean whether the picture match the filter
*/
private boolean matchFilter(File picture) {
- Iterator<String> it = mFilter.iterator();
- boolean noFilter = true;
- while (it.hasNext()) {
- noFilter = false;
- File filter = new File(it.next());
- if (filter.isDirectory()) {
- // Album match
- if (filter.compareTo(picture.getParentFile()) == 0) {
- return true;
- }
- } else {
- // Picture match
- if (filter.compareTo(picture) == 0) {
- return true;
- }
- }
- }
- return noFilter;
+ return mFilter.contains(picture.getAbsolutePath()) ||
+ mFilter.contains(picture.getParentFile().getAbsolutePath());
}
/**
diff --git a/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java b/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java
index b703342..b68b3b6 100644
--- a/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java
+++ b/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java
@@ -147,7 +147,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
// Select a new transition
mWorld.selectRandomTransition();
mLastRunningTransition = System.currentTimeMillis();
-
+
// Now force continuously render while transition is applied
mDispatcher.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
} catch (Throwable ex) {
diff --git a/src/com/ruesga/android/wallpapers/photophase/preferences/ChoosePicturesFragment.java b/src/com/ruesga/android/wallpapers/photophase/preferences/ChoosePicturesFragment.java
index 89905ef..0179e8b 100644
--- a/src/com/ruesga/android/wallpapers/photophase/preferences/ChoosePicturesFragment.java
+++ b/src/com/ruesga/android/wallpapers/photophase/preferences/ChoosePicturesFragment.java
@@ -82,6 +82,7 @@ public class ChoosePicturesFragment extends PreferenceFragment implements OnEndS
MediaStore.MediaColumns.DATA);
if (c != null) {
try {
+ long start = System.currentTimeMillis();
if (DEBUG) Log.v(TAG, "Media library:");
while (c.moveToNext()) {
// Only valid files (those i can read)
@@ -119,6 +120,8 @@ public class ChoosePicturesFragment extends PreferenceFragment implements OnEndS
mAlbums.add(album);
mOriginalAlbums.add((Album)album.clone());
}
+ long end = System.currentTimeMillis();
+ if (DEBUG) Log.v(TAG, "Library loaded in " + (end - start) + " miliseconds");
} finally {
c.close();