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