管理添加
显示管理尾巴 多选转发
This commit is contained in:
@@ -47,12 +47,12 @@ android {
|
|||||||
applicationId = "com.dskj.rbchat"
|
applicationId = "com.dskj.rbchat"
|
||||||
minSdk = 24
|
minSdk = 24
|
||||||
targetSdk = 34
|
targetSdk = 34
|
||||||
versionCode = 202
|
versionCode = 203
|
||||||
versionName = "2.0.2"
|
versionName = "2.0.3"
|
||||||
multiDexEnabled = true
|
multiDexEnabled = true
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
|
// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
|
||||||
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" //测试
|
manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" //测试
|
||||||
|
|
||||||
manifestPlaceholders["JPUSH_PKGNAME"] = "com.dskj.rbchat"
|
manifestPlaceholders["JPUSH_PKGNAME"] = "com.dskj.rbchat"
|
||||||
manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23"
|
manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23"
|
||||||
@@ -101,8 +101,8 @@ android {
|
|||||||
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
|
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
|
||||||
)
|
)
|
||||||
//正式服
|
//正式服
|
||||||
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
|
// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
|
||||||
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
|
manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,8 +126,8 @@ android {
|
|||||||
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
|
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
|
||||||
)
|
)
|
||||||
//测试APPKEY
|
//测试APPKEY
|
||||||
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
|
manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
|
||||||
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f"
|
// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f"
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1009,7 +1009,7 @@ public class UserInfoActivity extends BaseActivity {
|
|||||||
.skipMemoryCache(false)
|
.skipMemoryCache(false)
|
||||||
.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
|
.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
|
||||||
try {
|
try {
|
||||||
|
// LogUtils.i("头像地址:"+u.getUserAvatarFileName());
|
||||||
|
|
||||||
Glide.with(UserInfoActivity.this)
|
Glide.with(UserInfoActivity.this)
|
||||||
.load(u.getUserAvatarFileName())
|
.load(u.getUserAvatarFileName())
|
||||||
|
|||||||
@@ -105,11 +105,24 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
|
|||||||
public void updateView() {
|
public void updateView() {
|
||||||
super.updateView();
|
super.updateView();
|
||||||
if (type == 1) { //转发 这ui 修改的....
|
if (type == 1) { //转发 这ui 修改的....
|
||||||
|
shoeSignOne(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void shoeSignOne(boolean b) {
|
||||||
|
if (b) {
|
||||||
rvSelected.setVisibility(View.GONE);
|
rvSelected.setVisibility(View.GONE);
|
||||||
updateListView(contactListView);
|
updateListView(contactListView);
|
||||||
updateListView(lastContactView);
|
updateListView(lastContactView);
|
||||||
updateListView(loveContactView);
|
updateListView(loveContactView);
|
||||||
updateListView(searchContactView);
|
updateListView(searchContactView);
|
||||||
|
} else {
|
||||||
|
rvSelected.setVisibility(View.VISIBLE);
|
||||||
|
updateListView1(contactListView);
|
||||||
|
updateListView1(lastContactView);
|
||||||
|
updateListView1(loveContactView);
|
||||||
|
updateListView1(searchContactView);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,6 +133,12 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
|
|||||||
contactListView.setLayoutParams(params1);
|
contactListView.setLayoutParams(params1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateListView1(ContactListView contactListView) {
|
||||||
|
contactListView.showSelector(true);
|
||||||
|
LinearLayout.LayoutParams params1 = (LinearLayout.LayoutParams) contactListView.getLayoutParams();
|
||||||
|
params1.setMarginStart(SizeUtils.dp2px(15));
|
||||||
|
contactListView.setLayoutParams(params1);
|
||||||
|
}
|
||||||
public void setViewHolderFactory(ContactListView contactView) {
|
public void setViewHolderFactory(ContactListView contactView) {
|
||||||
contactView
|
contactView
|
||||||
.getDecoration()
|
.getDecoration()
|
||||||
@@ -212,23 +231,43 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void configTitle(BackTitleBar titleBar) {
|
protected void configTitle(BackTitleBar titleBar) {
|
||||||
if (type == 1) {
|
// if (type == 1) {
|
||||||
titleBar
|
// titleBar
|
||||||
.setOnBackIconClickListener(v -> onBackPressed())
|
// .setOnBackIconClickListener(v -> onBackPressed())
|
||||||
.setTitle(R.string.select);
|
// .setTitle(R.string.select);
|
||||||
} else {
|
// } else {
|
||||||
titleBar
|
titleBar
|
||||||
.setOnBackIconClickListener(v -> onBackPressed())
|
.setOnBackIconClickListener(v -> onBackPressed())
|
||||||
.setTitle(R.string.select)
|
.setTitle(R.string.select)
|
||||||
.setActionText(R.string.selector_sure_without_num)
|
.setActionText(type==1?getString(com.dskj.rbchat.R.string.chat_message_action_multi_select):getString(R.string.selector_sure_without_num))
|
||||||
.setActionTextColor(getResources().getColor(R.color.color_6877fe))
|
.setActionTextColor(getResources().getColor(R.color.color_6877fe))
|
||||||
.setActionListener(
|
.setActionListener(
|
||||||
v -> {
|
v -> {
|
||||||
|
if(type==1&&isSignOne){
|
||||||
|
isSignOne = false;
|
||||||
|
shoeSignOne(false);
|
||||||
|
|
||||||
|
int verticalPadding = SizeUtils.dp2px(5);
|
||||||
|
int horizontalPadding = SizeUtils.dp2px(10);
|
||||||
|
int endPadding = SizeUtils.dp2px(5);
|
||||||
|
TextView rightTextView = titleBar.getRightTextView();
|
||||||
|
rightTextView.setText(getString(R.string.selector_sure_without_num));
|
||||||
|
FrameLayout.LayoutParams layoutParams =
|
||||||
|
(FrameLayout.LayoutParams) rightTextView.getLayoutParams();
|
||||||
|
layoutParams.rightMargin = SizeUtils.dp2px(endPadding);
|
||||||
|
rightTextView.setPadding(
|
||||||
|
horizontalPadding, verticalPadding, horizontalPadding, verticalPadding);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (checkNetworkEnable && !NetworkUtils.isConnected()) {
|
if (checkNetworkEnable && !NetworkUtils.isConnected()) {
|
||||||
Toast.makeText(this, R.string.contact_network_error_tip, Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, R.string.contact_network_error_tip, Toast.LENGTH_SHORT).show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<String> select = getSelectedAccount();
|
List<String> select = getSelectedAccount();
|
||||||
|
List<String> selectName = getSelectedName();
|
||||||
|
|
||||||
if (select.size() < 1) {
|
if (select.size() < 1) {
|
||||||
Toast.makeText(this, getString(R.string.select_empty_tips), Toast.LENGTH_LONG)
|
Toast.makeText(this, getString(R.string.select_empty_tips), Toast.LENGTH_LONG)
|
||||||
.show();
|
.show();
|
||||||
@@ -240,7 +279,23 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
|
|||||||
.show();
|
.show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
createGroup();
|
|
||||||
|
if(type ==1){
|
||||||
|
// FriendInfo friendInfo = ((ContactFriendBean) data).data;
|
||||||
|
//转发选取一个结束
|
||||||
|
Intent result = new Intent();
|
||||||
|
|
||||||
|
listAccount.clear();
|
||||||
|
listname.clear();
|
||||||
|
listAccount.addAll(select);
|
||||||
|
listname.addAll(selectName);
|
||||||
|
result.putExtra(REQUEST_CONTACT_SELECTOR_KEY, listAccount);
|
||||||
|
result.putExtra(KEY_REQUEST_SELECTOR_NAME, listname);
|
||||||
|
setResult(RESULT_OK, result);
|
||||||
|
finish();
|
||||||
|
}else {
|
||||||
|
createGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// if (!selectedListAdapter.getSelectedFriends().isEmpty()) {
|
// if (!selectedListAdapter.getSelectedFriends().isEmpty()) {
|
||||||
@@ -256,7 +311,7 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
|
|||||||
|
|
||||||
// titleBar.getTitleTextView().setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
// titleBar.getTitleTextView().setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
||||||
// titleBar.getRightTextView().setTextColor(getResources().getColor(R.color.color_6b3689));
|
// titleBar.getRightTextView().setTextColor(getResources().getColor(R.color.color_6b3689));
|
||||||
}
|
// }
|
||||||
int verticalPadding = SizeUtils.dp2px(5);
|
int verticalPadding = SizeUtils.dp2px(5);
|
||||||
int horizontalPadding = SizeUtils.dp2px(10);
|
int horizontalPadding = SizeUtils.dp2px(10);
|
||||||
int endPadding = SizeUtils.dp2px(5);
|
int endPadding = SizeUtils.dp2px(5);
|
||||||
|
|||||||
@@ -33,7 +33,12 @@ import com.dskj.rbchat.network.BaseObserver;
|
|||||||
import com.dskj.rbchat.network.Result;
|
import com.dskj.rbchat.network.Result;
|
||||||
import com.dskj.rbchat.utils.GsonUtils;
|
import com.dskj.rbchat.utils.GsonUtils;
|
||||||
import com.dskj.rbchat.utils.LogUtils;
|
import com.dskj.rbchat.utils.LogUtils;
|
||||||
|
import com.netease.nimlib.sdk.NIMClient;
|
||||||
|
import com.netease.nimlib.sdk.RequestCallback;
|
||||||
|
import com.netease.nimlib.sdk.team.TeamService;
|
||||||
|
import com.netease.nimlib.sdk.team.constant.TeamMemberType;
|
||||||
import com.netease.nimlib.sdk.team.model.Team;
|
import com.netease.nimlib.sdk.team.model.Team;
|
||||||
|
import com.netease.nimlib.sdk.team.model.TeamMember;
|
||||||
import com.netease.yunxin.kit.chatkit.model.UserInfoWithTeam;
|
import com.netease.yunxin.kit.chatkit.model.UserInfoWithTeam;
|
||||||
import com.netease.yunxin.kit.chatkit.repo.ContactRepo;
|
import com.netease.yunxin.kit.chatkit.repo.ContactRepo;
|
||||||
import com.netease.yunxin.kit.chatkit.ui.model.TeamExtensionBean;
|
import com.netease.yunxin.kit.chatkit.ui.model.TeamExtensionBean;
|
||||||
@@ -338,6 +343,36 @@ public class TeamMembersListActivity extends BaseTeamQrSettingActivity {
|
|||||||
public void startUserInfoActivity(String userid, String teamId) {
|
public void startUserInfoActivity(String userid, String teamId) {
|
||||||
//如果群不允许群内添加好友 当前登录用户不是群主,以及userid 也不是群主 直接跳过
|
//如果群不允许群内添加好友 当前登录用户不是群主,以及userid 也不是群主 直接跳过
|
||||||
if (isAllowAdd == 0 && isManager != 1 && !userid.equals(teamOwnerId)) {
|
if (isAllowAdd == 0 && isManager != 1 && !userid.equals(teamOwnerId)) {
|
||||||
|
|
||||||
|
NIMClient.getService(TeamService.class).queryTeamMember(teamId, userid).setCallback(new RequestCallback<TeamMember>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(TeamMember members) {
|
||||||
|
if(members!=null){
|
||||||
|
if(members.getType() == TeamMemberType.Manager){
|
||||||
|
XKitRouter.withKey(RouterConstant.PATH_USER_INFO_PAGE)
|
||||||
|
.withContext(TeamMembersListActivity.this)
|
||||||
|
.withParam(RouterConstant.KEY_ACCOUNT_ID_KEY, IMKitClient.account())
|
||||||
|
.withParam("userId", userid)
|
||||||
|
.withParam("teamId", teamId)
|
||||||
|
.withParam("isGroup", true)
|
||||||
|
.navigate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailed(int code) {
|
||||||
|
// 撤销群管理员失败
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onException(Throwable exception) {
|
||||||
|
// 错误
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -125,14 +125,28 @@ public class TeamMembersAdapter extends RecyclerView.Adapter<TeamMembersAdapter.
|
|||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull TeamMembersViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull TeamMembersViewHolder holder, int position) {
|
||||||
UserInfo userInfo = members.get(position);
|
UserInfo userInfo = members.get(position);
|
||||||
|
holder.binding.unreadTv.setVisibility(View.GONE);
|
||||||
if (position == 0 && isShowInvited) {
|
if (position == 0 && isShowInvited) {
|
||||||
holder.binding.avatarView.setData(com.netease.yunxin.kit.contactkit.ui.R.drawable.ic_creategroup_add, "");
|
holder.binding.avatarView.setData(com.netease.yunxin.kit.contactkit.ui.R.drawable.ic_creategroup_add, "");
|
||||||
holder.binding.icDelete.setVisibility(View.GONE);
|
holder.binding.icDelete.setVisibility(View.GONE);
|
||||||
holder.binding.tvName.setText(mContext.getResources().getString(R.string.invcode_friend_txt));
|
holder.binding.tvName.setText(mContext.getResources().getString(R.string.invcode_friend_txt));
|
||||||
holder.binding.tvNameActivetime.setVisibility(View.GONE);
|
holder.binding.tvNameActivetime.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
|
TeamMember teamMember = NIMClient.getService(TeamService.class).queryTeamMemberBlock(teamId, userInfo.getAccount());
|
||||||
|
if(teamMember!=null){
|
||||||
|
if(teamMember.getType() == TeamMemberType.Manager){
|
||||||
|
holder.binding.unreadTv.setVisibility(View.VISIBLE);
|
||||||
|
holder.binding.unreadTv.setText(R.string.teamsetting_other_teammanager);
|
||||||
|
holder.binding.unreadTv.setBackgroundResource(com.netease.yunxin.kit.conversationkit.ui.R.drawable.bg_conversation_red_dot1);
|
||||||
|
}else if(teamMember.getType() == TeamMemberType.Owner){
|
||||||
|
holder.binding.unreadTv.setVisibility(View.VISIBLE);
|
||||||
|
holder.binding.unreadTv.setText(com.netease.yunxin.kit.teamkit.ui.R.string.team_owner);
|
||||||
|
holder.binding.unreadTv.setBackgroundResource(com.netease.yunxin.kit.conversationkit.ui.R.drawable.bg_conversation_red_dot);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
if (isEdit) {
|
if (isEdit) {
|
||||||
TeamMember teamMember = NIMClient.getService(TeamService.class).queryTeamMemberBlock(teamId, userInfo.getAccount());
|
|
||||||
if (teamMember != null && (teamMember.getType() == TeamMemberType.Manager || teamMember.getType() == TeamMemberType.Owner)) {
|
if (teamMember != null && (teamMember.getType() == TeamMemberType.Manager || teamMember.getType() == TeamMemberType.Owner)) {
|
||||||
holder.binding.icDelete.setVisibility(View.GONE);
|
holder.binding.icDelete.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -95,9 +95,9 @@ public class WelcomeActivity extends BaseActivity {
|
|||||||
ALog.d(Constant.PROJECT_TAG, TAG, "onCreateView");
|
ALog.d(Constant.PROJECT_TAG, TAG, "onCreateView");
|
||||||
//getWindow().setNavigationBarColor(getResources().getColor(R.color.color_white));
|
//getWindow().setNavigationBarColor(getResources().getColor(R.color.color_white));
|
||||||
// 设置全屏
|
// 设置全屏
|
||||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
// requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
// WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
IMApplication.setColdStart(true);
|
IMApplication.setColdStart(true);
|
||||||
activityWelcomeBinding = ActivityWelcomeBinding.inflate(getLayoutInflater());
|
activityWelcomeBinding = ActivityWelcomeBinding.inflate(getLayoutInflater());
|
||||||
setContentView(activityWelcomeBinding.getRoot());
|
setContentView(activityWelcomeBinding.getRoot());
|
||||||
|
|||||||
@@ -299,6 +299,7 @@
|
|||||||
<View
|
<View
|
||||||
android:layout_width="@dimen/dp_1"
|
android:layout_width="@dimen/dp_1"
|
||||||
android:layout_height="@dimen/dp_20"
|
android:layout_height="@dimen/dp_20"
|
||||||
|
android:visibility="gone"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
android:background="#49B78C8C" />
|
android:background="#49B78C8C" />
|
||||||
|
|
||||||
@@ -366,7 +367,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -404,7 +405,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -431,7 +432,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -480,7 +481,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -518,7 +519,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -551,7 +552,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -615,7 +616,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -655,7 +656,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
@@ -688,7 +689,7 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0.5dp"
|
android:layout_height="1px"
|
||||||
android:layout_marginLeft="@dimen/dp_15"
|
android:layout_marginLeft="@dimen/dp_15"
|
||||||
android:layout_marginRight="@dimen/dp_15"
|
android:layout_marginRight="@dimen/dp_15"
|
||||||
android:background="#D8D8D8" />
|
android:background="#D8D8D8" />
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_name"
|
android:id="@+id/tv_name"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/dp_15"
|
android:layout_marginStart="@dimen/dp_15"
|
||||||
android:layout_marginEnd="@dimen/dp_15"
|
android:layout_marginEnd="@dimen/dp_15"
|
||||||
@@ -43,10 +43,27 @@
|
|||||||
android:textSize="@dimen/text_size_16"
|
android:textSize="@dimen/text_size_16"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/tv_name_activetime"
|
app:layout_constraintBottom_toTopOf="@+id/tv_name_activetime"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/avatar_view"
|
app:layout_constraintStart_toEndOf="@+id/avatar_view"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/unreadTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/dimen_2_dp"
|
||||||
|
android:background="@drawable/bg_conversation_red_dot"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingStart="@dimen/dimen_5_dp"
|
||||||
|
android:paddingEnd="@dimen/dimen_5_dp"
|
||||||
|
android:textColor="@color/color_white"
|
||||||
|
android:textSize="@dimen/text_size_12"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_marginStart="@dimen/dp_5"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/tv_name"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/tv_name"
|
||||||
|
app:layout_constraintLeft_toRightOf="@id/tv_name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_name_activetime"
|
android:id="@+id/tv_name_activetime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
@@ -921,4 +921,6 @@
|
|||||||
<string name="str_teammanager_add_faile_toast">A maximum of 5 administrators can be set</string>
|
<string name="str_teammanager_add_faile_toast">A maximum of 5 administrators can be set</string>
|
||||||
<string name="str_teammanager_add_succ_toast">Added successfully</string>
|
<string name="str_teammanager_add_succ_toast">Added successfully</string>
|
||||||
<string name="str_teammanager_add_not_toast">Please select an administrator</string>
|
<string name="str_teammanager_add_not_toast">Please select an administrator</string>
|
||||||
|
<string name="chat_message_action_multi_select">Multi-select</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="google_map_key">AIzaSyAAXviskUffLY3KfnrKVPlwcj5Ks5ces_8</string>
|
<string name="google_map_key">AIzaSyAAXviskUffLY3KfnrKVPlwcj5Ks5ces_8</string>
|
||||||
|
|
||||||
<string name="app_name">淘夢購</string>
|
<string name="app_name">MM</string>
|
||||||
<string name="yunxin_name">網易雲信</string>
|
<string name="yunxin_name">網易雲信</string>
|
||||||
<string name="yunxin_desc">真正穩定的IM 雲端服務</string>
|
<string name="yunxin_desc">真正穩定的IM 雲端服務</string>
|
||||||
|
|
||||||
@@ -330,7 +330,7 @@
|
|||||||
<string name="aihistory_clean">クリア</string>
|
<string name="aihistory_clean">クリア</string>
|
||||||
<string name="aihistory_title">Q&A履歴をクリアしてもよろしいですか?</string>
|
<string name="aihistory_title">Q&A履歴をクリアしてもよろしいですか?</string>
|
||||||
<string name="aianswer_txt">スマート ドリームの回答を生成中です。お待ちください...</string>
|
<string name="aianswer_txt">スマート ドリームの回答を生成中です。お待ちください...</string>
|
||||||
<string name="aiintroduct_zh_txt">您好,我是淘夢購團隊研發的智能認知模型,我的名字叫小夢,我可以和人類進行自然交流,解答問題,高效完成各領域的認知智能需求</string>
|
<string name="aiintroduct_zh_txt">您好,我是MM團隊研發的智能認知模型,我的名字叫小夢,我可以和人類進行自然交流,解答問題,高效完成各領域的認知智能需求</string>
|
||||||
<string name="aiintroduct_en_txt">Hello, I am an intelligent cognitive model developed by TimeGo team. My name is Xiaomeng.
|
<string name="aiintroduct_en_txt">Hello, I am an intelligent cognitive model developed by TimeGo team. My name is Xiaomeng.
|
||||||
I can naturally communicate with humans, answer questions, and efficiently complete the cognitive intelligence needs in various fields</string>
|
I can naturally communicate with humans, answer questions, and efficiently complete the cognitive intelligence needs in various fields</string>
|
||||||
<string name="aihint_txt">ちょっと、そこ!私はあなたの新しい友達シャオ・メンです</string>
|
<string name="aihint_txt">ちょっと、そこ!私はあなたの新しい友達シャオ・メンです</string>
|
||||||
@@ -346,6 +346,7 @@
|
|||||||
<string name="nmhmylg_txt">まだ話していませんね~</string>
|
<string name="nmhmylg_txt">まだ話していませんね~</string>
|
||||||
<string name="myltjl_txt">まだチャット記録がありません~</string>
|
<string name="myltjl_txt">まだチャット記録がありません~</string>
|
||||||
<string name="to_wallet_send_redpack_txt">金貨残高が入金されているので、をクリックして確認してください></string>
|
<string name="to_wallet_send_redpack_txt">金貨残高が入金されているので、をクリックして確認してください></string>
|
||||||
|
<string name="to_wallet_send_redpack_txt_lipin">ギフトポイント残高が入金されました。クリックして確認></string>
|
||||||
<string name="species_txt">金貨</string>
|
<string name="species_txt">金貨</string>
|
||||||
<string name="jifen_txt">ポイント</string>
|
<string name="jifen_txt">ポイント</string>
|
||||||
<string name="silver_coins_txt">銀貨</string>
|
<string name="silver_coins_txt">銀貨</string>
|
||||||
@@ -360,6 +361,7 @@
|
|||||||
<string name="danwei_txt">パソコン</string>
|
<string name="danwei_txt">パソコン</string>
|
||||||
<string name="remarks_hit_txt">お金持ちになり、幸運を祈ります</string>
|
<string name="remarks_hit_txt">お金持ちになり、幸運を祈ります</string>
|
||||||
<string name="send_in_redenvelope_txt1">赤い封筒に金貨を入れます</string>
|
<string name="send_in_redenvelope_txt1">赤い封筒に金貨を入れます</string>
|
||||||
|
<string name="send_in_lipinjifen_txt1">ギフトポイントを赤い封筒に詰める</string>
|
||||||
<string name="send_in_redtype_txt1">赤い封筒に金貨を詰める</string>
|
<string name="send_in_redtype_txt1">赤い封筒に金貨を詰める</string>
|
||||||
<string name="no_get_to_back_txt">未受領のお年玉は、24時間以内に返却されます</string>
|
<string name="no_get_to_back_txt">未受領のお年玉は、24時間以内に返却されます</string>
|
||||||
<string name="zhuanzhangobject_txt">クリックして転送オブジェクトを選択します</string>
|
<string name="zhuanzhangobject_txt">クリックして転送オブジェクトを選択します</string>
|
||||||
@@ -887,7 +889,7 @@
|
|||||||
<string name="userphoto_dialog_movetitle">他のアルバムに移動</string>
|
<string name="userphoto_dialog_movetitle">他のアルバムに移動</string>
|
||||||
<string name="userphoto_dialog_notfriendtitle">このアルバムは友達のみ閲覧可能に設定されています。閲覧するには友達リクエストを送信してください。</string>
|
<string name="userphoto_dialog_notfriendtitle">このアルバムは友達のみ閲覧可能に設定されています。閲覧するには友達リクエストを送信してください。</string>
|
||||||
<string name="kefu_selector_title">お問い合わせの内容を選択してください:</string>
|
<string name="kefu_selector_title">お問い合わせの内容を選択してください:</string>
|
||||||
<string name="kefu_select_taomenggou">淘夢購に関する質問</string>
|
<string name="kefu_select_taomenggou">MMに関する質問</string>
|
||||||
<string name="kefu_select_taoleding">淘樂町に関する質問</string>
|
<string name="kefu_select_taoleding">淘樂町に関する質問</string>
|
||||||
<string name="kefu_select_jifengshangcheng">ポイントモールに関する質問</string>
|
<string name="kefu_select_jifengshangcheng">ポイントモールに関する質問</string>
|
||||||
<string name="kefu_select_hezuo">協力業者に関する質問</string>
|
<string name="kefu_select_hezuo">協力業者に関する質問</string>
|
||||||
@@ -920,4 +922,8 @@
|
|||||||
<string name="str_teammanager_add_succ_toast">追加に成功しました</string>
|
<string name="str_teammanager_add_succ_toast">追加に成功しました</string>
|
||||||
<string name="str_teammanager_add_not_toast">管理者を選択してください</string>
|
<string name="str_teammanager_add_not_toast">管理者を選択してください</string>
|
||||||
|
|
||||||
|
<string name="str_chat_all">世界チャット</string>
|
||||||
|
|
||||||
|
<string name="chat_message_action_multi_select">多选</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -3,4 +3,6 @@
|
|||||||
|
|
||||||
|
|
||||||
<string name="ps_message_max_num">最多只能选择%1$s张照片或视频</string>
|
<string name="ps_message_max_num">最多只能选择%1$s张照片或视频</string>
|
||||||
|
<string name="chat_message_action_multi_select">多选</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -921,5 +921,6 @@
|
|||||||
<string name="str_teammanager_add_faile_toast">管理員最多可設置5個</string>
|
<string name="str_teammanager_add_faile_toast">管理員最多可設置5個</string>
|
||||||
<string name="str_teammanager_add_succ_toast">添加成功</string>
|
<string name="str_teammanager_add_succ_toast">添加成功</string>
|
||||||
<string name="str_teammanager_add_not_toast">請選擇管理員</string>
|
<string name="str_teammanager_add_not_toast">請選擇管理員</string>
|
||||||
|
<string name="chat_message_action_multi_select">多選</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -915,6 +915,7 @@
|
|||||||
<string name="str_teammanager_add_faile_toast">管理员最多可设置5个</string>
|
<string name="str_teammanager_add_faile_toast">管理员最多可设置5个</string>
|
||||||
<string name="str_teammanager_add_succ_toast">添加成功</string>
|
<string name="str_teammanager_add_succ_toast">添加成功</string>
|
||||||
<string name="str_teammanager_add_not_toast">请选择管理员</string>
|
<string name="str_teammanager_add_not_toast">请选择管理员</string>
|
||||||
|
<string name="chat_message_action_multi_select">多选</string>
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -129,13 +129,13 @@
|
|||||||
<item name="android:windowTranslucentNavigation">false</item>
|
<item name="android:windowTranslucentNavigation">false</item>
|
||||||
<item name="android:navigationBarColor">@android:color/transparent</item>
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
<item name="android:enforceNavigationBarContrast" tools:ignore="NewApi">false</item>
|
<item name="android:enforceNavigationBarContrast" tools:ignore="NewApi">false</item>
|
||||||
|
|
||||||
<!-- 标题栏颜色 -->
|
<!-- 标题栏颜色 -->
|
||||||
<item name="colorPrimary">@color/white</item>
|
<item name="colorPrimary">@color/white</item>
|
||||||
<!-- 状态栏颜色 -->
|
<!-- 状态栏颜色 -->
|
||||||
<item name="colorPrimaryDark">@color/white</item>
|
<item name="colorPrimaryDark">@color/white</item>
|
||||||
<!-- 标题栏文字颜色 -->
|
<!-- 标题栏文字颜色 -->
|
||||||
<item name="colorAccent">@color/black</item>
|
<item name="colorAccent">@color/black</item>
|
||||||
|
<item name="android:windowBackground">@mipmap/ic_welcome_bg</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- 注意:当前AppTheme主题,在values-v23存在另一个样式。原因是Android 6以下系统不支持设置
|
<!-- 注意:当前AppTheme主题,在values-v23存在另一个样式。原因是Android 6以下系统不支持设置
|
||||||
|
|||||||
@@ -246,7 +246,14 @@ public class ChatUtils {
|
|||||||
.withContext(context)
|
.withContext(context)
|
||||||
.navigate(launcher);
|
.navigate(launcher);
|
||||||
}
|
}
|
||||||
|
public static void startTeamListByZhuanFa(
|
||||||
|
Context context, String pagePath, ActivityResultLauncher<Intent> launcher) {
|
||||||
|
XKitRouter.withKey(pagePath)
|
||||||
|
.withParam(RouterConstant.KEY_TEAM_LIST_SELECT, true)
|
||||||
|
.withParam("zhuanfa",true)
|
||||||
|
.withContext(context)
|
||||||
|
.navigate(launcher);
|
||||||
|
}
|
||||||
public static void startP2PSelector(
|
public static void startP2PSelector(
|
||||||
Context context, String pagePath, String filterId, ActivityResultLauncher<Intent> launcher) {
|
Context context, String pagePath, String filterId, ActivityResultLauncher<Intent> launcher) {
|
||||||
ArrayList<String> filterList = new ArrayList<>();
|
ArrayList<String> filterList = new ArrayList<>();
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public class ChatMessageForwardConfirmDialog extends BaseDialog {
|
|||||||
boolean showInput;
|
boolean showInput;
|
||||||
|
|
||||||
int forwardType;
|
int forwardType;
|
||||||
|
ArrayList<String> listsession;
|
||||||
public static ChatMessageForwardConfirmDialog createForwardConfirmDialog(
|
public static ChatMessageForwardConfirmDialog createForwardConfirmDialog(
|
||||||
SessionTypeEnum type,
|
SessionTypeEnum type,
|
||||||
ArrayList<String> sessionIds,
|
ArrayList<String> sessionIds,
|
||||||
@@ -97,7 +97,7 @@ public class ChatMessageForwardConfirmDialog extends BaseDialog {
|
|||||||
// String action= getArguments().getString(FORWARD_ACTION, ActionConstants.POP_ACTION_TRANSMIT);
|
// String action= getArguments().getString(FORWARD_ACTION, ActionConstants.POP_ACTION_TRANSMIT);
|
||||||
//adapter.setForwardType(getArguments().getInt(FORWARD_TYPE));
|
//adapter.setForwardType(getArguments().getInt(FORWARD_TYPE));
|
||||||
// adapter.append(getArguments().getStringArrayList(FORWARD_SESSION_LIST));
|
// adapter.append(getArguments().getStringArrayList(FORWARD_SESSION_LIST));
|
||||||
ArrayList<String> listsession = getArguments().getStringArrayList(FORWARD_SESSION_LIST);
|
listsession = getArguments().getStringArrayList(FORWARD_SESSION_LIST);
|
||||||
setData(listsession.get(0));
|
setData(listsession.get(0));
|
||||||
// String sendUser = getArguments().getString(FORWARD_MESSAGE_SEND); //发送人的名字
|
// String sendUser = getArguments().getString(FORWARD_MESSAGE_SEND); //发送人的名字
|
||||||
|
|
||||||
@@ -182,6 +182,11 @@ public class ChatMessageForwardConfirmDialog extends BaseDialog {
|
|||||||
binding.avatar.setData(avatar, "");
|
binding.avatar.setData(avatar, "");
|
||||||
}
|
}
|
||||||
binding.tvNickname.setText(nickname);
|
binding.tvNickname.setText(nickname);
|
||||||
|
|
||||||
|
if(listsession!=null&&listsession.size()>1){
|
||||||
|
binding.tvTitle.setText(String.format(getString(R.string.chat_message_forward_to2),nickname+"",listsession.size()));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,6 +201,10 @@ public class ChatMessageForwardConfirmDialog extends BaseDialog {
|
|||||||
binding.avatar.setData(avatar, "");
|
binding.avatar.setData(avatar, "");
|
||||||
}
|
}
|
||||||
binding.tvNickname.setText(nickname + "");
|
binding.tvNickname.setText(nickname + "");
|
||||||
|
|
||||||
|
if(listsession!=null&&listsession.size()>1){
|
||||||
|
binding.tvTitle.setText(String.format(getString(R.string.chat_message_forward_to1),nickname+"",listsession.size()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCallback(ForwardCallback callback) {
|
public void setCallback(ForwardCallback callback) {
|
||||||
|
|||||||
@@ -83,8 +83,8 @@ public class FunChatPinActivity extends ChatPinBaseActivity {
|
|||||||
new ChatBaseForwardSelectDialog.ForwardTypeSelectedCallback() {
|
new ChatBaseForwardSelectDialog.ForwardTypeSelectedCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onTeamSelected() {
|
public void onTeamSelected() {
|
||||||
ChatUtils.startTeamList(
|
ChatUtils.startTeamListByZhuanFa(
|
||||||
FunChatPinActivity.this, RouterConstant.PATH_FUN_MY_TEAM_PAGE, forwardTeamLauncher);
|
FunChatPinActivity.this, RouterConstant.PATH_FUN_MY_TEAM_PAGE, forwardTeamLauncher1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -477,8 +477,8 @@ public abstract class FunChatFragment extends ChatBaseFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void forwardTeam() {
|
protected void forwardTeam() {
|
||||||
ChatUtils.startTeamList(
|
ChatUtils.startTeamListByZhuanFa(
|
||||||
getContext(), RouterConstant.PATH_FUN_MY_TEAM_PAGE, forwardTeamLauncher);
|
getContext(), RouterConstant.PATH_FUN_MY_TEAM_PAGE, forwardTeamLauncher1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -49,12 +49,12 @@ public interface ApiService {
|
|||||||
/**
|
/**
|
||||||
* 正式环境
|
* 正式环境
|
||||||
*/
|
*/
|
||||||
String URL = "https://api.letschat2023.com/";
|
// String URL = "https://api.letschat2023.com/";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 测试环境
|
* 测试环境
|
||||||
*/
|
*/
|
||||||
// String URL = "https://api-test.letschat2023.com/";
|
String URL = "https://api-test.letschat2023.com/";
|
||||||
// String URL = "https://8.217.244.135:8001/";
|
// String URL = "https://8.217.244.135:8001/";
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ public abstract class ChatPinBaseActivity extends BaseActivity {
|
|||||||
|
|
||||||
protected ActivityResultLauncher<Intent> forwardP2PLauncher;
|
protected ActivityResultLauncher<Intent> forwardP2PLauncher;
|
||||||
protected ActivityResultLauncher<Intent> forwardTeamLauncher;
|
protected ActivityResultLauncher<Intent> forwardTeamLauncher;
|
||||||
|
protected ActivityResultLauncher<Intent> forwardTeamLauncher1;
|
||||||
|
|
||||||
public static final String ACTION_CHECK_PIN = "check_pin";
|
public static final String ACTION_CHECK_PIN = "check_pin";
|
||||||
public static final String ACTION_CANCEL_PIN = "cancel_pin";
|
public static final String ACTION_CANCEL_PIN = "cancel_pin";
|
||||||
@@ -163,6 +164,25 @@ public abstract class ChatPinBaseActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
forwardTeamLauncher1 =
|
||||||
|
registerForActivityResult(
|
||||||
|
new ActivityResultContracts.StartActivityForResult(),
|
||||||
|
result -> {
|
||||||
|
if (result.getResultCode() != Activity.RESULT_OK || forwardMessage == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ALog.d(LIB_TAG, TAG, "forward Team result");
|
||||||
|
Intent data = result.getData();
|
||||||
|
if (data != null) {
|
||||||
|
ArrayList<String> friends =
|
||||||
|
data.getStringArrayListExtra(REQUEST_CONTACT_SELECTOR_KEY);
|
||||||
|
if (friends != null && !friends.isEmpty()) {
|
||||||
|
showForwardConfirmDialog(SessionTypeEnum.Team, friends);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (TextUtils.isEmpty(mSessionId) || mSessionType == SessionTypeEnum.None) {
|
if (TextUtils.isEmpty(mSessionId) || mSessionType == SessionTypeEnum.None) {
|
||||||
showEmptyView(true);
|
showEmptyView(true);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ import com.luck.picture.lib.style.SelectMainStyle;
|
|||||||
import com.luck.picture.lib.style.TitleBarStyle;
|
import com.luck.picture.lib.style.TitleBarStyle;
|
||||||
import com.netease.nim.highavailable.LogUtils;
|
import com.netease.nim.highavailable.LogUtils;
|
||||||
import com.netease.nimlib.sdk.NIMClient;
|
import com.netease.nimlib.sdk.NIMClient;
|
||||||
|
import com.netease.nimlib.sdk.RequestCallback;
|
||||||
import com.netease.nimlib.sdk.StatusCode;
|
import com.netease.nimlib.sdk.StatusCode;
|
||||||
import com.netease.nimlib.sdk.auth.AuthServiceObserver;
|
import com.netease.nimlib.sdk.auth.AuthServiceObserver;
|
||||||
import com.netease.nimlib.sdk.friend.FriendService;
|
import com.netease.nimlib.sdk.friend.FriendService;
|
||||||
@@ -79,7 +80,10 @@ import com.netease.nimlib.sdk.msg.model.IMMessage;
|
|||||||
import com.netease.nimlib.sdk.msg.model.MsgPinOption;
|
import com.netease.nimlib.sdk.msg.model.MsgPinOption;
|
||||||
import com.netease.nimlib.sdk.msg.model.QueryDirectionEnum;
|
import com.netease.nimlib.sdk.msg.model.QueryDirectionEnum;
|
||||||
import com.netease.nimlib.sdk.msg.model.RecentContact;
|
import com.netease.nimlib.sdk.msg.model.RecentContact;
|
||||||
|
import com.netease.nimlib.sdk.team.TeamService;
|
||||||
|
import com.netease.nimlib.sdk.team.constant.TeamMemberType;
|
||||||
import com.netease.nimlib.sdk.team.model.Team;
|
import com.netease.nimlib.sdk.team.model.Team;
|
||||||
|
import com.netease.nimlib.sdk.team.model.TeamMember;
|
||||||
import com.netease.nimlib.sdk.uinfo.UserService;
|
import com.netease.nimlib.sdk.uinfo.UserService;
|
||||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||||
import com.netease.yunxin.kit.alog.ALog;
|
import com.netease.yunxin.kit.alog.ALog;
|
||||||
@@ -225,6 +229,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
|||||||
protected ActivityResultLauncher<Intent> forwardP2PLauncher;
|
protected ActivityResultLauncher<Intent> forwardP2PLauncher;
|
||||||
|
|
||||||
protected ActivityResultLauncher<Intent> forwardTeamLauncher;
|
protected ActivityResultLauncher<Intent> forwardTeamLauncher;
|
||||||
|
protected ActivityResultLauncher<Intent> forwardTeamLauncher1;
|
||||||
|
|
||||||
protected ActivityResultLauncher<String[]> permissionLauncher;
|
protected ActivityResultLauncher<String[]> permissionLauncher;
|
||||||
|
|
||||||
@@ -1646,6 +1651,38 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
|||||||
&& isAllowAd == 0
|
&& isAllowAd == 0
|
||||||
&& teamInfo != null && !teamInfo.getCreator().equals(IMKitClient.account())
|
&& teamInfo != null && !teamInfo.getCreator().equals(IMKitClient.account())
|
||||||
&& !teamInfo.getCreator().equals(messageBean.getMessageData().getMessage().getFromAccount())) {
|
&& !teamInfo.getCreator().equals(messageBean.getMessageData().getMessage().getFromAccount())) {
|
||||||
|
|
||||||
|
NIMClient.getService(TeamService.class).queryTeamMember(teamInfo.getId(), messageBean.getMessageData().getMessage().getFromAccount()).setCallback(new RequestCallback<TeamMember>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(TeamMember members) {
|
||||||
|
if(members!=null){
|
||||||
|
if(members.getType() == TeamMemberType.Manager){
|
||||||
|
XKitRouter.withKey(getUserInfoRoutePath())
|
||||||
|
.withContext(view.getContext())
|
||||||
|
.withParam(
|
||||||
|
"uid",
|
||||||
|
messageBean.getMessageData().getMessage().getFromAccount())
|
||||||
|
.withParam("userId", messageBean.getMessageData().getMessage().getFromAccount())
|
||||||
|
.withParam("isGroup", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM))
|
||||||
|
.withParam("teamId", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM) ? messageBean.getMessageData().getMessage().getSessionId() : "")
|
||||||
|
.navigate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailed(int code) {
|
||||||
|
// 撤销群管理员失败
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onException(Throwable exception) {
|
||||||
|
// 错误
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
XKitRouter.withKey(getUserInfoRoutePath())
|
XKitRouter.withKey(getUserInfoRoutePath())
|
||||||
@@ -1965,6 +2002,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
|||||||
&& isAllowAd == 0
|
&& isAllowAd == 0
|
||||||
&& teamInfo != null && !teamInfo.getCreator().equals(IMKitClient.account())
|
&& teamInfo != null && !teamInfo.getCreator().equals(IMKitClient.account())
|
||||||
&& !teamInfo.getCreator().equals(businessShareBean.data.getAccout())) {
|
&& !teamInfo.getCreator().equals(businessShareBean.data.getAccout())) {
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
XKitRouter.withKey(RouterConstant.PATH_USER_INFO_PAGE)
|
XKitRouter.withKey(RouterConstant.PATH_USER_INFO_PAGE)
|
||||||
@@ -2450,6 +2488,13 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
|||||||
new ActivityResultContracts.StartActivityForResult(),
|
new ActivityResultContracts.StartActivityForResult(),
|
||||||
result -> onForwardMessage(result, SessionTypeEnum.Team));
|
result -> onForwardMessage(result, SessionTypeEnum.Team));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
forwardTeamLauncher1 =
|
||||||
|
registerForActivityResult(
|
||||||
|
new ActivityResultContracts.StartActivityForResult(),
|
||||||
|
result -> onForwardMessage1(result, SessionTypeEnum.Team));
|
||||||
|
|
||||||
locationLauncher =
|
locationLauncher =
|
||||||
registerForActivityResult(
|
registerForActivityResult(
|
||||||
new ActivityResultContracts.StartActivityForResult(), this::onSelectLocation);
|
new ActivityResultContracts.StartActivityForResult(), this::onSelectLocation);
|
||||||
@@ -2680,6 +2725,23 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void onForwardMessage1(ActivityResult result, SessionTypeEnum sessionType) {
|
||||||
|
if (result.getResultCode() != Activity.RESULT_OK) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ALog.d(LIB_TAG, LOG_TAG, "forward Team result");
|
||||||
|
Intent data = result.getData();
|
||||||
|
if (data != null) {
|
||||||
|
ArrayList<String> sessionList = new ArrayList<>();
|
||||||
|
sessionList.addAll(data.getStringArrayListExtra(REQUEST_CONTACT_SELECTOR_KEY));
|
||||||
|
if (sessionList.size() > 0) {
|
||||||
|
showForwardConfirmDialog(sessionType, sessionList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void clearMessageMultiSelectStatus() {
|
protected void clearMessageMultiSelectStatus() {
|
||||||
chatView.showMultiSelect(false);
|
chatView.showMultiSelect(false);
|
||||||
ChatMsgCache.clear();
|
ChatMsgCache.clear();
|
||||||
|
|||||||
@@ -323,5 +323,7 @@
|
|||||||
<string name="push_content_location">Received a location</string>
|
<string name="push_content_location">Received a location</string>
|
||||||
<string name="push_content_file">Received a file</string>
|
<string name="push_content_file">Received a file</string>
|
||||||
<string name="push_content_audio">Received an audio</string>
|
<string name="push_content_audio">Received an audio</string>
|
||||||
|
<string name="chat_message_forward_to1">Forward to %s and other %d people</string>
|
||||||
|
<string name="chat_message_forward_to2">Forward to %s and other %d group</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -324,5 +324,7 @@
|
|||||||
<string name="push_content_location">位置情報が届きました</string>
|
<string name="push_content_location">位置情報が届きました</string>
|
||||||
<string name="push_content_file">ファイルが届きました</string>
|
<string name="push_content_file">ファイルが届きました</string>
|
||||||
<string name="push_content_audio">音声が届きました</string>
|
<string name="push_content_audio">音声が届きました</string>
|
||||||
|
<string name="chat_message_forward_to1">轉發給:%s等%d人</string>
|
||||||
|
<string name="chat_message_forward_to2">轉發給:%s等%d群</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -324,4 +324,7 @@
|
|||||||
<string name="push_content_location">发来了一个地理位置</string>
|
<string name="push_content_location">发来了一个地理位置</string>
|
||||||
<string name="push_content_file">发来了一个文件</string>
|
<string name="push_content_file">发来了一个文件</string>
|
||||||
<string name="push_content_audio">发来了一段语音</string>
|
<string name="push_content_audio">发来了一段语音</string>
|
||||||
|
<string name="chat_message_forward_to1">转发给:%s等%d人</string>
|
||||||
|
<string name="chat_message_forward_to2">转发给:%s等%d群</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -323,4 +323,6 @@
|
|||||||
<string name="push_content_location">發來了一個地理位置</string>
|
<string name="push_content_location">發來了一個地理位置</string>
|
||||||
<string name="push_content_file">發來了一個文件</string>
|
<string name="push_content_file">發來了一個文件</string>
|
||||||
<string name="push_content_audio">發來了一段語音</string>
|
<string name="push_content_audio">發來了一段語音</string>
|
||||||
|
<string name="chat_message_forward_to1">轉發給:%s等%d人</string>
|
||||||
|
<string name="chat_message_forward_to2">轉發給:%s等%d群</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -4,16 +4,29 @@
|
|||||||
|
|
||||||
package com.netease.yunxin.kit.contactkit.ui.fun.team;
|
package com.netease.yunxin.kit.contactkit.ui.fun.team;
|
||||||
|
|
||||||
|
import static com.netease.yunxin.kit.corekit.im.utils.RouterConstant.KEY_REQUEST_SELECTOR_NAME;
|
||||||
|
import static com.netease.yunxin.kit.corekit.im.utils.RouterConstant.REQUEST_CONTACT_SELECTOR_KEY;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
import com.netease.nimlib.sdk.team.model.DismissAttachment;
|
||||||
|
import com.netease.nimlib.sdk.team.model.Team;
|
||||||
|
import com.netease.yunxin.kit.common.ui.utils.ToastX;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.R;
|
import com.netease.yunxin.kit.contactkit.ui.R;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.databinding.BaseListActivityLayoutBinding;
|
import com.netease.yunxin.kit.contactkit.ui.databinding.BaseListActivityLayoutBinding;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.fun.view.FunContactViewHolderFactory;
|
import com.netease.yunxin.kit.contactkit.ui.fun.view.FunContactViewHolderFactory;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.fun.view.viewholder.FunTeamListViewHolder;
|
import com.netease.yunxin.kit.contactkit.ui.fun.view.viewholder.FunTeamListViewHolder;
|
||||||
|
import com.netease.yunxin.kit.contactkit.ui.model.BaseContactBean;
|
||||||
|
import com.netease.yunxin.kit.contactkit.ui.model.ContactFriendBean;
|
||||||
|
import com.netease.yunxin.kit.contactkit.ui.model.ContactTeamBean;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.model.IViewTypeConstant;
|
import com.netease.yunxin.kit.contactkit.ui.model.IViewTypeConstant;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.team.BaseTeamListActivity;
|
import com.netease.yunxin.kit.contactkit.ui.team.BaseTeamListActivity;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.team.TeamListViewModel;
|
import com.netease.yunxin.kit.contactkit.ui.team.TeamListViewModel;
|
||||||
@@ -21,51 +34,146 @@ import com.netease.yunxin.kit.contactkit.ui.view.viewholder.BaseContactViewHolde
|
|||||||
import com.netease.yunxin.kit.corekit.im.utils.RouterConstant;
|
import com.netease.yunxin.kit.corekit.im.utils.RouterConstant;
|
||||||
import com.netease.yunxin.kit.corekit.route.XKitRouter;
|
import com.netease.yunxin.kit.corekit.route.XKitRouter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class FunTeamListActivity extends BaseTeamListActivity {
|
public class FunTeamListActivity extends BaseTeamListActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
changeStatusBarColor(R.color.color_white);
|
changeStatusBarColor(R.color.color_white);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void configTitle(BaseListActivityLayoutBinding binding) {
|
protected void configTitle(BaseListActivityLayoutBinding binding) {
|
||||||
super.configTitle(binding);
|
super.configTitle(binding);
|
||||||
binding.title.getTitleTextView().setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20);
|
binding.title.getTitleTextView().setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20);
|
||||||
// binding.title.getTitleTextView().setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
// binding.title.getTitleTextView().setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
||||||
binding.title.setBackgroundResource(R.color.color_white);
|
binding.title.setBackgroundResource(R.color.color_white);
|
||||||
}
|
|
||||||
|
|
||||||
protected void configRoutePath(TeamListViewModel viewModel) {
|
|
||||||
viewModel.configRoutePath(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
}
|
||||||
protected void configViewHolderFactory() {
|
|
||||||
binding.contactListView.setViewHolderFactory(
|
@Override
|
||||||
new FunContactViewHolderFactory() {
|
protected void initData() {
|
||||||
@Override
|
super.initData();
|
||||||
protected BaseContactViewHolder getCustomViewHolder(ViewGroup view, int viewType) {
|
if (isZhuanFa) {
|
||||||
if (viewType == IViewTypeConstant.CONTACT_TEAM_LIST) {
|
// ToastX.showShortToast("111111111111111");
|
||||||
FunTeamListViewHolder viewHolder = new FunTeamListViewHolder(view);
|
|
||||||
viewHolder.setItemClickListener(
|
binding.title.setActionText(getString(R.string.chat_message_action_multi_select));
|
||||||
data -> {
|
binding.title.setActionTextColor(getResources().getColor(R.color.color_6877fe));
|
||||||
if (isSelector) {
|
binding.title.getRightTextView().setOnClickListener(new View.OnClickListener() {
|
||||||
Intent result = new Intent();
|
@Override
|
||||||
result.putExtra(RouterConstant.KEY_TEAM_ID, data.data.getId());
|
public void onClick(View view) {
|
||||||
setResult(RESULT_OK, result);
|
if (isSignOne) {
|
||||||
finish();
|
isSignOne = false;
|
||||||
|
binding.title.setActionText(getString(R.string.selector_sure));
|
||||||
|
binding.contactListView.showSelector(true);
|
||||||
} else {
|
} else {
|
||||||
XKitRouter.withKey(data.router)
|
ArrayList<String> select = getSelectedAccount();
|
||||||
.withParam(RouterConstant.CHAT_KRY, data.data)
|
ArrayList<String> selectName = getSelectedName();
|
||||||
.withContext(FunTeamListActivity.this)
|
|
||||||
.navigate();
|
if (select.size() < 1) {
|
||||||
|
Toast.makeText(FunTeamListActivity.this, getString(R.string.select_empty_tips), Toast.LENGTH_LONG)
|
||||||
|
.show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//转发选取一个结束
|
||||||
|
Intent result = new Intent();
|
||||||
|
result.putExtra(REQUEST_CONTACT_SELECTOR_KEY, select);
|
||||||
|
result.putExtra(KEY_REQUEST_SELECTOR_NAME, selectName);
|
||||||
|
setResult(RESULT_OK, result);
|
||||||
|
finish();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
return viewHolder;
|
});
|
||||||
|
} else {
|
||||||
|
// ToastX.showShortToast("2222222222222");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected ArrayList<String> getSelectedAccount() {
|
||||||
|
ArrayList<String> result = new ArrayList<>();
|
||||||
|
List<BaseContactBean> contactTeamBeans = binding.contactListView.getAdapter().getDataList();
|
||||||
|
for (int i = 0; i < contactTeamBeans.size(); i++) {
|
||||||
|
ContactTeamBean contactTeamBean = (ContactTeamBean) contactTeamBeans.get(i);
|
||||||
|
if (contactTeamBean.isCheck()) {
|
||||||
|
result.add(contactTeamBean.data.getId());
|
||||||
}
|
}
|
||||||
return null;
|
}
|
||||||
}
|
return result;
|
||||||
});
|
}
|
||||||
}
|
|
||||||
|
protected ArrayList<String> getSelectedName() {
|
||||||
|
ArrayList<String> result = new ArrayList<>();
|
||||||
|
List<BaseContactBean> contactTeamBeans = binding.contactListView.getAdapter().getDataList();
|
||||||
|
for (int i = 0; i < contactTeamBeans.size(); i++) {
|
||||||
|
ContactTeamBean contactTeamBean = (ContactTeamBean) contactTeamBeans.get(i);
|
||||||
|
if (contactTeamBean.isCheck()) {
|
||||||
|
result.add(contactTeamBean.data.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void configRoutePath(TeamListViewModel viewModel) {
|
||||||
|
viewModel.configRoutePath(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void configViewHolderFactory() {
|
||||||
|
// ToastX.showShortToast("点我干嘛!!!!");
|
||||||
|
|
||||||
|
binding.contactListView.setViewHolderFactory(
|
||||||
|
new FunContactViewHolderFactory() {
|
||||||
|
@Override
|
||||||
|
protected BaseContactViewHolder getCustomViewHolder(ViewGroup view, int viewType) {
|
||||||
|
if (viewType == IViewTypeConstant.CONTACT_TEAM_LIST) {
|
||||||
|
FunTeamListViewHolder viewHolder = new FunTeamListViewHolder(view);
|
||||||
|
|
||||||
|
viewHolder.setItemClickListener(
|
||||||
|
data -> {
|
||||||
|
if (isSelector) {
|
||||||
|
if (isZhuanFa) {
|
||||||
|
if (isSignOne) {
|
||||||
|
|
||||||
|
ArrayList<String> select = new ArrayList<>();
|
||||||
|
ArrayList<String> selectName = new ArrayList<>();
|
||||||
|
|
||||||
|
select.add(data.data.getId());
|
||||||
|
selectName.add(data.data.getName());
|
||||||
|
//转发选取一个结束
|
||||||
|
Intent result = new Intent();
|
||||||
|
result.putExtra(REQUEST_CONTACT_SELECTOR_KEY, select);
|
||||||
|
result.putExtra(KEY_REQUEST_SELECTOR_NAME, selectName);
|
||||||
|
setResult(RESULT_OK, result);
|
||||||
|
finish();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
data.setCheck(!data.isCheck());
|
||||||
|
binding.contactListView.updateContactData(data);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Intent result = new Intent();
|
||||||
|
result.putExtra(RouterConstant.KEY_TEAM_ID, data.data.getId());
|
||||||
|
setResult(RESULT_OK, result);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
XKitRouter.withKey(data.router)
|
||||||
|
.withParam(RouterConstant.CHAT_KRY, data.data)
|
||||||
|
.withContext(FunTeamListActivity.this)
|
||||||
|
.navigate();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return viewHolder;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,16 @@ public class FunTeamListViewHolder extends BaseContactViewHolder {
|
|||||||
@Override
|
@Override
|
||||||
public void onBind(BaseContactBean bean, int position, ContactListViewAttrs attrs) {
|
public void onBind(BaseContactBean bean, int position, ContactListViewAttrs attrs) {
|
||||||
Team teamInfo = ((ContactTeamBean) bean).data;
|
Team teamInfo = ((ContactTeamBean) bean).data;
|
||||||
|
|
||||||
|
if(binding.rbSelector!=null){
|
||||||
|
binding.rbSelector.setVisibility(View.GONE);
|
||||||
|
if(attrs.getShowSelector()){
|
||||||
|
binding.rbSelector.setVisibility(View.VISIBLE);
|
||||||
|
binding.rbSelector.setChecked(((ContactTeamBean) bean).isCheck());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (teamInfo != null) {
|
if (teamInfo != null) {
|
||||||
binding.tvName.setText(teamInfo.getName());
|
binding.tvName.setText(teamInfo.getName());
|
||||||
String value = ((ContactTeamBean) bean).getContent();
|
String value = ((ContactTeamBean) bean).getContent();
|
||||||
|
|||||||
@@ -23,6 +23,15 @@ public class ContactTeamBean extends BaseContactBean {
|
|||||||
public MsgAttachment msgAttachment;
|
public MsgAttachment msgAttachment;
|
||||||
public String fromNick;
|
public String fromNick;
|
||||||
public String fromAccount;
|
public String fromAccount;
|
||||||
|
public boolean isCheck;
|
||||||
|
|
||||||
|
public boolean isCheck() {
|
||||||
|
return isCheck;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCheck(boolean check) {
|
||||||
|
isCheck = check;
|
||||||
|
}
|
||||||
|
|
||||||
public String getFromNick() {
|
public String getFromNick() {
|
||||||
return fromNick;
|
return fromNick;
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ package com.netease.yunxin.kit.contactkit.ui.normal.team;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import com.netease.yunxin.kit.common.ui.utils.ToastX;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.model.IViewTypeConstant;
|
import com.netease.yunxin.kit.contactkit.ui.model.IViewTypeConstant;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.normal.view.ContactViewHolderFactory;
|
import com.netease.yunxin.kit.contactkit.ui.normal.view.ContactViewHolderFactory;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.normal.view.viewholder.TeamListViewHolder;
|
import com.netease.yunxin.kit.contactkit.ui.normal.view.viewholder.TeamListViewHolder;
|
||||||
@@ -18,6 +20,9 @@ public class TeamListActivity extends BaseTeamListActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void configViewHolderFactory() {
|
protected void configViewHolderFactory() {
|
||||||
|
|
||||||
|
|
||||||
|
// ToastX.showShortToast("点我干嘛!");
|
||||||
binding.contactListView.setViewHolderFactory(
|
binding.contactListView.setViewHolderFactory(
|
||||||
new ContactViewHolderFactory() {
|
new ContactViewHolderFactory() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ public abstract class BaseContactSelectorActivity extends BaseActivity {
|
|||||||
|
|
||||||
protected int type;// 0 创建群 选好友, 1 转发消息 选好友
|
protected int type;// 0 创建群 选好友, 1 转发消息 选好友
|
||||||
|
|
||||||
|
protected boolean isSignOne = true;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
@@ -152,69 +153,56 @@ public abstract class BaseContactSelectorActivity extends BaseActivity {
|
|||||||
actions.addContactListener(
|
actions.addContactListener(
|
||||||
IViewTypeConstant.CONTACT_FRIEND,
|
IViewTypeConstant.CONTACT_FRIEND,
|
||||||
(position, data) -> {
|
(position, data) -> {
|
||||||
FriendInfo friendInfo = ((ContactFriendBean) data).data;
|
if (isSignOne) {
|
||||||
//转发选取一个结束
|
FriendInfo friendInfo = ((ContactFriendBean) data).data;
|
||||||
Intent result = new Intent();
|
//转发选取一个结束
|
||||||
// if (!selectedListAdapter.getSelectedFriends().isEmpty()) {
|
Intent result = new Intent();
|
||||||
// result.putExtra(REQUEST_CONTACT_SELECTOR_KEY, getSelectedAccount());
|
listAccount.clear();
|
||||||
// result.putExtra(KEY_REQUEST_SELECTOR_NAME, getSelectedName());
|
listname.clear();
|
||||||
//// if (enableReturnName) {
|
listAccount.add(friendInfo.getAccount());
|
||||||
//// result.putExtra(KEY_REQUEST_SELECTOR_NAME, getSelectedName());
|
listname.add(friendInfo.getName());
|
||||||
//// }
|
result.putExtra(REQUEST_CONTACT_SELECTOR_KEY, listAccount);
|
||||||
// }
|
result.putExtra(KEY_REQUEST_SELECTOR_NAME, listname);
|
||||||
listAccount.clear();
|
setResult(RESULT_OK, result);
|
||||||
listname.clear();
|
finish();
|
||||||
listAccount.add(friendInfo.getAccount());
|
}
|
||||||
listname.add(friendInfo.getName());
|
|
||||||
result.putExtra(REQUEST_CONTACT_SELECTOR_KEY, listAccount);
|
|
||||||
result.putExtra(KEY_REQUEST_SELECTOR_NAME, listname);
|
|
||||||
setResult(RESULT_OK, result);
|
|
||||||
finish();
|
|
||||||
// XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_P2P_PAGE)
|
|
||||||
// .withParam(RouterConstant.CHAT_ID_KRY, friendInfo.getAccount())
|
|
||||||
// .withContext(requireActivity())
|
|
||||||
// .navigate();
|
|
||||||
// XKitRouter.withKey(RouterConstant.PATH_FUN_USER_INFO_PAGE)
|
|
||||||
// .withContext(requireContext())
|
|
||||||
// .withParam(RouterConstant.KEY_ACCOUNT_ID_KEY, friendInfo.getAccount())
|
|
||||||
// .navigate();
|
|
||||||
});
|
});
|
||||||
} else {
|
}
|
||||||
actions.addSelectorListener(
|
actions.addSelectorListener(
|
||||||
IViewTypeConstant.CONTACT_FRIEND,
|
IViewTypeConstant.CONTACT_FRIEND,
|
||||||
(selector, data) -> {
|
(selector, data) -> {
|
||||||
if (selector) {
|
if (selector) {
|
||||||
if (selectedListAdapter.getItemCount() >= maxSelectCount
|
if (selectedListAdapter.getItemCount() >= maxSelectCount
|
||||||
&& !selectFinalCheckCountEnable) {
|
&& !selectFinalCheckCountEnable) {
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
this,
|
this,
|
||||||
getString(
|
getString(
|
||||||
R.string.contact_selector_max_count, String.valueOf(maxSelectCount)),
|
R.string.contact_selector_max_count, String.valueOf(maxSelectCount)),
|
||||||
Toast.LENGTH_LONG)
|
Toast.LENGTH_LONG)
|
||||||
.show();
|
.show();
|
||||||
((ContactFriendBean) data).setSelected(false);
|
|
||||||
contactListView.updateContactData(data);
|
|
||||||
lastContactView.updateContactData(data);
|
|
||||||
searchContactView.updateContactData(data);
|
|
||||||
loveContactView.updateContactData(data);
|
|
||||||
} else {
|
|
||||||
((ContactFriendBean) data).setSelected(true);
|
|
||||||
contactListView.updateContactData(data);
|
|
||||||
lastContactView.updateContactData(data);
|
|
||||||
searchContactView.updateContactData(data);
|
|
||||||
loveContactView.updateContactData(data);
|
|
||||||
selectedListAdapter.addFriend((ContactFriendBean) data);
|
|
||||||
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
((ContactFriendBean) data).setSelected(false);
|
((ContactFriendBean) data).setSelected(false);
|
||||||
selectedListAdapter.removeFriend((ContactFriendBean) data);
|
|
||||||
contactListView.updateContactData(data);
|
contactListView.updateContactData(data);
|
||||||
lastContactView.updateContactData(data);
|
lastContactView.updateContactData(data);
|
||||||
loveContactView.updateContactData(data);
|
|
||||||
searchContactView.updateContactData(data);
|
searchContactView.updateContactData(data);
|
||||||
|
loveContactView.updateContactData(data);
|
||||||
|
} else {
|
||||||
|
((ContactFriendBean) data).setSelected(true);
|
||||||
|
contactListView.updateContactData(data);
|
||||||
|
lastContactView.updateContactData(data);
|
||||||
|
searchContactView.updateContactData(data);
|
||||||
|
loveContactView.updateContactData(data);
|
||||||
|
selectedListAdapter.addFriend((ContactFriendBean) data);
|
||||||
|
|
||||||
}
|
}
|
||||||
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
} else {
|
||||||
|
((ContactFriendBean) data).setSelected(false);
|
||||||
|
selectedListAdapter.removeFriend((ContactFriendBean) data);
|
||||||
|
contactListView.updateContactData(data);
|
||||||
|
lastContactView.updateContactData(data);
|
||||||
|
loveContactView.updateContactData(data);
|
||||||
|
searchContactView.updateContactData(data);
|
||||||
|
}
|
||||||
|
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
||||||
// int count = selectedListAdapter.getItemCount();
|
// int count = selectedListAdapter.getItemCount();
|
||||||
// if (count <= 0) {
|
// if (count <= 0) {
|
||||||
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
||||||
@@ -223,28 +211,32 @@ public abstract class BaseContactSelectorActivity extends BaseActivity {
|
|||||||
// String.format(
|
// String.format(
|
||||||
// getString(R.string.selector_sure), selectedListAdapter.getItemCount()));
|
// getString(R.string.selector_sure), selectedListAdapter.getItemCount()));
|
||||||
// }
|
// }
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
contactListView.setContactAction(actions);
|
contactListView.setContactAction(actions);
|
||||||
lastContactView.setContactAction(actions);
|
lastContactView.setContactAction(actions);
|
||||||
searchContactView.setContactAction(actions);
|
searchContactView.setContactAction(actions);
|
||||||
loveContactView.setContactAction(actions);
|
loveContactView.setContactAction(actions);
|
||||||
//top selected list
|
//top selected list
|
||||||
LinearLayoutManager layoutManager =
|
LinearLayoutManager layoutManager =
|
||||||
new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false);
|
new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false);
|
||||||
rvSelected.setLayoutManager(layoutManager);
|
rvSelected.setLayoutManager(layoutManager);
|
||||||
selectedListAdapter = getSelectedListAdapter();
|
selectedListAdapter =
|
||||||
|
|
||||||
|
getSelectedListAdapter();
|
||||||
selectedListAdapter.setItemClickListener(
|
selectedListAdapter.setItemClickListener(
|
||||||
item -> {
|
item ->
|
||||||
item.setSelected(false);
|
|
||||||
contactListView.updateContactData(item);
|
{
|
||||||
lastContactView.updateContactData(item);
|
item.setSelected(false);
|
||||||
loveContactView.updateContactData(item);
|
contactListView.updateContactData(item);
|
||||||
searchContactView.updateContactData(item);
|
lastContactView.updateContactData(item);
|
||||||
//int count = selectedListAdapter.getItemCount();
|
loveContactView.updateContactData(item);
|
||||||
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
searchContactView.updateContactData(item);
|
||||||
|
//int count = selectedListAdapter.getItemCount();
|
||||||
|
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
||||||
// if (count <= 0) {
|
// if (count <= 0) {
|
||||||
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
// titleBar.setActionText(getString(R.string.selector_sure_without_num));
|
||||||
// } else {
|
// } else {
|
||||||
@@ -252,42 +244,45 @@ public abstract class BaseContactSelectorActivity extends BaseActivity {
|
|||||||
// String.format(
|
// String.format(
|
||||||
// getString(R.string.selector_sure), selectedListAdapter.getItemCount()));
|
// getString(R.string.selector_sure), selectedListAdapter.getItemCount()));
|
||||||
// }
|
// }
|
||||||
});
|
});
|
||||||
rvSelected.setAdapter(selectedListAdapter);
|
rvSelected.setAdapter(selectedListAdapter);
|
||||||
editSearch.setOnEditorActionListener((textView, actionId, keyEvent) ->
|
editSearch.setOnEditorActionListener((textView,actionId,keyEvent)->
|
||||||
{
|
|
||||||
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
|
|
||||||
String search = textView.getEditableText().toString();
|
|
||||||
//搜索好友
|
|
||||||
searchViewModel.queryFriend(search);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
editSearch.addTextChangedListener(new TextWatcher() {
|
|
||||||
@Override
|
|
||||||
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
|
||||||
|
|
||||||
}
|
{
|
||||||
|
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
|
||||||
|
String search = textView.getEditableText().toString();
|
||||||
|
//搜索好友
|
||||||
|
searchViewModel.queryFriend(search);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
editSearch.addTextChangedListener(new
|
||||||
|
|
||||||
@Override
|
TextWatcher() {
|
||||||
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
@Override
|
||||||
|
public void beforeTextChanged (CharSequence charSequence,int i, int i1, int i2){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterTextChanged(Editable editable) {
|
public void onTextChanged (CharSequence charSequence,int i, int i1, int i2){
|
||||||
if (TextUtils.isEmpty(editSearch.getText().toString())) {
|
|
||||||
ivClean.setVisibility(View.GONE);
|
}
|
||||||
layoutContactList.setVisibility(View.VISIBLE);
|
|
||||||
layoutSearchList.setVisibility(View.GONE);
|
@Override
|
||||||
hideSoftInput(BaseContactSelectorActivity.this);
|
public void afterTextChanged (Editable editable){
|
||||||
} else {
|
if (TextUtils.isEmpty(editSearch.getText().toString())) {
|
||||||
ivClean.setVisibility(View.VISIBLE);
|
ivClean.setVisibility(View.GONE);
|
||||||
}
|
layoutContactList.setVisibility(View.VISIBLE);
|
||||||
|
layoutSearchList.setVisibility(View.GONE);
|
||||||
|
hideSoftInput(BaseContactSelectorActivity.this);
|
||||||
|
} else {
|
||||||
|
ivClean.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
ivClean.setOnClickListener(view -> editSearch.setText(""));
|
});
|
||||||
}
|
ivClean.setOnClickListener(view ->editSearch.setText(""));
|
||||||
|
}
|
||||||
|
|
||||||
public void hideSoftInput(Activity activity) {
|
public void hideSoftInput(Activity activity) {
|
||||||
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
|
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ package com.netease.yunxin.kit.contactkit.ui.team;
|
|||||||
|
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
|
import com.netease.yunxin.kit.common.ui.utils.ToastX;
|
||||||
import com.netease.yunxin.kit.common.ui.viewmodel.FetchResult;
|
import com.netease.yunxin.kit.common.ui.viewmodel.FetchResult;
|
||||||
import com.netease.yunxin.kit.common.ui.viewmodel.LoadStatus;
|
import com.netease.yunxin.kit.common.ui.viewmodel.LoadStatus;
|
||||||
import com.netease.yunxin.kit.contactkit.ui.R;
|
import com.netease.yunxin.kit.contactkit.ui.R;
|
||||||
@@ -24,12 +25,16 @@ public abstract class BaseTeamListActivity extends BaseListActivity {
|
|||||||
protected TeamListViewModel viewModel;
|
protected TeamListViewModel viewModel;
|
||||||
|
|
||||||
protected boolean isSelector;
|
protected boolean isSelector;
|
||||||
|
protected boolean isZhuanFa = false;
|
||||||
|
|
||||||
|
protected boolean isSignOne = true;
|
||||||
|
|
||||||
protected abstract void configViewHolderFactory();
|
protected abstract void configViewHolderFactory();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initView() {
|
protected void initView() {
|
||||||
configTitle(binding);
|
configTitle(binding);
|
||||||
|
isZhuanFa = getIntent().getBooleanExtra("zhuanfa",false);
|
||||||
configViewHolderFactory();
|
configViewHolderFactory();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,6 +65,7 @@ public abstract class BaseTeamListActivity extends BaseListActivity {
|
|||||||
}
|
}
|
||||||
// Collections.sort(binding.contactListView.getAdapter().getDataList(), teambeanComparator);
|
// Collections.sort(binding.contactListView.getAdapter().getDataList(), teambeanComparator);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -173,6 +173,7 @@ public class ContactListView extends FrameLayout
|
|||||||
public void showSelector(boolean show) {
|
public void showSelector(boolean show) {
|
||||||
if (contactAdapter != null) {
|
if (contactAdapter != null) {
|
||||||
contactAdapter.getContactListViewAttrs().setShowSelector(show);
|
contactAdapter.getContactListViewAttrs().setShowSelector(show);
|
||||||
|
contactAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,11 +5,23 @@
|
|||||||
-->
|
-->
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/root_view"
|
android:id="@+id/root_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/view_normal_selector">
|
android:background="@drawable/view_normal_selector">
|
||||||
|
<androidx.appcompat.widget.AppCompatRadioButton
|
||||||
|
android:id="@+id/rb_selector"
|
||||||
|
style="@style/FunSelectorRadioBtn"
|
||||||
|
android:layout_width="@dimen/dimen_18_dp"
|
||||||
|
android:layout_height="@dimen/dimen_18_dp"
|
||||||
|
android:clickable="false"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_marginStart="@dimen/dimen_12_dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="MissingConstraints" />
|
||||||
|
|
||||||
<com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView
|
<com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView
|
||||||
android:id="@+id/avatar_view"
|
android:id="@+id/avatar_view"
|
||||||
@@ -17,9 +29,10 @@
|
|||||||
android:layout_height="@dimen/dimen_45_dp"
|
android:layout_height="@dimen/dimen_45_dp"
|
||||||
android:layout_marginTop="@dimen/dimen_10_dp"
|
android:layout_marginTop="@dimen/dimen_10_dp"
|
||||||
android:layout_marginBottom="@dimen/dimen_10_dp"
|
android:layout_marginBottom="@dimen/dimen_10_dp"
|
||||||
|
android:layout_marginStart="@dimen/dimen_12_dp"
|
||||||
app:avatarCorner="@dimen/dimen_45_dp"
|
app:avatarCorner="@dimen/dimen_45_dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintLeft_toLeftOf="parent"
|
app:layout_constraintLeft_toRightOf="@id/rb_selector"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|||||||
@@ -156,4 +156,7 @@
|
|||||||
<string name="teamjoined_txt">You are already in this group</string>
|
<string name="teamjoined_txt">You are already in this group</string>
|
||||||
<string name="know_txt">I see</string>
|
<string name="know_txt">I see</string>
|
||||||
<string name="nodate_txt">No data</string>
|
<string name="nodate_txt">No data</string>
|
||||||
|
|
||||||
|
<string name="chat_message_action_multi_select">Multi-select</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -157,5 +157,6 @@
|
|||||||
<string name="teamjoined_txt">あなたはすでにこのグループに属しています</string>
|
<string name="teamjoined_txt">あなたはすでにこのグループに属しています</string>
|
||||||
<string name="know_txt">なるほど</string>
|
<string name="know_txt">なるほど</string>
|
||||||
<string name="nodate_txt">まだ情報がありません</string>
|
<string name="nodate_txt">まだ情報がありません</string>
|
||||||
|
<string name="chat_message_action_multi_select">複数選択</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -157,4 +157,6 @@
|
|||||||
<string name="teamjoined_txt">您已经在该群组中</string>
|
<string name="teamjoined_txt">您已经在该群组中</string>
|
||||||
<string name="know_txt">我知道了</string>
|
<string name="know_txt">我知道了</string>
|
||||||
<string name="nodate_txt">暂无数据</string>
|
<string name="nodate_txt">暂无数据</string>
|
||||||
|
<string name="chat_message_action_multi_select">多选</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -158,6 +158,7 @@
|
|||||||
<string name="know_txt">我知道了</string>
|
<string name="know_txt">我知道了</string>
|
||||||
<string name="nodate_txt">暫無數據</string>
|
<string name="nodate_txt">暫無數據</string>
|
||||||
|
|
||||||
|
<string name="chat_message_action_multi_select">多選</string>
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
~ Copyright (c) 2022 NetEase, Inc. All rights reserved.
|
||||||
|
~ Use of this source code is governed by a MIT license that can be
|
||||||
|
~ found in the LICENSE file.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/dimen_10_dp" />
|
||||||
|
<solid android:color="@color/color_ff4e54_t" />
|
||||||
|
</shape>
|
||||||
@@ -6,6 +6,8 @@
|
|||||||
<color name="color_ededef">#ededef</color>
|
<color name="color_ededef">#ededef</color>
|
||||||
<color name="color_666666">#666666</color>
|
<color name="color_666666">#666666</color>
|
||||||
<color name="color_ff4e54">#ff4e54</color>
|
<color name="color_ff4e54">#ff4e54</color>
|
||||||
|
<color name="color_ff4e54_t">#88ff4e54</color>
|
||||||
|
|
||||||
<color name="color_999999">#999999</color>
|
<color name="color_999999">#999999</color>
|
||||||
<color name="color_cccccc">#cccccc</color>
|
<color name="color_cccccc">#cccccc</color>
|
||||||
<color name="color_9e9e9e">#9e9e9e</color>
|
<color name="color_9e9e9e">#9e9e9e</color>
|
||||||
|
|||||||
Reference in New Issue
Block a user