admin
2021-07-08 1764c1784a4cf1a6afd25fcf1a0eef6187a84218
app/src/main/java/com/tejia/lijin/app/ui/main/RecommendTopFragment.java
@@ -14,8 +14,6 @@
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextPaint;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
@@ -30,6 +28,7 @@
import com.alibaba.baichuan.trade.biz.login.AlibcLogin;
import com.alibaba.baichuan.trade.biz.login.AlibcLoginCallback;
import com.alibaba.fastjson.JSONArray;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
@@ -43,20 +42,23 @@
import com.tejia.lijin.app.entity.TrendsType;
import com.tejia.lijin.app.entity.UserInfo;
import com.tejia.lijin.app.entity.eventbus.UserProtocolEvent;
import com.tejia.lijin.app.entity.hongbao.LijinSendInfo;
import com.tejia.lijin.app.sqlite.HomeConfigSQHelper;
import com.tejia.lijin.app.ui.BrandRebate.BrandFragment;
import com.tejia.lijin.app.ui.category.CategoryTypeActivity;
import com.tejia.lijin.app.ui.dialog.RecommendHbDialog;
import com.tejia.lijin.app.ui.dialog.RedPacketHintDialog;
import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
import com.tejia.lijin.app.ui.dialog.UserGuideDialog;
import com.tejia.lijin.app.ui.dialog.UserProtocolDialog;
import com.tejia.lijin.app.ui.gmtemplate.GmTemplateFragment;
import com.tejia.lijin.app.ui.gmtemplate.GmTemplateContentFragment;
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
import com.tejia.lijin.app.ui.mine.ShoppingTrolleyActivity;
import com.tejia.lijin.app.ui.recommend.RecommendCategoryFragment;
import com.tejia.lijin.app.ui.recommend.SearchActivity;
import com.tejia.lijin.app.ui.subview.HomeRecommendNavIndicator;
import com.tejia.lijin.app.updateApp.UpdateApp;
import com.tejia.lijin.app.util.GlideCircleTransform;
import com.tejia.lijin.app.util.JumpActivityUtil;
import com.tejia.lijin.app.util.SystemParamsUtil;
import com.tejia.lijin.app.util.ToolUtil;
@@ -137,6 +139,15 @@
    private int clickState = 0;
    //热门功能
    private ImageView recommend_top_img;
    //福利底部提醒
    private FrameLayout fl_fuli;
    private ImageView iv_fuli_portrait;
    private TextView tv_fuli_title;
    private TextView tv_fuli_sub_title;
    private TextView tv_time_h, tv_time_m, tv_time_s;
    String tag1 = "config/getHomeConfig";
    String tag2 = "navbar/getHomeItems";
@@ -280,6 +291,8 @@
                });
        ll_no_data.setOnClickListener(this);
        initFuliFloat(contentView);
        MainCustomEvent.mainHome(getContext());
        loadCacheData();
