1ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes/*
2ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * Copyright (C) 2014 The Android Open Source Project
3ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes *
4ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * Licensed under the Apache License, Version 2.0 (the "License");
5ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * you may not use this file except in compliance with the License.
6ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * You may obtain a copy of the License at
7ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes *
8ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes *      http://www.apache.org/licenses/LICENSE-2.0
9ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes *
10ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * Unless required by applicable law or agreed to in writing, software
11ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * distributed under the License is distributed on an "AS IS" BASIS,
12ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * See the License for the specific language governing permissions and
14ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * limitations under the License.
15ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes */
16ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
17ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikaspackage androidx.appcompat.widget;
18ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
19ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP;
208e10080c914d1ad0784394fa3026b85535535847Aurimas Liutikas
21ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banesimport android.content.Context;
22ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banesimport android.graphics.Rect;
23ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banesimport android.util.AttributeSet;
24ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banesimport android.widget.LinearLayout;
25ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
263de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikasimport androidx.annotation.RestrictTo;
273de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikas
28ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes/**
29ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes * @hide
30ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes */
318e10080c914d1ad0784394fa3026b85535535847Aurimas Liutikas@RestrictTo(LIBRARY_GROUP)
32ea4f700ac38424954c56df5138ff794def50b019Chris Banespublic class FitWindowsLinearLayout extends LinearLayout implements FitWindowsViewGroup {
33ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
34ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    private OnFitSystemWindowsListener mListener;
35ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
36ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    public FitWindowsLinearLayout(Context context) {
37ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes        super(context);
38ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    }
39ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
40ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    public FitWindowsLinearLayout(Context context, AttributeSet attrs) {
41ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes        super(context, attrs);
42ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    }
43ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
44dc8e099ed130434c0238f558277c5bcb6a533121Aurimas Liutikas    @Override
45ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    public void setOnFitSystemWindowsListener(OnFitSystemWindowsListener listener) {
46ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes        mListener = listener;
47ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    }
48ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes
49ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    @Override
50ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    protected boolean fitSystemWindows(Rect insets) {
51ea4f700ac38424954c56df5138ff794def50b019Chris Banes        if (mListener != null) {
52ea4f700ac38424954c56df5138ff794def50b019Chris Banes            mListener.onFitSystemWindows(insets);
53ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes        }
54ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes        return super.fitSystemWindows(insets);
55ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes    }
56ec3f49d21a507835c1f50ce5600000b587a2af08Chris Banes}
57