From ddff7888bf7e754d12fb5fc85a58f3012f456490 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 05 六月 2021 17:26:03 +0800
Subject: [PATCH] 特价完善

---
 app/src/main/java/com/tejia/lijin/app/ui/invite/ShareBrowserActivity.java |  130 +++++++++++--------------------------------
 1 files changed, 34 insertions(+), 96 deletions(-)

diff --git a/app/src/main/java/com/tejia/lijin/app/ui/invite/ShareBrowserActivity.java b/app/src/main/java/com/tejia/lijin/app/ui/invite/ShareBrowserActivity.java
index 985050a..58ab50f 100644
--- a/app/src/main/java/com/tejia/lijin/app/ui/invite/ShareBrowserActivity.java
+++ b/app/src/main/java/com/tejia/lijin/app/ui/invite/ShareBrowserActivity.java
@@ -3,19 +3,19 @@
 import android.Manifest;
 import android.annotation.SuppressLint;
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.content.ClipData;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.graphics.PixelFormat;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
+
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.RequiresApi;
-import android.util.Base64;
+import wendu.dsbridge.DWebView;
+
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.View;
@@ -40,12 +40,14 @@
 import android.widget.PopupWindow;
 import android.widget.ProgressBar;
 import android.widget.TextView;
-import android.widget.Toast;
 
 import com.ali.auth.third.ui.context.CallbackContext;
 import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
 import com.alibaba.baichuan.trade.biz.AlibcConstants;
 import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
+import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity;
+import com.tejia.lijin.app.util.web.RebateJavaInterfaceBS;
+import com.tejia.lijin.app.util.web.WebViewUtil;
 import com.umeng.analytics.MobclickAgent;
 import com.wpc.library.okhttp.OkHttpUtils;
 import com.wpc.library.util.JDLinkCutUtil;
@@ -68,16 +70,12 @@
 import com.tejia.lijin.app.ui.recommend.NoExtendPDDGoodsActivity;
 import com.tejia.lijin.app.ui.recommend.NoExtendTaoBaoGoodsActivity;
 import com.tejia.lijin.app.util.AndroidBug5497Workaround;
-import com.tejia.lijin.app.util.ApkUtil;
 import com.tejia.lijin.app.util.Constant;
 import com.tejia.lijin.app.util.KeFuUtil;
 import com.tejia.lijin.app.util.PermissionHelper;
-import com.tejia.lijin.app.util.RebateJavaInterface;
-import com.tejia.lijin.app.util.Tools;
+import com.tejia.lijin.app.util.web.RebateJavaInterface;
 import com.tejia.lijin.app.util.TopStatusSettings;
 import com.tejia.lijin.app.util.baichuan.AlibcTradeUtil;
-import com.tejia.lijin.app.util.clipboard.ClipboardUtil;
-import com.tejia.lijin.app.util.goods.GoodsDetailJumpUtil;
 import com.tejia.lijin.app.util.web.CustomNavigationJsObject;
 
 import org.apache.http.Header;
@@ -98,7 +96,7 @@
     private TextView tv_top_bar_left2;
     private ImageView iv_right;
     private Button tv_top_bar_middle;
-    private WebView webview;
+    private DWebView webview;
     private FrameLayout fl_webview;
     View v_cover_web;
     ProgressBar progressBar;
@@ -114,16 +112,23 @@
 
     private boolean interceptGoodsDetail;
 
-    private String originalUrl="";
+    private String originalUrl = "";
+    //娌夋蹈寮忕綉椤�
+    private boolean immersion = false;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+
+        String immersionStr = getIntent().getStringExtra("immersion");
+        if (!StringUtils.isNullOrEmpty(immersionStr) && Boolean.parseBoolean(immersionStr)) {
+            immersion = true;
+        }
         setContentView(R.layout.browser_activity);
         AndroidBug5497Workaround.assistActivity(this);
         TopStatusSettings.setStatusViewAndDeepColor(this);
         String url = getIntent().getStringExtra("url");
