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