1/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5 * in compliance with the License. You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software distributed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11 * or implied. See the License for the specific language governing permissions and limitations under
12 * the License.
13 */
14package androidx.leanback.app;
15
16import android.view.SurfaceHolder;
17
18import androidx.leanback.media.PlaybackGlue;
19import androidx.leanback.media.PlaybackGlueHost;
20import androidx.leanback.media.SurfaceHolderGlueHost;
21
22/**
23 * {@link PlaybackGlueHost} implementation
24 * the interaction between {@link PlaybackGlue} and {@link VideoSupportFragment}.
25 */
26public class VideoSupportFragmentGlueHost extends PlaybackSupportFragmentGlueHost
27        implements SurfaceHolderGlueHost {
28    private final VideoSupportFragment mFragment;
29
30    public VideoSupportFragmentGlueHost(VideoSupportFragment fragment) {
31        super(fragment);
32        this.mFragment = fragment;
33    }
34
35    /**
36     * Sets the {@link android.view.SurfaceHolder.Callback} on the host.
37     * {@link PlaybackGlueHost} is assumed to either host the {@link SurfaceHolder} or
38     * have a reference to the component hosting it for rendering the video.
39     */
40    @Override
41    public void setSurfaceHolderCallback(SurfaceHolder.Callback callback) {
42        mFragment.setSurfaceHolderCallback(callback);
43    }
44
45}
46