| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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"; |
| | |
| | | }); |
| | | |
| | | ll_no_data.setOnClickListener(this); |
| | | |
| | | initFuliFloat(contentView); |
| | | |
| | | MainCustomEvent.mainHome(getContext()); |
| | | loadCacheData(); |
| | |
| | | if (isLogin && lastRquestHomeConfigUid == null) { |
| | | getHomeConfig(); |
| | | } |
| | | |
| | | getSendingHongbao(); |
| | | } |
| | | |
| | | /* |
| | |
| | | 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 {//需要显示用户引导 |
| | |
| | | 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") + ""); |
| | |
| | | } |
| | | |
| | | |
| | | 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(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |