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 198123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.content.Context; 208123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.util.AttributeSet; 218123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.view.ActionMode; 228123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.view.View; 238123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banesimport android.widget.LinearLayout; 248123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 258123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes/** 268123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * @hide 278123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes */ 288123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banespublic class NativeActionModeAwareLayout extends LinearLayout { 298123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 308123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes private OnActionModeForChildListener mActionModeForChildListener; 318123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 328123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public NativeActionModeAwareLayout(Context context, AttributeSet attrs) { 338123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes super(context, attrs); 348123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 358123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 368123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public void setActionModeForChildListener(OnActionModeForChildListener listener) { 378123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes mActionModeForChildListener = listener; 388123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 398123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 408123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes @Override 418123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback) { 428123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes if (mActionModeForChildListener != null) { 438123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes callback = mActionModeForChildListener.onActionModeForChild(callback); 448123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 458123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes return super.startActionModeForChild(originalView, callback); 468123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 478123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes 488123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes /** 498123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes * @hide 508123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes */ 518123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes public interface OnActionModeForChildListener { 528123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes ActionMode.Callback onActionModeForChild(ActionMode.Callback callback); 538123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes } 548123e4b3d19031e34a60c0db202f0b3d100eb9d8Chris Banes} 55