Explorar el Código

add h5game show share menu

hanjing hace 6 años
padre
commit
d6cd28f93f

+ 16 - 16
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java

@@ -319,22 +319,22 @@ public class FgtWebX5 extends BaseFgtWebX5 {
         });
         mWebView.setWebViewClient(new WebViewClient() {
 
-            @Override
-            public WebResourceResponse shouldInterceptRequest(WebView webView, String inUrl) {
-                if (finallyUrl.equalsIgnoreCase(inUrl)) {
-                    return null;
-                }
-                return WebResourceResponseAdapter.adapter(WebViewCacheInterceptorInst.getInstance().interceptRequest(inUrl));
-            }
-
-            @Override
-            public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
-                String fileUrl = webResourceRequest.getUrl().toString();
-                if (finallyUrl.equalsIgnoreCase(fileUrl)) {
-                    return null;
-                }
-                return WebResourceResponseAdapter.adapter(WebViewCacheInterceptorInst.getInstance().interceptRequest(WebResourceRequestAdapter.adapter(webResourceRequest)));
-            }
+//            @Override
+//            public WebResourceResponse shouldInterceptRequest(WebView webView, String inUrl) {
+//                if (finallyUrl.equalsIgnoreCase(inUrl)) {
+//                    return null;
+//                }
+//                return WebResourceResponseAdapter.adapter(WebViewCacheInterceptorInst.getInstance().interceptRequest(inUrl));
+//            }
+//
+//            @Override
+//            public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
+//                String fileUrl = webResourceRequest.getUrl().toString();
+//                if (finallyUrl.equalsIgnoreCase(fileUrl)) {
+//                    return null;
+//                }
+//                return WebResourceResponseAdapter.adapter(WebViewCacheInterceptorInst.getInstance().interceptRequest(WebResourceRequestAdapter.adapter(webResourceRequest)));
+//            }
 
             @Override
             public boolean shouldOverrideUrlLoading(WebView view, String url) {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -397,7 +397,7 @@ public class Jump2View {
      * @param object
      */
     public void goHomePageView(final Activity context, Object object) {
-        final Intent intent = new Intent(context, ActMain.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        final Intent intent = new Intent(context, ActTest.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
         if (object instanceof String) {
             //统计用户登录信息
             UMConfigUtils.onProfileSignIn();

+ 5 - 10
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -2395,7 +2395,7 @@ public class ViewUtil {
             if (mPd != null && mPd.get() != null && mPd.get().isShowing()) {
                 try {
                     mPd.get().dismiss();
-                }catch (IllegalArgumentException iae){
+                } catch (IllegalArgumentException iae) {
                     iae.printStackTrace();
                 }
             }
@@ -2425,17 +2425,15 @@ public class ViewUtil {
      *
      * @param activity
      * @param shareLinkConfig
-     * @param action1         回调的view为nul时,代表流程结束;不为空时,代表初始化dialog的view,可以做自定义
+     * @param umShareListener         回调的view为nul时,代表流程结束;不为空时,代表初始化dialog的view,可以做自定义
      */
-    public static void showShareDialog(final Activity activity, final ShareLinkConfig shareLinkConfig, final Action1<View> action1) {
+    public static void showShareDialog(final Activity activity, final ShareLinkConfig shareLinkConfig, final UMShareListener umShareListener) {
         View dialogView = View.inflate(activity, R.layout.ask_to_share, null);
         final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.AppTheme_Dialog_Alert)
                 .setView(dialogView)
                 .create();
 //        TextView ask_share_title = dialogView.findViewById(R.id.ask_share_title);
         RecyclerView ask_share_list = dialogView.findViewById(R.id.ask_share_list);
-        if (action1 != null)
-            action1.call(dialogView);
 //        ask_share_list.setHasFixedSize(true);
 //        ask_share_list.setNestedScrollingEnabled(false);
         List<String> list = ListUtil.emptyList();
@@ -2493,7 +2491,7 @@ public class ViewUtil {
                     } catch (Exception e) {
                         e.printStackTrace();
                     }
-                    shareLinkConfig.setShareType(item).toShare(activity);
+                    shareLinkConfig.setShareType(item).toShare(activity, umShareListener);
                 });
 
             }
@@ -2503,8 +2501,7 @@ public class ViewUtil {
         dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
             @Override
             public void onDismiss(DialogInterface dialogInterface) {
-                if (action1 != null)
-                    action1.call(null);
+
             }
         });
         try {
@@ -2518,8 +2515,6 @@ public class ViewUtil {
             }
         } catch (Exception e) {
             e.printStackTrace();
-            if (action1 != null)
-                action1.call(null);
         }
     }
 

+ 59 - 3
app/src/main/java/com/sheep/gamegroup/util/js/KFZSJs.java

@@ -76,6 +76,7 @@ import java.net.URI;
 import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import cn.finalteam.rxgalleryfinal.utils.CameraUtil;
 import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -629,6 +630,61 @@ public class KFZSJs {
     }
 
     @JavascriptInterface
+    public void showShareMenu(String title, String desc, String url, String img) {
+        new ShareLinkConfig().setTitle(title).setDes(desc).setIconUrl(img).setLink(url).toShare(activity, new UMShareListener() {
+            @Override
+            public void onStart(SHARE_MEDIA share_media) {
+
+            }
+
+            @Override
+            public void onResult(SHARE_MEDIA share_media) {
+                final AtomicInteger type = new AtomicInteger();
+                switch (share_media.getName()) {
+                    case ShareLinkConfig.QQ:
+                        type.set(0);
+                        break;
+                    case ShareLinkConfig.QZONE:
+                        type.set(1);
+                        break;
+                    case ShareLinkConfig.WX:
+                        type.set(2);
+                        break;
+                    case ShareLinkConfig.WEIXIN_CIRCLE:
+                        type.set(3);
+                        break;
+                }
+                iWeb.loadJs("handleShare(0, " + type.get() + ")");
+
+                Uri uri = Uri.parse(iWeb.getWebUrl());
+                String host = uri.getHost();
+                String cookies = CookieManager.getInstance().getCookie(host);
+                Map<String, String> cookieMap = StringUtils.string2Map(cookies, ";", "=");
+
+                submitH5GameRecord(
+                        3,
+                        cookieMap.get("openid"),
+                        cookieMap.get("nickname"),
+                        iWeb.getWebTitle(),
+                        iWeb.getWebUrl(),
+                        "wx".equals(cookieMap.get("account_type")) ? 1 : 2,
+                        type.get()
+                );
+            }
+
+            @Override
+            public void onError(SHARE_MEDIA share_media, Throwable throwable) {
+                iWeb.loadJs("handleShare(1, 0)");
+            }
+
+            @Override
+            public void onCancel(SHARE_MEDIA share_media) {
+                iWeb.loadJs("handleShare(2, 0)");
+            }
+        });
+    }
+
+    @JavascriptInterface
     public void shareThirdPartApp(int type, String title, String desc, String url, String img) {
         String shareType = null;
         switch (type) {
@@ -655,7 +711,7 @@ public class KFZSJs {
 
             @Override
             public void onResult(SHARE_MEDIA share_media) {
-                iWeb.loadJs("handleShare(0)");
+                iWeb.loadJs("handleShare(0, " + type + ")");
 
                 Uri uri = Uri.parse(iWeb.getWebUrl());
                 String host = uri.getHost();
@@ -675,12 +731,12 @@ public class KFZSJs {
 
             @Override
             public void onError(SHARE_MEDIA share_media, Throwable throwable) {
-                iWeb.loadJs("handleShare(1)");
+                iWeb.loadJs("handleShare(1, 0)");
             }
 
             @Override
             public void onCancel(SHARE_MEDIA share_media) {
-                iWeb.loadJs("handleShare(2)");
+                iWeb.loadJs("handleShare(2, 0)");
             }
         });
     }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/util/share/ShareLinkConfig.java

@@ -252,7 +252,7 @@ public class ShareLinkConfig {
         SHARE_MEDIA share_media;
         switch (shareType) {
             case ShareLinkConfig.ALL:
-                ViewUtil.showShareDialog(activity, this, null);
+                ViewUtil.showShareDialog(activity, this, umShareListener);
                 return;
             case ShareLinkConfig.SYS_SEND:
                 SHARE_SYS_SEND.onEvent();