aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/compatibility
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/compatibility')
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel11.java17
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel11Dummy.java17
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel11Interface.java8
-rw-r--r--main/src/cgeo/geocaching/compatibility/Compatibility.java11
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);
+ }
+
}