Skip to content

Commit f2c3d7e

Browse files
committed
Choosing buckets also filters the upload journal on change
1 parent 689c606 commit f2c3d7e

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

src/fr/s13d/photobackup/PBMediaStore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public PBMedia getMedia(int id) {
8787
}
8888
Cursor cursor = queries.getMediaById(id);
8989
if (cursor == null) {
90-
Log.i(LOG_TAG, "Photo not returned. Probably filtered by Bucket or deleted");
90+
Log.e(LOG_TAG, "Photo not returned. Probably filtered by Bucket or deleted");
9191
return null;
9292
}
9393
Integer idCol = cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_ID);

src/fr/s13d/photobackup/PBMediaStoreQueries.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import android.net.Uri;
2525
import android.preference.PreferenceManager;
2626
import android.provider.MediaStore;
27+
import android.text.TextUtils;
2728

2829
import java.util.HashMap;
2930
import java.util.LinkedHashMap;
@@ -54,7 +55,6 @@ public boolean isSelectedBucket(String bucketId) {
5455
Log.d(LOG_TAG, "Checking if " + bucketId + " is selected by user..");
5556

5657
for (String bucket: buckets) {
57-
Log.d(LOG_TAG, "Selected bucket: " + bucket);
5858
if(bucket.equals(bucketId)) {
5959
Log.d(LOG_TAG, "Is selected bucket! Continuing");
6060
return true;
@@ -65,10 +65,18 @@ public boolean isSelectedBucket(String bucketId) {
6565
}
6666

6767
public Cursor getAllMedia() {
68+
String where;
6869
Cursor cursor = null;
6970
final String[] projection = new String[] { "_id", "_data", "date_added" };
71+
Set<String> buckets = prefs.getStringSet(PBPreferenceFragment.PREF_BUCKETS, null);
72+
if (buckets != null && buckets.size() > 0) {
73+
String args = TextUtils.join(", ", buckets);
74+
where = "bucket_id in (" + args + ")";
75+
} else {
76+
where = null;
77+
}
7078
try {
71-
cursor = context.getContentResolver().query(uri, projection, null, null, "date_added DESC");
79+
cursor = context.getContentResolver().query(uri, projection, where, null, "date_added DESC");
7280
} catch(SecurityException e) {
7381
e.printStackTrace();
7482
}

src/fr/s13d/photobackup/preferences/PBPreferenceFragment.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,12 @@ public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences,
197197
Log.i(LOG_TAG, "onSharedPreferenceChanged: " + key);
198198
if (key.equals(PREF_SERVICE_RUNNING)) {
199199
startOrStopService(sharedPreferences);
200-
} else if (key.equals(PREF_WIFI_ONLY) || key.equals(PREF_RECENT_UPLOAD_ONLY) || key.equals(PREF_BUCKETS)) {
200+
} else if (key.equals(PREF_WIFI_ONLY) || key.equals(PREF_RECENT_UPLOAD_ONLY)) {
201+
setSummaries();
202+
} else if (key.equals(PREF_BUCKETS)) {
203+
if (currentService != null) {
204+
currentService.getMediaStore().sync();
205+
}
201206
setSummaries();
202207
} else if (sharedPreferences == null) {
203208
Log.e(LOG_TAG, "Error: preferences == null");

0 commit comments

Comments
 (0)