diff options
Diffstat (limited to 'main/src/cgeo/geocaching/compatibility')
4 files changed, 53 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel11.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel11.java new file mode 100644 index 0000000..acb9dca --- /dev/null +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel11.java @@ -0,0 +1,17 @@ +package cgeo.geocaching.compatibility; + +import android.app.Activity; + +/** + * Android level 11 support + * + * @author bananeweizen + * + */ +public class AndroidLevel11 implements AndroidLevel11Interface { + + public void invalidateOptionsMenu(final Activity activity) { + activity.invalidateOptionsMenu(); + } + +} diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel11Dummy.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel11Dummy.java new file mode 100644 index 0000000..cd18f67 --- /dev/null +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel11Dummy.java @@ -0,0 +1,17 @@ +package cgeo.geocaching.compatibility; + +import android.app.Activity; + +/** + * dummy class which has no functionality in the level 11 API + * + * @author bananeweizen + * + */ +public class AndroidLevel11Dummy implements AndroidLevel11Interface { + + public void invalidateOptionsMenu(final Activity activity) { + // do nothing + } + +} diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel11Interface.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel11Interface.java new file mode 100644 index 0000000..236e92d --- /dev/null +++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel11Interface.java @@ -0,0 +1,8 @@ +package cgeo.geocaching.compatibility; + +import android.app.Activity; + +public interface AndroidLevel11Interface { + public void invalidateOptionsMenu(final Activity activity); + +} diff --git a/main/src/cgeo/geocaching/compatibility/Compatibility.java b/main/src/cgeo/geocaching/compatibility/Compatibility.java index 61e2629..b6d1061 100644 --- a/main/src/cgeo/geocaching/compatibility/Compatibility.java +++ b/main/src/cgeo/geocaching/compatibility/Compatibility.java @@ -24,6 +24,7 @@ public final class Compatibility { private static Method dataChangedMethod = null; private static Method getRotationMethod = null; + private static AndroidLevel11Interface level11; static { if (isLevel8) { @@ -36,6 +37,12 @@ public final class Compatibility { Log.e(Settings.tag, "Cannot load AndroidLevel8 class", e); } } + if (sdkVersion >= 11) { + level11 = new AndroidLevel11(); + } + else { + level11 = new AndroidLevel11Dummy(); + } } public static float getDirectionNow(final float directionNowPre, @@ -109,4 +116,8 @@ public final class Compatibility { activity.startActivity(intent); } + public static void invalidateOptionsMenu(final Activity activity) { + level11.invalidateOptionsMenu(activity); + } + } |
