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