diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 98d33b73f..5fb6dc390 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -964,7 +964,7 @@
android:exported="false"
android:screenOrientation="portrait" />
diff --git a/app/src/main/java/com/yizhuan/erban/UIHelper.java b/app/src/main/java/com/yizhuan/erban/UIHelper.java
index 75aef7b0a..71ee28f52 100644
--- a/app/src/main/java/com/yizhuan/erban/UIHelper.java
+++ b/app/src/main/java/com/yizhuan/erban/UIHelper.java
@@ -13,6 +13,7 @@ import com.yizhuan.erban.audio.SoundSignatureActivity;
import com.yizhuan.erban.ui.login.AddUserInfoActivity;
import com.yizhuan.erban.ui.login.ModifyInfoActivity;
import com.yizhuan.erban.ui.setting.SettingActivity;
+import com.yizhuan.erban.ui.user.activity.EditUserLabelActivity;
import com.yizhuan.erban.ui.user.activity.UserInfoActivity;
import com.yizhuan.erban.ui.user.activity.UserInfoModifyActivity;
import com.yizhuan.erban.ui.user.activity.UserModifyPhotosActivity;
@@ -146,6 +147,11 @@ public class UIHelper {
"/peko/modules/monster/index.html?monsterId=" + monsterId);
}
+ public static void showLabelInfoAct(Activity mActivity, int requestCode) {
+ Intent intent = new Intent(mActivity, EditUserLabelActivity.class);
+ mActivity.startActivityForResult(intent, requestCode);
+ }
+
/**
* 跳转到举报页
*
diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserTagActivity.kt b/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserLabelActivity.kt
similarity index 86%
rename from app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserTagActivity.kt
rename to app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserLabelActivity.kt
index 16667006e..7d4b71eeb 100644
--- a/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserTagActivity.kt
+++ b/app/src/main/java/com/yizhuan/erban/ui/user/activity/EditUserLabelActivity.kt
@@ -18,7 +18,7 @@ import com.netease.nim.uikit.common.util.sys.ScreenUtil
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseViewBindingActivity
import com.yizhuan.erban.base.TitleBar
-import com.yizhuan.erban.databinding.ActivityEditUserTagBinding
+import com.yizhuan.erban.databinding.ActivityEditUserLabelBinding
import com.yizhuan.erban.ui.user.adapter.CommonWrapIndicatorAdapter
import com.yizhuan.erban.ui.user.adapter.MyUserLabelAdapter
import com.yizhuan.erban.ui.user.event.LabelEvent
@@ -43,15 +43,17 @@ import java.io.Serializable
* time: 2022/2/16
* desc: 编辑用户标签
*/
-class EditUserTagActivity : BaseViewBindingActivity(),
+class EditUserLabelActivity : BaseViewBindingActivity(),
CommonWrapIndicatorAdapter.OnItemSelectListener {
private var userLabelInfo: UserLabelInfo? = null
companion object {
+ const val KEY_LABEL = "key_label"
+
@JvmStatic
fun start(context: Context) {
- val starter = Intent(context, EditUserTagActivity::class.java)
+ val starter = Intent(context, EditUserLabelActivity::class.java)
context.startActivity(starter)
}
}
@@ -72,7 +74,7 @@ class EditUserTagActivity : BaseViewBindingActivity(
override fun performAction(view: View) {
val list = mMyLabelAdapter.data.joinToString(",")
dialogManager.showProgressDialog(
- this@EditUserTagActivity,
+ this@EditUserLabelActivity,
ResUtil.getString(R.string.ui_user_userinfomodifyactivity_02)
)
UserModel.get().saveLabel(list).subscribe(object : SingleObserver {
@@ -82,7 +84,12 @@ class EditUserTagActivity : BaseViewBindingActivity(
override fun onSuccess(s: String) {
dialogManager.dismissDialog()
+ val usersBean = UserModel.get().cacheLoginUserInfo
+ usersBean?.labels = mMyLabelAdapter.data
toast(getString(R.string.update_success))
+ val intent = Intent()
+ intent.putExtra(KEY_LABEL, list)
+ setResult(RESULT_OK, intent)
finish()
}
@@ -101,7 +108,7 @@ class EditUserTagActivity : BaseViewBindingActivity(
private fun initData() {
dialogManager.showProgressDialog(
- this@EditUserTagActivity,
+ this@EditUserLabelActivity,
ResUtil.getString(R.string.ui_user_userinfomodifyactivity_02)
)
UserModel.get().userLabelInfo.subscribe(object : SingleObserver {
@@ -112,6 +119,14 @@ class EditUserTagActivity : BaseViewBindingActivity(
override fun onSuccess(data: UserLabelInfo) {
dialogManager.dismissDialog()
userLabelInfo = data
+ userLabelInfo?.meLabels?.let {
+ if (it.isNotEmpty()) {
+ binding.group.visibility = View.GONE
+ mMyLabelAdapter.setNewData(it)
+ } else {
+ binding.group.visibility = View.VISIBLE
+ }
+ }
initTabTitle()
initViewPager()
}
@@ -200,10 +215,16 @@ class EditUserTagActivity : BaseViewBindingActivity(
if (data.contains(event.label)) {
val pos = data.indexOf(event.label)
mMyLabelAdapter.remove(pos)
+ if (mMyLabelAdapter.data.size == 0) {
+ binding.group.visibility = View.VISIBLE
+ }
} else {
if (data.size == 20) {
toast(getString(R.string.max_to_add_label))
} else {
+ if (mMyLabelAdapter.data.size == 0) {
+ binding.group.visibility = View.GONE
+ }
mMyLabelAdapter.addData(event.label)
}
}
diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoActivity.java b/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoActivity.java
index 6f9ca3378..5b363bc7c 100644
--- a/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoActivity.java
+++ b/app/src/main/java/com/yizhuan/erban/ui/user/activity/UserInfoActivity.java
@@ -1,5 +1,7 @@
package com.yizhuan.erban.ui.user.activity;
+import static com.yizhuan.erban.ui.user.activity.UserInfoActivity.IdentityState.OWN;
+
import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipboardManager;
@@ -100,8 +102,6 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
-import static com.yizhuan.erban.ui.user.activity.UserInfoActivity.IdentityState.OWN;
-
/**
* create by lvzebiao on 2018/8/31
*/
@@ -373,19 +373,20 @@ public class UserInfoActivity extends BaseBindingActivity labels) {
if (labels.isEmpty()) {
- if (AuthModel.get().getCurrentUid() != userInfo.getUid()) {
+ if (AuthModel.get().getCurrentUid() != userId) {
mBinding.groupLabel.setVisibility(View.GONE);
mBinding.tvEditLabel.setVisibility(View.GONE);
} else {
mBinding.groupLabel.setVisibility(View.GONE);
mBinding.tvEditLabel.setVisibility(View.VISIBLE);
mBinding.tvEditLabel.setOnClickListener(view -> {
- EditUserTagActivity.start(this);
+ EditUserLabelActivity.start(this);
});
}
return;
} else {
mBinding.groupLabel.setVisibility(View.VISIBLE);
+ mBinding.tvEditLabel.setVisibility(View.GONE);
}
UserInfoLabelAdapter userInfoLabelAdapter = new UserInfoLabelAdapter();
@@ -544,7 +545,7 @@ public class UserInfoActivity extends BaseBindingActivity 0) {
+ binding.tvTag.visibility = View.INVISIBLE
+ binding.mLabelRecyclerView.visibility = View.VISIBLE
+ val userInfoLabelAdapter = UserInfoLabelAdapter()
+
+ val labelLayoutManager = LinesFlexBoxLayoutManager(this)
+ labelLayoutManager.flexDirection = FlexDirection.ROW
+ labelLayoutManager.alignItems = AlignItems.FLEX_START
+ labelLayoutManager.setMaxLines(1)
+ binding.mLabelRecyclerView.layoutManager = labelLayoutManager
+ binding.mLabelRecyclerView.adapter = userInfoLabelAdapter
+
+ userInfoLabelAdapter.setNewData(labelList)
+ } else {
+ binding.tvTag.visibility = View.VISIBLE
+ binding.mLabelRecyclerView.visibility = View.GONE
+ }
}
override fun onDateSet(datePickerDialog: DatePickerDialog, year: Int, month: Int, day: Int) {
@@ -208,7 +230,16 @@ class UserInfoModifyActivity : BaseViewBindingActivity) {
dialogManager.dismissDialog()
UserAreaDialog.newInstance(areaList)
- .apply { setAction {
- reportArea(it)
- } }.show(this@UserInfoModifyActivity)
+ .apply {
+ setAction {
+ reportArea(it)
+ }
+ }.show(this@UserInfoModifyActivity)
}
override fun onError(e: Throwable) {
@@ -297,7 +330,7 @@ class UserInfoModifyActivity : BaseViewBindingActivity {
- EditUserTagActivity.start(this@UserInfoModifyActivity)
+ UIHelper.showLabelInfoAct(this, Method.LABEL)
}
else -> {}
}
@@ -436,6 +469,29 @@ class UserInfoModifyActivity : BaseViewBindingActivity {
+ data?.let {
+ val label = it.getStringExtra(EditUserLabelActivity.KEY_LABEL)
+ val labelList = label?.split(",")
+ if ((labelList?.size ?: 0) > 0) {
+ binding.tvTag.visibility = View.INVISIBLE
+ binding.mLabelRecyclerView.visibility = View.VISIBLE
+ val userInfoLabelAdapter = UserInfoLabelAdapter()
+
+ val labelLayoutManager = LinesFlexBoxLayoutManager(this)
+ labelLayoutManager.flexDirection = FlexDirection.ROW
+ labelLayoutManager.alignItems = AlignItems.FLEX_START
+ labelLayoutManager.setMaxLines(1)
+ binding.mLabelRecyclerView.layoutManager = labelLayoutManager
+ binding.mLabelRecyclerView.adapter = userInfoLabelAdapter
+
+ userInfoLabelAdapter.setNewData(labelList)
+ } else {
+ binding.tvTag.visibility = View.VISIBLE
+ binding.mLabelRecyclerView.visibility = View.GONE
+ }
+ }
+ }
Method.AUDIO -> {// 刷新声音资源
data?.let {
// 获取数据并刷新显示
diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserLabelDialog.kt b/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserLabelDialog.kt
index 37defa274..0cd71256c 100644
--- a/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserLabelDialog.kt
+++ b/app/src/main/java/com/yizhuan/erban/ui/user/dialog/UserLabelDialog.kt
@@ -9,10 +9,9 @@ import com.google.android.flexbox.JustifyContent
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseDialog
import com.yizhuan.erban.databinding.DialogUserTagBinding
-import com.yizhuan.erban.ui.user.activity.EditUserTagActivity
+import com.yizhuan.erban.ui.user.activity.EditUserLabelActivity
import com.yizhuan.erban.ui.user.adapter.UserLabelDialogAdapter
import com.yizhuan.xchat_android_core.auth.AuthModel
-import com.yizhuan.xchat_android_core.user.UserModel
import java.io.Serializable
/**
@@ -23,12 +22,15 @@ class UserLabelDialog :
BaseDialog() {
companion object {
+
+ const val KEY_USER_ID = "key_user_id"
const val KEY_LABEL = "key_label"
@JvmStatic
- fun newInstance(label: List): UserLabelDialog {
+ fun newInstance(label: MutableList, userId: Long): UserLabelDialog {
val userLabelDialog = UserLabelDialog()
val bundle = Bundle()
+ bundle.putLong(KEY_USER_ID, userId)
bundle.putSerializable(KEY_LABEL, label as Serializable?)
userLabelDialog.arguments = bundle
return userLabelDialog
@@ -48,7 +50,7 @@ class UserLabelDialog :
binding.tvEdit.setOnClickListener {
dismissAllowingStateLoss()
- context?.let { it1 -> EditUserTagActivity.start(it1) }
+ context?.let { it1 -> EditUserLabelActivity.start(it1) }
}
}
@@ -62,7 +64,8 @@ class UserLabelDialog :
}
private fun initLabel() {
- if (AuthModel.get().currentUid != UserModel.get().cacheLoginUserInfo?.uid) {
+ val userId = arguments?.getLong(KEY_USER_ID) ?: 0L
+ if (AuthModel.get().currentUid != userId) {
binding.tvTitle.text = getString(R.string.other_label)
binding.tvEdit.visibility = View.GONE
} else {
diff --git a/app/src/main/res/layout/activity_edit_user_tag.xml b/app/src/main/res/layout/activity_edit_user_label.xml
similarity index 98%
rename from app/src/main/res/layout/activity_edit_user_tag.xml
rename to app/src/main/res/layout/activity_edit_user_label.xml
index 23ba425b8..1b4aafa4f 100644
--- a/app/src/main/res/layout/activity_edit_user_tag.xml
+++ b/app/src/main/res/layout/activity_edit_user_label.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_white"
- tools:context=".ui.user.activity.EditUserTagActivity">
+ tools:context=".ui.user.activity.EditUserLabelActivity">
-
+ android:textSize="14sp"
+ app:layout_constraintStart_toStartOf="parent"/>
+ android:text="@string/setting_personal_tags_will_be_more_popular"
+ app:layout_constraintEnd_toStartOf="@+id/iv_label_arrow"/>
+
+
+ android:src="@drawable/arrow_right"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"/>
-
+
labels;
public UserInfo() {