From 399ac289f80b7a40aa4210341db6b447cacdcf14 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 09 八月 2022 17:42:33 +0800 Subject: [PATCH] 广告升级,隐私政策整改 --- app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java | 241 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 164 insertions(+), 77 deletions(-) diff --git a/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java b/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java index 6009830..4bebab3 100644 --- a/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java +++ b/app/src/main/java/com/tejia/lijin/app/ui/recommend/GoodsDetailActivity.java @@ -9,6 +9,7 @@ import android.graphics.Typeface; import android.graphics.drawable.AnimationDrawable; import android.graphics.drawable.GradientDrawable; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -24,6 +25,8 @@ import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.DecelerateInterpolator; +import android.webkit.WebChromeClient; +import android.webkit.WebResourceRequest; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; @@ -50,9 +53,11 @@ import com.tejia.lijin.app.entity.TaoBaoGoodsBrief; import com.tejia.lijin.app.entity.common.ImageShowEntity; import com.tejia.lijin.app.entity.goods.GoodsDetailVO; +import com.tejia.lijin.app.entity.user.UserLijinLevelInfoVO; import com.tejia.lijin.app.ui.BaseActivity; import com.tejia.lijin.app.ui.dialog.GoodsDetailHongBaoAndCouponSelectDialog; import com.tejia.lijin.app.ui.dialog.GoodsDetailJumpLoaingDialog; +import com.tejia.lijin.app.ui.dialog.GoodsDetailNoLoginFailiDialog; import com.tejia.lijin.app.ui.dialog.GoodsDetailNotifyDialog; import com.tejia.lijin.app.ui.dialog.JumpTaoBaoDialog; import com.tejia.lijin.app.ui.goods.GoodsDetailHongBaoListAdapter; @@ -77,6 +82,7 @@ import com.tejia.lijin.app.util.umengCustomEvent.GoodsCustomEvent; import com.tejia.lijin.app.util.user.LoginAndInviteStatusUtil; import com.tejia.lijin.app.util.user.UserUtil; +import com.tejia.lijin.app.util.web.RebateJavaInterfaceBS; import com.wang.avi.AVLoadingIndicatorView; import com.wpc.library.content.ConnectivityChangeHelper; import com.wpc.library.recyclerviewhelper.DividerItemDecoration; @@ -93,10 +99,12 @@ import java.util.List; import java.util.Timer; +import androidx.annotation.RequiresApi; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; +import wendu.dsbridge.DWebView; /** * Created by weikou2015 on 2018/5/11. @@ -153,7 +161,7 @@ //鍥炬枃璇︽儏 private FrameLayout fl_goods_detail; private ImageView iv_imgtext_status; - private WebView webView; + private DWebView webView; private LinearLayout ll_loading; private ImageView iv_loading; private TextView tv_loading; @@ -310,7 +318,13 @@ webView.setWebViewClient(new MWebviewClient()); WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); + settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); + settings.setUseWideViewPort(true); webView.setInitialScale(100); + RebateJavaInterfaceBS javaInterface1 = new RebateJavaInterfaceBS(GoodsDetailActivity.this, + null, null, new TextView(this), null, webView, null); + webView.addJavascriptObject(javaInterface1, "yestv"); + ll_loading.setVisibility(View.VISIBLE); avLoadingIndicatorView.setVisibility(View.VISIBLE); @@ -574,28 +588,38 @@ initData(); getAppPageNotification(); -// new GoodsDetailJumpLoaingDialog.Builder(this).setHasAd(true).setAdPid("").setNotify("閾傞噾浼氬憳鍏嶅箍鍛婏紝绀奸噾鎻愰珮100%", "http://www.baidu.com").setPlatform(Constant.GOODS_TYPE_TB).setOnCloseListener(new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() { + +// notifyDialog = new GoodsDetailNotifyDialog.Builder(GoodsDetailActivity.this).setMessage("娴嬭瘯12123123").setOnButtonClickListener(new GoodsDetailNotifyDialog.Builder.IDialogButtonClick() { // @Override -// public void onClose(boolean auto) { +// public void onLeftClick() { // } -// }).create().show(); +// +// @Override +// public void onRightClick() { +// DialogUtil.dismiss(notifyDialog); +// goFanli(); +// } +// }).create(); +// +// DialogUtil.show(notifyDialog); } - public void showNotifyDialog() { - if (notifyDialog == null) - notifyDialog = new GoodsDetailNotifyDialog.Builder(this).setOnButtonClickListener(new GoodsDetailNotifyDialog.Builder.IDialogButtonClick() { - @Override - public void onLeftClick() { - DialogUtil.dismiss(notifyDialog); - } + public void showNotifyDialog(String btnName, String link) { + DialogUtil.dismiss(notifyDialog); - @Override - public void onRightClick() { - DialogUtil.dismiss(notifyDialog); - goFanli(); - } - }).create(); + notifyDialog = new GoodsDetailNotifyDialog.Builder(this).setIconResource(R.drawable.icon_goods_detail_notify).setLeftBtnInfo(btnName, link).setOnButtonClickListener(new GoodsDetailNotifyDialog.Builder.IDialogButtonClick() { + @Override + public void onLeftClick() { + DialogUtil.dismiss(notifyDialog); + } + + @Override + public void onRightClick() { + DialogUtil.dismiss(notifyDialog); + goFanli(); + } + }).create(); DialogUtil.show(notifyDialog); } @@ -627,11 +651,23 @@ if (null != url && url.startsWith("yestv://webviewHeight#")) { int height = Integer.parseInt(url.replace("yestv://webviewHeight#", "")); Log.i("mResult", "webView鐨勯珮搴︿负:" + height + ""); - //TODO 娴嬭瘯 webView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, height)); return true; } return super.shouldOverrideUrlLoading(view, url); + } + + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) + @Override + public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { + String url = request.getUrl().toString(); + if (null != url && url.startsWith("yestv://webviewHeight#")) { + int height = Integer.parseInt(url.replace("yestv://webviewHeight#", "")); + Log.i("mResult", "webView鐨勯珮搴︿负:" + height + ""); + webView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, height)); + return true; + } + return super.shouldOverrideUrlLoading(view, request); } @Override @@ -644,6 +680,7 @@ } }, 3000); } + } private void getAppPageNotification() { @@ -1175,13 +1212,39 @@ //鍒ゆ柇鏄惁鏈夊寮犲埜鎯呭喌 } + private GoodsDetailNoLoginFailiDialog mGoodsDetailNoLoginFailiDialog; + private void goFanli(final CouponInfo couponInfo) { - goodsDetailPreEventManager.startClick(0, new GoodsDetailPreEventManager.IPreEventListener() { - @Override - public void onPreSuccess() { - fanliRequest(couponInfo); - } - }); + + if (UserUtil.isLogin(getApplicationContext())) { + goodsDetailPreEventManager.startClick(0, true, new GoodsDetailPreEventManager.IPreEventListener() { + @Override + public void onPreSuccess() { + fanliRequest(couponInfo); + } + }); + } else { + DialogUtil.dismiss(mGoodsDetailNoLoginFailiDialog); + mGoodsDetailNoLoginFailiDialog = new GoodsDetailNoLoginFailiDialog.Builder(this).setOnButtonClickListener(new GoodsDetailNoLoginFailiDialog.Builder.IDialogButtonClick() { + @Override + public void onLeftClick() { + DialogUtil.dismiss(mGoodsDetailNoLoginFailiDialog); + fanliRequest(couponInfo); + } + + @Override + public void onRightClick() { + DialogUtil.dismiss(mGoodsDetailNoLoginFailiDialog); + goodsDetailPreEventManager.startClick(0, true, new GoodsDetailPreEventManager.IPreEventListener() { + @Override + public void onPreSuccess() { + fanliRequest(couponInfo); + } + }); + } + }).create(); + mGoodsDetailNoLoginFailiDialog.show(); + } } private void goBuy() { @@ -1206,7 +1269,7 @@ } private void goBuy(final GoodsDetailVO.GoodsHongBaoListVO lijinVO) { - goodsDetailPreEventManager.startClick(1, new GoodsDetailPreEventManager.IPreEventListener() { + goodsDetailPreEventManager.startClick(1, false, new GoodsDetailPreEventManager.IPreEventListener() { @Override public void onPreSuccess() { buyRequest(lijinVO); @@ -1354,8 +1417,7 @@ @Override public void onStart() { super.onStart(); - if (loadingDialog != null && !loadingDialog.isShowing()) - loadingDialog.show(); + DialogUtil.show(loadingDialog); } @Override @@ -1365,51 +1427,39 @@ if (code == 0) { JSONObject data = jsonObject.optJSONObject("data"); JSONObject link = data.optJSONObject("link"); - if (link != null) { - GoodsBuyJumpUtil.jumpTB(GoodsDetailActivity.this, null, link.optString("clickUrl"), null, new GoodsBuyUtil.IBuyGoodsResultListener() { - - @Override - public void onConvertLinkStart() { - - } - - @Override - public void onConvertLinkSuccess() { - - } - - @Override - public void onConvertLinkFail(String msg) { - - } - - @Override - public void onConvertLinkComplete() { - - } - - @Override - public void onJumpThirdAppStart() { - - } - - @Override - public void onJumpThirdAppSuccess() { - - } - - @Override - public void onJumpThirdAppFail() { - - } - }); + UserLijinLevelInfoVO userLevel = null; + if (data.optJSONObject("userLevel") != null) { + userLevel = new Gson().fromJson(data.optJSONObject("userLevel").toString(), UserLijinLevelInfoVO.class); } + + if (link != null) { + final String linkUrl = link.optString("clickUrl"); + GoodsBuyJumpUtil.jumpTB(GoodsDetailActivity.this, null, linkUrl, linkUrl, userLevel, null); + } + String todayLeftCount = data.optString("todayLeftCount"); + if (!StringUtils.isNullOrEmpty(todayLeftCount)) { + Toast.makeText(GoodsDetailActivity.this, todayLeftCount, Toast.LENGTH_SHORT).show(); + } + + } else { if (code == 2001) { //鐢ㄦ埛鏈轰細宸茬粡鐢ㄥ畬浜� - showNotifyDialog(); - } else - Toast.makeText(GoodsDetailActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show(); + getBuyChanceInfoRequest(); + } else { + notifyDialog = new GoodsDetailNotifyDialog.Builder(GoodsDetailActivity.this).setMessage(jsonObject.optString("msg")).setOnButtonClickListener(new GoodsDetailNotifyDialog.Builder.IDialogButtonClick() { + @Override + public void onLeftClick() { + } + + @Override + public void onRightClick() { + DialogUtil.dismiss(notifyDialog); + goFanli(); + } + }).create(); + DialogUtil.show(notifyDialog); + } } } @@ -1421,8 +1471,7 @@ @Override public void onFinish() { super.onFinish(); - if (loadingDialog != null && loadingDialog.isShowing()) - loadingDialog.dismiss(); + DialogUtil.dismiss(loadingDialog); } }); @@ -1441,24 +1490,22 @@ GoodsBuyUtil.fanli(this, getApplicationContext(), requestInfo, new GoodsBuyUtil.IBuyGoodsResultListener() { @Override public void onConvertLinkStart() { - if (loadingDialog != null && !loadingDialog.isShowing()) - loadingDialog.show(); + DialogUtil.show(loadingDialog); } @Override public void onConvertLinkSuccess() { - + DialogUtil.dismiss(loadingDialog); } @Override public void onConvertLinkFail(String msg) { - + DialogUtil.dismiss(loadingDialog); } @Override public void onConvertLinkComplete() { - if (loadingDialog != null && loadingDialog.isShowing()) - loadingDialog.dismiss(); + DialogUtil.dismiss(loadingDialog); } @Override @@ -1484,7 +1531,47 @@ * 鑾峰彇璐拱鏈轰細淇℃伅 */ private void getBuyChanceInfoRequest() { - //TODO 鍒ゆ柇鏄惁杩樻湁鏈轰細锛堣繑鍥炲綋鍓嶅墿浣欏灏戞锛岃繕鑳借В閿佸灏戞锛夛紝濡傛灉鏈夋満浼氶渶瑕佺湅婵�鍔辫棰戝箍鍛� + ShoppingApi.getUserLijinCreatedInfo(getApplicationContext(), mInfo.getGoods().getGoodsId(), mInfo.getGoods().getGoodsType(), UserUtil.getUid(getApplicationContext()), new BasicTextHttpResponseHandler() { + @Override + public void onStart() { + super.onStart(); + } + + @Override + public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { + super.onSuccessPerfect(statusCode, headers, jsonObject); + if (jsonObject.optInt("code") == 0) { + JSONObject data = jsonObject.optJSONObject("data"); + int leftCount = data.optInt("leftCount"); +// if (leftCount <= 0) { + JSONObject openInfo = data.optJSONObject("openInfo"); + if (openInfo != null) { + showNotifyDialog(openInfo.optString("btnName"), openInfo.optString("vipLink")); + } else { + showNotifyDialog(null, null); + } +// } + + + } else { + Toast.makeText(GoodsDetailActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) { + super.onFailure(statusCode, headers, jsonObject, e); + Toast.makeText(GoodsDetailActivity.this, "缃戠粶璇锋眰鍑洪敊", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onFinish() { + super.onFinish(); + DialogUtil.dismiss(loadingDialog); + } + }); + + } } -- Gitblit v1.8.0