package com.actionbarsherlock.internal.view;
import java.lang.ref.WeakReference;
import android.content.Context;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import com.actionbarsherlock.internal.view.menu.MenuBuilder;
import com.actionbarsherlock.internal.view.menu.MenuPopupHelper;
import com.actionbarsherlock.internal.view.menu.SubMenuBuilder;
import com.actionbarsherlock.internal.widget.ActionBarContextView;
import com.actionbarsherlock.view.ActionMode;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
private Context mContext;
private ActionBarContextView mContextView;
private ActionMode.Callback mCallback;
private WeakReference<View> mCustomView;
private boolean mFinished;
private boolean mFocusable;
private MenuBuilder mMenu;
ActionMode.Callback callback, boolean isFocusable) {
mContext = context;
mContextView = view;
mCallback = callback;
mMenu = new MenuBuilder(context).setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
mMenu.setCallback(this);
mFocusable = isFocusable;
}
@Override
public void setTitle(CharSequence title) {
mContextView.setTitle(title);
}
@Override
mContextView.setSubtitle(subtitle);
}
@Override
setTitle(mContext.getString(resId));
}
@Override
setSubtitle(mContext.getString(resId));
}
@Override
mContextView.setCustomView(view);
mCustomView = view != null ? new WeakReference<View>(view) : null;
}
@Override
mCallback.onPrepareActionMode(this, mMenu);
}
@Override
if (mFinished) {
return;
}
mFinished = true;
mContextView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
mCallback.onDestroyActionMode(this);
}
@Override
public Menu () {
return mMenu;
}
@Override
return mContextView.getTitle();
}
@Override
return mContextView.getSubtitle();
}
@Override
return mCustomView != null ? mCustomView.get() : null;
}
@Override
public MenuInflater () {
return new MenuInflater(mContext);
}
public boolean (MenuBuilder menu, MenuItem item) {
return mCallback.onActionItemClicked(this, item);
}
public void (MenuBuilder menu, boolean allMenusAreClosing) {
}
public boolean (SubMenuBuilder subMenu) {
if (!subMenu.hasVisibleItems()) {
return true;
}
new MenuPopupHelper(mContext, subMenu).show();
return true;
}
public void (SubMenuBuilder menu) {
}
public void (MenuBuilder menu) {
invalidate();
mContextView.showOverflowMenu();
}
return mFocusable;
}
}