diff options
Diffstat (limited to 'src/com/android/gallery3d/app/AbstractGalleryActivity.java')
-rw-r--r-- | src/com/android/gallery3d/app/AbstractGalleryActivity.java | 29 |
1 files changed, 29 insertions, 0 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; } |