Snap for 6001391 from abf21ab2f4fbc41a3605e169eaac42c45f60a1b4 to qt-aml-networking-release

Change-Id: I045d1c4fd525c7de4d0d105070a198019bb3eb56
diff --git a/src/com/android/gallery3d/data/BucketHelper.java b/src/com/android/gallery3d/data/BucketHelper.java
index 3418daf..872e550 100644
--- a/src/com/android/gallery3d/data/BucketHelper.java
+++ b/src/com/android/gallery3d/data/BucketHelper.java
@@ -52,17 +52,6 @@
     private static final int INDEX_MEDIA_TYPE = 1;
     private static final int INDEX_BUCKET_NAME = 2;
 
-    // We want to order the albums by reverse chronological order. We abuse the
-    // "WHERE" parameter to insert a "GROUP BY" clause into the SQL statement.
-    // The template for "WHERE" parameter is like:
-    //    SELECT ... FROM ... WHERE (%s)
-    // and we make it look like:
-    //    SELECT ... FROM ... WHERE (1) GROUP BY 1,(2)
-    // The "(1)" means true. The "1,(2)" means the first two columns specified
-    // after SELECT. Note that because there is a ")" in the template, we use
-    // "(2" to match it.
-    private static final String BUCKET_GROUP_BY = "1) GROUP BY 1,(2";
-
     private static final String BUCKET_ORDER_BY = "MAX(datetaken) DESC";
 
     // Before HoneyComb there is no Files table. Thus, we need to query the
@@ -82,9 +71,6 @@
     // PROJECTION_BUCKET so we can reuse the values defined before.
     private static final int INDEX_DATE_TAKEN = 1;
 
-    // When query from the Images or Video tables, we only need to group by BUCKET_ID.
-    private static final String BUCKET_GROUP_BY_IN_ONE_TABLE = "1) GROUP BY (1";
-
     public static BucketEntry[] loadBucketEntries(
             JobContext jc, ContentResolver resolver, int type) {
         if (ApiHelper.HAS_MEDIA_PROVIDER_FILES_TABLE) {
@@ -97,7 +83,7 @@
     private static void updateBucketEntriesFromTable(JobContext jc,
             ContentResolver resolver, Uri tableUri, HashMap<Integer, BucketEntry> buckets) {
         Cursor cursor = resolver.query(tableUri, PROJECTION_BUCKET_IN_ONE_TABLE,
-                BUCKET_GROUP_BY_IN_ONE_TABLE, null, null);
+                null, null, null);
         if (cursor == null) {
             Log.w(TAG, "cannot open media database: " + tableUri);
             return;
@@ -146,9 +132,7 @@
             JobContext jc, ContentResolver resolver, int type) {
         Uri uri = getFilesContentUri();
 
-        Cursor cursor = resolver.query(uri,
-                PROJECTION_BUCKET, BUCKET_GROUP_BY,
-                null, BUCKET_ORDER_BY);
+        Cursor cursor = resolver.query(uri, PROJECTION_BUCKET, null, null, null);
         if (cursor == null) {
             Log.w(TAG, "cannot open local database: " + uri);
             return new BucketEntry[0];
diff --git a/src/com/android/gallery3d/data/LocalAlbum.java b/src/com/android/gallery3d/data/LocalAlbum.java
index 7b7015a..322eb91 100644
--- a/src/com/android/gallery3d/data/LocalAlbum.java
+++ b/src/com/android/gallery3d/data/LocalAlbum.java
@@ -41,7 +41,7 @@
 // The media items need to be all images or all videos, but not both.
 public class LocalAlbum extends MediaSet {
     private static final String TAG = "LocalAlbum";
-    private static final String[] COUNT_PROJECTION = { "count(*)" };
+    private static final String[] COUNT_PROJECTION = { "COUNT(_id)" };
 
     private static final int INVALID_COUNT = -1;
     private final String mWhereClause;
diff --git a/src/com/android/gallery3d/gadget/LocalPhotoSource.java b/src/com/android/gallery3d/gadget/LocalPhotoSource.java
index 4e94e8d..eb3abaa 100644
--- a/src/com/android/gallery3d/gadget/LocalPhotoSource.java
+++ b/src/com/android/gallery3d/gadget/LocalPhotoSource.java
@@ -50,7 +50,7 @@
     private static final Uri CONTENT_URI = Media.EXTERNAL_CONTENT_URI;
     private static final String DATE_TAKEN = Media.DATE_TAKEN;
     private static final String[] PROJECTION = {Media._ID};
-    private static final String[] COUNT_PROJECTION = {"count(*)"};
+    private static final String[] COUNT_PROJECTION = {"COUNT(_id)"};
     /* We don't want to include the download directory */
     private static final String SELECTION =
             String.format("%s != %s", Media.BUCKET_ID, getDownloadBucketId());
diff --git a/src/com/android/photos/data/PhotoProvider.java b/src/com/android/photos/data/PhotoProvider.java
index d4310ca..84c3519 100644
--- a/src/com/android/photos/data/PhotoProvider.java
+++ b/src/com/android/photos/data/PhotoProvider.java
@@ -218,16 +218,16 @@
             + Albums.TABLE;
     protected static final String SELECT_PHOTO_ID = "SELECT " + Photos._ID + " FROM "
             + Photos.TABLE;
-    protected static final String SELECT_PHOTO_COUNT = "SELECT COUNT(*) FROM " + Photos.TABLE;
+    protected static final String SELECT_PHOTO_COUNT = "SELECT COUNT(_id) FROM " + Photos.TABLE;
     protected static final String DELETE_PHOTOS = "DELETE FROM " + Photos.TABLE;
     protected static final String DELETE_METADATA = "DELETE FROM " + Metadata.TABLE;
-    protected static final String SELECT_METADATA_COUNT = "SELECT COUNT(*) FROM " + Metadata.TABLE;
+    protected static final String SELECT_METADATA_COUNT = "SELECT COUNT(_id) FROM " + Metadata.TABLE;
     protected static final String WHERE = " WHERE ";
     protected static final String IN = " IN ";
     protected static final String NESTED_SELECT_START = "(";
     protected static final String NESTED_SELECT_END = ")";
     protected static final String[] PROJECTION_COUNT = {
-        "COUNT(*)"
+        "COUNT(_id)"
     };
 
     /**