管理添加

显示管理尾巴
多选转发
This commit is contained in:
guozhen
2025-02-06 17:36:44 +08:00
committed by xuhuixiang
parent 9d1e398c58
commit 425bc1475e
39 changed files with 594 additions and 186 deletions

View File

@@ -47,12 +47,12 @@ android {
applicationId = "com.dskj.rbchat"
minSdk = 24
targetSdk = 34
versionCode = 202
versionName = "2.0.2"
versionCode = 203
versionName = "2.0.3"
multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" //测试
// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a" //测试
manifestPlaceholders["JPUSH_PKGNAME"] = "com.dskj.rbchat"
manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23"
@@ -101,8 +101,8 @@ android {
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
)
//正式服
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f" //正式
manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
}
@@ -126,8 +126,8 @@ android {
"\"AIzaSyB7P1o1EIA02eWoNP_7QJ9XwWe3WkSZb9k\""
)
//测试APPKEY
// manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f"
manifestPlaceholders["IMAPPKEY"] = "4cb6b0998f9e7af9d7673963e429959a"
// manifestPlaceholders["IMAPPKEY"] = "c38c8bbebf7d12992d2a361bfceb6c6f"
}

View File

@@ -1009,7 +1009,7 @@ public class UserInfoActivity extends BaseActivity {
.skipMemoryCache(false)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE);
try {
// LogUtils.i("头像地址:"+u.getUserAvatarFileName());
Glide.with(UserInfoActivity.this)
.load(u.getUserAvatarFileName())

View File

@@ -105,11 +105,24 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
public void updateView() {
super.updateView();
if (type == 1) { //转发 这ui 修改的....
shoeSignOne(true);
}
}
private void shoeSignOne(boolean b) {
if (b) {
rvSelected.setVisibility(View.GONE);
updateListView(contactListView);
updateListView(lastContactView);
updateListView(loveContactView);
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);
}
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) {
contactView
.getDecoration()
@@ -212,23 +231,43 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
}
protected void configTitle(BackTitleBar titleBar) {
if (type == 1) {
titleBar
.setOnBackIconClickListener(v -> onBackPressed())
.setTitle(R.string.select);
} else {
// if (type == 1) {
// titleBar
// .setOnBackIconClickListener(v -> onBackPressed())
// .setTitle(R.string.select);
// } else {
titleBar
.setOnBackIconClickListener(v -> onBackPressed())
.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))
.setActionListener(
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()) {
Toast.makeText(this, R.string.contact_network_error_tip, Toast.LENGTH_SHORT).show();
return;
}
List<String> select = getSelectedAccount();
List<String> selectName = getSelectedName();
if (select.size() < 1) {
Toast.makeText(this, getString(R.string.select_empty_tips), Toast.LENGTH_LONG)
.show();
@@ -240,7 +279,23 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
.show();
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()) {
@@ -256,7 +311,7 @@ public class FunContactSelectorActivity extends BaseContactSelectorActivity {
// titleBar.getTitleTextView().setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
// titleBar.getRightTextView().setTextColor(getResources().getColor(R.color.color_6b3689));
}
// }
int verticalPadding = SizeUtils.dp2px(5);
int horizontalPadding = SizeUtils.dp2px(10);
int endPadding = SizeUtils.dp2px(5);

View File

@@ -33,7 +33,12 @@ import com.dskj.rbchat.network.BaseObserver;
import com.dskj.rbchat.network.Result;
import com.dskj.rbchat.utils.GsonUtils;
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.TeamMember;
import com.netease.yunxin.kit.chatkit.model.UserInfoWithTeam;
import com.netease.yunxin.kit.chatkit.repo.ContactRepo;
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) {
//如果群不允许群内添加好友 当前登录用户不是群主以及userid 也不是群主 直接跳过
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;
}

View File

