diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2012-03-24 10:56:55 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2012-03-24 10:58:41 +0100 |
| commit | 8a53f37e5162ad0c068f57c3b1684fb7364031e8 (patch) | |
| tree | 5c8fab477f17f43eaa99f771b10f1b1b33ad8ee4 /main | |
| parent | edccb6a2531b08450829c7e1c9a0bc2fd7353f5e (diff) | |
| download | cgeo-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')
| -rw-r--r-- | main/src/cgeo/geocaching/compatibility/Compatibility.java | 15 |
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); } |
