18123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes/* 28123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * Copyright (C) 2013 The Android Open Source Project 38123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * 48123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 58123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * you may not use this file except in compliance with the License. 68123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * You may obtain a copy of the License at 78123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * 88123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * http://www.apache.org/licenses/LICENSE-2.0 98123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * 108123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * Unless required by applicable law or agreed to in writing, software 118123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * distributed under the License is distributed on an "AS IS" BASIS, 128123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * See the License for the specific language governing permissions and 148123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * limitations under the License. 158123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes */ 168123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 178123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banespackage android.support.v7.internal.widget; 188123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 19de9f38cc4a30b33ac46b105edf470fbc4a044e99Chris Banesimport android.annotation.TargetApi; 208123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.content.Context; 21de9f38cc4a30b33ac46b105edf470fbc4a044e99Chris Banesimport android.os.Build; 228123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.util.AttributeSet; 238123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.view.ActionMode; 248123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.view.View; 258123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 268123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes/** 278123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * @hide 288123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes */ 29de9f38cc4a30b33ac46b105edf470fbc4a044e99Chris Banes@TargetApi(Build.VERSION_CODES.HONEYCOMB) 30de9f38cc4a30b33ac46b105edf470fbc4a044e99Chris Banespublic class NativeActionModeAwareLayout extends ContentFrameLayout { 318123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 328123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes private OnActionModeForChildListener mActionModeForChildListener; 338123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 348123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public NativeActionModeAwareLayout(Context context, AttributeSet attrs) { 358123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes super(context, attrs); 368123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 378123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 388123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public void setActionModeForChildListener(OnActionModeForChildListener listener) { 398123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes mActionModeForChildListener = listener; 408123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 418123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 428123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback) { 438123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes if (mActionModeForChildListener != null) { 444c2a95906254748cb9a843b061288265d6e185a9Chris Banes return mActionModeForChildListener.startActionModeForChild(originalView, callback); 458123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 468123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes return super.startActionModeForChild(originalView, callback); 478123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 488123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 498123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes /** 508123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * @hide 518123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes */ 528123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public interface OnActionModeForChildListener { 534c2a95906254748cb9a843b061288265d6e185a9Chris Banes ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback); 548123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 558123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes} 56