@@ -125,14 +125,28 @@ public class TeamMembersAdapter extends RecyclerView.Adapter<TeamMembersAdapter.
@Override
public void onBindViewHolder(@NonNull TeamMembersViewHolder holder, int position) {
UserInfo userInfo = members.get(position);
holder.binding.unreadTv.setVisibility(View.GONE);
if (position == 0 && isShowInvited) {
holder.binding.avatarView.setData(com.netease.yunxin.kit.contactkit.ui.R.drawable.ic_creategroup_add, "");
holder.binding.icDelete.setVisibility(View.GONE);
holder.binding.tvName.setText(mContext.getResources().getString(R.string.invcode_friend_txt));
holder.binding.tvNameActivetime.setVisibility(View.GONE);
} 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) {
TeamMember teamMember = NIMClient.getService(TeamService.class).queryTeamMemberBlock(teamId, userInfo.getAccount());
if (teamMember != null && (teamMember.getType() == TeamMemberType.Manager || teamMember.getType() == TeamMemberType.Owner)) {
holder.binding.icDelete.setVisibility(View.GONE);
} else {

View File

@@ -95,9 +95,9 @@ public class WelcomeActivity extends BaseActivity {
ALog.d(Constant.PROJECT_TAG, TAG, "onCreateView");
//getWindow().setNavigationBarColor(getResources().getColor(R.color.color_white));
// 设置全屏
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// requestWindowFeature(Window.FEATURE_NO_TITLE);
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
// WindowManager.LayoutParams.FLAG_FULLSCREEN);
IMApplication.setColdStart(true);
activityWelcomeBinding = ActivityWelcomeBinding.inflate(getLayoutInflater());
setContentView(activityWelcomeBinding.getRoot());

View File

@@ -299,6 +299,7 @@
<View
android:layout_width="@dimen/dp_1"
android:layout_height="@dimen/dp_20"
android:visibility="gone"
android:layout_gravity="center_vertical"
android:background="#49B78C8C" />
@@ -366,7 +367,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -404,7 +405,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -431,7 +432,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -480,7 +481,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -518,7 +519,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -551,7 +552,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -615,7 +616,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -655,7 +656,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
@@ -688,7 +689,7 @@
<View
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_height="1px"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />

View File

@@ -33,7 +33,7 @@
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
@@ -43,10 +43,27 @@
android:textSize="@dimen/text_size_16"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/tv_name_activetime"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/avatar_view"
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
android:id="@+id/tv_name_activetime"
android:layout_width="wrap_content"

View File

@@ -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_succ_toast">Added successfully</string>
<string name="str_teammanager_add_not_toast">Please select an administrator</string>
<string name="chat_message_action_multi_select">Multi-select</string>
</resources>

View File

@@ -7,7 +7,7 @@
<resources>
<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_desc">真正穩定的IM 雲端服務</string>
@@ -330,7 +330,7 @@
<string name="aihistory_clean">クリア</string>
<string name="aihistory_title">Q&amp;A履歴をクリアしてもよろしいですか?</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.
I can naturally communicate with humans, answer questions, and efficiently complete the cognitive intelligence needs in various fields</string>
<string name="aihint_txt">ちょっと、そこ!私はあなたの新しい友達シャオ・メンです</string>
@@ -346,6 +346,7 @@
<string name="nmhmylg_txt">まだ話していませんね~</string>
<string name="myltjl_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="jifen_txt">ポイント</string>
<string name="silver_coins_txt">銀貨</string>
@@ -360,6 +361,7 @@
<string name="danwei_txt">パソコン</string>
<string name="remarks_hit_txt">お金持ちになり、幸運を祈ります</string>
<string name="send_in_redenvelope_txt1">赤い封筒に金貨を入れます</string>
<string name="send_in_lipinjifen_txt1">ギフトポイントを赤い封筒に詰める</string>
<string name="send_in_redtype_txt1">赤い封筒に金貨を詰める</string>
<string name="no_get_to_back_txt">未受領のお年玉は、24時間以内に返却されます</string>
<string name="zhuanzhangobject_txt">クリックして転送オブジェクトを選択します</string>
@@ -887,7 +889,7 @@
<string name="userphoto_dialog_movetitle">他のアルバムに移動</string>
<string name="userphoto_dialog_notfriendtitle">このアルバムは友達のみ閲覧可能に設定されています。閲覧するには友達リクエストを送信してください。</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_jifengshangcheng">ポイントモールに関する質問</string>
<string name="kefu_select_hezuo">協力業者に関する質問</string>
@@ -920,4 +922,8 @@
<string name="str_teammanager_add_succ_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>

View File

@@ -3,4 +3,6 @@
<string name="ps_message_max_num">最多只能选择%1$s张照片或视频</string>
<string name="chat_message_action_multi_select">多选</string>
</resources>

View File

@@ -921,5 +921,6 @@
<string name="str_teammanager_add_faile_toast">管理員最多可設置5個</string>
<string name="str_teammanager_add_succ_toast">添加成功</string>
<string name="str_teammanager_add_not_toast">請選擇管理員</string>
<string name="chat_message_action_multi_select">多選</string>
</resources>

View File

@@ -915,6 +915,7 @@
<string name="str_teammanager_add_faile_toast">管理员最多可设置5个</string>
<string name="str_teammanager_add_succ_toast">添加成功</string>
<string name="str_teammanager_add_not_toast">请选择管理员</string>
<string name="chat_message_action_multi_select">多选</string>
</resources>

View File

@@ -129,13 +129,13 @@
<item name="android:windowTranslucentNavigation">false</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:enforceNavigationBarContrast" tools:ignore="NewApi">false</item>
<!-- 标题栏颜色 -->
<item name="colorPrimary">@color/white</item>
<!-- 状态栏颜色 -->
<item name="colorPrimaryDark">@color/white</item>
<!-- 标题栏文字颜色 -->
<item name="colorAccent">@color/black</item>
<item name="android:windowBackground">@mipmap/ic_welcome_bg</item>
</style>
<!-- 注意当前AppTheme主题在values-v23存在另一个样式。原因是Android 6以下系统不支持设置