diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 6a21942..37192d1 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -47,8 +47,8 @@ android {
applicationId = "com.hbl.lewan"
minSdk = 24
targetSdk = 33
- versionCode = 214
- versionName = "2.1.4"
+ versionCode = 215
+ versionName = "2.1.5"
multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["IMAPPKEY"] = "23c9cbddd4b876908efdccd0a6f2638d" //正式
@@ -58,8 +58,8 @@ android {
manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23"
manifestPlaceholders["JPUSH_CHANNEL"] = "developer-default"
ndk {
-// abiFilters += listOf("armeabi-v7a", "arm64-v8a")
- abiFilters += listOf("x86","x86_64","armeabi","armeabi-v7a","arm64-v8a")
+ abiFilters += listOf("armeabi-v7a", "arm64-v8a")
+// abiFilters += listOf("x86","x86_64","armeabi","armeabi-v7a","arm64-v8a")
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd3ad8f..b20f010 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -508,6 +508,13 @@
android:screenOrientation="portrait"
android:theme="@style/TransTheme"
android:windowSoftInputMode="adjustResize" />
+
+
>>() {
+ .subscribe(new BaseObserver<>() {
@Override
public void onSuccess(Result> result) {
LogUtils.i("result==" + result.code + "result.data==" + result.data.getList());
diff --git a/app/src/main/java/com/hbl/lewan/imkit/team/BaseTeamQrSettingActivity.java b/app/src/main/java/com/hbl/lewan/imkit/team/BaseTeamQrSettingActivity.java
index d0bbf98..cd25cfe 100644
--- a/app/src/main/java/com/hbl/lewan/imkit/team/BaseTeamQrSettingActivity.java
+++ b/app/src/main/java/com/hbl/lewan/imkit/team/BaseTeamQrSettingActivity.java
@@ -130,7 +130,7 @@ public abstract class BaseTeamQrSettingActivity extends BaseActivity implements
public List selectorlist = new ArrayList<>(); //邀請好友列表
- //群行动码
+ //群二维码
public ShareDateUtils shareDateUtils;
public LoginBean loginBean;
public String teamId;
@@ -489,7 +489,7 @@ public abstract class BaseTeamQrSettingActivity extends BaseActivity implements
super.onDestroy();
}
- //******************************************************群行动码处理start*****************************************************************
+ //******************************************************群二维码处理start*****************************************************************
private ImageView coloseIv;
private LinearLayout qrcodeLy;
@@ -919,7 +919,7 @@ public abstract class BaseTeamQrSettingActivity extends BaseActivity implements
}
}
- //******************************************************群行动码处理end*****************************************************************
+ //******************************************************群二维码处理end*****************************************************************
public boolean onTouchEvent(MotionEvent event) {
if (null != this.getCurrentFocus()) {
/**
diff --git a/app/src/main/java/com/hbl/lewan/imkit/team/TeamMembersList2Activity.java b/app/src/main/java/com/hbl/lewan/imkit/team/TeamMembersList2Activity.java
new file mode 100644
index 0000000..7adf689
--- /dev/null
+++ b/app/src/main/java/com/hbl/lewan/imkit/team/TeamMembersList2Activity.java
@@ -0,0 +1,639 @@
+// 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.
+
+package com.hbl.lewan.imkit.team;
+
+import static com.netease.yunxin.kit.corekit.im.utils.RouterConstant.KEY_TEAM_ID;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.View;
+import android.view.inputmethod.EditorInfo;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.hbl.lewan.R;
+import com.hbl.lewan.databinding.ActivityTeamMembers1Binding;
+import com.hbl.lewan.dialog.ActionConfirmDialog;
+import com.hbl.lewan.imkit.team.adapter.TeamMembersAdapter2;
+import com.hbl.lewan.network.Api;
+import com.hbl.lewan.network.BaseObserver;
+import com.hbl.lewan.network.Result;
+import com.hbl.lewan.utils.GsonUtils;
+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.SwitchGroupBean;
+import com.netease.yunxin.kit.chatkit.ui.model.TeamExtensionBean;
+import com.netease.yunxin.kit.common.ui.utils.ToastX;
+import com.netease.yunxin.kit.common.utils.NetworkUtils;
+import com.netease.yunxin.kit.corekit.im.IMKitClient;
+import com.netease.yunxin.kit.corekit.im.model.UserInfo;
+import com.netease.yunxin.kit.corekit.im.utils.RouterConstant;
+import com.netease.yunxin.kit.corekit.route.XKitRouter;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * 群聊成员页面 (编辑群员,群主转让那) 这快逻辑有点乱
+ */
+public class TeamMembersList2Activity extends BaseTeamQrSettingActivity {
+
+ public static final String ISMANAGER = "isManager";
+ public static final String LISTUSERINFOS = "listUserInfos";
+ public static final String TEAMINFO = "teamInfo";
+ public static final String TYPE = "type";
+ public static final String QUITE = "quite";
+ public static final String TEAMQR = "teamQr";
+ public int type; //0查看群成员,1 群主转让
+ public int quite; //0 转让退群 1 只转让
+ public boolean isRefresh = false; //是否刷新设置页
+ public boolean teamQr = true;
+ public List listSearch = new ArrayList<>();
+ public int isAllowAdd = 1;
+ List switchGroupBeans = new ArrayList<>();
+
+ public static void launch(Context context, int isManager, boolean isShowTeamQR, String teamId, List userInfos, Team team, @NonNull ActivityResultLauncher launcher) {
+ Intent intent = new Intent(context, TeamMembersList2Activity.class);
+ intent.putExtra(ISMANAGER, isManager);
+ intent.putExtra(TYPE, 0);
+ intent.putExtra(TEAMQR, isShowTeamQR);
+ intent.putExtra(KEY_TEAM_ID, teamId);
+ intent.putExtra(LISTUSERINFOS, (Serializable) userInfos);
+ intent.putExtra(TEAMINFO, (Serializable) team);
+ launcher.launch(intent);
+ }
+
+ public static void launch(Context context, int isQuit, String teamId, List userInfos, @NonNull ActivityResultLauncher launcher) {
+ Intent intent = new Intent(context, TeamMembersList2Activity.class);
+ intent.putExtra(KEY_TEAM_ID, teamId);
+ intent.putExtra(TYPE, 1);
+ intent.putExtra(QUITE, isQuit);
+ intent.putExtra(LISTUSERINFOS, (Serializable) userInfos);
+ launcher.launch(intent);
+ }
+
+
+ ActivityTeamMembers1Binding binding;
+ private int isManager = 0; // 1 群主 2 管理员
+ private Team teamInfo;
+ private String teamOwnerId; //群主id;
+
+ private TeamMembersAdapter2 membersAdapter;
+ private TeamExtensionBean extensionBean;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+// getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+// getWindow().setNavigationBarColor(getResources().getColor(com.netease.yunxin.kit.chatkit.ui.R.color.color_white));
+ isManager = getIntent().getIntExtra(ISMANAGER, 0);
+ teamInfo = (Team) getIntent().getSerializableExtra(TEAMINFO);
+ type = getIntent().getIntExtra(TYPE, 0);
+ quite = getIntent().getIntExtra(QUITE, 0);
+ List list = (List) getIntent().getSerializableExtra(LISTUSERINFOS);
+ teamQr = getIntent().getBooleanExtra(TEAMQR, true);
+
+ if (teamInfo != null) {
+ teamOwnerId = teamInfo.getCreator();
+ if (!TextUtils.isEmpty(teamInfo.getExtension())) {
+ extensionBean = GsonUtils.getObjFromJSON(teamInfo.getExtension(), TeamExtensionBean.class);
+ if (extensionBean == null) {
+ extensionBean = new TeamExtensionBean(Integer.parseInt(teamInfo.getExtension()), 0);
+ }
+ } else {
+ extensionBean = new TeamExtensionBean(1, 0);
+ }
+ isAllowAdd = extensionBean.getAllowAddFriends();
+ }
+ if (list != null && list.size() > 0) {
+
+ listmemebers.clear();
+ listmemebers.addAll(list);
+ } else {
+ if (NetworkUtils.isConnected()) {
+ showLoading();
+ //重新获取群成员
+ teammodel.getUserInfoData().observe(this, listResultInfo -> {
+ dismissLoading();
+ if (listResultInfo.getSuccess()) {
+// getTeamActiveTime();
+ List listmember = listResultInfo.getValue();
+ listmemebers.clear();
+ listmember = sortListMembers(listmember);
+ for (UserInfoWithTeam userinfo : listmember) {
+// LogUtils.i("走了333333333355555555555:"+GsonUtils.beanToJSONString(userinfo));
+
+ UserInfo userInfos = userinfo.getUserInfo();
+ userInfos.setSignature(userinfo.getTeamInfo().isMute() ? "1" : "");
+ listmemebers.add(userInfos);
+ }
+ setData();
+
+ }
+ });
+ teammodel.requestTeamMembers(teamId);
+ }
+
+ }
+ initView();
+ initData();
+ }
+
+
+ @Override
+ public View getContentView() {
+ binding = ActivityTeamMembers1Binding.inflate(getLayoutInflater());
+ return binding.getRoot();
+ }
+
+
+ Map memberMap;
+
+ public void getTeamActiveTime() {
+ if (isManager != 0 && type == 0) {
+ Api.getInstance().teamMemberActiveTime(teamId)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>>() {
+ @Override
+ public void onSuccess(Result