public GalleryActionBar(AbstractGalleryActivity activity) {
   mActionBar = activity.getActionBar();
   mContext = activity.getAndroidContext();
   mActivity = activity;
   mInflater = ((Activity) mActivity).getLayoutInflater();
   mCurrentIndex = 0;
 }
 @Override
 public boolean onNavigationItemSelected(int itemPosition, long itemId) {
   if (itemPosition != mCurrentIndex && mClusterRunner != null || mAlbumModeListener != null) {
     // Need to lock rendering when operations invoked by system UI (main thread) are
     // modifying slot data used in GL thread for rendering.
     mActivity.getGLRoot().lockRenderThread();
     try {
       if (mAlbumModeListener != null) {
         mAlbumModeListener.onAlbumModeSelected(itemPosition);
       } else {
         mClusterRunner.doCluster(sClusterItems[itemPosition].action);
       }
     } finally {
       mActivity.getGLRoot().unlockRenderThread();
     }
   }
   return false;
 }
  public void createActionBarMenu(int menuRes, Menu menu) {
    mActivity.getMenuInflater().inflate(menuRes, menu);
    mActionBarMenu = menu;

    MenuItem item = menu.findItem(R.id.action_share_panorama);
    if (item != null) {
      mSharePanoramaActionProvider = (ShareActionProvider) item.getActionProvider();
      mSharePanoramaActionProvider.setShareHistoryFileName("panorama_share_history.xml");
      mSharePanoramaActionProvider.setShareIntent(mSharePanoramaIntent);
    }

    item = menu.findItem(R.id.action_share);
    if (item != null) {
      mShareActionProvider = (ShareActionProvider) item.getActionProvider();
      mShareActionProvider.setShareHistoryFileName("share_history.xml");
      mShareActionProvider.setShareIntent(mShareIntent);
    }
  }
 public void enableAlbumModeMenu(int selected, OnAlbumModeSelectedListener listener) {
   if (mActionBar != null) {
     if (mAlbumModeAdapter == null) {
       // Initialize the album mode options if they haven't been already
       Resources res = mActivity.getResources();
       mAlbumModes =
           new CharSequence[] {
             res.getString(R.string.switch_photo_filmstrip),
             res.getString(R.string.switch_photo_grid)
           };
       mAlbumModeAdapter = new AlbumModeAdapter();
     }
     mAlbumModeListener = null;
     mLastAlbumModeSelected = selected;
     mActionBar.setListNavigationCallbacks(mAlbumModeAdapter, this);
     mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
     mActionBar.setSelectedNavigationItem(selected);
     mAlbumModeListener = listener;
   }
 }