ActivityContentVideoViewClient.java revision 7dbb3d5cf0c15f500944d211057644d6a2f37371
1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5package org.chromium.content.browser;
6
7import android.app.Activity;
8import android.view.Gravity;
9import android.view.View;
10import android.view.ViewGroup;
11import android.view.WindowManager;
12import android.widget.FrameLayout;
13
14import org.chromium.content.browser.ContentVideoViewClient;
15
16/**
17 * Uses an existing Activity to handle displaying video in full screen.
18 */
19public class ActivityContentVideoViewClient implements ContentVideoViewClient {
20    private Activity mActivity;
21    private View mView;
22
23    public ActivityContentVideoViewClient(Activity activity)  {
24        this.mActivity = activity;
25    }
26
27    @Override
28    public void onShowCustomView(View view) {
29        mActivity.getWindow().setFlags(
30                WindowManager.LayoutParams.FLAG_FULLSCREEN,
31                WindowManager.LayoutParams.FLAG_FULLSCREEN);
32
33        mActivity.getWindow().addContentView(view,
34                new FrameLayout.LayoutParams(
35                        ViewGroup.LayoutParams.MATCH_PARENT,
36                        ViewGroup.LayoutParams.MATCH_PARENT,
37                        Gravity.CENTER));
38        mView = view;
39    }
40
41    @Override
42    public void onDestroyContentVideoView() {
43        mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
44        FrameLayout decor = (FrameLayout) mActivity.getWindow().getDecorView();
45        decor.removeView(mView);
46        mView = null;
47    }
48
49    @Override
50    public void keepScreenOn(boolean screenOn) {
51        if (screenOn) {
52            mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
53        } else {
54            mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
55        }
56    }
57
58    @Override
59    public View getVideoLoadingProgressView() {
60        return null;
61    }
62
63    @Override
64    public ContentVideoViewControls createControls() {
65        return null;
66    }
67}
68