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