From 2a46240b7cb0c28e0215ee83e51434147fb09d55 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 21 十月 2020 17:09:36 +0800
Subject: [PATCH] 项目结构优化

---
 BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java |   87 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 74 insertions(+), 13 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java
index 11c3d45..7c4bc23 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/mine/FXBrowserActivity.java
@@ -20,6 +20,8 @@
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.webkit.ConsoleMessage;
 import android.webkit.DownloadListener;
 import android.webkit.SslErrorHandler;
 import android.webkit.WebChromeClient;
@@ -33,10 +35,12 @@
 import android.widget.Toast;
 
 import com.lcjian.library.util.ManifestDataUtil;
+import com.tencent.smtt.export.external.interfaces.IX5WebChromeClient;
 import com.umeng.analytics.MobclickAgent;
 import com.weikou.beibeivideo.R;
 import com.weikou.beibeivideo.ui.BaseActivity;
 import com.weikou.beibeivideo.ui.media.VideoDetailActivity;
+import com.weikou.beibeivideo.ui.media.VideoDetailActivity2;
 import com.weikou.beibeivideo.util.downutil.DownFiles;
 import com.weikou.beibeivideo.util.downutil.DownFiles.IProgress;
 import com.weikou.beibeivideo.widget.CustomWebView;
@@ -48,10 +52,10 @@
     private TextView tv_title;
     private TextView tv_right;
     private CustomWebView webview;
-    private FrameLayout fl_webview, fl_full_play;
+    private FrameLayout fl_webview;
     ProgressBar progressBar;
 
-    private final String TAG="FXBrowserActivity";
+    private final String TAG = "FXBrowserActivity";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -83,7 +87,6 @@
 
 
         fl_webview = findViewById(R.id.fl_webview);
-        fl_full_play = findViewById(R.id.fl_full_play);
         tv_top_bar_left.setOnClickListener(this);
         webview = new CustomWebView(FXBrowserActivity.this);
         fl_webview.addView(webview, new FrameLayout.LayoutParams(
@@ -112,7 +115,7 @@
                     String murl = url.split("buwanprotocol://")[1];
                     String[] params = murl.split("#");
                     if (params[0].equalsIgnoreCase("playvideo")) {
-                        Intent intent = new Intent(FXBrowserActivity.this, VideoDetailActivity.class);
+                        Intent intent = new Intent(FXBrowserActivity.this, VideoDetailActivity2.class);
                         Bundle bundle = new Bundle();
                         bundle.putString("Id", params[1]);
                         bundle.putString("ResourceId", params[2]);
@@ -125,7 +128,7 @@
                     return true;
                 } else if (url.contains("/tbopen/") || url.startsWith("tbopen://")) {
                     return true;
-                }else if(!url.startsWith("http"))
+                } else if (!url.startsWith("http"))
                     return true;
                 return super.shouldOverrideUrlLoading(view, url);
             }
@@ -133,6 +136,27 @@
             @Override
             public void onPageFinished(WebView webView, String s) {
                 super.onPageFinished(webView, s);
+
+                webView.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        String js = "setInterval(function(){  $('.full-btn').click(function(){";
+                        js += "var el= document.getElementById('j-player-layout');";
+                        js += "if (el.requestFullscreen) {\n" +
+                                "el.requestFullscreen();\n" +
+                                "} else if (el.msRequestFullscreen) {\n" +
+                                "el.msRequestFullscreen();\n" +
+                                "} else if (el.mozRequestFullScreen) {\n" +
+                                "el.mozRequestFullScreen();\n" +
+                                "} else if (el.webkitRequestFullscreen) {\n" +
+                                "el.webkitRequestFullscreen();\n" +
+                                "}";
+                        js += "});},2000);";
+                        if (webView != null)
+                            webView.loadUrl("javascript:" + js);
+                    }
+                }, 1000);
+
             }
 
             @Override
@@ -142,22 +166,56 @@
         });
 
         webview.setWebChromeClient(new WebChromeClient() {
+            View myVideoView;
+            View myNormalView;
+            CustomViewCallback callback;
+
             @Override
             public void onReceivedTitle(WebView view, String title) {
                 super.onReceivedTitle(view, title);
                 tv_title.setText(title);
             }
 
+            /**
+             * 鍏ㄥ睆鎾斁閰嶇疆
+             */
             @Override
-            public void onShowCustomView(View view, CustomViewCallback callback) {
-                super.onShowCustomView(view, callback);
-                Log.i(TAG,"onShowCustomView");
+            public void onShowCustomView(View view,
+                                         CustomViewCallback customViewCallback) {
+                LinearLayout normalView = (LinearLayout) findViewById(R.id.ll_container);
+                ViewGroup viewGroup = (ViewGroup) normalView.getParent();
+                viewGroup.removeView(normalView);
+                viewGroup.addView(view);
+                myVideoView = view;
+                myNormalView = normalView;
+                callback = customViewCallback;
+                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
+                WindowManager.LayoutParams attrs = getWindow().getAttributes();
+                attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
+                getWindow().setAttributes(attrs);
             }
 
             @Override
             public void onHideCustomView() {
-                super.onHideCustomView();
-                Log.i(TAG,"onHideCustomView");
+                if (callback != null) {
+                    callback.onCustomViewHidden();
+                    callback = null;
+                }
+                if (myVideoView != null) {
+                    ViewGroup viewGroup = (ViewGroup) myVideoView.getParent();
+                    viewGroup.removeView(myVideoView);
+                    viewGroup.addView(myNormalView);
+                }
+                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+                WindowManager.LayoutParams attrs = getWindow().getAttributes();
+                attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
+                getWindow().setAttributes(attrs);
+            }
+
+            @Override
+            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
+                Log.i(TAG, consoleMessage.message());
+                return super.onConsoleMessage(consoleMessage);
             }
         });
         progressBar = findViewById(R.id.myProgressBar);
@@ -350,7 +408,8 @@
         if (keyCode == KeyEvent.KEYCODE_BACK && getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
             setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
             findViewById(R.id.v_status_bar).setVisibility(View.VISIBLE);
-            findViewById(R.id.top).setVisibility(View.VISIBLE);
+            if (findViewById(R.id.top) != null)
+                findViewById(R.id.top).setVisibility(View.VISIBLE);
             return true;
         } else if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack() & getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
             webview.goBack(); // goBack()琛ㄧず杩斿洖WebView鐨勪笂涓�椤甸潰
@@ -364,10 +423,12 @@
         super.onConfigurationChanged(newConfig);
         if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
             findViewById(R.id.v_status_bar).setVisibility(View.GONE);
-            findViewById(R.id.top).setVisibility(View.GONE);
+            if (findViewById(R.id.top) != null)
+                findViewById(R.id.top).setVisibility(View.GONE);
         } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
             findViewById(R.id.v_status_bar).setVisibility(View.VISIBLE);
-            findViewById(R.id.top).setVisibility(View.VISIBLE);
+            if (findViewById(R.id.top) != null)
+                findViewById(R.id.top).setVisibility(View.VISIBLE);
         }
     }
 }

--
Gitblit v1.8.0