-        originalUrl=url;
+        originalUrl = url;
         //鏄惁鍏佽绮樿创鏉挎帹鑽�
         String clipboradStr = getIntent().getStringExtra("clipboard");
         interceptGoodsDetail = getIntent().getBooleanExtra("interceptGoodsDetail", true);
@@ -162,7 +167,7 @@
 //        tv_top_bar_middle.setText("濂ユ湳澶у笀澶ф墍澶ф墍澶氬ゥ鏈ぇ甯�");
         pd = new ShapeLoadingDialog.Builder(this).build();
 
-        webview = new WebView(ShareBrowserActivity.this);
+        webview = new DWebView(ShareBrowserActivity.this);
 
         fl_webview.addView(webview, new FrameLayout.LayoutParams(
                 FrameLayout.LayoutParams.MATCH_PARENT,
@@ -199,7 +204,7 @@
         webSettings.setPluginState(WebSettings.PluginState.ON);
         webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);//璁剧疆缂撳瓨妯″紡锛堟牴鎹甤ache-control鍐冲畾鏄惁浠庣綉缁滀笂鍙栨暟鎹�傦級
         //鍥㈡补鐗规畩璁剧疆
-        if(originalUrl!=null&&originalUrl.contains(".czb365.com")) {
+        if (originalUrl != null && originalUrl.contains(".czb365.com")) {
             webSettings.setUserAgentString("BLKS+Android");
         }
         webview.setDrawingCacheEnabled(true);
@@ -211,6 +216,11 @@
         webview.addJavascriptInterface(javaInterface, "yestv");
         CustomNavigationJsObject customNavigation = new CustomNavigationJsObject(this);
         webview.addJavascriptInterface(customNavigation, "czb");//绗簩涓弬鏁癱zb涓嶅彲鏇存敼锛�
+
+        RebateJavaInterfaceBS javaInterface1 = new RebateJavaInterfaceBS(ShareBrowserActivity.this,
+                tv_top_bar_middle, tv_top_bar_left2, new TextView(this), iv_right, webview, pd);
+        webview.addJavascriptObject(javaInterface1, "yestv");
+
         /***
          * Android5.0寮�濮嬶紝WebView榛樿涓嶆敮鎸佸悓鏃跺姞杞紿ttps鍜孒ttp娣峰悎妯″紡
          * WebView鍦ㄥ井淇$綉椤典腑棣栧厛鎵撳紑涓�涓猦ttps缃戝潃锛岀劧鍚庡畠浼氳閲嶅畾鍚戝埌涓�涓猦ttp缃戝潃
@@ -243,7 +253,7 @@
         @Override
         public boolean shouldOverrideUrlLoading(WebView view, String url) {
 //            Log.e("mResult", "shouldOverrideUrlLoading----" + url);
-            if (goodsDetail&&interceptGoodsDetail) {
+            if (goodsDetail && interceptGoodsDetail) {
                 String taoBaoId = TaobaoLinkCutUtil.linkCutId(url);
                 String JDId = null;
                 String PDDId = null;
@@ -294,85 +304,9 @@
                     return true;
                 }
             }
-           if (url != null && url.startsWith("yestv://copy")) {
-                String murl = url.split("yestv://")[1];
-                String[] params = murl.split("#");
-                byte raw[] = Base64.decode(params[1], Base64.DEFAULT);
-
-                ClipboardUtil.copy(getApplicationContext(), new String(raw));
-                Toast.makeText(ShareBrowserActivity.this, "澶嶅埗鎴愬姛",
-                        Toast.LENGTH_SHORT).show();
-                return true;
-            } else if (url != null && url.startsWith("yestv://toast")) {
-                String murl = url.split("yestv://")[1];
-                String[] params = murl.split("#");
-                byte raw[] = Base64.decode(params[1], Base64.DEFAULT);
-                String content = new String(raw);
-                Toast.makeText(ShareBrowserActivity.this, content, Toast.LENGTH_LONG).show();
-                return true;
-            }
-            if (url != null && !url.startsWith("http")) {
-                if (url.startsWith("weixin://wap/pay?")) {
-                    if (Tools.isWeixinAvilible(ShareBrowserActivity.this) == 2) {
-                        Toast.makeText(ShareBrowserActivity.this,
-                                "灏氭湭瀹夎寰俊", Toast.LENGTH_LONG).show();
-                        return true;
-                    }
-                    Intent intent = new Intent();
-                    intent.setAction(Intent.ACTION_VIEW);
-                    intent.setData(Uri.parse(url));
-                    startActivity(intent);
-                } else if (url.startsWith("alipays:") || url.startsWith("alipay")) {
-                    try {
-                        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
-                    } catch (Exception e) {
-                        new AlertDialog.Builder(ShareBrowserActivity.this)
-                                .setMessage("鏈娴嬪埌鏀粯瀹濆鎴风锛岃瀹夎鍚庨噸璇曘��")
-                                .setPositiveButton("绔嬪嵆瀹夎", new DialogInterface.OnClickListener() {
-
-                                    @Override
-                                    public void onClick(DialogInterface dialog, int which) {
-                                        Uri alipayUrl = Uri.parse("https://d.alipay.com");
-                                        startActivity(new Intent("android.intent.action.VIEW", alipayUrl));
-                                    }
-                                }).setNegativeButton("鍙栨秷", null).show();
-                    }
-                } else if (url.startsWith("pinduoduo://")) {//鎷︽埅鎷煎澶氶〉闈�
-                    if (ApkUtil.checkAPP(getApplicationContext(), "com.xunmeng.pinduoduo")) {
-                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                        startActivity(intent);
-                        return true;
-                    } else {
-                        return true;
-                    }
-                } else if (url.startsWith("suning://")) {//鑻忓畞
-                    if (ApkUtil.checkAPP(getApplicationContext(), "com.suning.mobile.ebuy")) {
-                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                        startActivity(intent);
-                        return true;
-                    } else
-                        return true;
-                } else if (url.startsWith("vipshop://")) {//鍞搧浼�
-                    if (ApkUtil.checkAPP(getApplicationContext(), "com.achievo.vipshop")) {
-                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                        startActivity(intent);
-                        return true;
-                    } else
-                        return true;
-                }
-
-                return true;
-            }
-
-            if (url.endsWith(".apk")) {
-                Intent intent = new Intent(Intent.ACTION_VIEW);
-                intent.addCategory(Intent.CATEGORY_BROWSABLE);
-                intent.setData(Uri.parse(url));
-                startActivity(intent);
-            }
+            Boolean intercept = WebViewUtil.interceptUrl(getApplicationContext(), url);
+            if (intercept != null)
+                return intercept;
 
             return super.shouldOverrideUrlLoading(view, url);
         }
@@ -448,7 +382,7 @@
 
         @Override
         public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
-            Log.i("ShareBrowserActivity",consoleMessage.message() +"  "+consoleMessage.lineNumber());
+            Log.i("ShareBrowserActivity", consoleMessage.message() + "  " + consoleMessage.lineNumber());
             return super.onConsoleMessage(consoleMessage);
         }
 
@@ -617,7 +551,11 @@
                     boolean extend = jsonObject.optJSONObject("data").optBoolean("extend");
 //                    Log.e("mResult", "extend:" + extend);
                     if (extend) {//鏈夋帹骞�
-                        Intent intent = GoodsDetailJumpUtil.getGoodsDetailIntent(getApplicationContext(), goodsType);
+
+                        Intent intent = new Intent(getApplicationContext(), GoodsDetailActivity.class);
+                        intent.putExtra("goodsId", goodsId);
+                        intent.putExtra("goodsType", goodsType);
+
                         intent.putExtra("id", goodsId);
                         intent.putExtra("from", "baichuanweb");
                         startActivity(intent);

--
Gitblit v1.8.0