1612180118780754179c086f21a8319a9d0c94d22jingjiangli/*
2612180118780754179c086f21a8319a9d0c94d22jingjiangli * Copyright (C) 2017 The Android Open Source Project
3612180118780754179c086f21a8319a9d0c94d22jingjiangli *
4612180118780754179c086f21a8319a9d0c94d22jingjiangli * Licensed under the Apache License, Version 2.0 (the "License");
5612180118780754179c086f21a8319a9d0c94d22jingjiangli * you may not use this file except in compliance with the License.
6612180118780754179c086f21a8319a9d0c94d22jingjiangli * You may obtain a copy of the License at
7612180118780754179c086f21a8319a9d0c94d22jingjiangli *
8612180118780754179c086f21a8319a9d0c94d22jingjiangli *      http://www.apache.org/licenses/LICENSE-2.0
9612180118780754179c086f21a8319a9d0c94d22jingjiangli *
10612180118780754179c086f21a8319a9d0c94d22jingjiangli * Unless required by applicable law or agreed to in writing, software
11612180118780754179c086f21a8319a9d0c94d22jingjiangli * distributed under the License is distributed on an "AS IS" BASIS,
12612180118780754179c086f21a8319a9d0c94d22jingjiangli * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13612180118780754179c086f21a8319a9d0c94d22jingjiangli * See the License for the specific language governing permissions and
14612180118780754179c086f21a8319a9d0c94d22jingjiangli * limitations under the License.
15612180118780754179c086f21a8319a9d0c94d22jingjiangli */
16612180118780754179c086f21a8319a9d0c94d22jingjiangli
17612180118780754179c086f21a8319a9d0c94d22jingjianglipackage com.example.android.leanback;
18612180118780754179c086f21a8319a9d0c94d22jingjiangli
19612180118780754179c086f21a8319a9d0c94d22jingjiangliimport android.app.Activity;
20612180118780754179c086f21a8319a9d0c94d22jingjiangliimport android.app.FragmentTransaction;
21612180118780754179c086f21a8319a9d0c94d22jingjiangliimport android.content.Context;
22612180118780754179c086f21a8319a9d0c94d22jingjiangliimport android.content.Intent;
23612180118780754179c086f21a8319a9d0c94d22jingjiangliimport android.content.pm.PackageManager;
2400ffb5f2063800357fca1f5cc1810a5c3ed17f11Jake Whartonimport android.os.Build;
25612180118780754179c086f21a8319a9d0c94d22jingjiangliimport android.os.Bundle;
26612180118780754179c086f21a8319a9d0c94d22jingjiangli
27612180118780754179c086f21a8319a9d0c94d22jingjiangli/**
28612180118780754179c086f21a8319a9d0c94d22jingjiangli * Activity that hosts VideoConsumptionExampleFragment.
29612180118780754179c086f21a8319a9d0c94d22jingjiangli *
30612180118780754179c086f21a8319a9d0c94d22jingjiangli * The main purpose to add this activity is to observe the bug b/28003943
31612180118780754179c086f21a8319a9d0c94d22jingjiangli */
32612180118780754179c086f21a8319a9d0c94d22jingjianglipublic class VideoActivityWithDetailedCard extends Activity {
33612180118780754179c086f21a8319a9d0c94d22jingjiangli
34612180118780754179c086f21a8319a9d0c94d22jingjiangli    public static final String TAG = "VideoExampleActivity";
35612180118780754179c086f21a8319a9d0c94d22jingjiangli
36612180118780754179c086f21a8319a9d0c94d22jingjiangli    @Override
37612180118780754179c086f21a8319a9d0c94d22jingjiangli    public void onCreate(Bundle savedInstanceState) {
38612180118780754179c086f21a8319a9d0c94d22jingjiangli        super.onCreate(savedInstanceState);
39612180118780754179c086f21a8319a9d0c94d22jingjiangli        setContentView(R.layout.video_activity_detailed_card);
40612180118780754179c086f21a8319a9d0c94d22jingjiangli
41612180118780754179c086f21a8319a9d0c94d22jingjiangli        if (savedInstanceState == null) {
42612180118780754179c086f21a8319a9d0c94d22jingjiangli            FragmentTransaction ft = getFragmentManager().beginTransaction();
43612180118780754179c086f21a8319a9d0c94d22jingjiangli            ft.add(R.id.videoFragment, new VideoConsumptionWithDetailCardFragment(),
44612180118780754179c086f21a8319a9d0c94d22jingjiangli                    VideoConsumptionWithDetailCardFragment.TAG);
45612180118780754179c086f21a8319a9d0c94d22jingjiangli            ft.commit();
46612180118780754179c086f21a8319a9d0c94d22jingjiangli        }
47612180118780754179c086f21a8319a9d0c94d22jingjiangli    }
48612180118780754179c086f21a8319a9d0c94d22jingjiangli
49612180118780754179c086f21a8319a9d0c94d22jingjiangli    @Override
50612180118780754179c086f21a8319a9d0c94d22jingjiangli    protected void onNewIntent(Intent intent) {
51612180118780754179c086f21a8319a9d0c94d22jingjiangli        super.onNewIntent(intent);
52612180118780754179c086f21a8319a9d0c94d22jingjiangli        // This part is necessary to ensure that getIntent returns the latest intent when
53612180118780754179c086f21a8319a9d0c94d22jingjiangli        // VideoExampleActivity is started. By default, getIntent() returns the initial intent
54612180118780754179c086f21a8319a9d0c94d22jingjiangli        // that was set from another activity that started VideoExampleActivity. However, we need
55612180118780754179c086f21a8319a9d0c94d22jingjiangli        // to update this intent when for example, user clicks on another video when the currently
56612180118780754179c086f21a8319a9d0c94d22jingjiangli        // playing video is in PIP mode, and a new video needs to be started.
57612180118780754179c086f21a8319a9d0c94d22jingjiangli        setIntent(intent);
58612180118780754179c086f21a8319a9d0c94d22jingjiangli    }
59612180118780754179c086f21a8319a9d0c94d22jingjiangli
60612180118780754179c086f21a8319a9d0c94d22jingjiangli    /**
61612180118780754179c086f21a8319a9d0c94d22jingjiangli     * Helper function to determine if picture in picture mode is supported or not
62612180118780754179c086f21a8319a9d0c94d22jingjiangli     * @param context current context
63612180118780754179c086f21a8319a9d0c94d22jingjiangli     * @return if Picture in Picture mode is supported or not
64612180118780754179c086f21a8319a9d0c94d22jingjiangli     */
65612180118780754179c086f21a8319a9d0c94d22jingjiangli    public static boolean supportsPictureInPicture(Context context) {
6600ffb5f2063800357fca1f5cc1810a5c3ed17f11Jake Wharton        return Build.VERSION.SDK_INT >= 24
67612180118780754179c086f21a8319a9d0c94d22jingjiangli                && context.getPackageManager().hasSystemFeature(
68612180118780754179c086f21a8319a9d0c94d22jingjiangli                        PackageManager.FEATURE_PICTURE_IN_PICTURE);
69612180118780754179c086f21a8319a9d0c94d22jingjiangli    }
70612180118780754179c086f21a8319a9d0c94d22jingjiangli}
71612180118780754179c086f21a8319a9d0c94d22jingjiangli
72