|
@@ -1,6 +1,7 @@
|
|
package com.cooleshow.teacher.ui.mine;
|
|
package com.cooleshow.teacher.ui.mine;
|
|
|
|
|
|
import android.graphics.Color;
|
|
import android.graphics.Color;
|
|
|
|
+import android.os.Bundle;
|
|
import android.text.TextUtils;
|
|
import android.text.TextUtils;
|
|
import android.view.View;
|
|
import android.view.View;
|
|
|
|
|
|
@@ -10,9 +11,13 @@ import com.cooleshow.base.constanst.EVipType;
|
|
import com.cooleshow.base.constanst.ExpireVipType;
|
|
import com.cooleshow.base.constanst.ExpireVipType;
|
|
import com.cooleshow.base.router.RouterPath;
|
|
import com.cooleshow.base.router.RouterPath;
|
|
import com.cooleshow.base.ui.activity.BaseMVPActivity;
|
|
import com.cooleshow.base.ui.activity.BaseMVPActivity;
|
|
|
|
+import com.cooleshow.base.utils.ClipboardUtils;
|
|
import com.cooleshow.base.utils.DateUtil;
|
|
import com.cooleshow.base.utils.DateUtil;
|
|
import com.cooleshow.base.utils.GlideImageLoaderUtils;
|
|
import com.cooleshow.base.utils.GlideImageLoaderUtils;
|
|
import com.cooleshow.base.utils.TimeUtils;
|
|
import com.cooleshow.base.utils.TimeUtils;
|
|
|
|
+import com.cooleshow.base.utils.ToastUtil;
|
|
|
|
+import com.cooleshow.base.utils.ToastUtils;
|
|
|
|
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
|
|
import com.cooleshow.chatmodule.bean.IMUserInfo;
|
|
import com.cooleshow.chatmodule.bean.IMUserInfo;
|
|
import com.cooleshow.chatmodule.utils.helper.ChatHelper;
|
|
import com.cooleshow.chatmodule.utils.helper.ChatHelper;
|
|
import com.cooleshow.teacher.R;
|
|
import com.cooleshow.teacher.R;
|
|
@@ -23,6 +28,8 @@ import com.cooleshow.usercenter.bean.TeacherUserInfo;
|
|
|
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
+import androidx.annotation.Nullable;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Author by pq, Date on 2024/7/22.
|
|
* Author by pq, Date on 2024/7/22.
|
|
*/
|
|
*/
|
|
@@ -34,6 +41,12 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
|
|
private String mTargetUserId;
|
|
private String mTargetUserId;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
|
+ QMUIStatusBarHelper.setStatusBarLightMode(this);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
protected void initView() {
|
|
protected void initView() {
|
|
initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "");
|
|
initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "");
|
|
viewBinding.toolbarInclude.toolbar.setBackgroundColor(Color.TRANSPARENT);
|
|
viewBinding.toolbarInclude.toolbar.setBackgroundColor(Color.TRANSPARENT);
|
|
@@ -54,6 +67,17 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
|
|
ChatHelper.getInstance().goChat(mTargetUserId, "");
|
|
ChatHelper.getInstance().goChat(mTargetUserId, "");
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ viewBinding.tvCopy.setOnClickListener(new View.OnClickListener() {
|
|
|
|
+ @Override
|
|
|
|
+ public void onClick(View v) {
|
|
|
|
+ String value = viewBinding.tvUserIdValue.getText().toString().trim();
|
|
|
|
+ if (!TextUtils.isEmpty(value)) {
|
|
|
|
+ ClipboardUtils.copyText(value);
|
|
|
|
+ ToastUtil.getInstance().showShort("复制成功");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -97,9 +121,16 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
|
|
//出生年月日
|
|
//出生年月日
|
|
Date date = TimeUtils.string2Date(info.getFriendBirthdate());
|
|
Date date = TimeUtils.string2Date(info.getFriendBirthdate());
|
|
String s = TimeUtils.date2String(date, TimeUtils.getSafeDateFormatForDay());
|
|
String s = TimeUtils.date2String(date, TimeUtils.getSafeDateFormatForDay());
|
|
|
|
+ if (TextUtils.isEmpty(s)) {
|
|
|
|
+ s = "无";
|
|
|
|
+ }
|
|
viewBinding.tvBirthdayValue.setText(s);
|
|
viewBinding.tvBirthdayValue.setText(s);
|
|
//声部
|
|
//声部
|
|
- viewBinding.tvSubjectValue.setText(info.getFriendSubjectName());
|
|
|
|
|
|
+ String friendSubjectName = info.getFriendSubjectName();
|
|
|
|
+ if (TextUtils.isEmpty(friendSubjectName)) {
|
|
|
|
+ friendSubjectName = "无";
|
|
|
|
+ }
|
|
|
|
+ viewBinding.tvSubjectValue.setText(friendSubjectName);
|
|
|
|
|
|
//vip
|
|
//vip
|
|
handleVipStyle(info);
|
|
handleVipStyle(info);
|
|
@@ -121,6 +152,22 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
|
|
viewBinding.tvVipTitle.setCompoundDrawablesWithIntrinsicBounds(vipDrawable, 0, 0, 0);
|
|
viewBinding.tvVipTitle.setCompoundDrawablesWithIntrinsicBounds(vipDrawable, 0, 0, 0);
|
|
viewBinding.tvVipValue.setText(vipStatusAndTip[1]);
|
|
viewBinding.tvVipValue.setText(vipStatusAndTip[1]);
|
|
viewBinding.tvVipValue.setTextColor(getResources().getColor(isVip ? com.cooleshow.base.R.color.color_ff623a : com.cooleshow.base.R.color.color_aaaaaa));
|
|
viewBinding.tvVipValue.setTextColor(getResources().getColor(isVip ? com.cooleshow.base.R.color.color_ff623a : com.cooleshow.base.R.color.color_aaaaaa));
|
|
|
|
+ if (issvip) {
|
|
|
|
+ viewBinding.ivVipTag.setVisibility(View.VISIBLE);
|
|
|
|
+ viewBinding.ivVipTag.setImageResource(com.cooleshow.base.R.drawable.icon_svip_tag);
|
|
|
|
+ viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.color_f0af88));
|
|
|
|
+ } else {
|
|
|
|
+ if (isVip) {
|
|
|
|
+ viewBinding.ivVipTag.setVisibility(View.VISIBLE);
|
|
|
|
+ viewBinding.ivVipTag.setImageResource(com.cooleshow.base.R.drawable.icon_vip_tag);
|
|
|
|
+ viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.color_fada9b));
|
|
|
|
+ } else {
|
|
|
|
+ viewBinding.ivVipTag.setVisibility(View.INVISIBLE);
|
|
|
|
+ viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.white));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
private String[] getVipStatusAndTip(IMUserInfo.VipBean userVip, String target) {
|
|
private String[] getVipStatusAndTip(IMUserInfo.VipBean userVip, String target) {
|
|
@@ -132,31 +179,25 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
|
|
} else {
|
|
} else {
|
|
eVipType = EVipType.valueOf(userVip.getVipType());
|
|
eVipType = EVipType.valueOf(userVip.getVipType());
|
|
}
|
|
}
|
|
|
|
+
|
|
if (eVipType == EVipType.NOT_VIP) {
|
|
if (eVipType == EVipType.NOT_VIP) {
|
|
//非会员
|
|
//非会员
|
|
- if (userVip != null && !TextUtils.isEmpty(userVip.getExpireVipType())) {
|
|
|
|
- //过期
|
|
|
|
- results[0] = VIP_STATUS_EXPIRE;
|
|
|
|
- results[1] = "暂未开通";
|
|
|
|
- if (TextUtils.equals(userVip.getExpireVipType(), ExpireVipType.ALL_VIP.getId())) {
|
|
|
|
- results[1] = "已过期%s天";
|
|
|
|
- }
|
|
|
|
- if (TextUtils.equals(userVip.getExpireVipType(), target)) {
|
|
|
|
- results[1] = String.format("已过期%s天", getExpireDaysTip(target, userVip));
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- //未开通会员
|
|
|
|
- results[0] = VIP_STATUS_NOT_OPEN;
|
|
|
|
- results[1] = "暂未开通";
|
|
|
|
- }
|
|
|
|
|
|
+ return getExpireTip(userVip, target, results);
|
|
} else {
|
|
} else {
|
|
//会员
|
|
//会员
|
|
- results[0] = VIP_STATUS_NORMAL;
|
|
|
|
boolean isPermanentVip = eVipType == EVipType.PERMANENT_SVIP;
|
|
boolean isPermanentVip = eVipType == EVipType.PERMANENT_SVIP;
|
|
- if (isPermanentVip) {
|
|
|
|
|
|
+ if (TextUtils.equals(target, EVipType.SVIP.getId()) && isPermanentVip) {
|
|
|
|
+ results[0] = VIP_STATUS_NORMAL;
|
|
results[1] = "永久有效";
|
|
results[1] = "永久有效";
|
|
} else {
|
|
} else {
|
|
- results[1] = String.format("剩余%s天", getDaysTip(target, userVip));
|
|
|
|
|
|
+ String daysTip = getDaysTip(target, userVip);
|
|
|
|
+ int i = Integer.parseInt(daysTip);
|
|
|
|
+ if (i > 0) {
|
|
|
|
+ results[0] = VIP_STATUS_NORMAL;
|
|
|
|
+ results[1] = String.format("剩余%s天", daysTip);
|
|
|
|
+ } else {
|
|
|
|
+ return getExpireTip(userVip, target, results);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -165,6 +206,26 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
|
|
return results;
|
|
return results;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private String[] getExpireTip(IMUserInfo.VipBean userVip, String target, String[] results) {
|
|
|
|
+ //非会员
|
|
|
|
+ if (userVip != null && !TextUtils.isEmpty(userVip.getExpireVipType())) {
|
|
|
|
+ //过期
|
|
|
|
+ results[0] = VIP_STATUS_EXPIRE;
|
|
|
|
+ results[1] = "暂未开通";
|
|
|
|
+ if (TextUtils.equals(userVip.getExpireVipType(), ExpireVipType.ALL_VIP.getId())) {
|
|
|
|
+ results[1] = String.format("已过期%s天", getExpireDaysTip(target, userVip));
|
|
|
|
+ }
|
|
|
|
+ if (TextUtils.equals(userVip.getExpireVipType(), target)) {
|
|
|
|
+ results[1] = String.format("已过期%s天", getExpireDaysTip(target, userVip));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //未开通会员
|
|
|
|
+ results[0] = VIP_STATUS_NOT_OPEN;
|
|
|
|
+ results[1] = "暂未开通";
|
|
|
|
+ }
|
|
|
|
+ return results;
|
|
|
|
+ }
|
|
|
|
+
|
|
private String getDaysTip(String target, IMUserInfo.VipBean userVip) {
|
|
private String getDaysTip(String target, IMUserInfo.VipBean userVip) {
|
|
if (TextUtils.equals(target, EVipType.SVIP.getId())) {
|
|
if (TextUtils.equals(target, EVipType.SVIP.getId())) {
|
|
return userVip.getSvipEndDays();
|
|
return userVip.getSvipEndDays();
|