From abce02c7a61820f5d580f87364d542e817be429c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 06 七月 2021 15:22:11 +0800
Subject: [PATCH] 1.1.1完善

---
 app/src/main/java/com/tejia/lijin/app/ui/main/RecommendTopFragment.java |  173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 165 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/tejia/lijin/app/ui/main/RecommendTopFragment.java b/app/src/main/java/com/tejia/lijin/app/ui/main/RecommendTopFragment.java
index c1e7873..db8b81b 100644
--- a/app/src/main/java/com/tejia/lijin/app/ui/main/RecommendTopFragment.java
+++ b/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")) {//璺宠浆閫氱敤妯$増
                 //鏂板缓涓�涓狥ragment鏉ュ睍绀篤iewPager 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,150 @@
     }
 
 
+    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() {
+                SharedPreferences.Editor editor = sharedPreferences.edit();
+                editor.putString(lijinSendInfo.getMd5(), new Gson().toJson(lijinSendInfo));
+                editor.commit();
+                setFuliData();
+            }
+
+            @Override
+            public void onRecieveSuccess() {
+                //棰嗗彇鎴愬姛
+                //绉婚櫎sharePrefer
+
+                //绉婚櫎褰撳墠鐨刴d5
+                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();
+            }
+        });
+    }
+
+
 }

--
Gitblit v1.8.0