diff options
-rw-r--r-- | gallerycommon/src/com/android/gallery3d/common/ApiHelper.java | 6 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/GalleryActionBar.java | 11 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/MovieActivity.java | 15 |
3 files changed, 26 insertions, 6 deletions
diff --git a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java index 0d349f386..c46d90a65 100644 --- a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java +++ b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java @@ -128,6 +128,12 @@ public class ApiHelper { public static final boolean HAS_SET_ICON_ATTRIBUTE = Build.VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB; + public static final boolean HAS_ACTION_BAR_SET_LOGO = + Build.VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH; + + public static final boolean HAS_ACTION_BAR_SET_HOME_BUTTON_ENABLED = + Build.VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH; + private static boolean hasField(Class<?> klass, String fieldName) { try { klass.getDeclaredField(fieldName); diff --git a/src/com/android/gallery3d/app/GalleryActionBar.java b/src/com/android/gallery3d/app/GalleryActionBar.java index 2794b3fcd..23e8f0b16 100644 --- a/src/com/android/gallery3d/app/GalleryActionBar.java +++ b/src/com/android/gallery3d/app/GalleryActionBar.java @@ -16,10 +16,11 @@ package com.android.gallery3d.app; +import android.annotation.TargetApi; import android.app.ActionBar; +import android.app.ActionBar.OnMenuVisibilityListener; import android.app.Activity; import android.app.AlertDialog; -import android.app.ActionBar.OnMenuVisibilityListener; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; @@ -32,6 +33,7 @@ import android.widget.ShareActionProvider; import android.widget.TextView; import com.android.gallery3d.R; +import com.android.gallery3d.common.ApiHelper; import java.util.ArrayList; @@ -226,13 +228,18 @@ public class GalleryActionBar implements ActionBar.OnNavigationListener { }).create().show(); } + @TargetApi(ApiHelper.VERSION_CODES.ICE_CREAM_SANDWICH) + private void setHomeButtonEnabled(boolean enabled) { + mActionBar.setHomeButtonEnabled(enabled); + } + public void setDisplayOptions(boolean displayHomeAsUp, boolean showTitle) { if (mActionBar != null) { int options = (displayHomeAsUp ? ActionBar.DISPLAY_HOME_AS_UP : 0) | (showTitle ? ActionBar.DISPLAY_SHOW_TITLE : 0); mActionBar.setDisplayOptions(options, ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE); - mActionBar.setHomeButtonEnabled(displayHomeAsUp); + setHomeButtonEnabled(displayHomeAsUp); } } diff --git a/src/com/android/gallery3d/app/MovieActivity.java b/src/com/android/gallery3d/app/MovieActivity.java index 5f4db1d13..aa55c9bdf 100644 --- a/src/com/android/gallery3d/app/MovieActivity.java +++ b/src/com/android/gallery3d/app/MovieActivity.java @@ -116,13 +116,20 @@ public class MovieActivity extends Activity { win.setBackgroundDrawable(null); } + @TargetApi(ApiHelper.VERSION_CODES.ICE_CREAM_SANDWICH) + private void setActionBarLogoFromIntent(Intent intent) { + if (ApiHelper.HAS_ACTION_BAR_SET_LOGO) { + Bitmap logo = intent.getParcelableExtra(KEY_LOGO_BITMAP); + if (logo != null) { + getActionBar().setLogo(new BitmapDrawable(getResources(), logo)); + } + } + } + private void initializeActionBar(Intent intent) { mUri = intent.getData(); final ActionBar actionBar = getActionBar(); - Bitmap logo = intent.getParcelableExtra(KEY_LOGO_BITMAP); - if (logo != null) { - actionBar.setLogo(new BitmapDrawable(getResources(), logo)); - } + setActionBarLogoFromIntent(intent); actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP, ActionBar.DISPLAY_HOME_AS_UP); |