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