From 84c2054fb03000cefc3821fc30c902327b9d1d07 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 24 Apr 2013 08:55:24 -0700 Subject: [PATCH] Limit view of recent cats to 20 --- .../java/org/wikimedia/commons/CategorizationFragment.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java b/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java index 2f915d0b8..d9adf8ca8 100644 --- a/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java @@ -50,6 +50,8 @@ public class CategorizationFragment extends SherlockFragment{ private ContentProviderClient client; + private final int RECENT_CATS_LIMIT = 20; + public static class CategoryItem implements Parcelable { public String name; public boolean selected; @@ -129,8 +131,6 @@ public class CategorizationFragment extends SherlockFragment{ protected ArrayList doInBackground(Void... voids) { if(TextUtils.isEmpty(filter)) { ArrayList items = new ArrayList(); - // fixme add a limit? - // fixme sort by last_used descending? try { Cursor cursor = client.query( CategoryContentProvider.BASE_URI, @@ -138,7 +138,8 @@ public class CategorizationFragment extends SherlockFragment{ null, new String[]{}, Category.Table.COLUMN_LAST_USED + " DESC"); - while (cursor.moveToNext()) { + // fixme add a limit on the original query instead of falling out of the loop? + while (cursor.moveToNext() && cursor.getPosition() < RECENT_CATS_LIMIT) { Category cat = Category.fromCursor(cursor); items.add(cat.getName()); }