summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gallerycommon/src/com/android/gallery3d/common/ApiHelper.java6
-rw-r--r--src/com/android/gallery3d/app/GalleryActionBar.java11
-rw-r--r--src/com/android/gallery3d/app/MovieActivity.java15
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);