package com.tejia.lijin.app.ui.main;
|
|
import android.Manifest;
|
import android.app.Activity;
|
import android.app.Dialog;
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.graphics.Color;
|
import android.os.Build;
|
import android.os.Bundle;
|
|
import androidx.annotation.NonNull;
|
import androidx.viewpager.widget.PagerAdapter;
|
import androidx.viewpager.widget.ViewPager;
|
import androidx.appcompat.widget.LinearLayoutCompat;
|
|
import android.text.Spannable;
|
import android.text.SpannableString;
|
import android.text.Spanned;
|
import android.text.style.RelativeSizeSpan;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.view.Window;
|
import android.view.WindowManager;
|
import android.webkit.WebChromeClient;
|
import android.webkit.WebViewClient;
|
import android.widget.BaseAdapter;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.RelativeLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.alibaba.baichuan.android.trade.AlibcTrade;
|
import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
|
import com.alibaba.baichuan.android.trade.model.OpenType;
|
import com.alibaba.baichuan.android.trade.page.AlibcBasePage;
|
import com.alibaba.baichuan.android.trade.page.AlibcMyCartsPage;
|
import com.alibaba.baichuan.trade.biz.AlibcConstants;
|
import com.alibaba.baichuan.trade.biz.login.AlibcLogin;
|
import com.alibaba.baichuan.trade.biz.login.AlibcLoginCallback;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
|
import com.tejia.lijin.app.ShoppingApplication;
|
import com.tejia.lijin.app.ui.message.UserMessageActivity;
|
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity;
|
import com.tejia.lijin.app.util.ui.HomeUIUtil;
|
import com.umeng.analytics.MobclickAgent;
|
import com.viewpagerindicator.CirclePageIndicator;
|
import com.wpc.library.RetainViewFragment;
|
import com.wpc.library.okhttp.OkHttpUtils;
|
import com.wpc.library.util.common.DimenUtils;
|
import com.wpc.library.util.common.StringUtils;
|
import com.wpc.library.widget.MyGridView;
|
import com.wpc.library.widget.RatioLayout;
|
import com.wpc.library.widget.ScListerScrollView;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.callBack.GeneralCallback;
|
import com.tejia.lijin.app.callBack.MiDuoTradeCallback;
|
import com.tejia.lijin.app.callBack.PermissionInterface;
|
import com.tejia.lijin.app.entity.HomeBanner;
|
import com.tejia.lijin.app.entity.UserInfo;
|
import com.tejia.lijin.app.entity.user.MineRewardStatistic;
|
import com.tejia.lijin.app.entity.user.UserDialogVO;
|
import com.tejia.lijin.app.entity.user.UserInviteLevel;
|
import com.tejia.lijin.app.entity.user.VIPUpgradedNotify;
|
import com.tejia.lijin.app.ui.dialog.UserTearcherNotifyDialog;
|
import com.tejia.lijin.app.ui.dialog.VipUpgradedDialog;
|
import com.tejia.lijin.app.ui.goldtask.GoldTaskActivity;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.ui.message.AppMailActivity;
|
import com.tejia.lijin.app.ui.mine.CapitalActivity;
|
import com.tejia.lijin.app.ui.mine.Collect28Activity;
|
import com.tejia.lijin.app.ui.mine.LoginSelectActivity;
|
import com.tejia.lijin.app.ui.mine.MyInfoActivity;
|
import com.tejia.lijin.app.ui.mine.MyPlayerListActivity;
|
import com.tejia.lijin.app.ui.mine.OrderActivity33;
|
import com.tejia.lijin.app.ui.mine.OrderAppealActivity;
|
import com.tejia.lijin.app.ui.mine.PromotionRedenvelopeActivity;
|
import com.tejia.lijin.app.ui.mine.RewardStatisticsOrderActivity33;
|
import com.tejia.lijin.app.ui.mine.SelectionStoreHouseActivity31;
|
import com.tejia.lijin.app.ui.mine.SettingActivity;
|
import com.tejia.lijin.app.ui.mine.ShareHistoryActivity31;
|
import com.tejia.lijin.app.ui.mine.WelfareCenterActivity;
|
import com.tejia.lijin.app.ui.recommend.RecommendTopAdapter2;
|
import com.tejia.lijin.app.updateApp.UpdateApp;
|
import com.tejia.lijin.app.util.JumpActivityUtil;
|
import com.tejia.lijin.app.util.KeFuUtil;
|
import com.tejia.lijin.app.util.PermissionHelper;
|
import com.tejia.lijin.app.util.SystemParamsUtil;
|
import com.tejia.lijin.app.util.Toast_Dialog;
|
import com.tejia.lijin.app.util.ToolUtil;
|
import com.tejia.lijin.app.util.Tools;
|
import com.tejia.lijin.app.util.ui.MineFunctionsManager;
|
import com.tejia.lijin.app.util.umengCustomEvent.UserCustomEvent;
|
import com.tejia.lijin.app.util.user.LoginAndInviteStatusUtil;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
import com.tejia.lijin.app.util.zxing.common.Constant;
|
|
import org.apache.http.Header;
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.lang.reflect.Method;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Map;
|
|
import static android.content.Context.MODE_PRIVATE;
|
|
/**
|
* Created by weikou2015 on 2017/2/20.
|
*/
|
|
public class MineFragment extends RetainViewFragment implements View.OnClickListener, PermissionInterface {
|
private TextView tv_user_num;
|
private ImageView iv_portrait, iv_rank;
|
private TextView tv_nickName;
|
|
//用户昵称与邀请码
|
private LinearLayout ll_nick_name_vip;
|
|
private TextView tv_balance;
|
|
private DisplayImageOptions options;
|
|
private LinearLayoutCompat tv_user_numlayout;//开启通知
|
private int clickState = 0;
|
|
private long lastTime = 0;
|
|
private String TYPE = "mine";
|
private TextView tv_notice_content;
|
private LinearLayout ll_notice;
|
private ImageView iv_close;//通知关闭
|
|
private int REQUEST_CODE_SCAN = 111;
|
private Toast_Dialog toast_dialog;// 弹窗提示
|
|
private String trolleyType = "";
|
|
private UpdateApp app;//更新
|
//热门活动
|
private RatioLayout vp_recommend_ratio;
|
private ViewPager vp_banner;
|
private CirclePageIndicator indicator_category;
|
private ImageView vp_close;
|
|
LinearLayout ll_top;
|
View view_mine_end_bg;
|
|
FrameLayout fl_msg;
|
TextView tv_msg_count;
|
|
|
String tag1 = "help/getAppPageNotification";
|
String tag2 = "integral/getTaskList";
|
String tag3 = "integral/getNotReceived";
|
String tag4 = "customer/getuserinfoNew";
|
String tag5 = "order/countBonus";
|
String tag6 = "config/getUserConfig";
|
|
private String platformRuleLink;//平台规则
|
|
|
private String vipLink = null;
|
|
private MineFunctionsManager mineFunctionsManager;
|
|
@Override
|
public int getContentResource() {
|
return R.layout.fragment_mine;
|
}
|
|
@Override
|
public void onCreateView(View contentView, Bundle savedInstanceState) {
|
mineFunctionsManager = new MineFunctionsManager(getContext());
|
String inviteCode = UserUtil.getInviteCode(getContext());
|
init(contentView);
|
listener(contentView);
|
app = new UpdateApp(getActivity(), getResources().getString(R.string.update_key));
|
mPermissionsChecker = new PermissionHelper(getActivity(), this);
|
startActivity(new Intent(getContext(),ShareBrowserActivity.class).putExtra("url","http://vip.tejia.yeshitv.com/index.html"));
|
}
|
|
private void init(View contentView) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
Window window = getActivity().getWindow();
|
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
|
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
window.setStatusBarColor(Color.TRANSPARENT);
|
//设置状态栏文字颜色及图标为深色
|
// getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
}
|
//设置状态栏文字颜色及图标为深色
|
getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
this.options = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.ic_default_portrait)
|
.showImageOnFail(R.drawable.ic_default_portrait)
|
.showImageOnLoading(R.drawable.ic_default_portrait)
|
.resetViewBeforeLoading(true)
|
.cacheInMemory(true)
|
.cacheOnDisk(true)
|
.imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
.displayer(new CircleBitmapDisplayer(300))
|
.build();
|
|
iv_rank = contentView.findViewById(R.id.iv_rank);
|
fl_msg = contentView.findViewById(R.id.fl_msg);
|
tv_msg_count = contentView.findViewById(R.id.tv_msg_count);
|
|
|
tv_user_num = contentView.findViewById(R.id.tv_user_num);
|
iv_portrait = contentView.findViewById(R.id.iv_portrait);
|
tv_nickName = contentView.findViewById(R.id.tv_nickname);
|
|
tv_balance = contentView.findViewById(R.id.tv_balance);
|
tv_notice_content = contentView.findViewById(R.id.tv_notice_content);
|
ll_notice = contentView.findViewById(R.id.ll_notice);
|
iv_close = contentView.findViewById(R.id.iv_close);
|
ll_top = contentView.findViewById(R.id.ll_top);
|
view_mine_end_bg = contentView.findViewById(R.id.view_mine_end_bg);
|
|
ll_top.setBackground(HomeUIUtil.getHomeTopBg(getContext()));
|
view_mine_end_bg.setBackground(HomeUIUtil.getHomeTopBg(getContext()));
|
|
|
tv_user_numlayout = contentView.findViewById(R.id.tv_user_numlayout);
|
vp_recommend_ratio = contentView.findViewById(R.id.vp_doings_ratio);
|
vp_banner = contentView.findViewById(R.id.vp_recommend);
|
indicator_category = contentView.findViewById(R.id.indicator_recommend);
|
vp_close = contentView.findViewById(R.id.vp_close);
|
ll_nick_name_vip = contentView.findViewById(R.id.ll_nick_name_vip);
|
|
|
getAppPageNotification();
|
|
toast_dialog = new Toast_Dialog(tv_user_num.getContext());
|
|
/******************热门活动************/
|
vp_banner.setCurrentItem(0, true);
|
bannerAdapter = new RecommendTopAdapter2(mBanners, getActivity(), true);
|
vp_banner.setAdapter(bannerAdapter);
|
indicator_category.setViewPager(vp_banner);
|
//设置功能
|
FunctionsAdapter adapter = new FunctionsAdapter(getContext(), getFunctions());
|
MyGridView gv = contentView.findViewById(R.id.gv_functions);
|
gv.setAdapter(adapter);
|
}
|
|
private List<Functions> getFunctions() {
|
List<Functions> list = new ArrayList<>();
|
list.add(new Functions("订单", R.drawable.icon_mine_order, "jumpOrder"));
|
list.add(new Functions("找回订单", R.drawable.icon_mine_find_order, "jumpFindOrder"));
|
list.add(new Functions("收藏", R.drawable.icon_mine_collect, "jumpCollect"));
|
list.add(new Functions("足迹", R.drawable.icon_mine_footmark, "jumpFootMark"));
|
list.add(new Functions("帮助中心", R.drawable.icon_mine_help, "jumpHelp"));
|
list.add(new Functions("客服", R.drawable.icon_mine_kefu, "jumpKeFu"));
|
list.add(new Functions("设置", R.drawable.icon_mine_settings, "jumpSettings"));
|
return list;
|
}
|
|
private RecommendTopAdapter2 bannerAdapter;
|
|
private Runnable mAutoScroller = new Runnable() {
|
|
@Override
|
public void run() {
|
if (vp_banner != null) {
|
PagerAdapter adapter = vp_banner.getAdapter();
|
if (adapter != null && adapter.getCount() != 0) {
|
vp_banner.setCurrentItem((vp_banner.getCurrentItem() + 1)
|
% adapter.getCount(), true);
|
}
|
vp_banner.postDelayed(this, 5000);
|
}
|
}
|
};
|
|
private LinearLayout ll_balance;//余额布局
|
|
|
private void listener(View contentView) {
|
ll_balance = contentView.findViewById(R.id.ll_balance);
|
ll_balance.setOnClickListener(this);
|
|
tv_nickName.setOnClickListener(this);
|
|
iv_portrait.setOnClickListener(this);
|
|
tv_user_num.setOnClickListener(this);
|
vp_close.setOnClickListener(this);//关闭热门广告
|
|
fl_msg.setOnClickListener(this);
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
initUserView();
|
getUserConfig();
|
getLijinUserLevel();
|
getUnReadMsgCount(UserUtil.getUid(getContext()));
|
MobclickAgent.onPageStart("我的");
|
vp_banner.postDelayed(mAutoScroller, 2000);
|
}
|
|
private void initUserView() {
|
if (UserUtil.isLogin(getContext())) {
|
tv_user_numlayout.setVisibility(View.VISIBLE);
|
tv_user_num.setVisibility(View.VISIBLE);
|
ll_nick_name_vip.setVisibility(View.VISIBLE);
|
tv_nickName.setVisibility(View.VISIBLE);
|
UserInfo user = UserUtil.getUserInfo(getContext());
|
showInfo(user);
|
getUserInfo(UserUtil.getUid(getContext()));
|
} else {
|
noLogin();
|
}
|
}
|
|
/**
|
* 展示用户信息
|
*/
|
private void showInfo(UserInfo info) {
|
if (info == null) {
|
return;
|
}
|
ImageLoader.getInstance().displayImage(info.getPortrait(), iv_portrait, options);
|
tv_nickName.setText(info.getNickName());
|
String balance = info.getMyHongBao();
|
tv_balance.setText(balance);
|
tv_user_num.setText("ID:" + info.getId());
|
}
|
|
|
private void noLogin() {
|
tv_user_numlayout.setVisibility(View.GONE);
|
tv_user_num.setVisibility(View.GONE);
|
ll_nick_name_vip.setVisibility(View.VISIBLE);
|
tv_nickName.setVisibility(View.VISIBLE);
|
tv_nickName.setText("点击登录");
|
tv_user_num.setText("");
|
String balance = "0.00";
|
tv_balance.setText(balance);
|
ImageLoader.getInstance().displayImage("drawable://" + R.drawable.ic_mine_default_portrait, iv_portrait, options);
|
fl_msg.setVisibility(View.INVISIBLE);
|
}
|
|
/***小黄条*/
|
private void getAppPageNotification() {
|
ShoppingApi.getAppPageNotification(tv_nickName.getContext(), TYPE, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
ToolUtil.setAppPageNotification(ll_notice, tv_notice_content, iv_close, jsonObject);
|
}
|
});
|
}
|
|
private void tbLogin() {
|
final AlibcLogin alibcLogin = AlibcLogin.getInstance();
|
if (!alibcLogin.isLogin()) {
|
alibcLogin.showLogin(new AlibcLoginCallback() {
|
|
@Override
|
public void onSuccess(int i, String s, String s1) {
|
bindInfo();
|
}
|
|
@Override
|
public void onFailure(int code, String msg) {
|
Toast.makeText(tv_nickName.getContext(), "登录失败,请稍候再试",
|
Toast.LENGTH_LONG).show();
|
clickState = 0;
|
MobclickAgent.reportError(tv_nickName.getContext(), "MineFragment---sscode:" + code + "---msg:" + msg);
|
}
|
});
|
} else {
|
bindInfo();
|
}
|
}
|
|
private PermissionHelper mPermissionsChecker; // 权限检测器
|
|
/**
|
* 权限请求码
|
*
|
* @return
|
*/
|
@Override
|
public int getPermissionsRequestCode() {
|
return 1001;
|
}
|
|
/**
|
* 请求权限
|
*
|
* @return
|
*/
|
@Override
|
public String[] getPermissions() {
|
return new String[]{Manifest.permission.CAMERA};
|
}
|
|
/**
|
* 权限请求成功
|
*/
|
@Override
|
public void requestPermissionsSuccess() {
|
}
|
|
/**
|
* 权限请求失败
|
*/
|
@Override
|
public void requestPermissionsFail() {
|
// Toast.makeText(this, "你以拒绝权限", Toast.LENGTH_SHORT).show();
|
}
|
|
/**
|
* 请求权限结果
|
*
|
* @param requestCode
|
* @param permissions
|
* @param grantResults
|
*/
|
@Override
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
if (mPermissionsChecker.requestPermissionsResult(requestCode, permissions, grantResults)) {
|
//权限请求结果,并已经处理了该回调
|
return;
|
}
|
}
|
|
private int rewardState = 1;
|
|
|
@Override
|
public void onClick(View v) {
|
boolean isLogin = UserUtil.isLogin(getContext());
|
clickState = 0;
|
switch (v.getId()) {
|
case R.id.vp_close:
|
//热门活动
|
// SharedPreferences.Editor editor = sp.edit();
|
// editor.putBoolean("popular", false);
|
// editor.apply();
|
vp_recommend_ratio.setVisibility(View.GONE);
|
break;
|
case R.id.tv_user_num:
|
break;
|
|
case R.id.fl_msg:
|
if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
|
return;
|
startActivity(new Intent(getContext(), UserMessageActivity.class));
|
break;
|
|
case R.id.tv_nickname:
|
if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
|
return;
|
if (!isLogin) {//登录淘宝
|
UserUtil.jumpLogin(tv_nickName.getContext());
|
} else {
|
startActivity(new Intent(tv_nickName.getContext(), MyInfoActivity.class));
|
}
|
break;
|
|
//头像
|
case R.id.iv_portrait:
|
if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
|
return;
|
UserCustomEvent.userMyInfo(ll_notice.getContext());
|
if (!isLogin) {//登录
|
clickState = 10;
|
UserUtil.jumpLogin(tv_nickName.getContext());
|
} else {
|
startActivity(new Intent(tv_nickName.getContext(), MyInfoActivity.class));
|
}
|
break;
|
//账户余额
|
case R.id.ll_balance:
|
if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
|
return;
|
UserCustomEvent.userBalance(tv_user_num.getContext());
|
if (isLogin) {
|
ll_balance.setEnabled(false);
|
ll_balance.postDelayed(new Runnable() {
|
@Override
|
public void run() {
|
if (!ll_balance.isEnabled()) {
|
OkHttpUtils.getInstance().cancelTag("usermoney/getUserMoneyStatistic");
|
ll_balance.setEnabled(true);
|
}
|
}
|
}, 200);
|
|
|
ShoppingApi.getUserMoneyInfo(getContext(), UserUtil.getUid(ShoppingApplication.application), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
ll_balance.setEnabled(true);
|
Intent intenta = new Intent(tv_nickName.getContext(), CapitalActivity.class);
|
intenta.putExtra("UserMoneyStatistic", jsonObject.toString());
|
startActivity(intenta);
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
ll_balance.setEnabled(true);
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) {
|
super.onFailure(statusCode, headers, jsonObject, e);
|
ll_balance.setEnabled(true);
|
ToolUtil.showToast(getContext(), "网络连接异常,请检测网络设置");
|
}
|
});
|
} else {
|
ll_balance.setEnabled(false);
|
clickState = 5;
|
UserUtil.jumpLogin(tv_nickName.getContext());
|
}
|
break;
|
|
|
case R.id.iv_vip:
|
if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
|
return;
|
//跳转到vip
|
if (userInviteLevel != null && !StringUtils.isEmpty(userInviteLevel.getLink()))
|
startActivity(new Intent(getContext(), ShareBrowserActivity.class).putExtra("url", userInviteLevel.getLink()));
|
break;
|
|
default:
|
break;
|
}
|
}
|
|
|
private void bindInfo() {
|
if (clickState == 1) {
|
if (!StringUtils.isEmpty(trolleyType) && trolleyType.equalsIgnoreCase("baichuan")) {
|
if (Tools.isTaobaoAvilible(ll_notice.getContext()) == 0) {
|
AlibcShowParams alibcShowParams = new AlibcShowParams();
|
alibcShowParams.setOpenType(OpenType.Native);
|
Map<String, String> exParams = new HashMap<>();
|
exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
|
exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
|
|
AlibcBasePage alibcBasePage = new AlibcMyCartsPage();
|
jumpNoLink(alibcBasePage, alibcShowParams);
|
} else {
|
Toast.makeText(tv_nickName.getContext(), "未安装淘宝App,该功能无法使用", Toast.LENGTH_LONG).show();
|
}
|
clickState = 0;
|
} else if (taoBaoCartInfo.getJumpDetail() != null) {
|
Intent intent = null;
|
if ((!StringUtils.isEmpty(taoBaoCartInfo.getJumpDetail().getActivity()))) {//有 跳转页面 有参数
|
try {
|
intent = new Intent(ll_notice.getContext(),
|
Class.forName(JumpActivityUtil.filterActivityName(taoBaoCartInfo.getJumpDetail().getActivity())));
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
if (taoBaoCartInfo.getParams() != null) {
|
@SuppressWarnings("unchecked")
|
Iterator<String> its = taoBaoCartInfo.getParams().keySet().iterator();
|
while (its.hasNext()) {
|
String key = its.next();
|
String value = taoBaoCartInfo.getParams().getString(key);
|
intent.putExtra(key, value);
|
}
|
}
|
ll_notice.getContext().startActivity(intent);
|
}
|
clickState = 0;
|
}
|
}
|
|
}
|
|
/**
|
* 分域显示我的订单,或者全部显示我的订单
|
*/
|
private void showOrder() {
|
Intent intent = new Intent(tv_nickName.getContext(), OrderActivity33.class);
|
startActivity(intent);
|
}
|
|
JSONObject moduleState;
|
private String invitCode;//邀请码
|
private Long bindPhonetime = 0L;
|
private Dialog dialog;
|
private int redPackLock = 0;//1: 红包功能关闭 0:开启
|
private UserInviteLevel userInviteLevel;//用户邀请等级
|
|
/****用户信息*/
|
private void getUserInfo(final Long uid) {
|
ShoppingApi.getUserInfo2(tv_nickName.getContext(), uid, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
JSONObject data = jsonObject.optJSONObject("data");
|
String inviteCode = data.optString("invitCode");
|
UserUtil.setInviteCode(getContext(), inviteCode);
|
vipLink = data.optString("vipLink");
|
moduleState = data.optJSONObject("moduleState");
|
if (mineFunctionsManager != null)
|
mineFunctionsManager.setModuleState(moduleState);
|
|
redPackLock = data.optInt("redPackLock");// 红包功能关闭开启
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
JSONObject inviteLevel = data.optJSONObject("inviteLevel");
|
if (inviteLevel != null) {
|
userInviteLevel = gson.fromJson(inviteLevel.toString(), UserInviteLevel.class);
|
}
|
final UserInfo info = gson.fromJson(data.optJSONObject("user").toString(), new TypeToken<UserInfo>() {
|
}.getType());
|
showInfo(info);//展示用户个人信息
|
UserUtil.loginSuccess(getContext(),info);
|
/**bindPhone 绑定手机弹窗*/
|
if (jsonObject.optJSONObject("data").optBoolean("bindPhone", false)) {
|
if (System.currentTimeMillis() - bindPhonetime < 1000) {//小于1秒不进入
|
return;
|
}
|
bindPhonetime = System.currentTimeMillis();
|
dialog = ToolUtil.setGeneralPop(tv_nickName.getContext(), "绑定手机号提醒", "尊敬的用户,为保障你账户中的资金安全,请绑定手机号。"
|
, "去绑定", new GeneralCallback() {
|
@Override
|
public void onSuccess() {
|
user_recordBind(uid);//我的信息-提醒记录
|
Intent intent = new Intent(tv_nickName.getContext(), LoginSelectActivity.class);
|
intent.putExtra("uid", info.getId());
|
intent.putExtra("type", LoginSelectActivity.TYPE_BIND);
|
startActivity(intent);
|
}
|
|
@Override
|
public void onError() {
|
user_recordBind(uid);//我的信息-提醒记录
|
}
|
});
|
}
|
|
} else if (jsonObject.optInt("code") == 80001) {
|
if (UserUtil.isLogin(getContext())) {
|
loginOut();
|
UserUtil.logout(tv_nickName.getContext());
|
noLogin();
|
Toast.makeText(tv_nickName.getContext(), jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
|
}
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
if (clickState == 1) {
|
if (!AlibcLogin.getInstance().isLogin()) {
|
tbLogin();
|
return;
|
}
|
clickState = 0;
|
if (!StringUtils.isEmpty(trolleyType) && trolleyType.equalsIgnoreCase("baichuan")) {
|
if (Tools.isTaobaoAvilible(ll_notice.getContext()) == 0) {
|
AlibcShowParams alibcShowParams = new AlibcShowParams();
|
alibcShowParams.setOpenType(OpenType.Native);
|
Map<String, String> exParams = new HashMap<>();
|
exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
|
exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
|
|
AlibcBasePage alibcBasePage = new AlibcMyCartsPage();
|
jumpNoLink(alibcBasePage, alibcShowParams);
|
} else {
|
Toast.makeText(tv_nickName.getContext(), "未安装淘宝App,该功能无法使用", Toast.LENGTH_LONG).show();
|
}
|
} else if (AlibcLogin.getInstance().isLogin() && taoBaoCartInfo.getJumpDetail() != null) {
|
Intent intent = null;
|
if (!StringUtils.isEmpty(taoBaoCartInfo.getJumpDetail().getActivity())) {//有 跳转页面 有参数
|
try {
|
intent = new Intent(ll_notice.getContext(),
|
Class.forName(JumpActivityUtil.filterActivityName(taoBaoCartInfo.getJumpDetail().getActivity())));
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
if (taoBaoCartInfo.getParams() != null) {
|
@SuppressWarnings("unchecked")
|
Iterator<String> its = taoBaoCartInfo.getParams().keySet().iterator();
|
while (its.hasNext()) {
|
String key = its.next();
|
String value = taoBaoCartInfo.getParams().getString(key);
|
intent.putExtra(key, value);
|
}
|
}
|
ll_notice.getContext().startActivity(intent);
|
}
|
}
|
} else if (clickState == 2) {
|
clickState = 0;
|
showOrder();
|
} else if (clickState == 3) {
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), Collect28Activity.class));
|
} else if (clickState == 4) {
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), OrderAppealActivity.class));
|
} else if (clickState == 5) {
|
clickState = 0;
|
Intent intenta = new Intent(tv_nickName.getContext(), CapitalActivity.class);
|
startActivity(intenta);
|
} else if (clickState == 6) {
|
clickState = 0;
|
Intent intent4 = new Intent(tv_nickName.getContext(), SelectionStoreHouseActivity31.class);
|
startActivity(intent4);
|
} else if (clickState == 7) {
|
clickState = 0;
|
Intent intent = new Intent(tv_nickName.getContext(), WelfareCenterActivity.class);
|
startActivity(intent);
|
} else if (clickState == 9) {
|
clickState = 0;
|
Intent intent = new Intent(tv_nickName.getContext(), MyPlayerListActivity.class);
|
startActivity(intent);
|
} else if (clickState == 10) {
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), MyInfoActivity.class));
|
} else if (clickState == 11) {
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), AppMailActivity.class));
|
} else if (clickState == 12) {
|
clickState = 0;
|
Intent intent5 = new Intent(tv_nickName.getContext(), ShareHistoryActivity31.class);
|
startActivity(intent5);
|
} else if (clickState == 13) {
|
clickState = 0;
|
Intent intent = new Intent(tv_nickName.getContext(), SettingActivity.class);
|
startActivity(intent);
|
} else if (clickState == 14) {
|
clickState = 0;
|
Intent intent = new Intent(tv_nickName.getContext(), RewardStatisticsOrderActivity33.class);
|
intent.putExtra("title", "团队奖金");
|
intent.putExtra("type", 3 + "");
|
intent.putExtra("needCount", true);
|
intent.putExtra("dateType", rewardState);
|
startActivity(intent);
|
} else if (clickState == 16) {
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), OrderAppealActivity.class));
|
} else if (clickState == 17) {//推广红包
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), PromotionRedenvelopeActivity.class));
|
} else if (clickState == 18) {//金币任务
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), GoldTaskActivity.class));
|
} else if (clickState == 19) {//链接转换
|
clickState = 0;
|
startActivity(new Intent(tv_nickName.getContext(), ShareBrowserActivity.class).putExtra("url", convertLinkUrl));
|
}
|
}
|
});
|
}
|
|
|
private void getLijinUserLevel() {
|
if (!UserUtil.isLogin(getContext())) {
|
iv_rank.setVisibility(View.GONE);
|
return;
|
}
|
|
ShoppingApi.getLijinUserLevel(getContext(), UserUtil.getUid(getContext()), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onStart() {
|
super.onStart();
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
JSONObject data = jsonObject.optJSONObject("data");
|
String userLevel = data.optString("userLevel");
|
final String vipLink = data.optString("lijinVipLink");
|
try {
|
iv_rank.setImageResource(getResources().getIdentifier("icon_rank_" + userLevel, "drawable", getContext().getPackageName()));
|
} catch (Exception e) {
|
}
|
|
iv_rank.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
startActivity(new Intent(getContext(), ShareBrowserActivity.class).putExtra("url", vipLink));
|
}
|
});
|
iv_rank.setVisibility(View.VISIBLE);
|
}
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
}
|
});
|
|
}
|
|
/**
|
* 我的信息-提醒记录
|
*
|
* @param uid
|
*/
|
private void user_recordBind(Long uid) {
|
ShoppingApi.setRecordBind(tv_nickName.getContext(), uid, null);
|
}
|
|
/**
|
* 退出登录
|
*/
|
private void loginOut() {
|
AlibcLogin alibcLogin = AlibcLogin.getInstance();
|
alibcLogin.logout(new AlibcLoginCallback() {
|
|
@Override
|
public void onSuccess(int i, String s, String s1) {
|
Toast.makeText(tv_nickName.getContext(), "退出登录成功", Toast.LENGTH_SHORT).show();
|
}
|
|
@Override
|
public void onFailure(int code, String msg) {
|
}
|
});
|
}
|
|
|
@Override
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
super.onActivityResult(requestCode, resultCode, data);
|
// 扫描二维码/条码回传
|
if (requestCode == REQUEST_CODE_SCAN && resultCode == Activity.RESULT_OK) {
|
if (data != null) {
|
String content = data.getStringExtra(Constant.CODED_CONTENT);
|
if (content.contains("taobao://")) {
|
// Intent intent = new Intent(tv_user_num.getContext(), GoodsDetailBrowerActivity.class);
|
Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivity.class);
|
String id = content.substring(content.indexOf("//") + 2);
|
intent.putExtra("from", "scan");
|
intent.putExtra("goodsId", id);
|
intent.putExtra("goodsType", com.tejia.lijin.app.util.Constant.GOODS_TYPE_TB);
|
startActivity(intent);
|
} else if (content.contains("jd://")) {
|
// Intent intent = new Intent(tv_user_num.getContext(), GoodsDetailBrowerActivity.class);
|
Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivity.class);
|
String id = content.substring(content.indexOf("//") + 2);
|
intent.putExtra("goodsId", id);
|
intent.putExtra("goodsType", com.tejia.lijin.app.util.Constant.GOODS_TYPE_JD);
|
intent.putExtra("from", "scan");
|
startActivity(intent);
|
} else if (content.contains("pdd://")) {
|
// Intent intent = new Intent(tv_user_num.getContext(), GoodsDetailBrowerActivity.class);
|
Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivity.class);
|
String id = content.substring(content.indexOf("//") + 2);
|
intent.putExtra("goodsId", id);
|
intent.putExtra("goodsType", com.tejia.lijin.app.util.Constant.GOODS_TYPE_PDD);
|
intent.putExtra("from", "scan");
|
startActivity(intent);
|
} else {
|
Toast.makeText(tv_user_num.getContext(), "并非商品二维码", Toast.LENGTH_SHORT).show();
|
}
|
}
|
}
|
}
|
|
/**
|
* 获取购物车跳转方式
|
*/
|
HomeBanner taoBaoCartInfo;
|
/*************** banner列表********/
|
private List<HomeBanner> mBanners = new ArrayList<>();
|
|
private String convertLinkUrl = "";
|
private String tearcherLink = "";
|
private String cloudSendOrderLink = "";
|
|
private UserTearcherNotifyDialog notifyDialog = null;
|
|
private VipUpgradedDialog vipUpgradedDialog;
|
|
/****************************登录协议*****/
|
private void getUserConfig() {
|
ShoppingApi.getUserConfig(ll_notice.getContext(), UserUtil.getUid(getContext()), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
JSONObject data = jsonObject.optJSONObject("data");
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
taoBaoCartInfo = gson.fromJson(data
|
.optJSONObject("taoBaoCart").toString(), new TypeToken<HomeBanner>() {
|
}.getType());
|
|
convertLinkUrl = data.optString("convertLinkUrl");
|
tearcherLink = data.optString("tearcherLink");
|
cloudSendOrderLink = data.optString("cloudLink");
|
/*************************平台规则******************************/
|
platformRuleLink = data.optString("platformRule");
|
|
if (mineFunctionsManager != null) {
|
mineFunctionsManager.setConvertLink(convertLinkUrl);
|
mineFunctionsManager.setCloudUrl(cloudSendOrderLink);
|
mineFunctionsManager.setpPlateformRule(platformRuleLink);
|
}
|
|
trolleyType = taoBaoCartInfo.getJumpDetail().getType();
|
/*****************************热门活动*********/
|
List<HomeBanner> list2 = gson.fromJson(
|
data.optJSONArray("banner").toString(),
|
new TypeToken<List<HomeBanner>>() {
|
}.getType());
|
if (list2.size() > 0) {
|
mBanners.clear();
|
mBanners.addAll(list2);
|
bannerAdapter.notifyDataSetChanged();
|
}
|
//热门活动
|
// boolean popular = getContext().getSharedPreferences("user", MODE_PRIVATE)
|
// .getBoolean("popular", true);
|
if (mBanners.size() == 0) { //没有数据 隐藏 轮播
|
vp_recommend_ratio.setVisibility(View.GONE);
|
} else { //有条数据的时候
|
vp_recommend_ratio.setVisibility(View.VISIBLE);
|
if (mBanners.size() > 1) {
|
indicator_category.setVisibility(View.VISIBLE);//轮播小点
|
} else {
|
indicator_category.setVisibility(View.GONE);
|
}
|
}
|
|
/************************弹框*************************/
|
if (data.optJSONObject("dialog") != null) {
|
final UserDialogVO dialogVO = new Gson().fromJson(data.optJSONObject("dialog").toString(), UserDialogVO.class);
|
|
if (notifyDialog == null) {
|
UserTearcherNotifyDialog.Builder builder = new UserTearcherNotifyDialog.Builder(getContext()).setTitle(dialogVO.getTitle()).setMessage(dialogVO.getContent()).setCloseButton(new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
closeDialogNotify(dialogVO.getId(), 0);
|
}
|
}).setPositiveButton(dialogVO.getPositive().getName(), new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
closeDialogNotify(dialogVO.getId(), 1);
|
JumpActivityUtil.jumpActivity(getActivity(), dialogVO.getPositive().getJumpDetail(), dialogVO.getPositive().getParams());
|
}
|
});
|
|
if (dialogVO.getNegative() != null) {
|
builder = builder.setNegativeButton(dialogVO.getNegative().getName(), new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
dialog.dismiss();
|
closeDialogNotify(dialogVO.getId(), 2);
|
JumpActivityUtil.jumpActivity(getActivity(), dialogVO.getNegative().getJumpDetail(), dialogVO.getNegative().getParams());
|
}
|
});
|
}
|
notifyDialog = builder.create();
|
}
|
|
synchronized (notifyDialog) {
|
if (!notifyDialog.isShowing()) {
|
notifyDialog.show();
|
}
|
}
|
}
|
|
/************************弹框************************/
|
|
/**************************用户等级升级提醒弹框************************/
|
|
|
/**************************用户等级升级提醒弹框************************/
|
JSONObject vipUpgradedNotify = data.optJSONObject("vipUpgradedNotify");
|
|
if (vipUpgradedNotify != null) {
|
|
final VIPUpgradedNotify notify = new Gson().fromJson(vipUpgradedNotify.toString(), VIPUpgradedNotify.class);
|
if (data.optJSONObject("dialog") == null) {
|
// synchronized (vipUpgradedDialog) {
|
if (vipUpgradedDialog == null)
|
vipUpgradedDialog = new VipUpgradedDialog.Builder(getContext()).setData(notify).setCloseClickListener(new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
ShoppingApi.closeDialogNotify(getContext(), UserUtil.getUid(getContext()), notify.getId(), notify.getSourceId(), 0, null);
|
}
|
}).setPositiveClickListener(new DialogInterface.OnClickListener() {
|
@Override
|
public void onClick(DialogInterface dialog, int which) {
|
ShoppingApi.closeDialogNotify(getContext(), UserUtil.getUid(getContext()), notify.getId(), notify.getSourceId(), 2, null);
|
}
|
}).create();
|
if (!vipUpgradedDialog.isShowing())
|
vipUpgradedDialog.show();
|
}
|
// }
|
}
|
|
|
}
|
}
|
});
|
}
|
|
|
private void closeDialogNotify(String id, int type) {
|
ShoppingApi.closeDialogNotify(getContext(), UserUtil.getUid(getContext()), id, null, type, null);
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
MobclickAgent.onPageEnd("我的");
|
lastTime = System.currentTimeMillis();
|
toast_dialog.dialog_dismiss();
|
ll_balance.setEnabled(true);
|
OkHttpUtils.getInstance().cancelTag("integral/getTaskList");////请求金币任务列表-关闭请求
|
OkHttpUtils.getInstance().cancelTag("integral/getNotReceived"); //请求未领取金币-关闭请求
|
if (dialog != null && dialog.isShowing()) {
|
dialog.dismiss();
|
}
|
if (vp_banner != null && mAutoScroller != null)
|
vp_banner.removeCallbacks(mAutoScroller);
|
}
|
|
@Override
|
public void onDestroy() {
|
super.onDestroy();
|
app = null;
|
toast_dialog = null;
|
OkHttpUtils.getInstance().cancelTag(tag1);
|
OkHttpUtils.getInstance().cancelTag(tag2);
|
OkHttpUtils.getInstance().cancelTag(tag3);
|
OkHttpUtils.getInstance().cancelTag(tag4);
|
OkHttpUtils.getInstance().cancelTag(tag5);
|
OkHttpUtils.getInstance().cancelTag(tag6);
|
OkHttpUtils.getInstance().cancelTag("integral/getTaskList");////请求金币任务列表-关闭请求
|
OkHttpUtils.getInstance().cancelTag("integral/getNotReceived"); //请求未领取金币-关闭请求
|
if (dialog != null && dialog.isShowing())
|
dialog.dismiss();
|
if (vp_banner != null && mAutoScroller != null)
|
vp_banner.removeCallbacks(mAutoScroller);
|
}
|
|
/**
|
* 百川非link跳转
|
*/
|
private void jumpNoLink(AlibcBasePage basePage, AlibcShowParams alibcShowParams) {
|
AlibcTrade.openByBizCode(getActivity(), basePage, null,
|
new WebViewClient(), new WebChromeClient(), "nativeDetail", alibcShowParams,
|
null, null, new MiDuoTradeCallback(""));
|
}
|
|
|
class Functions {
|
String name;
|
int resourceId;
|
String method;
|
|
public Functions(String name, int resourceId, String method) {
|
this.name = name;
|
this.resourceId = resourceId;
|
this.method = method;
|
}
|
|
|
}
|
|
class FunctionsAdapter extends BaseAdapter {
|
private Context context;
|
|
private List<Functions> functionsList;
|
|
public FunctionsAdapter(Context context, List<Functions> functionsList) {
|
this.context = context;
|
this.functionsList = functionsList;
|
}
|
|
@Override
|
public int getCount() {
|
return functionsList.size();
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return functionsList.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
final Functions function = functionsList.get(position);
|
View v = LayoutInflater.from(context).inflate(R.layout.item_mine_functions, null);
|
ImageView iv_icon = v.findViewById(R.id.iv_icon);
|
TextView tv_name = v.findViewById(R.id.tv_name);
|
iv_icon.setImageResource(function.resourceId);
|
tv_name.setText(function.name);
|
v.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Class clazz = mineFunctionsManager.getClass();
|
try {
|
Method m1 = clazz.getDeclaredMethod(function.method);
|
m1.invoke(mineFunctionsManager);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
});
|
return v;
|
}
|
}
|
|
int totalMsgCount = 0;
|
|
/**
|
* 消息 未读数量
|
*
|
* @param uid
|
*/
|
private void getUnReadMsgCount(Long uid) {
|
ShoppingApi.getUnReadMsgCount(getContext(), uid, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
if (jsonObject.optJSONObject("data").optInt("totalCount") > 0) {
|
totalMsgCount = jsonObject.optJSONObject("data").optInt("totalCount");
|
} else {
|
totalMsgCount = 0;
|
}
|
} else {
|
totalMsgCount = 0;
|
}
|
if (totalMsgCount > 0) {
|
tv_msg_count.setVisibility(View.VISIBLE);
|
tv_msg_count.setText(totalMsgCount > 99 ? "99+" : (totalMsgCount + ""));
|
} else {
|
tv_msg_count.setVisibility(View.GONE);
|
}
|
}
|
});
|
}
|
|
}
|