From bd8bd44d6fa3a2f4515c9c627513ff134acdbe6e Mon Sep 17 00:00:00 2001 From: misaochan Date: Sat, 5 Nov 2016 15:21:05 +1300 Subject: [PATCH] Rearrange CategorizationFragment --- .../category/CategorizationFragment.java | 144 +++++++++--------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java index 342f225c2..1f76ad176 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java @@ -312,6 +312,78 @@ public class CategorizationFragment extends Fragment { } } + /** + * Makes asynchronous calls to the Commons MediaWiki API via anonymous subclasses of + * 'MethodAUpdater' and 'PrefixUpdater'. Some of their methods are overridden in order to + * aggregate the results. A CountDownLatch is used to ensure that MethodA results are shown + * above Prefix results. + */ + private void requestSearchResults() { + + final CountDownLatch latch = new CountDownLatch(1); + + prefixUpdaterSub = new PrefixUpdater(this) { + @Override + protected ArrayList doInBackground(Void... voids) { + ArrayList result = new ArrayList(); + try { + result = super.doInBackground(); + latch.await(); + } + catch (InterruptedException e) { + Log.w(TAG, e); + //Thread.currentThread().interrupt(); + } + return result; + } + + @Override + protected void onPostExecute(ArrayList result) { + super.onPostExecute(result); + + results.addAll(result); + Log.d(TAG, "Prefix result: " + result); + + String filter = categoriesFilter.getText().toString(); + ArrayList resultsList = new ArrayList(results); + categoriesCache.put(filter, resultsList); + Log.d(TAG, "Final results List: " + resultsList); + + categoriesAdapter.notifyDataSetChanged(); + setCatsAfterAsync(resultsList, filter); + } + }; + + methodAUpdaterSub = new MethodAUpdater(this) { + @Override + protected void onPostExecute(ArrayList result) { + results.clear(); + super.onPostExecute(result); + + results.addAll(result); + Log.d(TAG, "Method A result: " + result); + categoriesAdapter.notifyDataSetChanged(); + + latch.countDown(); + } + }; + Utils.executeAsyncTask(prefixUpdaterSub); + Utils.executeAsyncTask(methodAUpdaterSub); + } + + private void startUpdatingCategoryList() { + + if (prefixUpdaterSub != null) { + prefixUpdaterSub.cancel(true); + } + + if (methodAUpdaterSub != null) { + methodAUpdaterSub.cancel(true); + } + + requestSearchResults(); + } + public int getCurrentSelectedCount() { int count = 0; for(CategoryItem item: categoriesAdapter.getItems()) { @@ -434,78 +506,6 @@ public class CategorizationFragment extends Fragment { return rootView; } - /** - * Makes asynchronous calls to the Commons MediaWiki API via anonymous subclasses of - * 'MethodAUpdater' and 'PrefixUpdater'. Some of their methods are overridden in order to - * aggregate the results. A CountDownLatch is used to ensure that MethodA results are shown - * above Prefix results. - */ - private void requestSearchResults() { - - final CountDownLatch latch = new CountDownLatch(1); - - prefixUpdaterSub = new PrefixUpdater(this) { - @Override - protected ArrayList doInBackground(Void... voids) { - ArrayList result = new ArrayList(); - try { - result = super.doInBackground(); - latch.await(); - } - catch (InterruptedException e) { - Log.w(TAG, e); - //Thread.currentThread().interrupt(); - } - return result; - } - - @Override - protected void onPostExecute(ArrayList result) { - super.onPostExecute(result); - - results.addAll(result); - Log.d(TAG, "Prefix result: " + result); - - String filter = categoriesFilter.getText().toString(); - ArrayList resultsList = new ArrayList(results); - categoriesCache.put(filter, resultsList); - Log.d(TAG, "Final results List: " + resultsList); - - categoriesAdapter.notifyDataSetChanged(); - setCatsAfterAsync(resultsList, filter); - } - }; - - methodAUpdaterSub = new MethodAUpdater(this) { - @Override - protected void onPostExecute(ArrayList result) { - results.clear(); - super.onPostExecute(result); - - results.addAll(result); - Log.d(TAG, "Method A result: " + result); - categoriesAdapter.notifyDataSetChanged(); - - latch.countDown(); - } - }; - Utils.executeAsyncTask(prefixUpdaterSub); - Utils.executeAsyncTask(methodAUpdaterSub); - } - - private void startUpdatingCategoryList() { - - if (prefixUpdaterSub != null) { - prefixUpdaterSub.cancel(true); - } - - if (methodAUpdaterSub != null) { - methodAUpdaterSub.cancel(true); - } - - requestSearchResults(); - } - @Override public void onCreateOptionsMenu(Menu menu, android.view.MenuInflater inflater) { menu.clear();