diff options
author | Oguz Kocer <oguz.kocer@automattic.com> | 2016-08-03 17:20:26 +0300 |
---|---|---|
committer | Oguz Kocer <oguz.kocer@automattic.com> | 2016-08-03 17:20:26 +0300 |
commit | f0965078b83d9e6c4ef1ed1c9d5f8eeac76b1d65 (patch) | |
tree | 1726bcf4787bac266e45213d1ca31ac511520cf5 | |
parent | 937512b47f1d4b5730d9a41eabfaea8b92fd86d6 (diff) | |
download | gradle-perf-android-medium-f0965078b83d9e6c4ef1ed1c9d5f8eeac76b1d65.tar.gz |
OrderBy string re-introduced for improved deletePeopleExceptForFirstPage
-rw-r--r-- | WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java b/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java index f91cef182..b69af4d7c 100644 --- a/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java +++ b/WordPress/src/main/java/org/wordpress/android/datasets/PeopleTable.java @@ -180,11 +180,15 @@ public class PeopleTable { String where = "local_blog_id=" + localTableBlogId; String[] columns = {"person_id"}; String limit = Integer.toString(size - fetchLimit); - String query = SQLiteQueryBuilder.buildQueryString(false, table, columns, where, null, null, null, - limit); + String orderBy = null; + if (shouldOrder(table)) { + orderBy = " lower(display_name) DESC, lower(user_name) DESC"; + } + String inQuery = SQLiteQueryBuilder.buildQueryString(false, table, columns, where, null, null, + orderBy, limit); String[] args = new String[] {Integer.toString(localTableBlogId)}; - getWritableDb().delete(table, "local_blog_id=?1 AND person_id IN (" + query + ")", args); + getWritableDb().delete(table, "local_blog_id=?1 AND person_id IN (" + inQuery + ")", args); } } getWritableDb().setTransactionSuccessful(); @@ -237,7 +241,10 @@ public class PeopleTable { private static List<Person> getPeople(String table, int localTableBlogId) { String[] args = {Integer.toString(localTableBlogId)}; - String orderBy = orderByString(table, false); + String orderBy = ""; + if (shouldOrder(table)) { + orderBy = " ORDER BY lower(display_name), lower(user_name)"; + } Cursor c = getReadableDb().rawQuery("SELECT * FROM " + table + " WHERE local_blog_id=?" + orderBy, args); List<Person> people = new ArrayList<>(); @@ -317,12 +324,8 @@ public class PeopleTable { } // order is disabled for followers & viewers for now since the API is not supporting it - private static String orderByString(String table, boolean isDescending) { - if (table.equals(TEAM_TABLE)) { - String descQuery = (isDescending ? " DESC" : ""); - return " ORDER BY lower(display_name)" + descQuery + ", lower(user_name)" + descQuery; - } - return ""; + private static boolean shouldOrder(String table) { + return table.equals(TEAM_TABLE); } @Nullable |