summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/BaseUi.java
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2011-10-06 13:51:32 -0700
committerMichael Kolb <kolby@google.com>2011-10-06 15:31:10 -0700
commit31065b1940cb70ad131f20e29ad6250f7d09a290 (patch)
tree9fee065fb5794941d69ae6f8ad729dafb3a07ab0 /src/com/android/browser/BaseUi.java
parent6907bea676e806fff847746465b836bd9ed39213 (diff)
downloadpackages_apps_Browser-31065b1940cb70ad131f20e29ad6250f7d09a290.zip
packages_apps_Browser-31065b1940cb70ad131f20e29ad6250f7d09a290.tar.gz
packages_apps_Browser-31065b1940cb70ad131f20e29ad6250f7d09a290.tar.bz2
Correct fullscreen video playback for HTML5 video
Bug: 5415790 Changed from window back to a fullscreen layout attached to the decor view Change-Id: I85750e27aa2a953ffc54ee96cc2de4156d52cc5e
Diffstat (limited to 'src/com/android/browser/BaseUi.java')
-rw-r--r--src/com/android/browser/BaseUi.java50
1 files changed, 19 insertions, 31 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 3128934..e440d2c 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -34,10 +34,10 @@ import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
-import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@@ -89,8 +89,9 @@ public abstract class BaseUi implements UI {
protected FrameLayout mContentView;
protected FrameLayout mCustomViewContainer;
+ protected FrameLayout mFullscreenContainer;
- private CustomViewHolder mCustomView;
+ private View mCustomView;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
private int mOriginalOrientation;
@@ -119,7 +120,6 @@ public abstract class BaseUi implements UI {
browser.getSystemService(Activity.INPUT_METHOD_SERVICE);
mLockIconSecure = res.getDrawable(R.drawable.ic_secure_holo_dark);
mLockIconMixed = res.getDrawable(R.drawable.ic_secure_partial_holo_dark);
-
FrameLayout frameLayout = (FrameLayout) mActivity.getWindow()
.getDecorView().findViewById(android.R.id.content);
LayoutInflater.from(mActivity)
@@ -520,21 +520,11 @@ public abstract class BaseUi implements UI {
}
mOriginalOrientation = mActivity.getRequestedOrientation();
- WindowManager wm = (WindowManager) mActivity.getSystemService(Context.WINDOW_SERVICE);
- WindowManager.LayoutParams params = new WindowManager.LayoutParams(
- WindowManager.LayoutParams.TYPE_APPLICATION,
- 0);
- params.x = 0;
- params.y = 0;
- params.width = LayoutParams.MATCH_PARENT;
- params.height = LayoutParams.MATCH_PARENT;
- params.systemUiVisibility = View.STATUS_BAR_HIDDEN;
- mCustomView = new CustomViewHolder(mActivity);
- view.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,
- LayoutParams.MATCH_PARENT));
- mCustomView.addView(view);
- wm.addView(mCustomView, params);
-
+ FrameLayout decor = (FrameLayout) mActivity.getWindow().getDecorView();
+ mFullscreenContainer = new FullscreenHolder(mActivity);
+ mFullscreenContainer.addView(view, COVER_SCREEN_PARAMS);
+ decor.addView(mFullscreenContainer, COVER_SCREEN_PARAMS);
+ mCustomView = view;
mCustomViewCallback = callback;
mActivity.setRequestedOrientation(requestedOrientation);
}
@@ -543,10 +533,9 @@ public abstract class BaseUi implements UI {
public void onHideCustomView() {
if (mCustomView == null)
return;
-
- WindowManager wm = (WindowManager) mActivity.getSystemService(Context.WINDOW_SERVICE);
- wm.removeView(mCustomView);
-
+ FrameLayout decor = (FrameLayout) mActivity.getWindow().getDecorView();
+ decor.removeView(mFullscreenContainer);
+ mFullscreenContainer = null;
mCustomView = null;
mCustomViewCallback.onCustomViewHidden();
// Show the content view.
@@ -826,18 +815,17 @@ public abstract class BaseUi implements UI {
mUiController.hideCustomView();
}
- // custom FrameLayout to forward key events
- static class CustomViewHolder extends FrameLayout {
- Activity mActivity;
+ static class FullscreenHolder extends FrameLayout {
- public CustomViewHolder(Activity act) {
- super(act);
- mActivity = act;
+ public FullscreenHolder(Context ctx) {
+ super(ctx);
+ setBackgroundColor(ctx.getResources().getColor(R.color.black));
}
- public boolean dispatchKeyEvent(KeyEvent event) {
- return mActivity.dispatchKeyEvent(event);
+ @Override
+ public boolean onTouchEvent(MotionEvent evt) {
+ return true;
}
- }
+ }
}