Source code
package android.support.v7.app;
import android.content.Context;
import android.support.v7.internal.view.SupportActionModeWrapper.CallbackWrapper;
import android.view.ActionMode;
import android.view.Window;
import android.view.Window.Callback;
class AppCompatDelegateImplV14 extends AppCompatDelegateImplV11 {
private boolean mHandleNativeActionModes = true;
class AppCompatWindowCallbackV14 extends AppCompatWindowCallbackBase {
AppCompatWindowCallbackV14(Callback callback) {
super(callback);
}
public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) {
if (AppCompatDelegateImplV14.this.isHandleNativeActionModesEnabled()) {
return startAsSupportActionMode(callback);
}
return super.onWindowStartingActionMode(callback);
}
final ActionMode startAsSupportActionMode(ActionMode.Callback callback) {
CallbackWrapper callbackWrapper = new CallbackWrapper(AppCompatDelegateImplV14.this.mContext, callback);
android.support.v7.view.ActionMode supportActionMode = AppCompatDelegateImplV14.this.startSupportActionMode(callbackWrapper);
if (supportActionMode != null) {
return callbackWrapper.getActionModeWrapper(supportActionMode);
}
return null;
}
}
AppCompatDelegateImplV14(Context context, Window window, AppCompatCallback callback) {
super(context, window, callback);
}
Callback wrapWindowCallback(Callback callback) {
return new AppCompatWindowCallbackV14(callback);
}
public void setHandleNativeActionModesEnabled(boolean enabled) {
this.mHandleNativeActionModes = enabled;
}
public boolean isHandleNativeActionModesEnabled() {
return this.mHandleNativeActionModes;
}
}