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