diff options
Diffstat (limited to 'src/com/android/photos/data/PhotoProvider.java')
-rw-r--r-- | src/com/android/photos/data/PhotoProvider.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/android/photos/data/PhotoProvider.java b/src/com/android/photos/data/PhotoProvider.java index 8413206b1..2455580f0 100644 --- a/src/com/android/photos/data/PhotoProvider.java +++ b/src/com/android/photos/data/PhotoProvider.java @@ -30,6 +30,8 @@ import android.net.Uri; import android.os.CancellationSignal; import android.provider.BaseColumns; +import com.android.gallery3d.common.ApiHelper; + import java.util.List; /** @@ -357,9 +359,7 @@ public class PhotoProvider extends SQLiteContentProvider { selection = addIdToSelection(match, selection); selectionArgs = addIdToSelectionArgs(match, uri, selectionArgs); String table = getTableFromMatch(match, uri); - SQLiteDatabase db = getDatabaseHelper().getReadableDatabase(); - return db.query(false, table, projection, selection, selectionArgs, null, null, sortOrder, - null, cancellationSignal); + return query(table, projection, selection, selectionArgs, sortOrder, cancellationSignal); } @Override @@ -563,4 +563,15 @@ public class PhotoProvider extends SQLiteContentProvider { throw new IllegalArgumentException("Operation not allowed on an existing row."); } } + + protected Cursor query(String table, String[] columns, String selection, + String[] selectionArgs, String orderBy, CancellationSignal cancellationSignal) { + SQLiteDatabase db = getDatabaseHelper().getReadableDatabase(); + if (ApiHelper.HAS_CANCELLATION_SIGNAL) { + return db.query(false, table, columns, selection, selectionArgs, null, null, + orderBy, null, cancellationSignal); + } else { + return db.query(table, columns, selection, selectionArgs, null, null, orderBy); + } + } } |