1ea4f700ac38424954c56df5138ff794def50b019Chris Banes/*
2ea4f700ac38424954c56df5138ff794def50b019Chris Banes * Copyright (C) 2014 The Android Open Source Project
3ea4f700ac38424954c56df5138ff794def50b019Chris Banes *
4ea4f700ac38424954c56df5138ff794def50b019Chris Banes * Licensed under the Apache License, Version 2.0 (the "License");
5ea4f700ac38424954c56df5138ff794def50b019Chris Banes * you may not use this file except in compliance with the License.
6ea4f700ac38424954c56df5138ff794def50b019Chris Banes * You may obtain a copy of the License at
7ea4f700ac38424954c56df5138ff794def50b019Chris Banes *
8ea4f700ac38424954c56df5138ff794def50b019Chris Banes *      http://www.apache.org/licenses/LICENSE-2.0
9ea4f700ac38424954c56df5138ff794def50b019Chris Banes *
10ea4f700ac38424954c56df5138ff794def50b019Chris Banes * Unless required by applicable law or agreed to in writing, software
11ea4f700ac38424954c56df5138ff794def50b019Chris Banes * distributed under the License is distributed on an "AS IS" BASIS,
12ea4f700ac38424954c56df5138ff794def50b019Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ea4f700ac38424954c56df5138ff794def50b019Chris Banes * See the License for the specific language governing permissions and
14ea4f700ac38424954c56df5138ff794def50b019Chris Banes * limitations under the License.
15ea4f700ac38424954c56df5138ff794def50b019Chris Banes */
16ea4f700ac38424954c56df5138ff794def50b019Chris Banes
17ea4f700ac38424954c56df5138ff794def50b019Chris Banespackage android.support.v4.view;
18ea4f700ac38424954c56df5138ff794def50b019Chris Banes
19ea4f700ac38424954c56df5138ff794def50b019Chris Banesimport android.graphics.Rect;
20ea4f700ac38424954c56df5138ff794def50b019Chris Banesimport android.view.WindowInsets;
21ea4f700ac38424954c56df5138ff794def50b019Chris Banes
22ea4f700ac38424954c56df5138ff794def50b019Chris Banesclass WindowInsetsCompatApi21 extends WindowInsetsCompat {
23ea4f700ac38424954c56df5138ff794def50b019Chris Banes
24ea4f700ac38424954c56df5138ff794def50b019Chris Banes    private final WindowInsets mSource;
25ea4f700ac38424954c56df5138ff794def50b019Chris Banes
26ea4f700ac38424954c56df5138ff794def50b019Chris Banes    WindowInsetsCompatApi21(WindowInsets source) {
27ea4f700ac38424954c56df5138ff794def50b019Chris Banes        mSource = source;
28ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
29ea4f700ac38424954c56df5138ff794def50b019Chris Banes
30ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
31ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getSystemWindowInsetLeft() {
32ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getSystemWindowInsetLeft();
33ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
34ea4f700ac38424954c56df5138ff794def50b019Chris Banes
35ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
36ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getSystemWindowInsetTop() {
37ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getSystemWindowInsetTop();
38ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
39ea4f700ac38424954c56df5138ff794def50b019Chris Banes
40ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
41ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getSystemWindowInsetRight() {
42ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getSystemWindowInsetRight();
43ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
44ea4f700ac38424954c56df5138ff794def50b019Chris Banes
45ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
46ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getSystemWindowInsetBottom() {
47ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getSystemWindowInsetBottom();
48ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
49ea4f700ac38424954c56df5138ff794def50b019Chris Banes
50ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
51ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public boolean hasSystemWindowInsets() {
52ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.hasSystemWindowInsets();
53ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
54ea4f700ac38424954c56df5138ff794def50b019Chris Banes
55ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
56ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public boolean hasInsets() {
57ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.hasInsets();
58ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
59ea4f700ac38424954c56df5138ff794def50b019Chris Banes
60ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
61ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public boolean isConsumed() {
62ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.isConsumed();
63ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
64ea4f700ac38424954c56df5138ff794def50b019Chris Banes
65ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
66ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public boolean isRound() {
67ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.isRound();
68ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
69ea4f700ac38424954c56df5138ff794def50b019Chris Banes
70ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
71ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public WindowInsetsCompat consumeSystemWindowInsets() {
72ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return new WindowInsetsCompatApi21(mSource.consumeSystemWindowInsets());
73ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
74ea4f700ac38424954c56df5138ff794def50b019Chris Banes
75ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
76ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public WindowInsetsCompat replaceSystemWindowInsets(int left, int top, int right, int bottom) {
77ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return new WindowInsetsCompatApi21(mSource.replaceSystemWindowInsets(left, top, right, bottom));
78ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
79ea4f700ac38424954c56df5138ff794def50b019Chris Banes
80ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
81ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public WindowInsetsCompat replaceSystemWindowInsets(Rect systemWindowInsets) {
82ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return new WindowInsetsCompatApi21(mSource.replaceSystemWindowInsets(systemWindowInsets));
83ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
84ea4f700ac38424954c56df5138ff794def50b019Chris Banes
85ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
86ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getStableInsetTop() {
87ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getStableInsetTop();
88ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
89ea4f700ac38424954c56df5138ff794def50b019Chris Banes
90ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
91ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getStableInsetLeft() {
92ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getStableInsetLeft();
93ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
94ea4f700ac38424954c56df5138ff794def50b019Chris Banes
95ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
96ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getStableInsetRight() {
97ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getStableInsetRight();
98ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
99ea4f700ac38424954c56df5138ff794def50b019Chris Banes
100ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
101ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public int getStableInsetBottom() {
102ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.getStableInsetBottom();
103ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
104ea4f700ac38424954c56df5138ff794def50b019Chris Banes
105ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
106ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public boolean hasStableInsets() {
107ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource.hasStableInsets();
108ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
109ea4f700ac38424954c56df5138ff794def50b019Chris Banes
110ea4f700ac38424954c56df5138ff794def50b019Chris Banes    @Override
111ea4f700ac38424954c56df5138ff794def50b019Chris Banes    public WindowInsetsCompat consumeStableInsets() {
112ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return new WindowInsetsCompatApi21(mSource.consumeStableInsets());
113ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
114ea4f700ac38424954c56df5138ff794def50b019Chris Banes
115ea4f700ac38424954c56df5138ff794def50b019Chris Banes    WindowInsets unwrap() {
116ea4f700ac38424954c56df5138ff794def50b019Chris Banes        return mSource;
117ea4f700ac38424954c56df5138ff794def50b019Chris Banes    }
118ea4f700ac38424954c56df5138ff794def50b019Chris Banes}
119