aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/compatibility
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2012-03-24 10:56:55 +0100
committerSamuel Tardieu <sam@rfc1149.net>2012-03-24 10:58:41 +0100
commit8a53f37e5162ad0c068f57c3b1684fb7364031e8 (patch)
tree5c8fab477f17f43eaa99f771b10f1b1b33ad8ee4 /main/src/cgeo/geocaching/compatibility
parentedccb6a2531b08450829c7e1c9a0bc2fd7353f5e (diff)
downloadcgeo-8a53f37e5162ad0c068f57c3b1684fb7364031e8.zip
cgeo-8a53f37e5162ad0c068f57c3b1684fb7364031e8.tar.gz
cgeo-8a53f37e5162ad0c068f57c3b1684fb7364031e8.tar.bz2
Use MethodUtils to call overridePendingTransition
The method is not invoked often enough that it deserves caching the result of its lookup. Using MethodUtils.invokeMethod() allows the removal of boilerplate code.
Diffstat (limited to 'main/src/cgeo/geocaching/compatibility')
-rw-r--r--main/src/cgeo/geocaching/compatibility/Compatibility.java15
1 files changed, 3 insertions, 12 deletions
diff --git a/main/src/cgeo/geocaching/compatibility/Compatibility.java b/main/src/cgeo/geocaching/compatibility/Compatibility.java
index 344ff6a..7622283 100644
--- a/main/src/cgeo/geocaching/compatibility/Compatibility.java
+++ b/main/src/cgeo/geocaching/compatibility/Compatibility.java
@@ -3,6 +3,8 @@ package cgeo.geocaching.compatibility;
import cgeo.geocaching.Settings;
import cgeo.geocaching.activity.AbstractActivity;
+import org.apache.commons.lang3.reflect.MethodUtils;
+
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
@@ -14,8 +16,6 @@ import android.view.Display;
import android.view.Surface;
import android.widget.EditText;
-import java.lang.reflect.Method;
-
public final class Compatibility {
private final static int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
@@ -25,16 +25,7 @@ public final class Compatibility {
private final static AndroidLevel8Interface level8;
private final static AndroidLevel11Interface level11;
- private static Method overridePendingTransitionMethod = null;
-
static {
- if (isLevel5) {
- try {
- overridePendingTransitionMethod = Activity.class.getMethod("overridePendingTransition", Integer.TYPE, Integer.TYPE);
- } catch (Exception e) {
- Log.e(Settings.tag, "cannot get overridePendingTransition", e);
- }
- }
if (isLevel8) {
level8 = new AndroidLevel8();
}
@@ -102,7 +93,7 @@ public final class Compatibility {
private static void overridePendingTransition(final Activity activity, int enterAnim, int exitAnim) {
try {
- overridePendingTransitionMethod.invoke(activity, enterAnim, exitAnim);
+ MethodUtils.invokeMethod(activity, "overridePendingTransition", enterAnim, exitAnim);
} catch (Exception e) {
Log.e(Settings.tag, "cannot call overridePendingTransition", e);
}