@@ -574,6 +587,8 @@
        if (isLogin && lastRquestHomeConfigUid == null) {
            getHomeConfig();
        }
        getSendingHongbao();
    }
    /*
@@ -793,10 +808,6 @@
                public void onClick(DialogInterface dialog, int which) {
                    UserUtil.agreeUserProtocol(getContext());
                    dialog.dismiss();
                    try {
                        ShoppingApi.userProtocolListener(getContext(), UserUtil.getUid(getContext()), 2, null);
                    } catch (Exception e) {
                    }
                    if (shownUserGuide) {//用户引导已经显示
                        callback.onFinish();
                    } else {//需要显示用户引导
@@ -1228,7 +1239,7 @@
            CategoryCustomEvent.classHomeList(getContext(), mList.get(position).getName());
            if (!StringUtils.isEmpty(mList.get(position).getType()) && mList.get(position).getType().equals("commonTemplate")) {//跳转通用模版
                //新建一个Fragment来展示ViewPager item的内容,并传递参数
                GmTemplateFragment fragment = new GmTemplateFragment();
                GmTemplateContentFragment fragment = new GmTemplateContentFragment();
                Bundle args = new Bundle();
                args.putString("key", mList.get(position).getParams().getString("key"));
                args.putString("type", mList.get(position).getParams().getInteger("type") + "");
@@ -1473,4 +1484,153 @@
    }
    private void initFuliFloat(View contentView) {
        fl_fuli = contentView.findViewById(R.id.fl_fuli);
        iv_fuli_portrait = contentView.findViewById(R.id.iv_portrait);
        tv_fuli_title = contentView.findViewById(R.id.tv_title);
        tv_fuli_sub_title = contentView.findViewById(R.id.tv_sub_title);
        tv_time_h = contentView.findViewById(R.id.tv_time_h);
        tv_time_m = contentView.findViewById(R.id.tv_time_m);
        tv_time_s = contentView.findViewById(R.id.tv_time_s);
        fl_fuli.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showLijinHongBaoDialog();
            }
        });
    }
    private Runnable lijinHongBaoRunnable = new Runnable() {
        @Override
        public void run() {
            if (lijinSendInfo == null) {
                if (fl_fuli != null)
                    fl_fuli.setVisibility(View.GONE);
                return;
            }
            //倒计时设置
            int leftTime = (int) ((lijinSendInfo.getExpireTime() - System.currentTimeMillis()) / 1000);
            if (leftTime <= 0) {
                if (fl_fuli != null)
                    fl_fuli.setVisibility(View.GONE);
                //移除SharePreference
                SharedPreferences.Editor editor = getContext().getSharedPreferences("lijinHongBao", MODE_PRIVATE).edit();
                editor.remove(lijinSendInfo.getMd5());
                editor.commit();
                return;
            }
            //设置时间
            int h = leftTime / (60 * 60);
            int m = (leftTime - h * 60 * 60) / 60;
            int s = leftTime % 60;
            if (tv_time_h != null)
                tv_time_h.setText(h < 10 ? ("0" + h) : (h + ""));
            if (tv_time_m != null)
                tv_time_m.setText(m < 10 ? ("0" + m) : (m + ""));
            if (tv_time_s != null)
                tv_time_s.setText(s < 10 ? ("0" + s) : (s + ""));
            if (fl_fuli != null) {
                fl_fuli.postDelayed(lijinHongBaoRunnable, 1000);
            }
        }
    };
    LijinSendInfo lijinSendInfo;
    /**
     * 设置福利数据
     */
    private void setFuliData() {
        //移除监听
        fl_fuli.removeCallbacks(lijinHongBaoRunnable);
        if (lijinSendInfo == null) {
            fl_fuli.setVisibility(View.GONE);
        } else {
            fl_fuli.setVisibility(View.VISIBLE);
            tv_fuli_title.setText(lijinSendInfo.getNotifyTitle());
            tv_fuli_sub_title.setText(lijinSendInfo.getNotifySubtitle());
            if (lijinHongBaoRunnable != null)
                lijinHongBaoRunnable.run();
            if (lijinSendInfo.getUser() != null) {
                Glide.with(this).load(lijinSendInfo.getUser().getPortrait()).transform(new GlideCircleTransform(getContext())).into(iv_fuli_portrait);
            } else
                Glide.with(this).load(R.drawable.ic_default_portrait_light).transform(new GlideCircleTransform(getContext())).into(iv_fuli_portrait);
        }
    }
    //显示礼金红包
    private void showLijinHongBaoDialog() {
        final SharedPreferences sharedPreferences = getContext().getSharedPreferences("lijinHongBao", MODE_PRIVATE);
        //显示
        new RecommendHbDialog.Builder(getContext()).setHBInfo(lijinSendInfo).setActionListener(new RecommendHbDialog.Builder.ILijinHongBaoAction() {
            @Override
            public void onClose() {
                if (lijinSendInfo != null && !StringUtils.isNullOrEmpty(lijinSendInfo.getMd5())) {
                    SharedPreferences.Editor editor = sharedPreferences.edit();
                    editor.putString(lijinSendInfo.getMd5(), new Gson().toJson(lijinSendInfo));
                    editor.commit();
                }
                setFuliData();
            }
            @Override
            public void onRecieveSuccess() {
                //领取成功
                //移除sharePrefer
                //移除当前的md5
                if (lijinSendInfo != null) {
                    SharedPreferences.Editor editor = sharedPreferences.edit();
                    editor.remove(lijinSendInfo.getMd5());
                    editor.commit();
                    lijinSendInfo = null;
                }
                setFuliData();
            }
        }).create().show();
    }
    /**
     * 获取发送中的红包
     */
    private synchronized void getSendingHongbao() {
        ShoppingApi.getSendingHongBao(getContext(), 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");
                    final LijinSendInfo sendInfo = new Gson().fromJson(data.toString(), LijinSendInfo.class);
                    lijinSendInfo = sendInfo;
                    final SharedPreferences sharedPreferences = getContext().getSharedPreferences("lijinHongBao", MODE_PRIVATE);
                    if (StringUtils.isNullOrEmpty(sharedPreferences.getString(sendInfo.getMd5(), "")))
                        showLijinHongBaoDialog();
                    else {
                        setFuliData();
                    }
                } else {
                    lijinSendInfo = null;
                    setFuliData();
                }
            }
            @Override
            public void onFinish() {
                super.onFinish();
            }
        });
    }
}