From 8bed027e4e56a5352e2a1af6ce2e4157fd2e7cd5 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 2 Apr 2013 20:51:27 +0530 Subject: [PATCH] Fix crash on 2.3 during categorization --- .../wikimedia/commons/CategorizationFragment.java | 2 +- .../src/main/java/org/wikimedia/commons/Utils.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java b/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java index 8f4a535b8..5e02701bb 100644 --- a/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java +++ b/commons/src/main/java/org/wikimedia/commons/CategorizationFragment.java @@ -257,7 +257,7 @@ public class CategorizationFragment extends SherlockFragment{ lastUpdater.cancel(true); } lastUpdater = new CategoriesUpdater(); - lastUpdater.executeOnExecutor(executor); + Utils.executeAsyncTask(lastUpdater, executor); } public void afterTextChanged(Editable editable) { diff --git a/commons/src/main/java/org/wikimedia/commons/Utils.java b/commons/src/main/java/org/wikimedia/commons/Utils.java index d455498a0..19b23fc54 100644 --- a/commons/src/main/java/org/wikimedia/commons/Utils.java +++ b/commons/src/main/java/org/wikimedia/commons/Utils.java @@ -14,6 +14,7 @@ import javax.xml.transform.*; import java.io.*; import java.text.*; import java.util.*; +import java.util.concurrent.Executor; public class Utils { public static Date parseMWDate(String mwDate) { @@ -73,6 +74,18 @@ public class Utils { } } + static public void executeAsyncTask(AsyncTask task, Executor executor, + T... params) { + // FIXME: We're simply ignoring the executor on older androids + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + task.executeOnExecutor(executor, params); + } + else { + task.execute(params); + } + } + + private static DisplayImageOptions.Builder defaultImageOptionsBuilder; public static DisplayImageOptions.Builder getGenericDisplayOptions() { if(defaultImageOptionsBuilder == null) {