diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java index 3f017af..364d648 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java @@ -1,23 +1,29 @@ package com.xuebiping.bolizhuzi.controller.settings.adapter.constant; public enum SettingOptions { - WALLET, + CONTRACT,//价格设置 INVITATION, GUIDE,//用户指南 - RANK, - CUSTOMER,//客服 MISSIONS, BEAUTY,//美颜设置 - MEMBER,//会员特权 OFFICIAL, - SETTING,//设置 GODDESSPRIVILEGE, //女神特权 VIOLATION,//违规公布 ADDWECHAT,//添加微信 HELLOW,//招呼设置 ITEMS,//我的道具 VIDEO, //视频聊天 + DETAIL,//账单明细 + + RANK, //排行榜 + DONOTMODEL, //勿扰模式 + MEMBER,//会员特权 + SETFRIEND, //交友偏好 + WALLET, //钱包 TASK, //每日任务 - DETAIL//账单明细 + MYMYINTIMACY, //我的亲密度 + UPAUTH, //up主认证 + CUSTOMER,//客服 + SETTING,//设置 } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java index 0848459..482736d 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java @@ -125,6 +125,7 @@ import com.xuebiping.bolizhuzi.view.news.im.DemoCache; import com.xuebiping.bolizhuzi.view.settings.BindPhoneConfirmActivity; import com.xuebiping.bolizhuzi.view.settings.QuickRechargeActivity; import com.xuebiping.bolizhuzi.view.settings.SettingFragment; +import com.xuebiping.bolizhuzi.view.settings.SettingFragment2; import com.xuebiping.bolizhuzi.view.settings.dialog.GirlAuthDialog; import com.xuebiping.bolizhuzi.view.settings.dialog.SpeedCallDialog; import com.fengliyan.storage.StorageManager; @@ -171,7 +172,7 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat private DynamicViewPager2Fragment mDynamicViewPagerFragment; private MainRecommend2Fragment mMainRecommendFragment; private MainMessageFragment mMainMessageFragment; - private SettingFragment mSettingFragment; + private SettingFragment2 mSettingFragment; private Disposable mDisposable; private boolean isLoginViewShowed; private UpdateDialog mUpdateDialog; @@ -1067,7 +1068,7 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat mMainMessageFragment = new MainMessageFragment(); } if (mSettingFragment == null) { - mSettingFragment = new SettingFragment(); + mSettingFragment = new SettingFragment2(); } mBottomTab.addTab(mMainRecommendFragment); @@ -1153,7 +1154,7 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat finish(); } else if (REQUEST_FINISH == requestCode && RESULT_LOGIN == resultCode) { handleLoginInfo(null); - } else if (SettingFragment.SETTING_SOCIAL_CHANGE_RESULT == resultCode && SettingFragment.SETTING_SOCIAL_REQUEST == requestCode) { + } else if (SettingFragment2.SETTING_SOCIAL_CHANGE_RESULT == resultCode && SettingFragment2.SETTING_SOCIAL_REQUEST == requestCode) { mSettingFragment.getUserInfo(); } // else if (requestCode == 10010 && resultCode == RESULT_OK) { diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java index 9547d7d..52bc218 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java @@ -1,8 +1,11 @@ package com.xuebiping.bolizhuzi.view.settings; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -137,6 +140,7 @@ public class SettingFragment extends Fragment implements View.OnClickListener { private View mLiVipGo; private boolean isVip; private LinearLayout ll_go_edit_layout; + private String mUsercode; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -241,6 +245,7 @@ public class SettingFragment extends Fragment implements View.OnClickListener { rl_vip.setOnClickListener(this); // ll_mine_video_chat.setOnClickListener(this); ll_certification.setOnClickListener(this); + tv_qingyu_id.setOnClickListener(this); UserManager.getInstance().registerUserInfoObserver(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -286,7 +291,8 @@ public class SettingFragment extends Fragment implements View.OnClickListener { user_head.setImageURI(ConstUrl.IMAGE_URL + result.getUserinfo().getAvatar()); tv_nick_name.setText(result.getUserinfo().getNickname()); tv_age.setText(result.getUserinfo().getAge() + ""); - tv_qingyu_id.setText("用户号:" + result.getUserinfo().getUsercode()); + mUsercode = result.getUserinfo().getUsercode(); + tv_qingyu_id.setText("ID:" + mUsercode); //1=超级会员 0=普通会员 2=没有会员 if (0 == result.getUserinfo().getVip()) { isVip = true; @@ -715,11 +721,31 @@ public class SettingFragment extends Fragment implements View.OnClickListener { intent.putExtra("userId", SPUtils.getInt(getActivity(), ConsUser.USER_ID)); startActivity(intent); break; + case R.id.tv_qingyu_id: + if (!TextUtils.isEmpty(mUsercode)) { + clipUrlData(mUsercode); + } + break; } } } } + /** + * 将分享链接地址复制到剪切板 + */ + public void clipUrlData(String content) { + //获取剪贴板管理器: + ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + // 创建普通字符型ClipData + ClipData mClipData = ClipData.newPlainText("Label", content); + // 将ClipData内容放到系统剪贴板里。 + cm.setPrimaryClip(mClipData); + + MaleToast.showMessage(getActivity(), "复制成功"); + + } + @Override public void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java new file mode 100644 index 0000000..b0468f4 --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java @@ -0,0 +1,850 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.Switch; +import android.widget.TextView; + +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.blankj.utilcode.util.GsonUtils; +import com.facebook.drawee.view.SimpleDraweeView; +import com.fengliyan.device.DeviceManager; +import com.fengliyan.http.httprequest.HttpCallback; +import com.fengliyan.storage.StorageManager; +import com.fengliyan.uikit.toast.MaleToast; +import com.flyco.roundview.RoundLinearLayout; +import com.flyco.roundview.RoundTextView; +import com.opensource.svgaplayer.SVGADrawable; +import com.opensource.svgaplayer.SVGAImageView; +import com.opensource.svgaplayer.SVGAParser; +import com.opensource.svgaplayer.SVGAVideoEntity; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.constant.ConsUser; +import com.xuebiping.bolizhuzi.controller.constant.ConstUrl; +import com.xuebiping.bolizhuzi.controller.eventBus.BeAnchorEvent; +import com.xuebiping.bolizhuzi.controller.eventBus.RegisterInfoEvent; +import com.xuebiping.bolizhuzi.controller.eventBus.SocialToSettingEvent; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.controller.settings.adapter.constant.SettingOptions; +import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; +import com.xuebiping.bolizhuzi.controller.user.manager.UserManager; +import com.xuebiping.bolizhuzi.im.uikit.api.NimUIKit; +import com.xuebiping.bolizhuzi.im.uikit.common.Constans; +import com.xuebiping.bolizhuzi.im.uikit.common.ToastHelper; +import com.xuebiping.bolizhuzi.model.login.bean.LoginBean; +import com.xuebiping.bolizhuzi.model.main.MainPageAnchorBean; +import com.xuebiping.bolizhuzi.model.settings.UserFrameBean; +import com.xuebiping.bolizhuzi.model.settings.UserHomeBean; +import com.xuebiping.bolizhuzi.model.settings.WalletIndexBean; +import com.xuebiping.bolizhuzi.model.user.bean.BaseUserInfo; +import com.xuebiping.bolizhuzi.utils.NoClearSPUtils; +import com.xuebiping.bolizhuzi.utils.SPUtils; +import com.xuebiping.bolizhuzi.utils.StrU; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.BaseApplication; +import com.xuebiping.bolizhuzi.view.base.BaseWebViewActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; +import com.xuebiping.bolizhuzi.view.main.MainPageActivity; +import com.xuebiping.bolizhuzi.view.main.dialog.ShaiXuanDialog; +import com.xuebiping.bolizhuzi.view.news.activity.ChatActivity; +import com.xuebiping.bolizhuzi.view.rank.ZhiRankActivity; +import com.xuebiping.bolizhuzi.view.settings.dialog.FreeVipDialog; +import com.xuebiping.bolizhuzi.view.settings.greeting.GreetingSettingActivity; + +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import de.greenrobot.event.EventBus; +import io.reactivex.Observer; +import io.reactivex.disposables.Disposable; + +public class SettingFragment2 extends Fragment implements View.OnClickListener { + public static int SETTING_SOCIAL_REQUEST = 105; + public static int SETTING_SOCIAL_CHANGE_RESULT = 214; + private ConstraintLayout rl_user_info; + private SimpleDraweeView user_head; + private SimpleDraweeView user_avatar_frame; + private SVGAImageView svga_image_view; + private TextView tv_nick_name; + private TextView tv_age; + private TextView tv_qingyu_id; + private ImageView iv_user_icon1; + private ImageView iv_user_icon2; + private ImageView iv_user_icon3; + private ImageView iv_user_icon4; + private LinearLayout ll_foucs; + private TextView tv_foucus_num; + private ConstraintLayout ll_fans; + private TextView tv_fans_num; + private RoundTextView rtv_new_fans_num; + private ConstraintLayout ll_scan; + private TextView tv_scan_num; + private RoundTextView rtv_new_scan_num; + private LinearLayout ll_foot; + private TextView tv_foot_num; + private LinearLayout cl_invite; + private RelativeLayout rl_vip; + private LinearLayout cl_income; + private LinearLayout ll_income; + + + private TextView tv_income_num; + + //private ConstraintLayout cl_recharge; + //private TextView tv_recharge; + // private TextView tv_recharge_hint; + + + private LinearLayout lin_my_list1; + private LinearLayout lin_my_list2; + private TextView tv_go_homepage; + //private LinearLayout ll_mine_video_chat; + + private List mOptions1 = new ArrayList<>(); + + private Disposable mDisponsable; + private int mVideoEnableFlag; + private int gender; + + private FreeVipDialog mFreeVipDialog; + private View mLlVip; + private View mLiVipGo; + private boolean isVip; + private LinearLayout ll_go_edit_layout; + private String mUsercode; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View v = inflater.inflate(R.layout.fragment_setting2, container, false); + initView(v); + initTitle(); +// getUserInfo(); +// getWalletIndex(); + + EventBus.getDefault().register(this); + return v; + } + + @Override + public void onHiddenChanged(boolean hidden) { + if (!hidden) { + initTitle(); + getUserInfo(); + } + } + + @Override + public void onResume() { + super.onResume(); + getWalletIndex(); + getUserInfo(); + } + + private void initView(View v) { + rl_user_info = v.findViewById(R.id.rl_user_info); + ll_go_edit_layout = v.findViewById(R.id.ll_go_edit_layout); + user_avatar_frame = v.findViewById(R.id.user_avatar_frame); + svga_image_view = v.findViewById(R.id.svga_image_view); + user_head = v.findViewById(R.id.user_head); + tv_nick_name = v.findViewById(R.id.tv_nick_name); + tv_age = v.findViewById(R.id.tv_age); + tv_qingyu_id = v.findViewById(R.id.tv_qingyu_id); + iv_user_icon1 = v.findViewById(R.id.iv_user_icon1); + iv_user_icon2 = v.findViewById(R.id.iv_user_icon2); + iv_user_icon3 = v.findViewById(R.id.iv_user_icon3); + iv_user_icon4 = v.findViewById(R.id.iv_user_icon4); + ll_foucs = v.findViewById(R.id.ll_foucs); + tv_foucus_num = v.findViewById(R.id.tv_foucus_num); + ll_fans = v.findViewById(R.id.ll_fans); + tv_fans_num = v.findViewById(R.id.tv_fans_num); + rtv_new_fans_num = v.findViewById(R.id.rtv_new_fans_num); + ll_scan = v.findViewById(R.id.ll_scan); + tv_scan_num = v.findViewById(R.id.tv_scan_num); + rtv_new_scan_num = v.findViewById(R.id.rtv_new_scan_num); + ll_foot = v.findViewById(R.id.ll_foot); + + tv_foot_num = v.findViewById(R.id.tv_foot_num); + cl_invite = v.findViewById(R.id.cl_invite); + + + rl_vip = v.findViewById(R.id.rl_vip); + + cl_income = v.findViewById(R.id.cl_income); + ll_income = v.findViewById(R.id.ll_income); + + tv_income_num = v.findViewById(R.id.tv_income_num); + + lin_my_list1 = v.findViewById(R.id.lin_my_list1); + lin_my_list2 = v.findViewById(R.id.lin_my_list2); + tv_go_homepage = v.findViewById(R.id.tv_go_homepage); + + rl_user_info.setOnClickListener(this); + ll_go_edit_layout.setOnClickListener(this); + tv_go_homepage.setOnClickListener(this); + ll_foucs.setOnClickListener(this); + ll_fans.setOnClickListener(this); + ll_scan.setOnClickListener(this); + ll_foot.setOnClickListener(this); + + cl_invite.setOnClickListener(this); + + ll_income.setOnClickListener(this); + cl_income.setOnClickListener(this); + rl_vip.setOnClickListener(this); + + tv_qingyu_id.setOnClickListener(this); + UserManager.getInstance().registerUserInfoObserver(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisponsable = d; + } + + @Override + public void onNext(BaseUserInfo userInfo) { + if (null == userInfo || 0 == userInfo.getUser_id()) { + return; + } + getUserInfo(); + getWalletIndex(); + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }); + } + + private void initTitle() { + ((BaseActivity) getActivity()).hideTitleBar(); + } + + private boolean isShowAd = false; + + public void getUserInfo() { + SettingManager.getHomeUser((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, UserHomeBean result, String message) { + save(result); + if (!isShowAd) { + EventBus.getDefault().post(new RegisterInfoEvent(result.getUserinfo().getNewer_win_status())); + isShowAd = true; + } + user_head.setImageURI(ConstUrl.IMAGE_URL + result.getUserinfo().getAvatar()); + tv_nick_name.setText(result.getUserinfo().getNickname()); + tv_age.setText(result.getUserinfo().getAge() + ""); + mUsercode = result.getUserinfo().getUsercode(); + tv_qingyu_id.setText("ID:" + mUsercode); + //1=超级会员 0=普通会员 2=没有会员 + if (0 == result.getUserinfo().getVip()) { + isVip = true; + iv_user_icon1.setVisibility(View.VISIBLE); + iv_user_icon2.setVisibility(View.GONE); + } else if (1 == result.getUserinfo().getVip()) { + isVip = true; + iv_user_icon1.setVisibility(View.GONE); + iv_user_icon2.setVisibility(View.VISIBLE); + } else { + isVip = false; + iv_user_icon1.setVisibility(View.GONE); + iv_user_icon2.setVisibility(View.GONE); + } + SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, isVip); + SPUtils.saveString(getActivity(), ConsUser.HIDE_READ_MSG, result.getHide_read_msg()); + //0.无标识 1.真人标识 2.新人标识 + if (1 == result.getUserinfo().getMark()) { + iv_user_icon3.setVisibility(View.VISIBLE); + iv_user_icon3.setImageResource(R.drawable.setting_my_icon31); + } else if (2 == result.getUserinfo().getMark()) { + iv_user_icon3.setVisibility(View.VISIBLE); + iv_user_icon3.setImageResource(R.drawable.setting_my_icon3); + } else { + iv_user_icon3.setVisibility(View.GONE); + } + //1手机号为空 2存在手机号 + if (2 == result.getUserinfo().getIs_mobile()) { + iv_user_icon4.setVisibility(View.VISIBLE); + } else { + iv_user_icon4.setVisibility(View.GONE); + } + + tv_foucus_num.setText(result.getUsercount().getFollow_count() + ""); + tv_fans_num.setText(result.getUsercount().getFans_count() + ""); + if (0 != result.getUsercount().getNew_fans_count()) { + rtv_new_fans_num.setVisibility(View.VISIBLE); + rtv_new_fans_num.setText(result.getUsercount().getNew_fans_count() + ""); + } else { + rtv_new_fans_num.setVisibility(View.GONE); + } + tv_scan_num.setText(result.getUsercount().getVisitor_count()); + if (0 != result.getUsercount().getNew_visitor_count()) { + rtv_new_scan_num.setVisibility(View.VISIBLE); + rtv_new_scan_num.setText(result.getUsercount().getNew_visitor_count() + ""); + } else { + rtv_new_scan_num.setVisibility(View.GONE); + } + tv_foot_num.setText(result.getUsercount().getFootprint_count()); + if (result.getSwitchX() != null) { + mVideoEnableFlag = result.getSwitchX().getOpen_video_status(); + } + mOptions1.clear(); + + mOptions1.add(SettingOptions.RANK); + mOptions1.add(SettingOptions.DONOTMODEL); + mOptions1.add(SettingOptions.MEMBER); + mOptions1.add(SettingOptions.SETFRIEND); + mOptions1.add(SettingOptions.WALLET); + mOptions1.add(SettingOptions.TASK); + mOptions1.add(SettingOptions.MYMYINTIMACY); + mOptions1.add(SettingOptions.UPAUTH); + mOptions1.add(SettingOptions.CUSTOMER); + mOptions1.add(SettingOptions.SETTING); + addOption(mOptions1, lin_my_list1); + + gender = result.getUserinfo().getGender(); + if (result.getUserinfo().getGender() == 2) { + if (result.getUserinfo().getAvatar_hide() == 0 && isVip) { + user_avatar_frame.setVisibility(View.VISIBLE); + user_avatar_frame.setImageResource(R.mipmap.privilege_avatar_border_man1); + } else { + user_avatar_frame.setVisibility(View.GONE); + } + //男 + tv_age.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(activity, R.drawable.icon_man), null, null, null); + + } else { + //女 + if (result.getUserinfo().getAvatar_hide() == 0 && isVip) { + user_avatar_frame.setVisibility(View.VISIBLE); + user_avatar_frame.setImageResource(R.mipmap.privilege_avatar_border1); + } else { + user_avatar_frame.setVisibility(View.GONE); + } + + tv_age.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(activity, R.drawable.icon_women), null, null, null); + + } + + if (result.getUserinfo().getUser_frame() != null) { + SPUtils.saveString(getActivity(), ConsUser.MY_AVATAR_FRAME, GsonUtils.toJson(result.getUserinfo().getUser_frame())); + UserFrameBean bean = result.getUserinfo().getUser_frame(); + if (bean.getProfile_frame() != null) { + if (!StrU.isEmpty(bean.getProfile_frame().getEffect())) { + user_avatar_frame.setVisibility(View.GONE); + svga_image_view.setVisibility(View.VISIBLE); + showSVGA(bean.getProfile_frame().getEffect()); + } else { + if (!StrU.isEmpty(bean.getProfile_frame().getImg())) { + user_avatar_frame.setVisibility(View.VISIBLE); + user_avatar_frame.setImageURI(ConstUrl.IMAGE_URL + bean.getProfile_frame().getImg()); + svga_image_view.setVisibility(View.GONE); + } + } + } + + if (bean.getBubble_frame() != null) { + if (!StrU.isEmpty(bean.getBubble_frame().getImg())) { + String[] strings = bean.getBubble_frame().getImg().split("/"); + String path = strings[strings.length - 1]; + File pngFile = new File(ConstUrl.DEFAULT_PATH, path); + if (!pngFile.exists()) { + MainManager.downloadNewApp((BaseActivity) getActivity(), ConstUrl.IMAGE_URL + bean.getBubble_frame().getImg(), + ConstUrl.DEFAULT_PATH + "/" + path, + new HttpCallback() { + @Override + public void onFailure(int httpStatusCode, String message, Throwable throwable) { + } + + @Override + public void onSuccess(int httpStatusCode, String responseObject) { + } + + @Override + public void onProgress(long bytesCount, long contentLength, boolean done) { + } + }); + + } + } + } + } else { + SPUtils.saveString(getActivity(), ConsUser.MY_AVATAR_FRAME, ""); + } + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + private void getWalletIndex() { + SettingManager.getWalletIndex((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, WalletIndexBean result, String message) { + tv_income_num.setText(result.getAccount().getCoin() + ""); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + private void changeVideoStatus() { + MainManager.changeVideoStatus((BaseActivity) getActivity(), + (mVideoEnableFlag == 1 ? 0 : 1), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, MainPageAnchorBean result, String message) { + mVideoEnableFlag = result.getOpen_video_status(); + addOption(mOptions1, lin_my_list1); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + private void showSVGA(String effect) { + SVGAParser mSVGAParser = SVGAParser.Companion.shareParser(); + mSVGAParser.init(requireActivity()); + try { + mSVGAParser.decodeFromURL(new URL(ConstUrl.IMAGE_URL + effect), new SVGAParser.ParseCompletion() { + @Override + public void onComplete(@NotNull SVGAVideoEntity svgaVideoEntity) { + SVGADrawable drawable = new SVGADrawable(svgaVideoEntity); + svga_image_view.setImageDrawable(drawable); + svga_image_view.startAnimation(); + } + + @Override + public void onError() { + } + }); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + + /** + * 保存头像到本地 + * + * @param result + */ + private void save(UserHomeBean result) { + LoginBean loginBean = (LoginBean) StorageManager.getInstance(getActivity()).getBean("loginBean", LoginBean.class); + loginBean.getUserinfo().setAvatar(result.getUserinfo().getAvatar()); + loginBean.getUserinfo().setIs_anchor(result.getUserinfo().getIs_anchor()); + loginBean.getUserinfo().setIs_face_status(result.getUserinfo().getIs_face_status()); + loginBean.getUserinfo().setReal_name_status(result.getUserinfo().getReal_name_status()); + loginBean.getUserinfo().setMobile(result.getUserinfo().getMobile()); + loginBean.getUserinfo().setUser_type(result.getUserinfo().getUser_type()); + StorageManager.getInstance(getActivity()).putBean("loginBean", loginBean); + UserManager.setUserInfo(loginBean.getUserinfo()); + BaseApplication.getInstance().setUserInfo(loginBean.getUserinfo()); + } + + @Override + public void onClick(View view) { + + Intent intent; + switch (view.getId()) { + case R.id.ll_go_edit_layout://编辑资料 + intent = new Intent(getActivity(), InfoEditActivity.class); + startActivity(intent); + break; + case R.id.ll_foucs://关注 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 0); + getActivity().startActivityForResult(intent, SETTING_SOCIAL_REQUEST); + break; + case R.id.ll_fans://粉丝 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 1); + getActivity().startActivityForResult(intent, SETTING_SOCIAL_REQUEST); + break; + case R.id.ll_scan://来访 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 2); + startActivity(intent); + break; + case R.id.ll_foot://足迹 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 3); + startActivity(intent); + break; + case R.id.cl_invite://邀请 + intent = new Intent(getActivity(), InvitationActivity.class); + startActivity(intent); + break; + case R.id.cl_income: + case R.id.ll_income: + intent = new Intent(getActivity(), CaibeiRechargeActivity.class); + startActivity(intent); + break; + case R.id.rl_vip: + intent = new Intent(getActivity(), MemberActivity.class); + intent.putExtra("index", 0); + startActivity(intent); + break; + case R.id.tv_go_homepage: //主页 + intent = new Intent(getActivity(), MainPageActivity.class); + intent.putExtra("userId", SPUtils.getInt(getActivity(), ConsUser.USER_ID)); + startActivity(intent); + break; + case R.id.tv_qingyu_id: + if (!TextUtils.isEmpty(mUsercode)) { + clipUrlData(mUsercode); + } + break; + } + } + + /** + * 将分享链接地址复制到剪切板 + */ + public void clipUrlData(String content) { + //获取剪贴板管理器: + ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + // 创建普通字符型ClipData + ClipData mClipData = ClipData.newPlainText("Label", content); + // 将ClipData内容放到系统剪贴板里。 + cm.setPrimaryClip(mClipData); + + MaleToast.showMessage(getActivity(), "复制成功"); + + } + + @Override + public void onDestroy() { + super.onDestroy(); + mDisponsable.dispose(); + EventBus.getDefault().unregister(this); + } + + //提交申请通过后,刷新界面 + public void onEventMainThread(BeAnchorEvent event) { + getUserInfo(); + } + + //监听从粉丝界面或者最近来访界面回来 + public void onEventMainThread(SocialToSettingEvent event) { + int type = event.getType(); + if (type == 1) { //粉丝 + rtv_new_fans_num.setVisibility(View.GONE); + } else if (type == 2) { //最近来访 + rtv_new_scan_num.setVisibility(View.GONE); + } + } + + private void addOption(List list, LinearLayout layout) { + layout.removeAllViews(); + LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); + for (int i = 0; i < list.size(); i++) { + View view = inflater.inflate(R.layout.item_setting_option, null); + ImageView mLogo = view.findViewById(R.id.setting_option_logo); + TextView mName = view.findViewById(R.id.setting_option_name); + ImageView mArrow = view.findViewById(R.id.iv_option_arrow); + TextView mHint = view.findViewById(R.id.tv_option_hint); + Switch mSwitch = view.findViewById(R.id.st_option_switch); + SettingOptions options = list.get(i); + switch (options) { + case VIDEO: + mSwitch.setChecked(mVideoEnableFlag == 1); + mSwitch.setVisibility(View.VISIBLE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.GONE); + mLogo.setImageResource(R.mipmap.icon_my_video); + mName.setText("视频聊天"); + mSwitch.setOnClickListener(v -> changeVideoStatus()); + break; + case CONTRACT: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.drawable.ic_my_certified); + mName.setText("价格设置"); + view.setOnClickListener(view12 -> { + Intent intent = new Intent(getActivity(), SkillSettingActivity.class); + startActivity(intent); + }); + break; + case GUIDE: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.drawable.ic_my_guide); + mName.setText("用户指南"); + view.setOnClickListener(view14 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), UseCentreActivity.class); + startActivity(intent); + } + }); + break; + + case DETAIL: + if (gender == 2) { + mLogo.setImageResource(R.mipmap.ic_my_certified); + } else { + mLogo.setImageResource(R.mipmap.ic_my_certified); + } + mName.setText("账单明细"); + view.setOnClickListener(view16 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), BillActivity.class); + intent.putExtra("type", 0); + startActivity(intent); + } + }); + break; + + case BEAUTY: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + if (gender == 2) { + mLogo.setImageResource(R.drawable.ic_my_beauty); + } else { + mLogo.setImageResource(R.drawable.ic_my_beauty1); + } + mName.setText("美颜设置"); + view.setOnClickListener(view17 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), BeautySettingActivity.class); + startActivity(intent); + } + }); + break; + + + case GODDESSPRIVILEGE: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_ntequan); + mName.setText("up主认证"); + view.setOnClickListener(view19 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + startActivity(new Intent(getActivity(), GoddessPrivilegeActivity.class)); +// startActivity(new Intent(getActivity(), UpPrivilegeActivity.class)); + } + }); + break; + case VIOLATION: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_weigui); + mName.setText("违规公布"); + view.setOnClickListener(view110 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), BaseWebViewActivity.class); + intent.putExtra("ClickUrl", ConstUrl.FORBID_LIST); + startActivity(intent); + } + }); + break; + case ADDWECHAT: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_addwechat); + mName.setText("微信设置"); + view.setOnClickListener(view111 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), WXAccountActivity.class); + startActivity(intent); + } + }); + break; + case HELLOW: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_hellow_set); + mName.setText("招呼设置"); + view.setOnClickListener(view112 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + startActivity(new Intent(getActivity(), GreetingSettingActivity.class)); + } + }); + break; + case ITEMS: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_items1); + mName.setText("红包卡券"); + view.setOnClickListener(view113 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + startActivity(new Intent(getActivity(), MyItemsActivity.class)); + } + }); + break; + + case RANK: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_rank); + mName.setText("排行榜"); + view.setOnClickListener(view113 -> { + Intent intent = new Intent(getActivity(), ZhiRankActivity.class); + startActivity(intent); + }); + break; + + case DONOTMODEL: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_do_not_model); + mName.setText("勿扰模式"); + break; + case MEMBER: + mSwitch.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_vip); + if (gender == 2) { + mHint.setVisibility(View.VISIBLE); + } else { + mHint.setVisibility(View.GONE); + } + mName.setText("会员权限"); + view.setOnClickListener(v -> { + Intent intent = new Intent(getActivity(), PrivilegeSettingActivity.class); + intent.putExtra("isVip", isVip); + startActivity(intent); + }); + break; + case SETFRIEND: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_set_friend); + mName.setText("交友偏好"); + view.setOnClickListener(view113 -> { + ShaiXuanDialog shaiXuanDialog = new ShaiXuanDialog(getActivity()); + shaiXuanDialog.show(); + shaiXuanDialog.setRightOnClickListener(new ShaiXuanDialog.OnDialogRightClickListener() { + @Override + public void rightClick(int isSelect) { + ToastHelper.showToast(getContext(),"选择了 " + isSelect); + } + }); + }); + break; + case WALLET: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wallet); + mName.setText("我的钱包"); + view.setOnClickListener(view113 -> { + Intent intent = new Intent(getActivity(), WalletActivity.class); + startActivity(intent); + }); + break; + case TASK: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_task_mine); + mName.setText("任务中心"); + view.setOnClickListener(view16 -> { + Intent intent = new Intent(getActivity(), MissionActivity.class); + startActivity(intent); + }); + break; + case MYMYINTIMACY: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_intimacy); + mName.setText("我的亲密度"); + view.setOnClickListener(view16 -> { + MaleToast.showMessage(getActivity(),"我的亲密度"); + }); + break; + case UPAUTH: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_ntequan); + mName.setText("up主认证"); + view.setOnClickListener(view19 -> { + startActivity(new Intent(getActivity(), UpPrivilegeActivity.class)); + }); + break; + case CUSTOMER: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_service); + mName.setText("在线客服"); + view.setOnClickListener(view15 -> { + NimUIKit.startP2PSession(getActivity(), "4"); + }); + break; + case SETTING: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_setting_new); + mName.setText("系统设置"); + view.setOnClickListener(view18 -> { + Intent intent = new Intent(getActivity(), SystemSettingActivity.class); + intent.putExtra("isVip", isVip); + startActivity(intent); + }); + break; + } + layout.addView(view); + } + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java index 68e528a..cad0794 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java @@ -124,7 +124,7 @@ public class SocialActivity extends BaseActivity implements View.OnClickListener mSocialList.get(position).setIs_follow(mSocialList.get(position) .getIs_follow() == 1? 0 :1); mSocialAdapter.notifyDataSetChanged(); - setResult(SettingFragment.SETTING_SOCIAL_CHANGE_RESULT); + setResult(SettingFragment2.SETTING_SOCIAL_CHANGE_RESULT); } @Override diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml index 63f79f5..b705c03 100644 --- a/app/src/main/res/layout/fragment_setting.xml +++ b/app/src/main/res/layout/fragment_setting.xml @@ -160,6 +160,8 @@ android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="2dp" + android:drawableRight="@mipmap/ic_id_copy" + android:drawablePadding="4dp" android:text="ID:" android:textColor="#524B52" android:textSize="12dp" @@ -183,7 +185,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" - android:layout_marginTop="2dp" + android:layout_marginTop="8dp" android:text="距下一级还差100财富值" android:textColor="#9A989D" android:textSize="12dp" @@ -688,7 +690,7 @@ android:layout_marginTop="-20dp" android:background="@drawable/shape_white_bg_r14" android:orientation="horizontal" - android:weightSum="4"> + android:weightSum="3"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/mipmap-xhdpi/ic_do_not_model.png b/app/src/main/res/mipmap-xhdpi/ic_do_not_model.png new file mode 100644 index 0000000..0652261 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_do_not_model.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_id_copy.png b/app/src/main/res/mipmap-xhdpi/ic_id_copy.png new file mode 100644 index 0000000..377147a Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_id_copy.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_my_intimacy.png b/app/src/main/res/mipmap-xhdpi/ic_my_intimacy.png new file mode 100644 index 0000000..3d34ca4 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_my_intimacy.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_set_friend.png b/app/src/main/res/mipmap-xhdpi/ic_set_friend.png new file mode 100644 index 0000000..bde144d Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_set_friend.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_wallet.png b/app/src/main/res/mipmap-xhdpi/ic_wallet.png new file mode 100644 index 0000000..bc023c9 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_wallet.png differ