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