diff options
| author | Owen Lin <owenlin@google.com> | 2012-07-04 15:48:59 +0800 |
|---|---|---|
| committer | Owen Lin <owenlin@google.com> | 2012-07-05 14:05:21 +0800 |
| commit | b1eb01cd02d1e75e6b9c3e593f6ff34335e2ca8a (patch) | |
| tree | ae5b63b54d25880bffab2314c93e37700dd5c585 /src | |
| parent | 097518e3dcbf212a78fa1fe3ad1ddea236401eb5 (diff) | |
| download | android_packages_apps_Gallery2-b1eb01cd02d1e75e6b9c3e593f6ff34335e2ca8a.tar.gz android_packages_apps_Gallery2-b1eb01cd02d1e75e6b9c3e593f6ff34335e2ca8a.tar.bz2 android_packages_apps_Gallery2-b1eb01cd02d1e75e6b9c3e593f6ff34335e2ca8a.zip | |
Don't use invalidateOptionsMenu before API level 11.
Change-Id: If46d46e44797b2bd4f66235eca0954a55d0008cf
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/gallery3d/app/AbstractGalleryActivity.java | 29 | ||||
| -rw-r--r-- | src/com/android/gallery3d/app/ActivityState.java | 3 | ||||
| -rw-r--r-- | src/com/android/gallery3d/app/Gallery.java | 8 |
3 files changed, 30 insertions, 10 deletions
diff --git a/src/com/android/gallery3d/app/AbstractGalleryActivity.java b/src/com/android/gallery3d/app/AbstractGalleryActivity.java index 9b2a85ed4..24d5dbcdf 100644 --- a/src/com/android/gallery3d/app/AbstractGalleryActivity.java +++ b/src/com/android/gallery3d/app/AbstractGalleryActivity.java @@ -16,6 +16,7 @@ package com.android.gallery3d.app; +import android.annotation.TargetApi; import android.app.Activity; import android.app.AlertDialog; import android.content.BroadcastReceiver; @@ -27,11 +28,13 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.res.Configuration; import android.os.Bundle; +import android.view.Menu; import android.view.MenuItem; import android.view.Window; import android.view.WindowManager; import com.android.gallery3d.R; +import com.android.gallery3d.common.ApiHelper; import com.android.gallery3d.data.BitmapPool; import com.android.gallery3d.data.DataManager; import com.android.gallery3d.data.MediaItem; @@ -85,18 +88,42 @@ public class AbstractGalleryActivity extends Activity implements GalleryActivity toggleStatusBarByOrientation(); } + private Menu mOptionsMenu; + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + mOptionsMenu = menu; + super.onCreateOptionsMenu(menu); + return getStateManager().createOptionsMenu(menu); + } + + @Override + @TargetApi(ApiHelper.VERSION_CODES.HONEYCOMB) + public void invalidateOptionsMenu() { + if (ApiHelper.HAS_ACTIVITY_INVALIDATE_OPTIONS_MENU) { + super.invalidateOptionsMenu(); + } else if (mOptionsMenu != null) { + mOptionsMenu.clear(); + getStateManager().createOptionsMenu(mOptionsMenu); + } + } + + @Override public Context getAndroidContext() { return this; } + @Override public DataManager getDataManager() { return ((GalleryApp) getApplication()).getDataManager(); } + @Override public ThreadPool getThreadPool() { return ((GalleryApp) getApplication()).getThreadPool(); } + @Override public synchronized StateManager getStateManager() { if (mStateManager == null) { mStateManager = new StateManager(this); @@ -104,10 +131,12 @@ public class AbstractGalleryActivity extends Activity implements GalleryActivity return mStateManager; } + @Override public GLRoot getGLRoot() { return mGLRootView; } + @Override public OrientationManager getOrientationManager() { return mOrientationManager; } diff --git a/src/com/android/gallery3d/app/ActivityState.java b/src/com/android/gallery3d/app/ActivityState.java index 867cda3e5..c870855c9 100644 --- a/src/com/android/gallery3d/app/ActivityState.java +++ b/src/com/android/gallery3d/app/ActivityState.java @@ -27,7 +27,6 @@ import android.os.BatteryManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; -import android.view.View; import android.view.Window; import android.view.WindowManager; @@ -135,7 +134,7 @@ abstract public class ActivityState { // should only be called by StateManager void resume() { - Activity activity = (Activity) mActivity; + AbstractGalleryActivity activity = (AbstractGalleryActivity) mActivity; ActionBar actionBar = activity.getActionBar(); if (actionBar != null) { if ((mFlags & FLAG_HIDE_ACTION_BAR) != 0) { diff --git a/src/com/android/gallery3d/app/Gallery.java b/src/com/android/gallery3d/app/Gallery.java index 468d202d4..0d5770cd5 100644 --- a/src/com/android/gallery3d/app/Gallery.java +++ b/src/com/android/gallery3d/app/Gallery.java @@ -26,7 +26,6 @@ import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.OpenableColumns; -import android.view.Menu; import android.view.Window; import android.widget.Toast; @@ -37,7 +36,6 @@ import com.android.gallery3d.data.MediaItem; import com.android.gallery3d.data.MediaSet; import com.android.gallery3d.data.Path; import com.android.gallery3d.picasasource.PicasaSource; -import com.android.gallery3d.ui.GLRoot; import com.android.gallery3d.util.GalleryUtils; public final class Gallery extends AbstractGalleryActivity implements OnCancelListener { @@ -232,12 +230,6 @@ public final class Gallery extends AbstractGalleryActivity implements OnCancelLi } @Override - public boolean onCreateOptionsMenu(Menu menu) { - super.onCreateOptionsMenu(menu); - return getStateManager().createOptionsMenu(menu); - } - - @Override protected void onResume() { Utils.assertTrue(getStateManager().getStateCount() > 0); super.onResume(); |
