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 */ 14ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikaspackage androidx.leanback.app; 154702556bfd15c9819a7b2af759aee0f719cd631fsusnata 168619e0ef7062b6a714f22af993e4b440fae7ef08Aurimas Liutikasimport android.view.SurfaceHolder; 178619e0ef7062b6a714f22af993e4b440fae7ef08Aurimas Liutikas 18ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.leanback.media.PlaybackGlue; 19ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.leanback.media.PlaybackGlueHost; 20ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.leanback.media.SurfaceHolderGlueHost; 214702556bfd15c9819a7b2af759aee0f719cd631fsusnata 224702556bfd15c9819a7b2af759aee0f719cd631fsusnata/** 2395ac470f2bbea06114a64906d95c0da7d9412db0Dake Gu * {@link PlaybackGlueHost} implementation 24e1cde4d4ac42a6e9e16aad2b4df970c7c7d0771cDake Gu * the interaction between {@link PlaybackGlue} and {@link VideoSupportFragment}. 254702556bfd15c9819a7b2af759aee0f719cd631fsusnata */ 26aa49439ba6276137f94fcdc1bf4f69b78833dad6susnatapublic class VideoSupportFragmentGlueHost extends PlaybackSupportFragmentGlueHost 27aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata implements SurfaceHolderGlueHost { 284702556bfd15c9819a7b2af759aee0f719cd631fsusnata private final VideoSupportFragment mFragment; 294702556bfd15c9819a7b2af759aee0f719cd631fsusnata 304702556bfd15c9819a7b2af759aee0f719cd631fsusnata public VideoSupportFragmentGlueHost(VideoSupportFragment fragment) { 314702556bfd15c9819a7b2af759aee0f719cd631fsusnata super(fragment); 324702556bfd15c9819a7b2af759aee0f719cd631fsusnata this.mFragment = fragment; 334702556bfd15c9819a7b2af759aee0f719cd631fsusnata } 344702556bfd15c9819a7b2af759aee0f719cd631fsusnata 354702556bfd15c9819a7b2af759aee0f719cd631fsusnata /** 364702556bfd15c9819a7b2af759aee0f719cd631fsusnata * Sets the {@link android.view.SurfaceHolder.Callback} on the host. 3795ac470f2bbea06114a64906d95c0da7d9412db0Dake Gu * {@link PlaybackGlueHost} is assumed to either host the {@link SurfaceHolder} or 384702556bfd15c9819a7b2af759aee0f719cd631fsusnata * have a reference to the component hosting it for rendering the video. 394702556bfd15c9819a7b2af759aee0f719cd631fsusnata */ 40aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata @Override 414702556bfd15c9819a7b2af759aee0f719cd631fsusnata public void setSurfaceHolderCallback(SurfaceHolder.Callback callback) { 424702556bfd15c9819a7b2af759aee0f719cd631fsusnata mFragment.setSurfaceHolderCallback(callback); 434702556bfd15c9819a7b2af759aee0f719cd631fsusnata } 443bcad88cbf4488e747d84893c35f2351b8f84afeDake Gu 454702556bfd15c9819a7b2af759aee0f719cd631fsusnata} 46