14702556bfd15c9819a7b2af759aee0f719cd631fsusnata/* 24702556bfd15c9819a7b2af759aee0f719cd631fsusnata * Copyright (C) 2016 The Android Open Source Project 34702556bfd15c9819a7b2af759aee0f719cd631fsusnata * 44702556bfd15c9819a7b2af759aee0f719cd631fsusnata * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 54702556bfd15c9819a7b2af759aee0f719cd631fsusnata * in compliance with the License. You may obtain a copy of the License at 64702556bfd15c9819a7b2af759aee0f719cd631fsusnata * 74702556bfd15c9819a7b2af759aee0f719cd631fsusnata * http://www.apache.org/licenses/LICENSE-2.0 84702556bfd15c9819a7b2af759aee0f719cd631fsusnata * 94702556bfd15c9819a7b2af759aee0f719cd631fsusnata * Unless required by applicable law or agreed to in writing, software distributed under the License 104702556bfd15c9819a7b2af759aee0f719cd631fsusnata * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 114702556bfd15c9819a7b2af759aee0f719cd631fsusnata * or implied. See the License for the specific language governing permissions and limitations under 124702556bfd15c9819a7b2af759aee0f719cd631fsusnata * the License. 134702556bfd15c9819a7b2af759aee0f719cd631fsusnata */ 144702556bfd15c9819a7b2af759aee0f719cd631fsusnatapackage android.support.v17.leanback.app; 154702556bfd15c9819a7b2af759aee0f719cd631fsusnata 16e1cde4d4ac42a6e9e16aad2b4df970c7c7d0771cDake Guimport android.support.v17.leanback.media.PlaybackGlue; 1795ac470f2bbea06114a64906d95c0da7d9412db0Dake Guimport android.support.v17.leanback.media.PlaybackGlueHost; 1895ac470f2bbea06114a64906d95c0da7d9412db0Dake Guimport android.support.v17.leanback.media.SurfaceHolderGlueHost; 194702556bfd15c9819a7b2af759aee0f719cd631fsusnataimport android.view.SurfaceHolder; 204702556bfd15c9819a7b2af759aee0f719cd631fsusnata 214702556bfd15c9819a7b2af759aee0f719cd631fsusnata/** 2295ac470f2bbea06114a64906d95c0da7d9412db0Dake Gu * {@link PlaybackGlueHost} implementation 23e1cde4d4ac42a6e9e16aad2b4df970c7c7d0771cDake Gu * the interaction between {@link PlaybackGlue} and {@link VideoFragment}. 244702556bfd15c9819a7b2af759aee0f719cd631fsusnata */ 25aa49439ba6276137f94fcdc1bf4f69b78833dad6susnatapublic class VideoFragmentGlueHost extends PlaybackFragmentGlueHost 26aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata implements SurfaceHolderGlueHost { 274702556bfd15c9819a7b2af759aee0f719cd631fsusnata private final VideoFragment mFragment; 284702556bfd15c9819a7b2af759aee0f719cd631fsusnata 294702556bfd15c9819a7b2af759aee0f719cd631fsusnata public VideoFragmentGlueHost(VideoFragment fragment) { 304702556bfd15c9819a7b2af759aee0f719cd631fsusnata super(fragment); 314702556bfd15c9819a7b2af759aee0f719cd631fsusnata this.mFragment = fragment; 324702556bfd15c9819a7b2af759aee0f719cd631fsusnata } 334702556bfd15c9819a7b2af759aee0f719cd631fsusnata 344702556bfd15c9819a7b2af759aee0f719cd631fsusnata /** 354702556bfd15c9819a7b2af759aee0f719cd631fsusnata * Sets the {@link android.view.SurfaceHolder.Callback} on the host. 3695ac470f2bbea06114a64906d95c0da7d9412db0Dake Gu * {@link PlaybackGlueHost} is assumed to either host the {@link SurfaceHolder} or 374702556bfd15c9819a7b2af759aee0f719cd631fsusnata * have a reference to the component hosting it for rendering the video. 384702556bfd15c9819a7b2af759aee0f719cd631fsusnata */ 39aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata @Override 404702556bfd15c9819a7b2af759aee0f719cd631fsusnata public void setSurfaceHolderCallback(SurfaceHolder.Callback callback) { 414702556bfd15c9819a7b2af759aee0f719cd631fsusnata mFragment.setSurfaceHolderCallback(callback); 424702556bfd15c9819a7b2af759aee0f719cd631fsusnata } 433bcad88cbf4488e747d84893c35f2351b8f84afeDake Gu 444702556bfd15c9819a7b2af759aee0f719cd631fsusnata} 45