Search in sources :

Example 1 with StandaloneActionMode

use of com.smartandroid.sa.sherlock.internal.view.StandaloneActionMode in project SmartAndroidSource by jaychou2012.

the class ActionBarSherlockCompat method startActionMode.

@Override
public ActionMode startActionMode(ActionMode.Callback callback) {
    if (ActionBarSherlock.DEBUG)
        Log.d(TAG, "[startActionMode] callback: " + callback);
    if (mActionMode != null) {
        mActionMode.finish();
    }
    final ActionMode.Callback wrappedCallback = new ActionModeCallbackWrapper(callback);
    ActionMode mode = null;
    // Emulate Activity's onWindowStartingActionMode:
    initActionBar();
    if (aActionBar != null) {
        mode = aActionBar.startActionMode(wrappedCallback);
    }
    if (mode != null) {
        mActionMode = mode;
    } else {
        if (mActionModeView == null) {
            ViewStub stub = (ViewStub) mDecor.findViewById(getThemedContext().getResources().getIdentifier("abs__action_mode_bar_stub", "id", getThemedContext().getPackageName()));
            // .findViewById(R.id.abs__action_mode_bar_stub);
            if (stub != null) {
                mActionModeView = (ActionBarContextView) stub.inflate();
            }
        }
        if (mActionModeView != null) {
            mActionModeView.killMode();
            mode = new StandaloneActionMode(mActivity, mActionModeView, wrappedCallback, true);
            if (callback.onCreateActionMode(mode, mode.getMenu())) {
                mode.invalidate();
                mActionModeView.initForMode(mode);
                mActionModeView.setVisibility(View.VISIBLE);
                mActionMode = mode;
                mActionModeView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
            } else {
                mActionMode = null;
            }
        }
    }
    if (mActionMode != null && mActivity instanceof OnActionModeStartedListener) {
        ((OnActionModeStartedListener) mActivity).onActionModeStarted(mActionMode);
    }
    return mActionMode;
}
Also used : StandaloneActionMode(com.smartandroid.sa.sherlock.internal.view.StandaloneActionMode) ViewStub(android.view.ViewStub) ActionMode(com.smartandroid.sa.sherlock.view.ActionMode) StandaloneActionMode(com.smartandroid.sa.sherlock.internal.view.StandaloneActionMode)

Aggregations

ViewStub (android.view.ViewStub)1 StandaloneActionMode (com.smartandroid.sa.sherlock.internal.view.StandaloneActionMode)1 ActionMode (com.smartandroid.sa.sherlock.view.ActionMode)1