1f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho/* 2f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * Copyright (C) 2016 The Android Open Source Project 3f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * 4f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * Licensed under the Apache License, Version 2.0 (the "License"); 5f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * you may not use this file except in compliance with the License. 6f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * You may obtain a copy of the License at 7f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * 8f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * http://www.apache.org/licenses/LICENSE-2.0 9f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * 10f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * Unless required by applicable law or agreed to in writing, software 11f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * distributed under the License is distributed on an "AS IS" BASIS, 12f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * See the License for the specific language governing permissions and 14f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * limitations under the License. 15f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho */ 16f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho 17f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Chopackage com.android.systemui.tv.pip; 18f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho 19f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Choimport android.content.pm.PackageManager; 20f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Choimport android.content.res.Configuration; 21f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho 22f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Choimport com.android.systemui.SystemUI; 23f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho 24f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Choimport static android.content.pm.PackageManager.FEATURE_LEANBACK; 25f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Choimport static android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE; 26f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho 27f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho/** 28f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho * Controls the picture-in-picture window for TV devices. 29f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho */ 30f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Chopublic class PipUI extends SystemUI { 31f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho private boolean mSupportPip; 32f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho 33f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho @Override 34f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho public void start() { 35f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho PackageManager pm = mContext.getPackageManager(); 36f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho mSupportPip = pm.hasSystemFeature(FEATURE_PICTURE_IN_PICTURE) 37f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho && pm.hasSystemFeature(FEATURE_LEANBACK); 38f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho if (!mSupportPip) { 39f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho return; 40f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho } 41f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho PipManager pipManager = PipManager.getInstance(); 42f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho pipManager.initialize(mContext); 43f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho } 44f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho 45f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho @Override 46f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho protected void onConfigurationChanged(Configuration newConfig) { 47f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho super.onConfigurationChanged(newConfig); 48f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho if (!mSupportPip) { 49f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho return; 50f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho } 512d4d07c66329bad4ad7cabf13eedca5bfe9a1a66Jaewan Kim PipManager.getInstance().onConfigurationChanged(); 52f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho } 53f164792472dae77b14a47a30ad66c1a0e41340b0Youngsang Cho} 54