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