admin
2021-06-11 ae4dc86b64bd8ef85bc832106741fb98e8d516da
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,6 +53,7 @@
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;
@@ -93,6 +97,7 @@
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;
@@ -309,6 +314,7 @@
        animationDrawable.start();
        webView.setWebViewClient(new MWebviewClient());
        WebSettings settings = webView.getSettings();
        settings.setUserAgentString("Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1");
        settings.setJavaScriptEnabled(true);
        webView.setInitialScale(100);
        ll_loading.setVisibility(View.VISIBLE);
@@ -582,20 +588,21 @@
    }
    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).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 +634,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 +663,7 @@
                }
            }, 3000);
        }
    }
    private void getAppPageNotification() {
@@ -1354,8 +1374,7 @@
            @Override
            public void onStart() {
                super.onStart();
                if (loadingDialog != null && !loadingDialog.isShowing())
                    loadingDialog.show();
                DialogUtil.show(loadingDialog);
            }
            @Override
@@ -1365,49 +1384,20 @@
                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);
                    }
                } else {
                    if (code == 2001) {
                        //用户机会已经用完了
                        showNotifyDialog();
                        getBuyChanceInfoRequest();
                    } else
                        Toast.makeText(GoodsDetailActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
                }
@@ -1421,8 +1411,7 @@
            @Override
            public void onFinish() {
                super.onFinish();
                if (loadingDialog != null && loadingDialog.isShowing())
                    loadingDialog.dismiss();
                DialogUtil.dismiss(loadingDialog);
            }
        });
@@ -1441,24 +1430,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 +1471,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);
            }
        });
    }
}