From fdccf988358df08f711a98aa79d3dbda44141ce4 Mon Sep 17 00:00:00 2001 From: Owen Lin Date: Wed, 4 Jul 2012 15:48:59 +0800 Subject: Don't use invalidateOptionsMenu before API level 11. Change-Id: If46d46e44797b2bd4f66235eca0954a55d0008cf --- .../src/com/android/gallery3d/common/ApiHelper.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gallerycommon') diff --git a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java index 4545b92f3..305fb2cf3 100644 --- a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java +++ b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java @@ -16,6 +16,7 @@ package com.android.gallery3d.common; +import android.app.Activity; import android.os.Build; import android.provider.MediaStore.MediaColumns; import android.view.View; @@ -60,6 +61,9 @@ public class ApiHelper { public static final boolean HAS_AUTO_FOCUS_MOVE_CALLBACK = Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN; + public static final boolean HAS_ACTIVITY_INVALIDATE_OPTIONS_MENU = + hasMethod(Activity.class, "invalidateOptionsMenu"); + private static boolean hasField(Class klass, String fieldName) { try { klass.getDeclaredField(fieldName); @@ -72,11 +76,21 @@ public class ApiHelper { private static boolean hasMethod(String className, String methodName, Class... parameterTypes) { try { - Class klass = Class.forName(className); + Class klass = Class.forName(className); klass.getDeclaredMethod(methodName, parameterTypes); return true; } catch (Throwable th) { return false; } } + + private static boolean hasMethod( + Class klass, String methodName, Class ... paramTypes) { + try { + klass.getDeclaredMethod(methodName, paramTypes); + return true; + } catch (NoSuchMethodException e) { + return false; + } + } } -- cgit v1.2.3