SampleVideoSupportFragment.java revision aa49439ba6276137f94fcdc1bf4f69b78833dad6
1aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata/* This file is auto-generated from OnboardingDemoFragment.java.  DO NOT MODIFY. */
2aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
3aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata/*
4aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * Copyright (C) 2016 The Android Open Source Project
5aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata *
6aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
7aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * in compliance with the License. You may obtain a copy of the License at
8aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata *
9aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * http://www.apache.org/licenses/LICENSE-2.0
10aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata *
11aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * Unless required by applicable law or agreed to in writing, software distributed under the License
12aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * or implied. See the License for the specific language governing permissions and limitations under
14aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * the License.
15aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata */
16aa49439ba6276137f94fcdc1bf4f69b78833dad6susnatapackage com.example.android.leanback;
17aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
18aa49439ba6276137f94fcdc1bf4f69b78833dad6susnataimport android.net.Uri;
19aa49439ba6276137f94fcdc1bf4f69b78833dad6susnataimport android.os.Bundle;
20aa49439ba6276137f94fcdc1bf4f69b78833dad6susnataimport android.support.v17.leanback.app.MediaPlayerGlue;
21aa49439ba6276137f94fcdc1bf4f69b78833dad6susnataimport android.support.v17.leanback.app.PlaybackGlue;
22aa49439ba6276137f94fcdc1bf4f69b78833dad6susnataimport android.support.v17.leanback.app.VideoSupportFragmentGlueHost;
23aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
24aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata/**
25aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * Fragment demonstrating the use of {@link android.support.v17.leanback.app.VideoSupportFragment} to
26aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata * render video with playback controls.
27aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata */
28aa49439ba6276137f94fcdc1bf4f69b78833dad6susnatapublic class SampleVideoSupportFragment extends android.support.v17.leanback.app.VideoSupportFragment {
29aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    private MediaPlayerGlue mMediaPlayerGlue;
30aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
31aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    @Override
32aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    public void onCreate(Bundle savedInstanceState) {
33aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata        super.onCreate(savedInstanceState);
34aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    }
35aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
36aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    @Override
37aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    public void onStart() {
38aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata        super.onStart();
39aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    }
40aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
41aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    VideoSupportFragmentGlueHost host = new VideoSupportFragmentGlueHost(SampleVideoSupportFragment.this);
42aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
43aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    @Override
44aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    public void onResume() {
45aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata        super.onResume();
46aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata        getView().postDelayed(new Runnable() {
47aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata            @Override
48aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata            public void run() {
49aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue = new MediaPlayerGlue(getActivity(), null);
50aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setMode(MediaPlayerGlue.REPEAT_ALL);
51aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setPlayerCallback(new PlaybackGlue.PlayerCallback() {
52aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                    @Override
53aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                    public void onReadyForPlayback() {
54aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                        mMediaPlayerGlue.play();
55aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                    }
56aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                });
57aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setArtist("Leanback");
58aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setTitle("Leanback team at work");
59aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                String uriPath = "android.resource://com.example.android.leanback/raw/browse";
60aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setMediaSource(Uri.parse(uriPath));
61aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setHost(host);
62aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata            }
63aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata        }, 500);
64aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
65aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
66aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata        getView().postDelayed(new Runnable() {
67aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata            @Override
68aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata            public void run() {
69aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue = new MediaPlayerGlue(getActivity(), null);
70aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setMode(MediaPlayerGlue.REPEAT_ALL);
71aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setPlayerCallback(new PlaybackGlue.PlayerCallback() {
72aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                    @Override
73aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                    public void onReadyForPlayback() {
74aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                        mMediaPlayerGlue.play();
75aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                    }
76aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                });
77aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setArtist("A Googler");
78aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setTitle("Swimming with the fishes");
79aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata
80aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setVideoUrl("http://techslides.com/demos/sample-videos/small.mp4");
81aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata                mMediaPlayerGlue.setHost(host);
82aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata            }
83aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata        }, 3000);
84aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata    }
85aa49439ba6276137f94fcdc1bf4f69b78833dad6susnata}
86