FocusRecyclerView.java revision db4ed191deefeda79af5644634415597c1c70217
1/*
2 * Copyright 2015, The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.settings.dashboard.conditional;
17
18import android.content.Context;
19import android.support.annotation.Nullable;
20import android.support.v7.widget.RecyclerView;
21import android.util.AttributeSet;
22
23/**
24 * Version of RecyclerView that can have listeners for onWindowFocusChanged.
25 */
26public class FocusRecyclerView extends RecyclerView {
27
28    private FocusListener mListener;
29
30    public FocusRecyclerView(Context context, @Nullable AttributeSet attrs) {
31        super(context, attrs);
32    }
33
34    @Override
35    public void onWindowFocusChanged(boolean hasWindowFocus) {
36        super.onWindowFocusChanged(hasWindowFocus);
37        if (mListener != null) {
38            mListener.onWindowFocusChanged(hasWindowFocus);
39        }
40    }
41
42    public void setListener(FocusListener listener) {
43        mListener = listener;
44    }
45
46    public interface FocusListener {
47        void onWindowFocusChanged(boolean hasWindowFocus);
48    }
49}
50