第N+6次提交专属红包

This commit is contained in:
xuhuixiang
2025-05-13 16:22:51 +08:00
parent 4df5ff4605
commit b6bd7ed0af
92 changed files with 2324 additions and 433 deletions

View File

@@ -47,8 +47,8 @@ android {
applicationId = "com.hbl.lewan" applicationId = "com.hbl.lewan"
minSdk = 24 minSdk = 24
targetSdk = 33 targetSdk = 33
versionCode = 214 versionCode = 215
versionName = "2.1.4" versionName = "2.1.5"
multiDexEnabled = true multiDexEnabled = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["IMAPPKEY"] = "23c9cbddd4b876908efdccd0a6f2638d" //正式 manifestPlaceholders["IMAPPKEY"] = "23c9cbddd4b876908efdccd0a6f2638d" //正式
@@ -58,8 +58,8 @@ android {
manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23" manifestPlaceholders["JPUSH_APPKEY"] = "9041bc22de91e3d9af3cfd23"
manifestPlaceholders["JPUSH_CHANNEL"] = "developer-default" manifestPlaceholders["JPUSH_CHANNEL"] = "developer-default"
ndk { ndk {
// abiFilters += listOf("armeabi-v7a", "arm64-v8a") abiFilters += listOf("armeabi-v7a", "arm64-v8a")
abiFilters += listOf("x86","x86_64","armeabi","armeabi-v7a","arm64-v8a") // abiFilters += listOf("x86","x86_64","armeabi","armeabi-v7a","arm64-v8a")
} }

View File

@@ -508,6 +508,13 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/TransTheme" android:theme="@style/TransTheme"
android:windowSoftInputMode="adjustResize" /> android:windowSoftInputMode="adjustResize" />
<activity
android:name=".imkit.team.TeamMembersList2Activity"
android:exported="true"
android:finishOnTaskLaunch="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity <activity
android:name=".imkit.team.TeamManagerActivity" android:name=".imkit.team.TeamManagerActivity"
android:exported="true" android:exported="true"

View File

@@ -29,9 +29,12 @@ import com.netease.yunxin.kit.chatkit.ui.custom.TransferViewHolder;
import com.netease.yunxin.kit.chatkit.ui.custom.UserAlbumsAttachment; import com.netease.yunxin.kit.chatkit.ui.custom.UserAlbumsAttachment;
import com.netease.yunxin.kit.chatkit.ui.custom.UserAlbumsViewHolder; import com.netease.yunxin.kit.chatkit.ui.custom.UserAlbumsViewHolder;
import com.netease.yunxin.kit.chatkit.ui.view.message.MessageProperties; import com.netease.yunxin.kit.chatkit.ui.view.message.MessageProperties;
import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.contactkit.ui.ContactUIConfig; import com.netease.yunxin.kit.contactkit.ui.ContactUIConfig;
import com.netease.yunxin.kit.conversationkit.ui.ConversationKitClient; import com.netease.yunxin.kit.conversationkit.ui.ConversationKitClient;
import com.netease.yunxin.kit.conversationkit.ui.ConversationUIConfig; import com.netease.yunxin.kit.conversationkit.ui.ConversationUIConfig;
import com.netease.yunxin.kit.conversationkit.ui.ItemClickListener;
import com.netease.yunxin.kit.conversationkit.ui.model.ConversationBean;
public class CustomConfig { public class CustomConfig {
@@ -279,34 +282,33 @@ public class CustomConfig {
// conversationUIConfig.itemStickTopBackground = new ColorDrawable(Color.RED); // conversationUIConfig.itemStickTopBackground = new ColorDrawable(Color.RED);
// conversationUIConfig.avatarCornerRadius = 30f; // conversationUIConfig.avatarCornerRadius = 30f;
// conversationUIConfig.itemClickListener = // conversationUIConfig.itemClickListener =
// new ItemClickListener() { // new ItemClickListener() {
// @Override // @Override
// public boolean onClick(Context context, ConversationBean data, int position) { // public boolean onClick(Context context, ConversationBean data, int position) {
// //
// ToastX.showShortToast("onClick"); // ToastX.showShortToast("onClick");
// return false; // return false;
// } // }
// //
// @Override // @Override
// public boolean onAvatarClick(Context context, ConversationBean data, int position) { // public boolean onAvatarClick(Context context, ConversationBean data, int position) {
// ToastX.showShortToast("onAvatarClick"); // ToastX.showShortToast("onAvatarClick");
// return false; // return false;
// } // }
// //
// @Override // @Override
// public boolean onLongClick(Context context, ConversationBean data, int position) { // public boolean onLongClick(Context context, ConversationBean data, int position) {
// ToastX.showShortToast("onLongClick"); // ToastX.showShortToast("onLongClick");
// return false; // return false;
// } // }
// //
// @Override // @Override
// public boolean onAvatarLongClick(Context context, ConversationBean data, int // public boolean onAvatarLongClick(Context context, ConversationBean data, int position) {
// position) { // ToastX.showShortToast("onAvatarLongClick");
// ToastX.showShortToast("onAvatarLongClick"); // return false;
// return false; // }
// } // };
// };
// conversationUIConfig.conversationCustom = new ConversationCustom(){ // conversationUIConfig.conversationCustom = new ConversationCustom(){
// @Override // @Override

View File

@@ -40,7 +40,7 @@ public class IMUIKitConfig {
// public static String ONLINE_PAYMENT_URL = "https://admin.bijr3t.com/#/appPay"; // public static String ONLINE_PAYMENT_URL = "https://admin.bijr3t.com/#/appPay";
/** /**
* 分享落地页行动码地址 * 分享落地页二维码地址
*/ */
// public static String SHARE_INVCODE = "http://qtalk666.top/#/download?code=%s"; // public static String SHARE_INVCODE = "http://qtalk666.top/#/download?code=%s";
public static String SHARE_INVCODE = "https://admin.bijr3t.com/#/downLoad?code=%s&userId=%s"; public static String SHARE_INVCODE = "https://admin.bijr3t.com/#/downLoad?code=%s&userId=%s";
@@ -51,17 +51,17 @@ public class IMUIKitConfig {
public static String SHARE_INVCODE_START = "https://admin.bijr3t.com/#/downLoad"; public static String SHARE_INVCODE_START = "https://admin.bijr3t.com/#/downLoad";
/*** /***
* 分享用户ID 行动 * 分享用户ID 二维
*/ */
// public static String SHARE_ADD_USER = "time_go_mm://add_user/%s"; // public static String SHARE_ADD_USER = "time_go_mm://add_user/%s";
/*** /***
* 分享用户ID 行动 * 分享用户ID 二维
*/ */
public static String SHARE_ADD_USER = SHARE_INVCODE; public static String SHARE_ADD_USER = SHARE_INVCODE;
/** /**
* 分享群ID 行动 * 分享群ID 二维
*/ */
public static String SHARE_JOIN_GROUP = "time_go_mm://join_group/%s"; public static String SHARE_JOIN_GROUP = "time_go_mm://join_group/%s";

View File

@@ -754,7 +754,7 @@ public class UserInfoActivity extends BaseActivity {
if (TextUtils.equals(userInfo.getAccount(), accId)) { if (TextUtils.equals(userInfo.getAccount(), accId)) {
if (userInfoData != null) { if (userInfoData != null) {
userInfoData.data = userInfo; userInfoData.data = userInfo;
LogUtils.i("获取到的用户信息1" + GsonUtils.beanToJSONString(userInfoData)); // LogUtils.i("获取到的用户信息1" + GsonUtils.beanToJSONString(userInfoData));
// contactInfoView.setData(userInfoData); // contactInfoView.setData(userInfoData);
} }

View File

@@ -68,6 +68,7 @@ import com.hbl.lewan.model.LoginBean;
import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts; import androidx.activity.result.contract.ActivityResultContracts;
import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia.ImageOnly;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
@@ -1645,7 +1646,7 @@ public class JsBridgeActivity extends BaseActivity {
// LogUtils.i("回调数据:"+result1); // LogUtils.i("回调数据:"+result1);
QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(result1); QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(result1);
// 2维码内容前缀形如“time_go_mm://add_user/”) // 2维码内容前缀形如“time_go_mm://add_user/”)
LogUtils.i("行动码是啥111" + GsonUtils.beanToJSONString(qrData)); LogUtils.i("二维码是啥111" + GsonUtils.beanToJSONString(qrData));
//{"scheme":"time_go_mm://payment_bead/","userId":"10","value":"388a762b474f944b"} //{"scheme":"time_go_mm://payment_bead/","userId":"10","value":"388a762b474f944b"}
String scheme = qrData.getScheme(); String scheme = qrData.getScheme();
@@ -1680,7 +1681,7 @@ public class JsBridgeActivity extends BaseActivity {
} }
} else { } else {
// errCode("无效的行动码"); // errCode("无效的二维码");
errCode(getString(R.string.qrcode_scan_activity_not_surpport_qrcontent)); errCode(getString(R.string.qrcode_scan_activity_not_surpport_qrcontent));
} }

View File

@@ -98,7 +98,7 @@ public class FunAddFriendActivity extends BaseAddFriendActivity implements BaseA
Api.getInstance().userSearch(maps) Api.getInstance().userSearch(maps)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<ListBeanResult<LoginBean>>>() { .subscribe(new BaseObserver<>() {
@Override @Override
public void onSuccess(Result<ListBeanResult<LoginBean>> result) { public void onSuccess(Result<ListBeanResult<LoginBean>> result) {
LogUtils.i("result==" + result.code + "result.data==" + result.data.getList()); LogUtils.i("result==" + result.code + "result.data==" + result.data.getList());

View File

@@ -130,7 +130,7 @@ public abstract class BaseTeamQrSettingActivity extends BaseActivity implements
public List<String> selectorlist = new ArrayList<>(); //邀請好友列表 public List<String> selectorlist = new ArrayList<>(); //邀請好友列表
//群行动 //群二维
public ShareDateUtils shareDateUtils; public ShareDateUtils shareDateUtils;
public LoginBean loginBean; public LoginBean loginBean;
public String teamId; public String teamId;
@@ -489,7 +489,7 @@ public abstract class BaseTeamQrSettingActivity extends BaseActivity implements
super.onDestroy(); super.onDestroy();
} }
//******************************************************群行动码处理start***************************************************************** //******************************************************群二维码处理start*****************************************************************
private ImageView coloseIv; private ImageView coloseIv;
private LinearLayout qrcodeLy; private LinearLayout qrcodeLy;
@@ -919,7 +919,7 @@ public abstract class BaseTeamQrSettingActivity extends BaseActivity implements
} }
} }
//******************************************************群行动码处理end***************************************************************** //******************************************************群二维码处理end*****************************************************************
public boolean onTouchEvent(MotionEvent event) { public boolean onTouchEvent(MotionEvent event) {
if (null != this.getCurrentFocus()) { if (null != this.getCurrentFocus()) {
/** /**

View File

@@ -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<UserInfo> listSearch = new ArrayList<>();
public int isAllowAdd = 1;
List<SwitchGroupBean> switchGroupBeans = new ArrayList<>();
public static void launch(Context context, int isManager, boolean isShowTeamQR, String teamId, List<UserInfo> userInfos, Team team, @NonNull ActivityResultLauncher<Intent> 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<UserInfo> userInfos, @NonNull ActivityResultLauncher<Intent> 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<UserInfo> list = (List<UserInfo>) 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<UserInfoWithTeam> 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<String, Long> memberMap;
public void getTeamActiveTime() {
if (isManager != 0 && type == 0) {
Api.getInstance().teamMemberActiveTime(teamId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<Map<String, Long>>>() {
@Override
public void onSuccess(Result<Map<String, Long>> feedbackResp) {
// LogUtils.d("dddd" + feedbackResp.data);
// LogUtils.i("走了333333333366666666");
memberMap = feedbackResp.data;
listmemebers.remove(0);
listmemebers = sortListByActivieTime(listmemebers);
listmemebers.add(0, IMKitClient.getUserInfo());
membersAdapter.setData(listmemebers, false, memberMap, teamId);
}
@Override
public void onError(int code, String msg) {
ToastX.showShortToast(msg);
}
});
}
}
//排序成员
public List<UserInfo> sortListByActivieTime(List<UserInfo> teamMemberlist) {
List<UserInfo> resultlist = new ArrayList<>();
Set<String> keys = memberMap.keySet();
if (!keys.isEmpty()) {
for (String id : keys) {
for (UserInfo userInfo : teamMemberlist) {
if (userInfo.getAccount().equals(id)) {
resultlist.add(userInfo);
}
}
}
}
return resultlist;
}
public void setData() {
if (type == 0) {
// listmemebers.add(0, IMKitClient.getUserInfo());
membersAdapter.setData(listmemebers, false, memberMap, teamId);
// binding.tvteammembers.setText(getString(com.netease.yunxin.kit.contactkit.ui.R.string.fun_creategroup_members, listmemebers.size() - 1));
} else { //不能编辑 转让
for (int i = 0; i < listmemebers.size(); i++) {
if (listmemebers.get(i).getAccount().equals(IMKitClient.account())) {
listmemebers.remove(i);
}
}
// binding.tvteammembers.setText(getString(com.netease.yunxin.kit.contactkit.ui.R.string.fun_creategroup_members, listmemebers.size()));
membersAdapter.setEdit(false);
membersAdapter.setData(listmemebers, false, memberMap, teamId);
}
binding.rvMembers.setAdapter(membersAdapter);
}
public void initView() {
initTitleView();
LinearLayoutManager layoutManager =
new LinearLayoutManager(this, RecyclerView.VERTICAL, false);
binding.rvMembers.setLayoutManager(layoutManager);
membersAdapter = new TeamMembersAdapter2(this, type);
setData();
membersAdapter.setItemClickListener(new TeamMembersAdapter2.ItemClickListener() {
@Override
public void onItemClick(UserInfo item, int position) {
}
@Override
public void onAddClick(UserInfo item, int position) {
startUserInfoActivity(item.getAccount(), teamId);
}
@Override
public void onSwithType(UserInfo userInfo, int position, boolean isGrab, int allowGrab, int allowSend) {
groupSwitch(position, userInfo.getAccount(), allowSend, allowGrab);
}
});
binding.editSelectorFriends.setOnEditorActionListener((textView, actionId, keyEvent) ->
{
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
String search = textView.getEditableText().toString();
//搜索好友
List<UserInfo> listSearchResult = searchName(search);
listSearch.clear();
listSearch.addAll(listSearchResult);
if (listSearch.size() > 0) {
membersAdapter.refreshData(listSearch, false);
// binding.tvteammembers.setText(getString(com.netease.yunxin.kit.contactkit.ui.R.string.fun_creategroup_members, listSearch.size()));
}
}
return false;
});
binding.editSelectorFriends.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (TextUtils.isEmpty(editable.toString())) {
binding.icCleanEdit.setVisibility(View.GONE);
// membersAdapter.setEdit(false);
// binding.title.setActionText(R.string.teammember_edit);
// listmemebers.add(0, IMKitClient.getUserInfo());
membersAdapter.refreshData(listmemebers, type == 0);
// binding.tvteammembers.setText(getString(com.netease.yunxin.kit.contactkit.ui.R.string.fun_creategroup_members, listmemebers.size() - 1));
} else {
binding.icCleanEdit.setVisibility(View.VISIBLE);
}
}
});
binding.icCleanEdit.setOnClickListener(view -> binding.editSelectorFriends.setText(""));
}
public void startUserInfoActivity(String userid, String teamId) {
if (isManager == 1 || isManager == 2) {
XKitRouter.withKey(RouterConstant.PATH_USER_INFO_PAGE)
.withContext(TeamMembersList2Activity.this)
.withParam(RouterConstant.KEY_ACCOUNT_ID_KEY, IMKitClient.account())
.withParam("userId", userid)
.withParam("teamId", teamId)
.withParam("isGroup", true)
.navigate();
return;
}
//如果群不允许群内添加好友 当前登录用户不是群主以及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(TeamMembersList2Activity.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;
}
XKitRouter.withKey(RouterConstant.PATH_USER_INFO_PAGE)
.withContext(TeamMembersList2Activity.this)
.withParam(RouterConstant.KEY_ACCOUNT_ID_KEY, IMKitClient.account())
.withParam("userId", userid)
.withParam("teamId", teamId)
.withParam("isGroup", true)
.navigate();
}
public void initData() {
teammodel.getRemoveMembersData().observe(
this,
voidResultInfo -> {
if (voidResultInfo.getSuccess()) {
//移除群成员成功 变量太多
List<UserInfo> userInfos = new ArrayList<>();
List<Integer> list = membersAdapter.getSelectedInt();
for (int i = 0; i < list.size(); i++) {
userInfos.add(membersAdapter.getData().get(list.get(i)));
}
for (int i = 0; i < userInfos.size(); i++) {
UserInfo userInfo = userInfos.get(i);
// int searchIndex = listSearch.indexOf(userInfo);
// if (searchIndex >= 0) { //通过搜索列表删除的
// listSearch.remove(searchIndex);
// }
int indexSelector = selectorlist.indexOf(userInfo.getAccount());
int indexMembers = listmemebers.indexOf(userInfo);
if (indexSelector >= 0) {
selectorlist.remove(indexSelector); //成员有变化 ,邀请 选中的人数就有变化(都是好友)
}
if (indexMembers >= 0) {
listmemebers.remove(indexMembers);
}
}
// LogUtils.d("删除结束 " + listmemebers.size());
// binding.tvteammembers.setText(getString(com.netease.yunxin.kit.contactkit.ui.R.string.fun_creategroup_members, listmemebers.size() - 1));
isRefresh = true;
setTitleEdit(listmemebers, true, R.string.teammember_edit);
binding.editSelectorFriends.setText("");
//刪除的
// if (deletePosition >= 0) {
// if (listSearch.size() == deletePosition || listmemebers.size() == deletePosition) {
// deletePosition = deletePosition - 1;
// }
//// if (listSearch.size() == 0 && listmemebers.size() == deletePosition) {
//// deletePosition = deletePosition - 1;
//// }
// UserInfo userInfo;
// if (listSearch.size() > 0) {
// userInfo = listSearch.get(deletePosition);
// listSearch.remove(deletePosition);
// membersAdapter.removeData(deletePosition);
// deletePosition = listmemebers.indexOf(userInfo);
// } else {
// membersAdapter.removeData(deletePosition);
// }
// binding.tvteammembers.setText(getString(com.netease.yunxin.kit.contactkit.ui.R.string.fun_creategroup_members, membersAdapter.getData().size()));
// selectorlist.remove(listmemebers.get(deletePosition).getAccount());
// listmemebers.remove(deletePosition);
// isRefresh = true;
// }
}
});
teammodel.getUserInfoData().observe(this, listResultInfo -> {
if (listResultInfo.getSuccess()) {
memberMap = null;
// getTeamActiveTime();
List<UserInfoWithTeam> list = listResultInfo.getValue();
//邀请成功 获取用户信息
selectorlist.clear();
listmemebers.clear();
listmemebers.add(IMKitClient.getUserInfo());
for (UserInfoWithTeam userinfo : list) {
// LogUtils.i("走了3333333333444444444"+GsonUtils.beanToJSONString(userinfo));
selectorlist.add(userinfo.getUserInfo().getAccount());
UserInfo userInfos = userinfo.getUserInfo();
userInfos.setSignature(userinfo.getTeamInfo().isMute() ? "1" : "");
listmemebers.add(userInfos);
// listmemebers.add(userinfo.getUserInfo());
}
membersAdapter.setData(listmemebers, false, memberMap, teamId);
isRefresh = true;
// binding.tvteammembers.setText(getString(com.netease.yunxin.kit.contactkit.ui.R.string.fun_creategroup_members, listmemebers.size() - 1));
}
});
if (listmemebers != null) {
for (UserInfo userInfo : listmemebers) {
selectorlist.add(userInfo.getAccount());
}
}
teammodel.getQuitTeamData().observe(this, voidResultInfo -> {
if (voidResultInfo.getSuccess()) {
//成功
showTransferDialog(true, "");
} else {
showTransferDialog(false, voidResultInfo.getMsg().getMessage());
}
});
getTeamSwiches();
}
private void getTeamSwiches() {
com.netease.yunxin.kit.chatkit.ui.network.Api.getInstance().groupSwitches(teamId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new com.netease.yunxin.kit.chatkit.ui.network.BaseObserver<>() {
@Override
public void onSuccess(com.netease.yunxin.kit.chatkit.ui.network.Result<List<SwitchGroupBean>> feedbackResp) {
switchGroupBeans = feedbackResp.data;
membersAdapter.notifyDataSetChanged();
}
@Override
public void onError(int code, String msg) {
}
});
}
private void getTeamSwiches(int index) {
com.netease.yunxin.kit.chatkit.ui.network.Api.getInstance().groupSwitches(teamId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new com.netease.yunxin.kit.chatkit.ui.network.BaseObserver<>() {
@Override
public void onSuccess(com.netease.yunxin.kit.chatkit.ui.network.Result<List<SwitchGroupBean>> feedbackResp) {
switchGroupBeans = feedbackResp.data;
membersAdapter.notifyItemChanged(index);
}
@Override
public void onError(int code, String msg) {
}
});
}
public boolean getSwitchValue(Long userId, boolean isGrad) {
if (switchGroupBeans != null && switchGroupBeans.size() > 0) {
boolean isIn = false;
for (SwitchGroupBean s : switchGroupBeans) {
if (userId.equals(s.getUserUid())) {
isIn = true;
if (isGrad) {
return s.getAllowGrab() == 1;
} else {
return s.getAllowSend() == 1;
}
}
}
if (!isIn) {
if (isGrad) {
return false;
} else {
return true;
}
}
}
if (isGrad) {
return false;
} else {
return true;
}
}
private void groupSwitch(int index, String Uid, int allowSend, int allowGrab) {
Map<String, Object> map = new HashMap<>();
map.put("uid", Uid);
map.put("allowSend", allowSend);
map.put("allowGrab", allowGrab);
map.put("groupId", teamId);
Api.getInstance().groupSwitch(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result>() {
@Override
public void onSuccess(Result feedbackResp) {
getTeamSwiches(index);
}
@Override
public void onError(int code, String msg) {
}
});
}
private boolean isRemove = false;
private void initTitleView() {
// binding.title.setTitle(com.netease.yunxin.kit.contactkit.ui.R.string.select);
// binding.title.getBackImageView().setImageResource(com.netease.yunxin.kit.contactkit.ui.R.drawable.ic_dialog_close);
binding.title.getBackImageView().setOnClickListener(v -> {
finish();
});
}
public void setTitleEdit(List<UserInfo> listmember, boolean isEdit, int actionText) {
// binding.title.setActionText(actionText);
membersAdapter.setEdit(!isEdit);
membersAdapter.getSelectedInt().clear();
membersAdapter.setData(listmember, false, memberMap, teamId);
}
public void showTransferDialog(boolean isSuccess, String value) {
ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(this, isSuccess ? getString(R.string.transfer_success)
: (TextUtils.isEmpty(value) ? getString(R.string.transfer_fail) : getString(R.string.transfer_failmsg, value)), false);
actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
if (isSuccess) {
//回调结果
quite = 2;
setActivityResult();
} else {
actionConfirmDialog.dismiss();
}
}
@Override
public void toCancel() {
}
});
actionConfirmDialog.show();
}
public void setActivityResult() {
Intent intent = new Intent();
intent.putExtra(TYPE, type);
intent.putExtra(QUITE, quite);
setResult(RESULT_OK, intent);
finish();
}
public List<UserInfo> searchName(String key) {
List<UserInfo> listSearch = new ArrayList<>();
List<UserInfo> result = new ArrayList<>();
result.addAll(listmemebers);
if (result.size() >= 2 && (result.get(0).getAccount().equals(result.get(1).getAccount()))) { //因为邀请好友icon
result.remove(result.get(0));
}
for (UserInfo userInfo : result) {
String name = getAlias(userInfo);
if (name.contains(key)) {
listSearch.add(userInfo);
}
}
return listSearch;
}
public String getAlias(UserInfo userInfo) {
String name = userInfo.getName();
if (ContactRepo.isFriend(userInfo.getAccount())) {
String alias = ContactRepo.getFriend(userInfo.getAccount()).getAlias();
return TextUtils.isEmpty(alias) ? name : alias;
}
return name;
}
}

View File

@@ -26,6 +26,7 @@ import com.hbl.lewan.contact.ReportActivity;
import com.hbl.lewan.databinding.ActivityBaseChatsettingBinding; import com.hbl.lewan.databinding.ActivityBaseChatsettingBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog; import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.model.TeamUpdateEvent; import com.hbl.lewan.model.TeamUpdateEvent;
import com.hbl.lewan.redpack.SendRedPacketActivity;
import com.hbl.lewan.utils.GsonUtils; import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils; import com.hbl.lewan.utils.LogUtils;
import com.hbl.lewan.widget.CircleImageView; import com.hbl.lewan.widget.CircleImageView;
@@ -65,6 +66,8 @@ public class TeamSettingActivity extends BaseTeamQrSettingActivity {
protected TeamMember teamMember; protected TeamMember teamMember;
private boolean isOpenNotify = true; private boolean isOpenNotify = true;
private ActivityResultLauncher launcher; private ActivityResultLauncher launcher;
private ActivityResultLauncher launcher1;
private boolean isTeamShow; private boolean isTeamShow;
private boolean isUpdateTeam = false; private boolean isUpdateTeam = false;
@@ -101,6 +104,11 @@ public class TeamSettingActivity extends BaseTeamQrSettingActivity {
} }
} }
}); });
launcher1 = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
if (result.getResultCode() == Activity.RESULT_OK) {
}
});
} }
public void updateTeamData() { public void updateTeamData() {
@@ -155,6 +163,17 @@ public class TeamSettingActivity extends BaseTeamQrSettingActivity {
intent.putExtra("teamId",teamId); intent.putExtra("teamId",teamId);
startActivity(intent); startActivity(intent);
}); });
binding.flhbkz.setOnClickListener(v -> {
int manager = 0;
if (teamMember.getType() == TeamMemberType.Owner) {
manager = 1;
}
if (teamMember.getType() == TeamMemberType.Manager) {
manager = 2;
}
TeamMembersList2Activity.launch(TeamSettingActivity.this, manager, false, teamId, listmemebers, teamInfo, launcher1);
});
} }
private void getChatList() { private void getChatList() {
@@ -369,8 +388,11 @@ public class TeamSettingActivity extends BaseTeamQrSettingActivity {
if(teamMember.getType() == TeamMemberType.Owner||teamMember.getType() == TeamMemberType.Manager){ if(teamMember.getType() == TeamMemberType.Owner||teamMember.getType() == TeamMemberType.Manager){
binding.fljinyan.setVisibility(View.VISIBLE); binding.fljinyan.setVisibility(View.VISIBLE);
binding.flhbkz.setVisibility(View.VISIBLE);
}else { }else {
binding.fljinyan.setVisibility(View.GONE); binding.fljinyan.setVisibility(View.GONE);
binding.flhbkz.setVisibility(View.GONE);
} }
} }

View File

@@ -0,0 +1,340 @@
// 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.adapter;
import android.content.Context;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewbinding.ViewBinding;
import com.hbl.lewan.R;
import com.hbl.lewan.databinding.TeamMembersViewHolder2Binding;
import com.hbl.lewan.imkit.team.TeamMembersList2Activity;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.team.TeamService;
import com.netease.nimlib.sdk.team.constant.TeamMemberType;
import com.netease.nimlib.sdk.team.model.TeamMember;
import com.netease.yunxin.kit.chatkit.repo.ContactRepo;
import com.netease.yunxin.kit.corekit.im.model.UserInfo;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
// 群组成员列表
public class TeamMembersAdapter2 extends RecyclerView.Adapter<TeamMembersAdapter2.TeamMembersViewHolder> {
protected List<UserInfo> members;
private Context mContext;
private boolean isShowInvited = true;
private boolean isEdit = false;
private int mType; //
private int selectpostion = -1;
private Map<String, Long> mapTime;
private List<Integer> selectedInt = new ArrayList<>(); //多选position
private String teamId;
TeamMembersList2Activity teamMembersList2Activity;
public TeamMembersAdapter2(Context context, int type) {
members = new ArrayList<>();
mContext = context;
mType = type;
teamMembersList2Activity = (TeamMembersList2Activity) context;
}
protected TeamMembersAdapter2.ItemClickListener itemClickListener;
public void setItemClickListener(TeamMembersAdapter2.ItemClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}
public void setData(List<UserInfo> list, boolean isShow, Map<String, Long> mapActiveTime, String teamId) {
members.clear();
members.addAll(list);
selectedInt.clear();
isShowInvited = isShow;
mapTime = mapActiveTime;
this.teamId = teamId;
notifyDataSetChanged();
}
public void setEdit(boolean edit) {
isEdit = edit;
}
public boolean isEdit() {
return isEdit;
}
public int getSelectpostion() {
return selectpostion;
}
public void refreshData(List<UserInfo> list, boolean isInvited) {
isShowInvited = isInvited;
selectpostion = -1;
members.clear();
members.addAll(list);
notifyDataSetChanged();
}
public List<Integer> getSelectedInt() {
return selectedInt;
}
// public void addData(List<UserInfo> list) {
// int initsize = members.size();
// members.addAll(list);
// notifyItemRangeChanged(initsize, list.size());
// }
public void removeData(int position) {
members.remove(position);
notifyItemRemoved(position);
}
public List<UserInfo> getData() {
return members;
}
@NonNull
@Override
public TeamMembersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new TeamMembersViewHolder(TeamMembersViewHolder2Binding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
}
@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) {
if (teamMember != null && (teamMember.getType() == TeamMemberType.Manager || teamMember.getType() == TeamMemberType.Owner)) {
holder.binding.icDelete.setVisibility(View.GONE);
} else {
holder.binding.icDelete.setVisibility(View.VISIBLE);
}
if (selectedInt.indexOf(position) >= 0) {
holder.binding.icDelete.setBackgroundResource(R.mipmap.dialog_gou_t);
} else {
holder.binding.icDelete.setBackgroundResource(R.mipmap.dialog_gou_ff);
}
// holder.binding.icDelete.setVisibility(userInfo.getAccount().equals(IMKitClient.account()) ? View.GONE : View.VISIBLE);
} else if (mType == 1) {
if (selectpostion >= 0 && position == selectpostion) {
holder.binding.icDelete.setBackgroundResource(R.mipmap.dialog_gou_tt);
} else {
holder.binding.icDelete.setBackgroundResource(R.drawable.bg_d8d8d8_singleunselector);
}
holder.binding.icDelete.setVisibility(View.VISIBLE);
} else {
holder.binding.icDelete.setVisibility(View.GONE);
}
String avaterurl = userInfo.getAvatar();
if (TextUtils.isEmpty(avaterurl)) {
holder.binding.avatarView.setData(R.mipmap.default_head_img, userInfo.getName(), 0);
} else {
holder.binding.avatarView.setData(avaterurl, userInfo.getName());
}
String name = userInfo.getName();
if (ContactRepo.isFriend(userInfo.getAccount())) {
String alias = ContactRepo.getFriend(userInfo.getAccount()).getAlias();
if (!TextUtils.isEmpty(alias)) {
name = alias;
}
}
holder.binding.tvName.setText(name);
if (mapTime != null && mapTime.size() > 0) {
holder.binding.tvNameActivetime.setVisibility(View.VISIBLE);
holder.binding.tvNameActivetime.setTextColor(Color.parseColor("#FE6881"));
holder.binding.tvNameActivetime.setBackgroundResource(R.drawable.cornor_stroke_fe6881_2dp);
String time = parseTimeLong(holder.binding.tvNameActivetime, mapTime.get(userInfo.getAccount()));
holder.binding.tvNameActivetime.setText(time);
} else {
holder.binding.tvNameActivetime.setVisibility(View.GONE);
}
holder.binding.jinyanIv.setVisibility(View.GONE);
if(!TextUtils.isEmpty(userInfo.getSignature())&&userInfo.getSignature().equals("1")){
holder.binding.jinyanIv.setVisibility(View.VISIBLE);
}
}
holder.binding.avatarView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemClickListener != null) {
itemClickListener.onAddClick(userInfo, position);
}
}
});
holder.binding.shouhongbaoSwitch.setOnClickListener(v -> {
if (itemClickListener != null) {
itemClickListener.onSwithType(userInfo, position,true,
holder.binding.shouhongbaoSwitch.isChecked()?1:0,holder.binding.fahongbaoSwitch.isChecked()?1:0);
}
});
holder.binding.fahongbaoSwitch.setOnClickListener(v -> {
if (itemClickListener != null) {
itemClickListener.onSwithType(userInfo, position,false,
holder.binding.shouhongbaoSwitch.isChecked()?1:0,holder.binding.fahongbaoSwitch.isChecked()?1:0);
}
});
holder.binding.fahongbaoSwitch.setChecked(teamMembersList2Activity.getSwitchValue(Long.parseLong(userInfo.getAccount()),false));
holder.binding.shouhongbaoSwitch.setChecked(teamMembersList2Activity.getSwitchValue(Long.parseLong(userInfo.getAccount()),true));
holder.binding.getRoot().setOnClickListener(view -> {
if (itemClickListener != null) {
if (position == 0 && isShowInvited) {
// itemClickListener.onAddClick(); //邀请好友
} else {
if (mType == 1) { //转让
if (selectpostion == position) {
selectpostion = -1;
} else {
selectpostion = position;
}
notifyDataSetChanged();
} else {
if (isEdit && holder.binding.icDelete.getVisibility() == View.VISIBLE) {
//管理员删除用户选择
int index = selectedInt.indexOf(position);
if (index >= 0) {
selectedInt.remove(index);
} else {
selectedInt.add(position);
}
notifyItemChanged(position);
} else {
itemClickListener.onItemClick(userInfo, position);
}
}
}
}
});
}
/*
相差天数
*/
public static int differentDays(long timeseconds) {
Date date1 = new Date(timeseconds);
Date date2 = new Date(System.currentTimeMillis()); //当前日期
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);
int day1 = cal1.get(Calendar.DAY_OF_YEAR);
int day2 = cal2.get(Calendar.DAY_OF_YEAR);
int year1 = cal1.get(Calendar.YEAR);
int year2 = cal2.get(Calendar.YEAR);
if (year1 != year2) //不同年
{
int timeDistance = 0;
for (int i = year1; i < year2; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) //闰年
{
timeDistance += 366;
} else //不是闰年
{
timeDistance += 365;
}
}
return timeDistance + (day2 - day1);
} else //同年
{
return day2 - day1;
}
}
public String parseTimeLong(TextView textView, long timestra) {
int days = differentDays(timestra);
String time;
if (days == 0) {
time = textView.getResources().getString(R.string.today_txt);
} else if (days == 1) {
time = textView.getResources().getString(R.string.yesterday_txt);
} else if (days <= 6) {
time = String.format(textView.getResources().getString(R.string.jinjiri_txt), days + 1);
} else if (days <= 29) {
time = String.format(textView.getResources().getString(R.string.jinjiri_txt), days + 1);
} else {
textView.setTextColor(Color.parseColor("#cbcbcb"));
textView.setBackgroundResource(R.drawable.cornor_stroke_cbcbcb_2dp);
time = String.format(textView.getResources().getString(R.string.jitianqi_txt), days + 1);
}
return time;
}
@Override
public int getItemCount() {
return members.size();
}
public interface ItemClickListener {
void onItemClick(UserInfo item, int position);
void onAddClick(UserInfo item, int position);
void onSwithType(UserInfo userInfo,int position,boolean isGrab,int allowGrab,int allowSend);
}
protected class TeamMembersViewHolder extends RecyclerView.ViewHolder {
TeamMembersViewHolder2Binding binding;
public TeamMembersViewHolder(@NonNull ViewBinding binding) {
super(binding.getRoot());
this.binding = (TeamMembersViewHolder2Binding) binding;
}
}
}

View File

@@ -910,7 +910,7 @@ public class RegisterActivity extends BaseActivity {
String stsCredentialsBean; String stsCredentialsBean;
private void toShangchuanAli(File file ) { private void toShangchuanAli(File file ) {
showLoadingDialog(); showLoadingDialog("正在上传头像");
// Api.getInstance().stsCredentials() // Api.getInstance().stsCredentials()
// .subscribeOn(Schedulers.io()) // .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread()) // .observeOn(AndroidSchedulers.mainThread())

View File

@@ -53,6 +53,7 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;
import com.codersun.fingerprintcompat.AonFingerChangeCallback; import com.codersun.fingerprintcompat.AonFingerChangeCallback;
import com.codersun.fingerprintcompat.FingerManager; import com.codersun.fingerprintcompat.FingerManager;
@@ -403,6 +404,9 @@ public class MainActivity extends BaseActivity {
WindowCompat.setDecorFitsSystemWindows(getWindow(), false); WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
ViewGroup.LayoutParams layoutParams = activityMainBinding.bottomV.getLayoutParams(); ViewGroup.LayoutParams layoutParams = activityMainBinding.bottomV.getLayoutParams();
layoutParams.height = getNavigationBarHeight(this); layoutParams.height = getNavigationBarHeight(this);
if(Build.MANUFACTURER.equals("HUAWEI")){
layoutParams.height = 0;
}
activityMainBinding.bottomV.setLayoutParams(layoutParams); activityMainBinding.bottomV.setLayoutParams(layoutParams);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
@@ -410,7 +414,7 @@ public class MainActivity extends BaseActivity {
ChatDataUtils.set(this, ChatKitUIConstant.SERVICES_LOGIN, false); ChatDataUtils.set(this, ChatKitUIConstant.SERVICES_LOGIN, false);
ChatKitUIConstant.isSendGiftRedPacket = DataUtils.getIsSendGiftRedPacket(); ChatKitUIConstant.isSendGiftRedPacket = DataUtils.getIsSendGiftRedPacket();
initView(); initView();
getServiceId(); // getServiceId();
ChatObserverRepo.registerReceiveMessageObserve(receiveMessageObserver); ChatObserverRepo.registerReceiveMessageObserve(receiveMessageObserver);
// EventCenter.registerEventNotify(skinNotify); // EventCenter.registerEventNotify(skinNotify);
@@ -788,10 +792,34 @@ public class MainActivity extends BaseActivity {
fragmentAdapter = new FragmentAdapter(this); fragmentAdapter = new FragmentAdapter(this);
fragmentAdapter.setFragmentList(fragments); fragmentAdapter.setFragmentList(fragments);
activityMainBinding.viewPager.setUserInputEnabled(false); // activityMainBinding.viewPager.setUserInputEnabled(false);
activityMainBinding.viewPager.setAdapter(fragmentAdapter); activityMainBinding.viewPager.setAdapter(fragmentAdapter);
activityMainBinding.viewPager.setCurrentItem(START_INDEX, false); activityMainBinding.viewPager.setCurrentItem(START_INDEX, false);
activityMainBinding.viewPager.setOffscreenPageLimit(fragments.size()); activityMainBinding.viewPager.setOffscreenPageLimit(fragments.size());
activityMainBinding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
resetTabStyle();
if(position == 0){
activityMainBinding.contact.setTextColor(
getResources().getColor(R.color.color_fe6881));
activityMainBinding.contact.setCompoundDrawablesWithIntrinsicBounds(
null, getResources().getDrawable(R.mipmap.chat_img_t), null, null);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}else{
activityMainBinding.mine.setTextColor(getResources().getColor(R.color.color_fe6881));
activityMainBinding.mine.setCompoundDrawablesWithIntrinsicBounds(
null, getResources().getDrawable(R.mipmap.wo_t), null, null);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}
}
});
mCurrentTab = activityMainBinding.contactBtnGroup; mCurrentTab = activityMainBinding.contactBtnGroup;
resetTabSkin(isCommonSkin); resetTabSkin(isCommonSkin);
checkZhiWen(); checkZhiWen();
@@ -840,7 +868,7 @@ public class MainActivity extends BaseActivity {
if (obj instanceof HmsScan) { if (obj instanceof HmsScan) {
if (!TextUtils.isEmpty(((HmsScan) obj).getOriginalValue())) { if (!TextUtils.isEmpty(((HmsScan) obj).getOriginalValue())) {
String result1 = ((HmsScan) obj).getOriginalValue(); String result1 = ((HmsScan) obj).getOriginalValue();
Log.v("LAILIAOLIAO", "行动码是啥:" + result1); Log.v("LAILIAOLIAO", "二维码是啥:" + result1);
// 开始解析2维码内容并进入相应的处理逻辑 // 开始解析2维码内容并进入相应的处理逻辑
processQRCodeScanResult(this, result1); processQRCodeScanResult(this, result1);
} }
@@ -899,14 +927,14 @@ public class MainActivity extends BaseActivity {
} else { } else {
QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(originalQrcodeStr); QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(originalQrcodeStr);
// 2维码内容前缀形如“time_go_mm://add_user/”) // 2维码内容前缀形如“time_go_mm://add_user/”)
LogUtils.i("行动码是啥111" + GsonUtils.beanToJSONString(qrData)); LogUtils.i("二维码是啥111" + GsonUtils.beanToJSONString(qrData));
String scheme = qrData.getScheme(); String scheme = qrData.getScheme();
// 2维码内容形如“400069” // 2维码内容形如“400069”
String value = qrData.getValue(); String value = qrData.getValue();
String uid = qrData.getUserId(); String uid = qrData.getUserId();
if (!CommonUtils.isStringEmpty(scheme, true) && !CommonUtils.isStringEmpty(value, true)) { if (!CommonUtils.isStringEmpty(scheme, true) && !CommonUtils.isStringEmpty(value, true)) {
LogUtils.i("行动码是啥222" + scheme); LogUtils.i("二维码是啥222" + scheme);
switch (scheme) { switch (scheme) {
case QRCodeScheme.QR_CODE_SCHEME_ADD_USER: case QRCodeScheme.QR_CODE_SCHEME_ADD_USER:
@@ -1015,19 +1043,16 @@ public class MainActivity extends BaseActivity {
private void showGiftView(String machineId, String orderNos, String moneys) { private void showGiftView(String machineId, String orderNos, String moneys) {
this.orderNo = orderNos; this.orderNo = orderNos;
LogUtils.i("进来了啊");
if (bindBean != null) { if (bindBean != null) {
if (!bindBean.getPhoneBind()) { if (!bindBean.getPhoneBind()) {
showDialog(); showDialog();
} else if (!bindBean.getPayPasswordSet()) { } else if (!bindBean.getPayPasswordSet()) {
showDialogPay(); showDialogPay();
} else { } else {
LogUtils.i("进来了啊11111");
if (DataUtils.get(MainActivity.this, "hasFinger", false)) { if (DataUtils.get(MainActivity.this, "hasFinger", false)) {
showPayCashFingerDialog(machineId, moneys, TYPE_PAYMENT_GIFT); showPayCashFingerDialog(machineId, moneys, TYPE_PAYMENT_GIFT);
} else { } else {
LogUtils.i("进来了啊22222222");
showPayCashDialog(machineId, moneys, TYPE_PAYMENT_GIFT); showPayCashDialog(machineId, moneys, TYPE_PAYMENT_GIFT);
} }
@@ -1298,12 +1323,10 @@ public class MainActivity extends BaseActivity {
joinTitleTv = (TextView) bottomView.findViewById(R.id.join_title_tv); joinTitleTv = (TextView) bottomView.findViewById(R.id.join_title_tv);
groupHeadIv = (ContactAvatarView) bottomView.findViewById(R.id.group_head_iv); groupHeadIv = (ContactAvatarView) bottomView.findViewById(R.id.group_head_iv);
joinTv = (TextView) bottomView.findViewById(R.id.join_tv); joinTv = (TextView) bottomView.findViewById(R.id.join_tv);
LogUtils.i("1111111111111111122222222222:" + IMApplication.schemeTeamId);
Team team = NIMClient.getService(TeamService.class).queryTeamBlock(groupId); Team team = NIMClient.getService(TeamService.class).queryTeamBlock(groupId);
groupNameTv = (TextView) bottomView.findViewById(R.id.group_name_tv); groupNameTv = (TextView) bottomView.findViewById(R.id.group_name_tv);
if (team != null) { if (team != null) {
LogUtils.i("11111111111111111333333333333:" + IMApplication.schemeTeamId);
if (TextUtils.isEmpty(team.getIcon())) { if (TextUtils.isEmpty(team.getIcon())) {
groupHeadIv.setData(com.netease.yunxin.kit.contactkit.ui.R.mipmap.ic_group_defaulthead, "head"); groupHeadIv.setData(com.netease.yunxin.kit.contactkit.ui.R.mipmap.ic_group_defaulthead, "head");
@@ -1312,11 +1335,9 @@ public class MainActivity extends BaseActivity {
} }
groupNameTv.setText(team.getName()); groupNameTv.setText(team.getName());
if (team.isMyTeam()) { if (team.isMyTeam()) {
LogUtils.i("加入群聊成功1111111111111111111");
joinTitleTv.setText(R.string.jinru_group_txt); joinTitleTv.setText(R.string.jinru_group_txt);
joinTv.setText(R.string.jinru_group_txt); joinTv.setText(R.string.jinru_group_txt);
} else { } else {
LogUtils.i("加入群聊成功22222222222222");
joinTitleTv.setText(R.string.join_group_txt); joinTitleTv.setText(R.string.join_group_txt);
joinTv.setText(R.string.join_group_txt); joinTv.setText(R.string.join_group_txt);
@@ -1328,15 +1349,12 @@ public class MainActivity extends BaseActivity {
.withParam(RouterConstant.CHAT_KRY, team) .withParam(RouterConstant.CHAT_KRY, team)
.withContext(MainActivity.this) .withContext(MainActivity.this)
.navigate(); .navigate();
LogUtils.i("加入群聊成功33333333333333");
} else { } else {
NIMClient.getService(TeamService.class).applyJoinTeam(groupId, null).setCallback(new RequestCallback<Team>() { NIMClient.getService(TeamService.class).applyJoinTeam(groupId, null).setCallback(new RequestCallback<Team>() {
@Override @Override
public void onSuccess(Team team1) { public void onSuccess(Team team1) {
LogUtils.i("加入群聊成功4444444444444444444");
LogUtils.i("加入群聊成功:" + GsonUtils.beanToJSONString(team1));
bottomSheetDialog.dismiss(); bottomSheetDialog.dismiss();
XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE) XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE)
@@ -1381,18 +1399,14 @@ public class MainActivity extends BaseActivity {
} }
}); });
} else { } else {
LogUtils.i("1111111111111111144444444444:" + IMApplication.schemeTeamId);
joinTitleTv.setText(R.string.join_group_txt); joinTitleTv.setText(R.string.join_group_txt);
joinTv.setText(R.string.join_group_txt); joinTv.setText(R.string.join_group_txt);
getJoinInfo(groupId, false, bottomSheetDialog); getJoinInfo(groupId, false, bottomSheetDialog);
LogUtils.i("加入群聊成功555555555555");
joinTv.setOnClickListener(v -> NIMClient.getService(TeamService.class).applyJoinTeam(groupId, null).setCallback(new RequestCallback<Team>() { joinTv.setOnClickListener(v -> NIMClient.getService(TeamService.class).applyJoinTeam(groupId, null).setCallback(new RequestCallback<Team>() {
@Override @Override
public void onSuccess(Team team1) { public void onSuccess(Team team1) {
LogUtils.i("加入群聊成功:" + GsonUtils.beanToJSONString(true));
LogUtils.i("加入群聊成功6666666666666666");
bottomSheetDialog.dismiss(); bottomSheetDialog.dismiss();
XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE) XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE)
.withParam(RouterConstant.CHAT_KRY, team1) .withParam(RouterConstant.CHAT_KRY, team1)
@@ -1436,12 +1450,7 @@ public class MainActivity extends BaseActivity {
} }
coloseIv.setOnClickListener(new View.OnClickListener() { coloseIv.setOnClickListener(v -> bottomSheetDialog.dismiss());
@Override
public void onClick(View v) {
bottomSheetDialog.dismiss();
}
});
bottomSheetDialog.setContentView(bottomView); bottomSheetDialog.setContentView(bottomView);
bottomSheetDialog.show(); bottomSheetDialog.show();
@@ -1459,11 +1468,9 @@ public class MainActivity extends BaseActivity {
@Override @Override
public void onSuccess(Team result) { public void onSuccess(Team result) {
if (!b) { if (!b) {
LogUtils.i("加入群聊成功7777777777777777");
groupHeadIv.setData(result.getIcon(), result.getName()); groupHeadIv.setData(result.getIcon(), result.getName());
groupNameTv.setText(result.getName()); groupNameTv.setText(result.getName());
} else { } else {
LogUtils.i("加入群聊成功88888888888888");
dialog.dismiss(); dialog.dismiss();
XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE) XKitRouter.withKey(RouterConstant.PATH_FUN_CHAT_TEAM_PAGE)
.withParam(RouterConstant.CHAT_KRY, result) .withParam(RouterConstant.CHAT_KRY, result)
@@ -1488,7 +1495,6 @@ public class MainActivity extends BaseActivity {
private void sendMachine(String scheme) { private void sendMachine(String scheme) {
scheme = scheme.replace("https://admin.letschat2023.com/#/downLoad", "https://www.baidu.com"); scheme = scheme.replace("https://admin.letschat2023.com/#/downLoad", "https://www.baidu.com");
Uri uri = Uri.parse(scheme); Uri uri = Uri.parse(scheme);
LogUtils.i("数据是啥:" + scheme);
String id = uri.getQueryParameter("deviceId"); //id 值 10943 String id = uri.getQueryParameter("deviceId"); //id 值 10943
Intent intent = new Intent(MainActivity.this, AuthorizeActivity.class); Intent intent = new Intent(MainActivity.this, AuthorizeActivity.class);
intent.putExtra("deviceId", id); intent.putExtra("deviceId", id);
@@ -1511,12 +1517,10 @@ public class MainActivity extends BaseActivity {
@Override @Override
public void onSuccess(Result<BindBean> feedbackResp) { public void onSuccess(Result<BindBean> feedbackResp) {
bindBean = feedbackResp.data; bindBean = feedbackResp.data;
LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
} }
@Override @Override
public void onError(int code, String msg) { public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
} }
}); });
@@ -1524,7 +1528,6 @@ public class MainActivity extends BaseActivity {
@Override @Override
protected void onDestroy() { protected void onDestroy() {
ALog.d(Constant.PROJECT_TAG, "MainActivity:onDestroy");
// EventCenter.unregisterEventNotify(skinNotify); // EventCenter.unregisterEventNotify(skinNotify);
ChatObserverRepo.unregisterReceiveMessageObserve(receiveMessageObserver); ChatObserverRepo.unregisterReceiveMessageObserve(receiveMessageObserver);
if (mEventSubscription != null) { if (mEventSubscription != null) {
@@ -2004,15 +2007,15 @@ public class MainActivity extends BaseActivity {
if (feedbackResp.data != null && feedbackResp.data.size() > 0) { if (feedbackResp.data != null && feedbackResp.data.size() > 0) {
for (ConfigBean configBean : feedbackResp.data) { for (ConfigBean configBean : feedbackResp.data) {
// if (configBean.getId() == 1) { if (configBean.getId() == 1) {
// DataUtils.set(MainActivity.this, "transfer_cash", configBean.getVal().equals("1")); DataUtils.set(MainActivity.this, "transfer_cash", configBean.getVal().equals("1"));
// } }
// if (configBean.getId() == 2) { // if (configBean.getId() == 2) {
// DataUtils.set(MainActivity.this, "transfer_jifen", configBean.getVal().equals("1")); // DataUtils.set(MainActivity.this, "transfer_jifen", configBean.getVal().equals("1"));
// } // }
if (configBean.getId() == 3) { // if (configBean.getId() == 3) {
DataUtils.set(MainActivity.this, "transfer_score", configBean.getVal().equals("1")); // DataUtils.set(MainActivity.this, "transfer_score", configBean.getVal().equals("1"));
} // }
if (configBean.getId() == 4) { if (configBean.getId() == 4) {
DataUtils.set(MainActivity.this, "redpkg_score", configBean.getVal().equals("1")); DataUtils.set(MainActivity.this, "redpkg_score", configBean.getVal().equals("1"));
} }

View File

@@ -660,9 +660,9 @@ public class ChatConversationFragment extends BaseFragment implements ILoadListe
conversationViewBottom.setViewHolderFactory(funViewHolderFactory); conversationViewBottom.setViewHolderFactory(funViewHolderFactory);
conversationViewShiJie.setViewHolderFactory(funViewHolderFactory); conversationViewShiJie.setViewHolderFactory(funViewHolderFactory);
if (conversationType == 2) { if (conversationType == 2) {
if(ApiService.AREA_CODE.equals("+86")) { if (ApiService.AREA_CODE.equals("+86")) {
viewBinding.layoutShijiechat.setVisibility(View.VISIBLE); viewBinding.layoutShijiechat.setVisibility(View.VISIBLE);
}else{ } else {
viewBinding.layoutShijiechat.setVisibility(View.GONE); viewBinding.layoutShijiechat.setVisibility(View.GONE);
} }
@@ -1008,9 +1008,9 @@ public class ChatConversationFragment extends BaseFragment implements ILoadListe
viewBinding.layoutOneroot.setVisibility(View.GONE); viewBinding.layoutOneroot.setVisibility(View.GONE);
viewBinding.layoutShijiechat.setVisibility(View.GONE); viewBinding.layoutShijiechat.setVisibility(View.GONE);
} else { } else {
if(ApiService.AREA_CODE.equals("+86")) { if (ApiService.AREA_CODE.equals("+86")) {
viewBinding.layoutShijiechat.setVisibility(View.VISIBLE); viewBinding.layoutShijiechat.setVisibility(View.VISIBLE);
}else{ } else {
viewBinding.layoutShijiechat.setVisibility(View.GONE); viewBinding.layoutShijiechat.setVisibility(View.GONE);
} }
@@ -1125,11 +1125,32 @@ public class ChatConversationFragment extends BaseFragment implements ILoadListe
View bottomView = LayoutInflater.from(getActivity()).inflate(R.layout.bottom_sheet_layout_conversation, null); View bottomView = LayoutInflater.from(getActivity()).inflate(R.layout.bottom_sheet_layout_conversation, null);
bottomSheetDialog.setContentView(bottomView); bottomSheetDialog.setContentView(bottomView);
bottomSheetDialog.show(); bottomSheetDialog.show();
TextView zhiding_tv = (TextView) bottomView.findViewById(R.id.zhiding_tv);
TextView coloseIv1 = (TextView) bottomView.findViewById(R.id.colose_iv); TextView coloseIv1 = (TextView) bottomView.findViewById(R.id.colose_iv);
TextView hideTv = (TextView) bottomView.findViewById(R.id.hide_tv); TextView hideTv = (TextView) bottomView.findViewById(R.id.hide_tv);
TextView deleteTv = (TextView) bottomView.findViewById(R.id.delete_tv); TextView deleteTv = (TextView) bottomView.findViewById(R.id.delete_tv);
if (dataBean.infoData.isStickTop()) {
zhiding_tv.setText(getString(com.netease.yunxin.kit.conversationkit.ui.R.string.cancel_stick_title));
} else {
zhiding_tv.setText(getString(com.netease.yunxin.kit.conversationkit.ui.R.string.stick_title));
}
zhiding_tv.setOnClickListener(v -> {
if (dataBean.infoData.isStickTop()) {
viewModel.removeStick((ConversationBean) data);
// NIMClient.getService(MsgService.class).removeStickTopSession(dataBean.infoData.getContactId(), dataBean.infoData.getSessionType(),""); //删除会话 没删聊天记录
} else {
viewModel.addStickTop((ConversationBean) data);
// NIMClient.getService(MsgService.class).addStickTopSession(dataBean.infoData.getContactId(), dataBean.infoData.getSessionType(),""); //删除会话 没删聊天记录
}
bottomSheetDialog.dismiss();
});
coloseIv1.setOnClickListener(new View.OnClickListener() { coloseIv1.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {

View File

@@ -23,6 +23,7 @@ import com.hbl.lewan.IMUIKitConfig;
import com.hbl.lewan.R; import com.hbl.lewan.R;
import com.hbl.lewan.databinding.FragmentChatBinding; import com.hbl.lewan.databinding.FragmentChatBinding;
import com.hbl.lewan.imkit.selector.FunContactSelectorActivity; import com.hbl.lewan.imkit.selector.FunContactSelectorActivity;
import com.hbl.lewan.imkit.verify.FunVerifyListActivity;
import com.hbl.lewan.main.FragmentAdapter; import com.hbl.lewan.main.FragmentAdapter;
import com.hbl.lewan.main.MainActivity; import com.hbl.lewan.main.MainActivity;
import com.hbl.lewan.main.index.add.AddFriendsActivity; import com.hbl.lewan.main.index.add.AddFriendsActivity;
@@ -48,9 +49,11 @@ import com.netease.yunxin.kit.chatkit.repo.ContactRepo;
import com.netease.yunxin.kit.chatkit.ui.fun.FunChatForwardSelectDialog; import com.netease.yunxin.kit.chatkit.ui.fun.FunChatForwardSelectDialog;
import com.netease.yunxin.kit.common.ui.fragments.BaseFragment; import com.netease.yunxin.kit.common.ui.fragments.BaseFragment;
import com.netease.yunxin.kit.common.utils.NetworkUtils; import com.netease.yunxin.kit.common.utils.NetworkUtils;
import com.netease.yunxin.kit.contactkit.ui.fun.contact.FunContactFragment;
import com.netease.yunxin.kit.contactkit.ui.fun.search.FunSearchActivity; import com.netease.yunxin.kit.contactkit.ui.fun.search.FunSearchActivity;
import com.netease.yunxin.kit.conversationkit.ui.common.ConversationConstant; import com.netease.yunxin.kit.conversationkit.ui.common.ConversationConstant;
import com.netease.yunxin.kit.conversationkit.ui.model.ConversationBean; import com.netease.yunxin.kit.conversationkit.ui.model.ConversationBean;
import com.netease.yunxin.kit.conversationkit.ui.normal.page.ConversationFragment;
import com.netease.yunxin.kit.corekit.event.EventCenter; import com.netease.yunxin.kit.corekit.event.EventCenter;
import com.netease.yunxin.kit.corekit.event.EventNotify; import com.netease.yunxin.kit.corekit.event.EventNotify;
import com.netease.yunxin.kit.corekit.im.IMKitClient; import com.netease.yunxin.kit.corekit.im.IMKitClient;
@@ -71,7 +74,8 @@ import io.reactivex.schedulers.Schedulers;
public class ChatTabFragment extends BaseFragment { public class ChatTabFragment extends BaseFragment {
FragmentChatBinding viewBinding; FragmentChatBinding viewBinding;
ChatConversationFragment allConversationFragment; // ChatConversationFragment allConversationFragment;
ConversationFragment contactFragment;
ChatConversationFragment friendConversationFragment; ChatConversationFragment friendConversationFragment;
ChatConversationFragment teamConversationFragment; ChatConversationFragment teamConversationFragment;
// FollowListFragment followListFragment; // FollowListFragment followListFragment;
@@ -243,7 +247,7 @@ public class ChatTabFragment extends BaseFragment {
.subscribe(new BaseObserver<>() { .subscribe(new BaseObserver<>() {
@Override @Override
public void onSuccess(Result<NotifyCountBean> feedbackResp) { public void onSuccess(Result<NotifyCountBean> feedbackResp) {
LogUtils.i("获取到的错误:" + feedbackResp + "" + feedbackResp.data); LogUtils.i("获取到:" + feedbackResp + "" + feedbackResp.data);
int count = feedbackResp.data.getSystemMsgCount(); int count = feedbackResp.data.getSystemMsgCount();
int activityMsgCount = feedbackResp.data.getActivityMsgCount(); int activityMsgCount = feedbackResp.data.getActivityMsgCount();
int msgcount = DataUtils.get(getActivity(), "activity_message_count", 0); int msgcount = DataUtils.get(getActivity(), "activity_message_count", 0);
@@ -314,7 +318,8 @@ public class ChatTabFragment extends BaseFragment {
public void initView() { public void initView() {
tabView = new View[]{viewBinding.layoutChatfmAll, viewBinding.layoutChatfmFriends, viewBinding.layoutChatfmGroup, viewBinding.layoutChatfmFollow}; tabView = new View[]{viewBinding.layoutChatfmAll, viewBinding.layoutChatfmFriends, viewBinding.layoutChatfmGroup, viewBinding.layoutChatfmFollow};
fragments.add(allConversationFragment = ChatConversationFragment.newInstance(0)); // fragments.add(allConversationFragment = ChatConversationFragment.newInstance(0));
fragments.add(contactFragment = new ConversationFragment());
// fragments.add(friendConversationFragment = ChatConversationFragment.newInstance(1)); // fragments.add(friendConversationFragment = ChatConversationFragment.newInstance(1));
// fragments.add(teamConversationFragment = ChatConversationFragment.newInstance(2)); // fragments.add(teamConversationFragment = ChatConversationFragment.newInstance(2));
// followListFragment = new FollowListFragment(); // followListFragment = new FollowListFragment();
@@ -348,7 +353,9 @@ public class ChatTabFragment extends BaseFragment {
viewBinding.ivIndexfmNotifytop.setOnClickListener(v -> { viewBinding.ivIndexfmNotifytop.setOnClickListener(v -> {
notifyCount = 0; notifyCount = 0;
setNotifyTotalCount(); setNotifyTotalCount();
startActivity(new Intent(getActivity(), NotifyMessageActivity.class)); // startActivity(new Intent(getActivity(), NotifyMessageActivity.class));
startActivity(new Intent(getActivity(), FunVerifyListActivity.class));
}); });
viewBinding.layoutChatfmCommonSearch.getRoot().setOnClickListener(view -> startActivity(new Intent(getActivity(), FunSearchActivity.class)) viewBinding.layoutChatfmCommonSearch.getRoot().setOnClickListener(view -> startActivity(new Intent(getActivity(), FunSearchActivity.class))
); );

View File

@@ -465,7 +465,7 @@ public class HomeFragment extends BaseFragment {
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
getWallet(); getWallet();
getNotifiesCount(); // getNotifiesCount();
if (verifyCount > 0) { if (verifyCount > 0) {
getNotificationUnreadCount(); getNotificationUnreadCount();
} }

View File

@@ -457,7 +457,7 @@ public class AddFriendsActivity extends LllChatBaseActivity {
String result1 = ((HmsScan) obj).getOriginalValue(); String result1 = ((HmsScan) obj).getOriginalValue();
// String result = CameraScan.parseScanResult(data); // String result = CameraScan.parseScanResult(data);
// Log.v(TAG, "2维码扫码结果" + result); // Log.v(TAG, "2维码扫码结果" + result);
Log.v("LAILIAOLIAO", "行动码是啥:" + result1); Log.v("LAILIAOLIAO", "二维码是啥:" + result1);
// 开始解析2维码内容并进入相应的处理逻辑 // 开始解析2维码内容并进入相应的处理逻辑
processQRCodeScanResult(this, result1); processQRCodeScanResult(this, result1);
@@ -515,14 +515,14 @@ public class AddFriendsActivity extends LllChatBaseActivity {
} else { } else {
QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(originalQrcodeStr); QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(originalQrcodeStr);
// 2维码内容前缀形如“time_go_mm://add_user/”) // 2维码内容前缀形如“time_go_mm://add_user/”)
LogUtils.i("行动码是啥111" + GsonUtils.beanToJSONString(qrData)); LogUtils.i("二维码是啥111" + GsonUtils.beanToJSONString(qrData));
String scheme = qrData.getScheme(); String scheme = qrData.getScheme();
// 2维码内容形如“400069” // 2维码内容形如“400069”
String value = qrData.getValue(); String value = qrData.getValue();
String uid = qrData.getUserId(); String uid = qrData.getUserId();
if (!CommonUtils.isStringEmpty(scheme, true) && !CommonUtils.isStringEmpty(value, true)) { if (!CommonUtils.isStringEmpty(scheme, true) && !CommonUtils.isStringEmpty(value, true)) {
LogUtils.i("行动码是啥222" + scheme); LogUtils.i("二维码是啥222" + scheme);
switch (scheme) { switch (scheme) {
case QRCodeScheme.QR_CODE_SCHEME_ADD_USER: case QRCodeScheme.QR_CODE_SCHEME_ADD_USER:

View File

@@ -120,7 +120,7 @@ public class AccountAndSecurityActivity extends BaseActivity {
// //
// wxAPI = WXAPIFactory.createWXAPI(this, IMUIKitConfig.WECHAT_APPID, true); // wxAPI = WXAPIFactory.createWXAPI(this, IMUIKitConfig.WECHAT_APPID, true);
// wxAPI.registerApp(IMUIKitConfig.WECHAT_APPID); // wxAPI.registerApp(IMUIKitConfig.WECHAT_APPID);
// initListeners(); initListeners();
} }
@@ -183,6 +183,10 @@ public class AccountAndSecurityActivity extends BaseActivity {
viewBinding.settingTitleBar.setOnBackIconClickListener(v -> onBackPressed()); viewBinding.settingTitleBar.setOnBackIconClickListener(v -> onBackPressed());
viewBinding.zhmmBt.setOnClickListener(v -> { viewBinding.zhmmBt.setOnClickListener(v -> {
if(loginBean!=null&&(loginBean.getUserType()+"").equals("2")){
ToastX.showShortToast("副号不支持修改密码");
return;
}
if (bean != null) { if (bean != null) {
if (bean.getPhoneBind() == false) { if (bean.getPhoneBind() == false) {
showDialog(); showDialog();
@@ -200,6 +204,11 @@ public class AccountAndSecurityActivity extends BaseActivity {
}); });
viewBinding.bindPhoneBt.setOnClickListener(v -> { viewBinding.bindPhoneBt.setOnClickListener(v -> {
if(loginBean!=null&&(loginBean.getUserType()+"").equals("2")){
ToastX.showShortToast("副号不支持修改手机号");
return;
}
if (bean != null && bean.getPhoneBind() == false) { if (bean != null && bean.getPhoneBind() == false) {
Intent intent = new Intent(AccountAndSecurityActivity.this, ChangeAccoutActionActivity.class); Intent intent = new Intent(AccountAndSecurityActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
@@ -221,6 +230,10 @@ public class AccountAndSecurityActivity extends BaseActivity {
// } // }
}); });
viewBinding.accoutBt.setOnClickListener(v -> { viewBinding.accoutBt.setOnClickListener(v -> {
if(loginBean!=null&&(loginBean.getUserType()+"").equals("2")){
ToastX.showShortToast("副号不支持修改乐玩账号");
return;
}
startActivityForResult(new Intent(AccountAndSecurityActivity.this, SettingAccoutIdActivity.class), 888); startActivityForResult(new Intent(AccountAndSecurityActivity.this, SettingAccoutIdActivity.class), 888);
}); });
viewBinding.closeAccount.setOnClickListener(v -> { viewBinding.closeAccount.setOnClickListener(v -> {
@@ -297,8 +310,10 @@ public class AccountAndSecurityActivity extends BaseActivity {
bean = feedbackResp.data; bean = feedbackResp.data;
//只有这是个参数允许切换 //只有这是个参数允许切换
// viewBinding.bindWechatTv.setText(feedbackResp.data.getWechatBind()?getString(R.string.yibangding_txt):getString(R.string.weibangding_txt)); // viewBinding.bindWechatTv.setText(feedbackResp.data.getWechatBind()?getString(R.string.yibangding_txt):getString(R.string.weibangding_txt));
viewBinding.bindPhoneTv.setText(feedbackResp.data.getPhoneBind() ? (feedbackResp.data.getAreaCode() + feedbackResp.data.getPhone()) : getString(R.string.weibangding_txt));
if(!loginBean.getUserType().equals("2")) {
viewBinding.bindPhoneTv.setText(feedbackResp.data.getPhoneBind() ? (feedbackResp.data.getAreaCode() + feedbackResp.data.getPhone()) : getString(R.string.weibangding_txt));
}
} }
@Override @Override
@@ -329,22 +344,26 @@ public class AccountAndSecurityActivity extends BaseActivity {
@Override @Override
public void onSuccess(Result<LoginBean> feedbackResp) { public void onSuccess(Result<LoginBean> feedbackResp) {
LoginBean loginBean = DataUtils.getLocUserInfo(); LoginBean loginBean1 = DataUtils.getLocUserInfo();
if (loginBean != null) { if (loginBean1 != null) {
//只有这是个参数允许切换 //只有这是个参数允许切换
loginBean.setNwId(feedbackResp.data.getNwId()); loginBean1.setNwId(feedbackResp.data.getNwId());
loginBean.setNwIdSetTime(feedbackResp.data.getNwIdSetTime()); loginBean1.setNwIdSetTime(feedbackResp.data.getNwIdSetTime());
loginBean.getUser().setNwId(feedbackResp.data.getNwId()); loginBean1.getUser().setNwId(feedbackResp.data.getNwId());
loginBean.getUser().setNwIdSetTime(feedbackResp.data.getNwIdSetTime()); loginBean1.getUser().setNwIdSetTime(feedbackResp.data.getNwIdSetTime());
DataUtils.set(AccountAndSecurityActivity.this, "login_bean", GsonUtils.beanToJSONString(loginBean)); loginBean1.getUser().setUserType(feedbackResp.data.getUserType());
DataUtils.set(AccountAndSecurityActivity.this, "login_bean", GsonUtils.beanToJSONString(loginBean1));
loginBean = loginBean1;
if (TextUtils.isEmpty(loginBean.getNwId())) { if (TextUtils.isEmpty(loginBean.getNwId())) {
viewBinding.accoutTv.setText(getString(R.string.weishezhi_txt)); viewBinding.accoutTv.setText(getString(R.string.weishezhi_txt));
} else { } else {
viewBinding.accoutTv.setText(loginBean.getNwId()); viewBinding.accoutTv.setText(loginBean.getNwId());
} }
if(feedbackResp.data.getUserType().equals("2")){
viewBinding.bindPhoneTv.setText(feedbackResp.data.getUser_mail());
}
} }
} }

View File

@@ -10,6 +10,7 @@ import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@@ -58,11 +59,14 @@ import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.LogUtils; import com.hbl.lewan.utils.LogUtils;
import com.hbl.lewan.wallet.SetPayPasswordActivity; import com.hbl.lewan.wallet.SetPayPasswordActivity;
import com.hbl.lewan.wallet.TopUpActivity; import com.hbl.lewan.wallet.TopUpActivity;
import com.hbl.lewan.welcome.WelcomeActivity;
import com.hbl.lewan.widget.CircleImageView; import com.hbl.lewan.widget.CircleImageView;
import com.netease.nimlib.sdk.auth.LoginInfo; import com.netease.nimlib.sdk.auth.LoginInfo;
import com.netease.yunxin.kit.alog.ALog; import com.netease.yunxin.kit.alog.ALog;
import com.netease.yunxin.kit.chatkit.ui.common.RxBus; import com.netease.yunxin.kit.chatkit.ui.common.RxBus;
import com.netease.yunxin.kit.chatkit.ui.data.ChatDatabase;
import com.netease.yunxin.kit.common.ui.activities.BaseActivity; import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.common.ui.dialog.LoadingDialog;
import com.netease.yunxin.kit.common.ui.utils.ToastX; import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.corekit.im.IMKitClient; import com.netease.yunxin.kit.corekit.im.IMKitClient;
import com.netease.yunxin.kit.corekit.im.login.LoginCallback; import com.netease.yunxin.kit.corekit.im.login.LoginCallback;
@@ -96,6 +100,7 @@ public class AccoutListActivity extends BaseActivity {
iniAdapter(); iniAdapter();
accounts(); accounts();
} }
Handler handler = new Handler();
private void accounts() { private void accounts() {
@@ -107,6 +112,7 @@ public class AccoutListActivity extends BaseActivity {
public void onSuccess(Result<List<AccountsBean>> feedbackResp) { public void onSuccess(Result<List<AccountsBean>> feedbackResp) {
if (feedbackResp.data != null && feedbackResp.data.size() > 0) { if (feedbackResp.data != null && feedbackResp.data.size() > 0) {
globalAmountList = (ArrayList<AccountsBean>) feedbackResp.data; globalAmountList = (ArrayList<AccountsBean>) feedbackResp.data;
// globalAmountList.add(new AccountsBean(-1));
commonAdapter.setDates(globalAmountList); commonAdapter.setDates(globalAmountList);
} }
} }
@@ -127,32 +133,46 @@ public class AccoutListActivity extends BaseActivity {
@Override @Override
public void convert(ViewHolder holder, AccountsBean s, int index) { public void convert(ViewHolder holder, AccountsBean s, int index) {
//{"userId":61330234,"phone":"jue00lie","nickname":"jue00lie","avatar":null} //{"userId":61330234,"phone":"jue00lie","nickname":"jue00lie","avatar":null}
holder.setText(R.id.title_tv, s.getNickname()); LinearLayout user_ly = holder.getView(R.id.user_ly);
holder.setText(R.id.des_tv, "ID:" + s.getUserId()); TextView add_accout_ly = holder.getView(R.id.add_accout_ly);
CircleImageView item_iv = holder.getView(R.id.item_iv);
Glide.with(AccoutListActivity.this).load(s.getAvatar()).placeholder(R.mipmap.default_head_img).error(R.mipmap.default_head_img).into(item_iv);
TextView dqsy_tv = holder.getView(R.id.dqsy_tv);
if (IMKitClient.account().equals(s.getUserId() + "")) {
dqsy_tv.setVisibility(View.VISIBLE);
} else {
dqsy_tv.setVisibility(View.GONE);
}
TextView unreadTv = holder.getView(R.id.unreadTv); TextView unreadTv = holder.getView(R.id.unreadTv);
TextView dqsy_tv = holder.getView(R.id.dqsy_tv);
CircleImageView item_iv = holder.getView(R.id.item_iv);
dqsy_tv.setVisibility(View.GONE);
unreadTv.setVisibility(View.GONE); unreadTv.setVisibility(View.GONE);
if (s.getUserId() == -1) {
add_accout_ly.setVisibility(View.VISIBLE);
user_ly.setVisibility(View.GONE);
item_iv.setImageResource(R.mipmap.add_accouts_img);
holder.getView(R.id.big_bg).setOnClickListener(v -> {
if (index == 0) { ToastX.showShortToast("去添加账号");
unreadTv.setVisibility(View.VISIBLE);
}
holder.getView(R.id.big_bg).setOnClickListener(v -> {
});
} else {
add_accout_ly.setVisibility(View.GONE);
user_ly.setVisibility(View.VISIBLE);
holder.setText(R.id.title_tv, s.getNickname());
holder.setText(R.id.des_tv, "ID:" + s.getNwId());
Glide.with(AccoutListActivity.this).load(s.getAvatar()).placeholder(R.mipmap.default_head_img).error(R.mipmap.default_head_img).into(item_iv);
if (IMKitClient.account().equals(s.getUserId() + "")) { if (IMKitClient.account().equals(s.getUserId() + "")) {
return; dqsy_tv.setVisibility(View.VISIBLE);
} else { } else {
changeUser(s); dqsy_tv.setVisibility(View.GONE);
} }
if (index == 0) {
unreadTv.setVisibility(View.VISIBLE);
}
holder.getView(R.id.big_bg).setOnClickListener(v -> {
}); if (!IMKitClient.account().equals(s.getUserId() + "")) {
changeUser(s);
}
});
}
} }
}; };
viewBinding.recycler.setAdapter(commonAdapter); viewBinding.recycler.setAdapter(commonAdapter);
@@ -161,8 +181,32 @@ public class AccoutListActivity extends BaseActivity {
} }
private void changeUser(AccountsBean s) { private void changeUser(AccountsBean s) {
showLoadingDialog("正在切换账号");
IMKitClient.logoutIM(
new com.netease.yunxin.kit.corekit.im.login.LoginCallback<Void>() {
@Override
public void onError(int errorCode, @NonNull String errorMsg) {
DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_ACCOUNT, "");
DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_TOKEN, "");
ChatDatabase.chatDatabase = null;
handler.postDelayed(() -> changeUserNew(s),3000);
}
Api.getInstance().changeAccount(s.getUserId()+"") @Override
public void onSuccess(@Nullable Void data) {
DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_ACCOUNT, "");
DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_TOKEN, "");
ChatDatabase.chatDatabase = null;
handler.postDelayed(() -> changeUserNew(s),3000);
}
});
}
private void changeUserNew(AccountsBean s) {
Api.getInstance().changeAccount(s.getUserId() + "")
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() { .subscribe(new BaseObserver<>() {
@@ -170,6 +214,7 @@ public class AccoutListActivity extends BaseActivity {
public void onSuccess(Result<LoginBean> feedbackResp) { public void onSuccess(Result<LoginBean> feedbackResp) {
if (TextUtils.isEmpty(feedbackResp.data.getUser().getChatToken())) { if (TextUtils.isEmpty(feedbackResp.data.getUser().getChatToken())) {
dimessLoadingDialog();
ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(AccoutListActivity.this, getString(R.string.zhbhf_jqsb_txt), false); ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(AccoutListActivity.this, getString(R.string.zhbhf_jqsb_txt), false);
actionConfirmDialog.show(); actionConfirmDialog.show();
return; return;
@@ -184,11 +229,10 @@ public class AccoutListActivity extends BaseActivity {
@Override @Override
public void onError(int code, String msg) { public void onError(int code, String msg) {
dimessLoadingDialog();
ToastX.showShortToast(msg); ToastX.showShortToast(msg);
} }
}); });
} }
private void loginIM(String account, String token) { private void loginIM(String account, String token) {
@@ -203,12 +247,14 @@ public class AccoutListActivity extends BaseActivity {
new LoginCallback<>() { new LoginCallback<>() {
@Override @Override
public void onError(int errorCode, @NonNull String errorMsg) { public void onError(int errorCode, @NonNull String errorMsg) {
dimessLoadingDialog();
ToastX.showShortToast( ToastX.showShortToast(
String.format(getResources().getString(R.string.login_fail), errorCode)); String.format(getResources().getString(R.string.login_fail), errorCode));
} }
@Override @Override
public void onSuccess(@Nullable LoginInfo data) { public void onSuccess(@Nullable LoginInfo data) {
dimessLoadingDialog();
DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_ACCOUNT, account); DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_ACCOUNT, account);
DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_TOKEN, token); DataUtils.set(AccoutListActivity.this, IMUIKitConfig.LOGIN_TOKEN, token);
DataUtils.set(AccoutListActivity.this, "last_login_time", System.currentTimeMillis()); DataUtils.set(AccoutListActivity.this, "last_login_time", System.currentTimeMillis());
@@ -219,8 +265,31 @@ public class AccoutListActivity extends BaseActivity {
} }
public LoadingDialog loadingDialog;
public void showLoadingDialog() {
if (loadingDialog == null)
loadingDialog = new LoadingDialog(this);
loadingDialog.show();
}
public void showLoadingDialog(String msg) {
if (loadingDialog == null)
loadingDialog = new LoadingDialog(this);
loadingDialog.setLoadingText(msg);
loadingDialog.show();
}
public void dimessLoadingDialog() {
if (loadingDialog != null) {
loadingDialog.dismiss();
}
}
private void showMainActivityAndFinish() { private void showMainActivityAndFinish() {
ALog.d(Constant.PROJECT_TAG, AccoutListActivity.class.getName(), "showMainActivityAndFinish"); ALog.d(Constant.PROJECT_TAG, AccoutListActivity.class.getName(), "showMainActivityAndFinish");
RxBus.getInstance().post(117765); //5秒 RxBus.getInstance().post(117765); //5秒
Intent intent = new Intent(); Intent intent = new Intent();

View File

@@ -82,6 +82,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.hbl.lewan.dialog.SelectLanguageDialog; import com.hbl.lewan.dialog.SelectLanguageDialog;
import com.netease.yunxin.kit.corekit.im.utils.RouterConstant;
import com.netease.yunxin.kit.corekit.route.XKitRouter;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
@@ -255,8 +257,12 @@ public class MineFragment extends BaseFragment {
checkAccounts(); checkAccounts();
}); });
binding.friendTv.setOnClickListener(v -> startActivity(new Intent(getActivity(), FriendPermissionsActivity.class))); binding.friendTv.setOnClickListener(v ->
XKitRouter.withKey(RouterConstant.PATH_FUN_MY_BLACK_PAGE)
.withContext(getActivity())
.navigate()
);
// startActivity(new Intent(getActivity(), FriendPermissionsActivity.class))
binding.toMerchantTv.setOnClickListener(v -> { binding.toMerchantTv.setOnClickListener(v -> {
Intent intent = new Intent(getActivity(), JsBridgeActivity.class); Intent intent = new Intent(getActivity(), JsBridgeActivity.class);
intent.putExtra("url", IMUIKitConfig.MERCHANT_URL); intent.putExtra("url", IMUIKitConfig.MERCHANT_URL);
@@ -276,10 +282,10 @@ public class MineFragment extends BaseFragment {
.subscribe(new BaseObserver<>() { .subscribe(new BaseObserver<>() {
@Override @Override
public void onSuccess(Result<List<AccountsBean>> feedbackResp) { public void onSuccess(Result<List<AccountsBean>> feedbackResp) {
if(feedbackResp.data!=null && feedbackResp.data.size()>1){ if (feedbackResp.data != null && feedbackResp.data.size() > 1) {
startActivity(new Intent(getActivity(),AccoutListActivity.class)); startActivity(new Intent(getActivity(), AccoutListActivity.class));
}else{ } else {
ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(getActivity(), "当前没有副号,是否需要购买", "取消","购买",true); ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(getActivity(), "当前没有副号,是否需要购买?", "取消", "购买", true);
actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() { actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override @Override
public void toSumbit() { public void toSumbit() {
@@ -302,6 +308,8 @@ public class MineFragment extends BaseFragment {
} }
}); });
// startActivity(new Intent(getActivity(),AccoutListActivity.class));
} }
private void toWalletInfo(boolean b) { private void toWalletInfo(boolean b) {
@@ -364,7 +372,7 @@ public class MineFragment extends BaseFragment {
private void getVersion() { private void getVersion() {
try { try {
Api.getInstance().version(com.hbl.lewan.network.ApiService.AREA_CODE.equals("+86")?7:0, DataUtils.getVersionCode(getActivity()), com.netease.yunxin.kit.chatkit.ui.network.ApiService.SUBSTATIONID1) Api.getInstance().version(com.hbl.lewan.network.ApiService.AREA_CODE.equals("+86") ? 7 : 0, DataUtils.getVersionCode(getActivity()), com.netease.yunxin.kit.chatkit.ui.network.ApiService.SUBSTATIONID1)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() { .subscribe(new BaseObserver<>() {
@@ -377,7 +385,7 @@ public class MineFragment extends BaseFragment {
VersionDialog actionDialog = new VersionDialog(getActivity(), VersionDialog actionDialog = new VersionDialog(getActivity(),
String.format(getString(R.string.updateversion_txt), versionBean.getVersionName()), String.format(getString(R.string.updateversion_txt), versionBean.getVersionName()),
getDownloadText(versionBean), getString(R.string.xiacigengxin_txt), getDownloadText(versionBean), getString(R.string.xiacigengxin_txt),
getString(R.string.login_form_have_latest_version_update_now),versionBean.getForceDownload()==0); getString(R.string.login_form_have_latest_version_update_now), versionBean.getForceDownload() == 0);
actionDialog.setOnToActionListener(new VersionDialog.OnToActionListener() { actionDialog.setOnToActionListener(new VersionDialog.OnToActionListener() {
@Override @Override
public void toSumbit() { public void toSumbit() {
@@ -419,7 +427,7 @@ public class MineFragment extends BaseFragment {
} }
private void checkUpdate(String url) { private void checkUpdate(String url) {
new AppUpdater(getActivity(), url).start(); new AppUpdater(getActivity(), url).start();
// Intent intent = new Intent(Intent.ACTION_VIEW); // Intent intent = new Intent(Intent.ACTION_VIEW);
// intent.setData(Uri.parse(url)); // intent.setData(Uri.parse(url));
// startActivity(intent); // startActivity(intent);
@@ -431,16 +439,16 @@ public class MineFragment extends BaseFragment {
int loc = DataUtils.get(getActivity(), "locale", 1); int loc = DataUtils.get(getActivity(), "locale", 1);
switch (loc) { switch (loc) {
case 1: case 1:
name = versionBean.getUpgradeHintZhCn().replace("\\n","\n"); name = versionBean.getUpgradeHintZhCn().replace("\\n", "\n");
break; break;
case 2: case 2:
name = versionBean.getUpgradeHintEnUs().replace("\\n","\n"); name = versionBean.getUpgradeHintEnUs().replace("\\n", "\n");
break; break;
case 3: case 3:
name = versionBean.getUpgradeHintJaJp().replace("\\n","\n"); name = versionBean.getUpgradeHintJaJp().replace("\\n", "\n");
break; break;
default: default:
name = versionBean.getUpgradeHintZhTw().replace("\\n","\n"); name = versionBean.getUpgradeHintZhTw().replace("\\n", "\n");
break; break;
} }

View File

@@ -107,6 +107,7 @@ public class SettingAccoutIdActivity extends BaseActivity {
loginBean.setNwIdSetTime(feedbackResp.data.getNwIdSetTime()); loginBean.setNwIdSetTime(feedbackResp.data.getNwIdSetTime());
loginBean.getUser().setNwId(feedbackResp.data.getNwId()); loginBean.getUser().setNwId(feedbackResp.data.getNwId());
loginBean.getUser().setNwIdSetTime(feedbackResp.data.getNwIdSetTime()); loginBean.getUser().setNwIdSetTime(feedbackResp.data.getNwIdSetTime());
loginBean.getUser().setUserType(feedbackResp.data.getUserType());
DataUtils.set(SettingAccoutIdActivity.this, "login_bean", GsonUtils.beanToJSONString(loginBean)); DataUtils.set(SettingAccoutIdActivity.this, "login_bean", GsonUtils.beanToJSONString(loginBean));
showChange(loginBean); showChange(loginBean);

View File

@@ -243,7 +243,7 @@ public class UserHeadEditActivity extends BaseActivity implements CommonCallback
String stsCredentialsBean; String stsCredentialsBean;
private void toShangchuanAli(File file, boolean isHead) { private void toShangchuanAli(File file, boolean isHead) {
showLoadingDialog(); showLoadingDialog(isHead?"正在上传头像":"正在上传背景图");
Api.getInstance().stsCredentials1() Api.getInstance().stsCredentials1()
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
@@ -342,6 +342,7 @@ public class UserHeadEditActivity extends BaseActivity implements CommonCallback
} else { } else {
// 上传失败 // 上传失败
LogUtils.i("结果是啥失败:" + GsonUtils.beanToJSONString(info)); LogUtils.i("结果是啥失败:" + GsonUtils.beanToJSONString(info));
ToastX.showShortToast(info.error);
} }
}, options); }, options);
} }

View File

@@ -233,7 +233,7 @@ public class UserInfoActivity extends BaseActivity {
String result1 = ((HmsScan) obj).getOriginalValue(); String result1 = ((HmsScan) obj).getOriginalValue();
// String result = CameraScan.parseScanResult(data); // String result = CameraScan.parseScanResult(data);
// Log.v(TAG, "2维码扫码结果" + result); // Log.v(TAG, "2维码扫码结果" + result);
Log.v("LAILIAOLIAO", "行动码是啥:" + result1); Log.v("LAILIAOLIAO", "二维码是啥:" + result1);
// 开始解析2维码内容并进入相应的处理逻辑 // 开始解析2维码内容并进入相应的处理逻辑
processQRCodeScanResult(this, result1); processQRCodeScanResult(this, result1);
@@ -294,7 +294,7 @@ public class UserInfoActivity extends BaseActivity {
} else { } else {
QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(originalQrcodeStr); QRCodeScheme.QRCodeData qrData = QRCodeScheme.parseCodeData(originalQrcodeStr);
// 2维码内容前缀形如“time_go_mm://add_user/”) // 2维码内容前缀形如“time_go_mm://add_user/”)
LogUtils.i("行动码是啥111" + GsonUtils.beanToJSONString(qrData)); LogUtils.i("二维码是啥111" + GsonUtils.beanToJSONString(qrData));
String scheme = qrData.getScheme(); String scheme = qrData.getScheme();
// 2维码内容形如“400069” // 2维码内容形如“400069”
@@ -302,7 +302,7 @@ public class UserInfoActivity extends BaseActivity {
String uid = qrData.getUserId(); String uid = qrData.getUserId();
if (!CommonUtils.isStringEmpty(scheme, true) && !CommonUtils.isStringEmpty(value, true)) { if (!CommonUtils.isStringEmpty(scheme, true) && !CommonUtils.isStringEmpty(value, true)) {
LogUtils.i("行动码是啥222" + scheme); LogUtils.i("二维码是啥222" + scheme);
switch (scheme) { switch (scheme) {
case QRCodeScheme.QR_CODE_SCHEME_ADD_USER: case QRCodeScheme.QR_CODE_SCHEME_ADD_USER:
@@ -751,6 +751,11 @@ public class UserInfoActivity extends BaseActivity {
v -> EditUserInfoActivity.launch(getApplicationContext(), Constant.EDIT_EMAIL, launcher)); v -> EditUserInfoActivity.launch(getApplicationContext(), Constant.EDIT_EMAIL, launcher));
binding.flPhone.setOnClickListener( binding.flPhone.setOnClickListener(
v -> { v -> {
if(locUser!=null&&(locUser.getUserType()+"").equals("2")){
ToastX.showShortToast("副号不支持修改手机号");
return;
}
if (bean != null && bean.getPhoneBind() == false) { if (bean != null && bean.getPhoneBind() == false) {
Intent intent = new Intent(UserInfoActivity.this, ChangeAccoutActionActivity.class); Intent intent = new Intent(UserInfoActivity.this, ChangeAccoutActionActivity.class);
intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE); intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
@@ -895,7 +900,8 @@ public class UserInfoActivity extends BaseActivity {
public void onSuccess(Result<BindBean> feedbackResp) { public void onSuccess(Result<BindBean> feedbackResp) {
bean = feedbackResp.data; bean = feedbackResp.data;
//只有这是个参数允许切换 //只有这是个参数允许切换
binding.tvPhone.setText(bean.getAreaCode() + "" + bean.getPhone()); if(!loginBean.getUserType().equals("2"))
binding.tvPhone.setText(bean.getAreaCode()+""+bean.getPhone());
} }
@@ -980,6 +986,9 @@ public class UserInfoActivity extends BaseActivity {
@Override @Override
public void onSuccess(Result<LoginBean> feedbackResp) { public void onSuccess(Result<LoginBean> feedbackResp) {
locUser = feedbackResp.data; locUser = feedbackResp.data;
if(feedbackResp.data.getUserType().equals("2")) {
binding.tvPhone.setText(locUser.getUser_mail());
}
changeIndex(feedbackResp.data); changeIndex(feedbackResp.data);
} }

View File

@@ -13,6 +13,22 @@ public class AccountsBean {
private String phone; private String phone;
private String nickname; private String nickname;
private String avatar; private String avatar;
private String nwId;
public AccountsBean() {
}
public AccountsBean(int userId) {
this.userId = userId;
}
public String getNwId() {
return nwId;
}
public void setNwId(String nwId) {
this.nwId = nwId;
}
public int getUserId() { public int getUserId() {
return userId; return userId;

View File

@@ -1,7 +1,6 @@
package com.hbl.lewan.network; package com.hbl.lewan.network;
import com.blankj.utilcode.util.LogUtils;
import com.hbl.lewan.BuildConfig; import com.hbl.lewan.BuildConfig;
import com.hbl.lewan.model.AccountsBean; import com.hbl.lewan.model.AccountsBean;
import com.hbl.lewan.model.ActivityMsgBean; import com.hbl.lewan.model.ActivityMsgBean;
@@ -71,13 +70,11 @@ import com.netease.yunxin.kit.chatkit.ui.model.RedpacketBean;
import com.netease.yunxin.kit.chatkit.ui.model.RedpacketGroupBean; import com.netease.yunxin.kit.chatkit.ui.model.RedpacketGroupBean;
import com.netease.yunxin.kit.chatkit.ui.model.TransferBean; import com.netease.yunxin.kit.chatkit.ui.model.TransferBean;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import io.reactivex.Observable; import io.reactivex.Observable;
import okhttp3.MultipartBody; import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.DELETE; import retrofit2.http.DELETE;
import retrofit2.http.Field; import retrofit2.http.Field;
@@ -1211,6 +1208,13 @@ public interface ApiService {
Observable<Result<ListBeanResult<TiXianLogBean>>> withdraw(@Query("page") int page, @Query("size") int size); Observable<Result<ListBeanResult<TiXianLogBean>>> withdraw(@Query("page") int page, @Query("size") int size);
@POST("/group/switch")
Observable<Result> groupSwitch(@Body Map<String, Object> requestBody);
} }

View File

@@ -29,6 +29,7 @@ import com.hbl.lewan.utils.GsonUtils;
import com.hbl.lewan.utils.ImageCacheLoader; import com.hbl.lewan.utils.ImageCacheLoader;
import com.hbl.lewan.utils.LogUtils; import com.hbl.lewan.utils.LogUtils;
import com.hbl.lewan.wallet.WalletInfoActivity; import com.hbl.lewan.wallet.WalletInfoActivity;
import com.hbl.lewan.wallet.WalletInfoNewActivity;
import com.netease.nimlib.sdk.NIMClient; import com.netease.nimlib.sdk.NIMClient;
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;
@@ -331,9 +332,9 @@ public class ReceiveRedPacketActivity extends BaseActivity implements View.OnCli
viewBinding.toWalletTv.setText(R.string.ddfglq_txt); viewBinding.toWalletTv.setText(R.string.ddfglq_txt);
// titleTipsTvuser.setText(String.format("1个红包共%s%.2f",getString(R.string.danwei_txt), redpacketBean.getAmount() / 100f)); // titleTipsTvuser.setText(String.format("1个红包共%s%.2f",getString(R.string.danwei_txt), redpacketBean.getAmount() / 100f));
if (redpacketBean.getCoinType() == 0) { if (redpacketBean.getCoinType() == 0) {
viewBinding.titleTipsTvuser.setText(getString(R.string.red_envelope_amount_txt) + AppUtils.getQian(redpacketGroupBean.getAmount()) + getTypeName() + ",等待对方领取"); viewBinding.titleTipsTvuser.setText(getString(R.string.red_envelope_amount_txt) + AppUtils.getQian(redpacketBean.getAmount()) + getTypeName() + ",等待对方领取");
} else { } else {
viewBinding.titleTipsTvuser.setText(getString(R.string.red_envelope_amount_txt) +AppUtils.getQian(redpacketGroupBean.getAmount()) + getTypeName() + ",等待对方领取"); viewBinding.titleTipsTvuser.setText(getString(R.string.red_envelope_amount_txt) +AppUtils.getQian(redpacketBean.getAmount()) + getTypeName() + ",等待对方领取");
} }
} else if (redpacketBean.getStatus() == 1) { } else if (redpacketBean.getStatus() == 1) {
@@ -348,7 +349,7 @@ public class ReceiveRedPacketActivity extends BaseActivity implements View.OnCli
viewBinding.toWalletTv.setOnClickListener(new View.OnClickListener() { viewBinding.toWalletTv.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Intent intent = new Intent(ReceiveRedPacketActivity.this, WalletInfoActivity.class); Intent intent = new Intent(ReceiveRedPacketActivity.this, WalletInfoNewActivity.class);
intent.putExtra("isG", redpacketBean.getCoinType().equals(0)); intent.putExtra("isG", redpacketBean.getCoinType().equals(0));
startActivity(intent); startActivity(intent);
@@ -359,7 +360,7 @@ public class ReceiveRedPacketActivity extends BaseActivity implements View.OnCli
} }
viewBinding.endLy.setVisibility(View.GONE); viewBinding.endLy.setVisibility(View.GONE);
viewBinding.priceTv.setText(AppUtils.getQian(redpacketGroupBean.getAmount()) + getTypeName()); viewBinding.priceTv.setText(AppUtils.getQian(redpacketBean.getAmount()) + getTypeName());
viewBinding.timeTv.setText(redpacketBean.getReceiveTime() + ""); viewBinding.timeTv.setText(redpacketBean.getReceiveTime() + "");
if ((redpacketBean.getReceiverUid() + "").equals(IMKitClient.account())) { if ((redpacketBean.getReceiverUid() + "").equals(IMKitClient.account())) {

View File

@@ -319,12 +319,13 @@ public class SendGiftRedPacketActivity extends BaseActivity {
} }
} else { } else {
if (Float.parseFloat(viewBinding.numberHintEt.getText().toString().trim()) > IMUIKitConfig.SINGLE_MAX_MONEY) {
// ToastUtils.showShort(String.format(getString(R.string.max_red_packet_tips_txt),getString(R.string.danwei_txt),Const.SINGLE_MAX_MONEY));
ToastX.showShortToast(getString(R.string.dghbjebndy_txt) + " " + IMUIKitConfig.SINGLE_MAX_MONEY);
return; // if (Float.parseFloat(viewBinding.numberHintEt.getText().toString().trim()) > IMUIKitConfig.SINGLE_MAX_MONEY) {
} //// ToastUtils.showShort(String.format(getString(R.string.max_red_packet_tips_txt),getString(R.string.danwei_txt),Const.SINGLE_MAX_MONEY));
// ToastX.showShortToast(getString(R.string.dghbjebndy_txt) + " " + IMUIKitConfig.SINGLE_MAX_MONEY);
//
// return;
// }
} }
if (walletBean != null) { if (walletBean != null) {
if (Float.parseFloat(viewBinding.numberTv.getText().toString().trim()) > (walletBean.getGiftCoin() / 100f)) { if (Float.parseFloat(viewBinding.numberTv.getText().toString().trim()) > (walletBean.getGiftCoin() / 100f)) {

View File

@@ -172,7 +172,17 @@ public class SendRedPacketActivity extends BaseActivity {
// this.setTitle(getString(R.string.fshb_txt)); // this.setTitle(getString(R.string.fshb_txt));
if (isGroup) { if (isGroup) {
// viewBinding.jintLeftTv.setText(R.string.zjine_txt); // viewBinding.jintLeftTv.setText(R.string.zjine_txt);
viewBinding.tipsTv.setVisibility(View.VISIBLE);
if(getIntent().getBooleanExtra("is_zhuanshu",false)){
isPinShouQi = false;
userInfo = (UserInfo) getIntent().getSerializableExtra("user_Bean");
viewBinding.tipsTv.setVisibility(View.GONE);
viewBinding.zhuanshuNextIv.setVisibility(View.GONE);
viewBinding.zhuanshuLy.setEnabled(false);
}else{
viewBinding.tipsTv.setVisibility(View.VISIBLE);
}
changeType(); changeType();

View File

@@ -75,7 +75,7 @@ public class TransferAccountsActivity extends BaseActivity {
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
getWindow().setStatusBarColor(getResources().getColor(R.color.color_fffafa)); getWindow().setStatusBarColor(getResources().getColor(R.color.white));
getWindow().setNavigationBarColor(getResources().getColor(R.color.color_fffafa)); getWindow().setNavigationBarColor(getResources().getColor(R.color.color_fffafa));
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
viewBinding = ActivityTransferAccountsBinding.inflate(getLayoutInflater()); viewBinding = ActivityTransferAccountsBinding.inflate(getLayoutInflater());

View File

@@ -61,7 +61,7 @@ public class TransferInfoActivity extends BaseActivity
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
getWindow().setStatusBarColor(getResources().getColor(R.color.color_fcfcfc)); getWindow().setStatusBarColor(getResources().getColor(R.color.white));
getWindow().setNavigationBarColor(getResources().getColor(R.color.color_white)); getWindow().setNavigationBarColor(getResources().getColor(R.color.color_white));
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
viewBinding = ActivityTransferInfoBinding.inflate(getLayoutInflater()); viewBinding = ActivityTransferInfoBinding.inflate(getLayoutInflater());

View File

@@ -66,7 +66,7 @@ public class QRCodeScheme {
* 构造指定群聊的加群2维码的字符串。 * 构造指定群聊的加群2维码的字符串。
* *
* @param gid 群id * @param gid 群id
* @param sharedByUid 行动码分享者的uid * @param sharedByUid 二维码分享者的uid
* @return 将用于生成2维码的字符串 * @return 将用于生成2维码的字符串
*/ */
public static String constructJoinGroupCodeStr(@NonNull String gid, @NonNull String sharedByUid) { public static String constructJoinGroupCodeStr(@NonNull String gid, @NonNull String sharedByUid) {
@@ -76,7 +76,7 @@ public class QRCodeScheme {
/** /**
* 解析2维码内容。 * 解析2维码内容。
* *
* @param qrcodeStr 扫描出的原始行动码字符串 * @param qrcodeStr 扫描出的原始二维码字符串
* @return 无论能否成功解析都会返回QRCodeData对象 * @return 无论能否成功解析都会返回QRCodeData对象
*/ */
public static QRCodeData parseCodeData(String qrcodeStr){ public static QRCodeData parseCodeData(String qrcodeStr){
@@ -97,7 +97,7 @@ public class QRCodeScheme {
String scheme = qrcodeStr.substring(0, qrcodeStr.lastIndexOf("/") + 1); String scheme = qrcodeStr.substring(0, qrcodeStr.lastIndexOf("/") + 1);
// 2维码内容 // 2维码内容
String value = qrcodeStr.substring(qrcodeStr.lastIndexOf("/") + 1); String value = qrcodeStr.substring(qrcodeStr.lastIndexOf("/") + 1);
LogUtils.i("行动码是啥:"+scheme+";;"+value); LogUtils.i("二维码是啥:"+scheme+";;"+value);
// 设置 // 设置
d.setScheme(scheme).setValue(value).setUserId(uid); d.setScheme(scheme).setValue(value).setUserId(uid);
} }

View File

@@ -110,7 +110,7 @@ public class ShareDateUtils {
@Override @Override
public void onSuccess(@Nullable List<ConversationInfo> param) { public void onSuccess(@Nullable List<ConversationInfo> param) {
for (ConversationInfo conversationInfo : param) { for (ConversationInfo conversationInfo : param) {
LogUtils.i("用户信息:" + GsonUtils.beanToJSONString(conversationInfo)); // LogUtils.i("用户信息:" + GsonUtils.beanToJSONString(conversationInfo));
if (conversationInfo.getTeamInfo() != null) { if (conversationInfo.getTeamInfo() != null) {
titleUsers.add(new UserShareBean(conversationInfo.getTeamInfo())); titleUsers.add(new UserShareBean(conversationInfo.getTeamInfo()));
@@ -152,7 +152,7 @@ public class ShareDateUtils {
@Override @Override
public void onSuccess(@Nullable List<FriendInfo> param) { public void onSuccess(@Nullable List<FriendInfo> param) {
for (FriendInfo conversationInfo : param) { for (FriendInfo conversationInfo : param) {
LogUtils.i("用户信息1" + GsonUtils.beanToJSONString(conversationInfo)); // LogUtils.i("用户信息1" + GsonUtils.beanToJSONString(conversationInfo));
boolean isAt = false; boolean isAt = false;
for (int i = 0; i < titleUsers.size(); i++) { for (int i = 0; i < titleUsers.size(); i++) {
if (titleUsers.get(i).getFriendInfo() != null) { if (titleUsers.get(i).getFriendInfo() != null) {

View File

@@ -353,7 +353,7 @@ public class BindWeChatOrAliPayActivity extends BaseActivity {
String stsCredentialsBean; String stsCredentialsBean;
private void toShangchuanAli(File file) { private void toShangchuanAli(File file) {
showLoadingDialog(); showLoadingDialog("正在上传图片");
Api.getInstance().stsCredentials1() Api.getInstance().stsCredentials1()
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())

View File

@@ -14,7 +14,10 @@ import com.hbl.lewan.R;
import com.hbl.lewan.databinding.ActivityMywalletBinding; import com.hbl.lewan.databinding.ActivityMywalletBinding;
import com.hbl.lewan.databinding.ActivityWalletInfoNewBinding; import com.hbl.lewan.databinding.ActivityWalletInfoNewBinding;
import com.hbl.lewan.dialog.ActionConfirmDialog; import com.hbl.lewan.dialog.ActionConfirmDialog;
import com.hbl.lewan.main.mine.AccoutListActivity;
import com.hbl.lewan.main.mine.BuyAccountActivity;
import com.hbl.lewan.main.mine.ChangeAccoutActionActivity; import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
import com.hbl.lewan.model.AccountsBean;
import com.hbl.lewan.model.BindBean; import com.hbl.lewan.model.BindBean;
import com.hbl.lewan.model.LoginBean; import com.hbl.lewan.model.LoginBean;
import com.hbl.lewan.model.WalletBean; import com.hbl.lewan.model.WalletBean;
@@ -30,6 +33,8 @@ import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
import com.netease.yunxin.kit.common.ui.utils.ToastX; import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.corekit.im.IMKitClient; import com.netease.yunxin.kit.corekit.im.IMKitClient;
import java.util.List;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
@@ -59,6 +64,48 @@ public class MyWalletActivity extends BaseActivity {
bindInfo(); bindInfo();
} }
private void checkAccounts() {
Api.getInstance().accounts()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<>() {
@Override
public void onSuccess(Result<List<AccountsBean>> feedbackResp) {
if(feedbackResp.data!=null && feedbackResp.data.size()>1){
// startActivity(new Intent(MyWalletActivity.this, AccoutListActivity.class));
viewBinding.gmfhLy.setVisibility(View.GONE);
viewBinding.gmfhLine.setVisibility(View.GONE);
}else{
viewBinding.gmfhLy.setVisibility(View.VISIBLE);
viewBinding.gmfhLine.setVisibility(View.VISIBLE);
// ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(getActivity(), "当前没有副号,是否需要购买", "取消","购买",true);
// actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
// @Override
// public void toSumbit() {
// startActivity(new Intent(getActivity(), BuyAccountActivity.class));
// }
//
// @Override
// public void toCancel() {
//
// }
// });
// actionConfirmDialog.show();
}
}
@Override
public void onError(int code, String msg) {
LogUtils.i("获取到的错误:" + code + "" + msg);
ToastX.showShortToast(msg);
}
});
}
LoginBean locUser; LoginBean locUser;
private void getUserInfo(int type) { private void getUserInfo(int type) {
@@ -111,6 +158,8 @@ public class MyWalletActivity extends BaseActivity {
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
getWallet(); getWallet();
checkAccounts();
} }
private void bindInfo() { private void bindInfo() {
@@ -134,7 +183,12 @@ public class MyWalletActivity extends BaseActivity {
protected void initView() { protected void initView() {
viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish()); viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
viewBinding.gmfhBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MyWalletActivity.this, BuyAccountActivity.class));
}
});
viewBinding.lqmxBt.setOnClickListener(v -> { viewBinding.lqmxBt.setOnClickListener(v -> {
if (bindBean != null) { if (bindBean != null) {
if (!bindBean.getPhoneBind()) { if (!bindBean.getPhoneBind()) {

View File

@@ -79,10 +79,19 @@ public class PaySettingActivity extends BaseActivity implements SelectPayTypeDia
viewBinding.mianmiSc.setChecked(DataUtils.get(PaySettingActivity.this, "hasMianMi", false)); viewBinding.mianmiSc.setChecked(DataUtils.get(PaySettingActivity.this, "hasMianMi", false));
viewBinding.zhiwenSc.setChecked(DataUtils.get(PaySettingActivity.this, "hasFinger", false)); viewBinding.zhiwenSc.setChecked(DataUtils.get(PaySettingActivity.this, "hasFinger", false));
viewBinding.mianmiV.setOnClickListener(v -> { viewBinding.mianmiV.setOnClickListener(v -> {
if(loginBean!=null&&(loginBean.getUserType()+"").equals("2")){
ToastX.showShortToast("副号不支持修改密码");
return;
}
if (bean != null && !bean.getPayPasswordSet()) { if (bean != null && !bean.getPayPasswordSet()) {
showDialogPay(); showDialogPay();
return; return;
} }
boolean isCheck = DataUtils.get(PaySettingActivity.this, "hasMianMi", false); boolean isCheck = DataUtils.get(PaySettingActivity.this, "hasMianMi", false);
if (isCheck) { if (isCheck) {
@@ -205,6 +214,8 @@ public class PaySettingActivity extends BaseActivity implements SelectPayTypeDia
} }
private void showDialogPay() { private void showDialogPay() {
com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(PaySettingActivity.this, com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(PaySettingActivity.this,
@@ -325,6 +336,10 @@ public class PaySettingActivity extends BaseActivity implements SelectPayTypeDia
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
loginBean = DataUtils.getLocUserInfo();
bindInfo(IMKitClient.account()); bindInfo(IMKitClient.account());
} }

View File

@@ -276,6 +276,7 @@ public class TiXianActivity extends BaseActivity {
bankBean =aliPayBeans.get(0); bankBean =aliPayBeans.get(0);
}else{ }else{
viewBinding.shoukuanBt.setText(""); viewBinding.shoukuanBt.setText("");
bankBean = null;
} }
if(tiXianConfBean!=null) { if(tiXianConfBean!=null) {
viewBinding.tipsTv.setText(Html.fromHtml("单笔提现手续费<font color = '#FA6947'>" + tiXianConfBean.getBaseFee() + "</font>元<br>提现费率<font color = '#FA6947'>" + tiXianConfBean.getFeeRate() + "%</font><br>预计到账时间<font color = '#FA6947'>2</font>小时以内")); viewBinding.tipsTv.setText(Html.fromHtml("单笔提现手续费<font color = '#FA6947'>" + tiXianConfBean.getBaseFee() + "</font>元<br>提现费率<font color = '#FA6947'>" + tiXianConfBean.getFeeRate() + "%</font><br>预计到账时间<font color = '#FA6947'>2</font>小时以内"));
@@ -291,6 +292,8 @@ public class TiXianActivity extends BaseActivity {
bankBean =bankBeans.get(0); bankBean =bankBeans.get(0);
}else{ }else{
viewBinding.shoukuanBt.setText(""); viewBinding.shoukuanBt.setText("");
bankBean = null;
} }
if(tiXianConfBean!=null) { if(tiXianConfBean!=null) {
viewBinding.tipsTv.setText(Html.fromHtml("单笔提现手续费<font color = '#FA6947'>" + tiXianConfBean.getBaseFee() + "</font>元<br>提现费率<font color = '#FA6947'>" + tiXianConfBean.getFeeRate() + "%</font><br>预计到账时间<font color = '#FA6947'>2</font>小时以内")); viewBinding.tipsTv.setText(Html.fromHtml("单笔提现手续费<font color = '#FA6947'>" + tiXianConfBean.getBaseFee() + "</font>元<br>提现费率<font color = '#FA6947'>" + tiXianConfBean.getFeeRate() + "%</font><br>预计到账时间<font color = '#FA6947'>2</font>小时以内"));

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
>
<shape
android:shape="ring"
android:innerRadiusRatio="3"
android:thicknessRatio="8"
android:useLevel="false"
>
<gradient
android:type="sweep"
android:useLevel="false"
android:startColor="#6D80FF"
android:centerColor="#886D80FF"
android:endColor="#006D80FF"
android:centerY="0.50" />
</shape>
</animated-rotate>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="12dp" />
<solid android:color="@color/white" />
<stroke android:width="@dimen/dp_1" android:color="@color/color_f4f4f4"/>
</shape>

View File

@@ -182,7 +182,7 @@
<FrameLayout <FrameLayout
android:id="@+id/flteamurl" android:id="@+id/flteamurl"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_15"
@@ -214,7 +214,7 @@
<FrameLayout <FrameLayout
android:id="@+id/flteaminfo" android:id="@+id/flteaminfo"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_15"
android:visibility="gone" android:visibility="gone"
@@ -247,7 +247,7 @@
<FrameLayout <FrameLayout
android:id="@+id/rlteam_announcement" android:id="@+id/rlteam_announcement"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_15"
android:visibility="gone" android:visibility="gone"
@@ -277,7 +277,7 @@
<FrameLayout <FrameLayout
android:id="@+id/rlteam_clearhistory" android:id="@+id/rlteam_clearhistory"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_15"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
@@ -303,10 +303,11 @@
app:srcCompat="@mipmap/ic_setting_enter" /> app:srcCompat="@mipmap/ic_setting_enter" />
</FrameLayout> </FrameLayout>
<FrameLayout <FrameLayout
android:id="@+id/fljinyan" android:id="@+id/flhbkz"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_45"
android:visibility="gone" android:visibility="gone"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_15"
@@ -314,6 +315,37 @@
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/rlteam_clearhistory"> app:layout_constraintTop_toBottomOf="@+id/rlteam_clearhistory">
<TextView
android:id="@+id/tvhbkz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:drawablePadding="@dimen/dp_5"
android:gravity="center"
android:text="红包控制"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_16"
app:drawableStartCompat="@mipmap/hbkz_red_img1" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
app:srcCompat="@mipmap/ic_setting_enter" />
</FrameLayout>
<FrameLayout
android:id="@+id/fljinyan"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:visibility="gone"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/flhbkz">
<TextView <TextView
android:id="@+id/tvjinyan" android:id="@+id/tvjinyan"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -336,7 +368,7 @@
<FrameLayout <FrameLayout
android:id="@+id/rlteam_jubao" android:id="@+id/rlteam_jubao"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_15"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
@@ -365,7 +397,7 @@
<FrameLayout <FrameLayout
android:id="@+id/rlteam_set" android:id="@+id/rlteam_set"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_40" android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15" android:layout_marginEnd="@dimen/dp_15"
android:visibility="gone" android:visibility="gone"

View File

@@ -188,8 +188,7 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:singleLine="true" android:singleLine="true"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14" />
tools:text="dkjklasjgsdg dsal kl;fdkg" />
<ImageView <ImageView
android:layout_width="wrap_content" android:layout_width="wrap_content"

View File

@@ -25,7 +25,7 @@
tools:ignore="MissingConstraints" /> tools:ignore="MissingConstraints" />
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#FFFFFF" android:background="#FFFFFF"
android:clipChildren="false" android:clipChildren="false"

View File

@@ -20,6 +20,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:visibility="gone"
android:background="@color/color_e8e8e8" /> android:background="@color/color_e8e8e8" />
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout

View File

@@ -226,6 +226,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp"
android:visibility="gone"
android:background="#f4f4f4" /> android:background="#f4f4f4" />
<TextView <TextView
@@ -234,6 +235,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_60" android:layout_height="@dimen/dp_60"
android:drawablePadding="@dimen/dp_15" android:drawablePadding="@dimen/dp_15"
android:visibility="gone"
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="@string/setting_notify_push_call" android:text="@string/setting_notify_push_call"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"

View File

@@ -13,12 +13,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
> >
<ImageView <ImageView
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="211dp"
android:adjustViewBounds="true" android:adjustViewBounds="true"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/qianbao_top_bg" android:src="@mipmap/qianbao_top_bg"
app:layout_constraintDimensionRatio="375:211"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
@@ -32,67 +31,83 @@
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:titleText="我的钱包" app:titleText="我的钱包"
app:titleTextColor="@android:color/black" /> app:titleTextColor="@android:color/black" />
<androidx.cardview.widget.CardView
<LinearLayout android:layout_width="match_parent"
android:id="@+id/top_cly" android:layout_height="180dp"
android:layout_width="0dp" android:layout_marginStart="@dimen/dp_12"
android:layout_height="0dp" android:layout_marginEnd="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:layout_marginTop="?actionBarSize" android:layout_marginTop="?actionBarSize"
android:background="@mipmap/qianbao_top_float_bg" android:background="@mipmap/qianbao_top_float_bg"
android:orientation="vertical" android:orientation="vertical"
app:cardCornerRadius="@dimen/dp_10"
app:cardElevation="0dp"
app:cardMaxElevation="0dp"
app:layout_constraintDimensionRatio="346:180" app:layout_constraintDimensionRatio="346:180"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_35"
android:layout_marginTop="@dimen/dp_30"
android:text="我的零钱"
android:textColor="#ffffffff"
android:textSize="14sp" />
<TextView
android:id="@+id/jinbi_yue_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_35"
android:layout_marginTop="@dimen/dp_15"
android:textColor="#fffcf0a1"
android:textSize="30sp" />
<LinearLayout <LinearLayout
android:id="@+id/top_cly"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="@dimen/dp_25" android:background="@mipmap/qianbao_top_float_bg"
android:gravity="center_horizontal|bottom" android:orientation="vertical">
android:orientation="horizontal">
<TextView <TextView
android:id="@+id/cz_bt" android:layout_width="wrap_content"
android:layout_width="161dp" android:layout_height="wrap_content"
android:layout_height="60dp" android:layout_marginStart="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_5" android:layout_marginTop="@dimen/dp_20"
android:background="@mipmap/qianbao_top_tixian" android:text="我的零钱"
android:gravity="center" android:textColor="#ffffffff"
android:text="充值" android:textSize="14sp" />
android:textColor="#fff6f8fd"
android:textSize="16sp" />
<TextView <TextView
android:id="@+id/tx_bt" android:id="@+id/jinbi_yue_tv"
android:layout_width="161dp" android:layout_width="wrap_content"
android:layout_height="60dp" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_5" android:layout_marginStart="@dimen/dp_20"
android:background="@mipmap/qianbao_top_topup" android:layout_marginTop="@dimen/dp_15"
android:gravity="center" android:textColor="#fffcf0a1"
android:text="提现" android:textSize="30sp" />
android:textColor="#fff6f8fd"
android:textSize="16sp" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/dp_20"
android:gravity="center_horizontal|bottom"
android:orientation="horizontal">
<TextView
android:id="@+id/cz_bt"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_weight="1"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginStart="@dimen/dp_20"
android:background="@drawable/button_true_bg1"
android:gravity="center"
android:text="充值"
android:textColor="#fff6f8fd"
android:textSize="16sp" />
<TextView
android:id="@+id/tx_bt"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginEnd="@dimen/dp_20"
android:layout_weight="1"
android:layout_marginStart="@dimen/dp_10"
android:background="@drawable/button_true_bg11"
android:gravity="center"
android:text="提现"
android:textColor="#fff6f8fd"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<ScrollView <ScrollView
@@ -100,6 +115,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/index_user_bg" android:background="@drawable/index_user_bg"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginTop="@dimen/dp_15"
android:layout_marginStart="@dimen/dp_12" android:layout_marginStart="@dimen/dp_12"
android:layout_marginEnd="@dimen/dp_12" android:layout_marginEnd="@dimen/dp_12"
android:scrollbars="none"> android:scrollbars="none">
@@ -223,7 +239,36 @@
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" />
<LinearLayout
android:id="@+id/gmfh_ly"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_57"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<Button
android:id="@+id/gmfh_bt"
style="@style/settings_item_bg_group_full_20191"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawablePadding="@dimen/dp_15"
android:gravity="center_vertical"
android:text="购买副号"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
app:drawableLeftCompat="@mipmap/goumaifuhao"
app:drawableRightCompat="@drawable/ic_frame_mine_right_arrow" />
</LinearLayout>
<View
android:id="@+id/gmfh_line"
android:layout_width="match_parent"
android:layout_height="1px"
android:visibility="gone"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:background="#D8D8D8" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_57" android:layout_height="@dimen/dp_57"

View File

@@ -139,6 +139,7 @@
android:visibility="gone" android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="53dp" android:layout_height="53dp"
android:paddingEnd="@dimen/dp_15"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:layout_marginRight="@dimen/dp_30" android:layout_marginRight="@dimen/dp_30"
@@ -181,8 +182,9 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@mipmap/index_next_img" android:src="@mipmap/index_next_img"
android:id="@+id/zhuanshu_next_iv"
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"/> />
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -0,0 +1,109 @@
<?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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/layout_selectorroot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.netease.yunxin.kit.common.ui.widgets.BackTitleBar
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleText="红包控制"
app:titleTextColor="@color/color_333333" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_40_dp"
android:layout_marginStart="@dimen/dimen_15_dp"
android:layout_marginTop="@dimen/dimen_10_dp"
android:layout_marginEnd="@dimen/dimen_15_dp"
android:background="@drawable/fun_bg_addfriends_verifymsg"
android:orientation="horizontal">
<EditText
android:id="@+id/edit_selector_friends"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.9"
android:background="@null"
android:drawableStart="@drawable/fun_ic_conversation_search"
android:drawablePadding="@dimen/dimen_5_dp"
android:hint="@string/fun_contact_createteam_tips"
android:imeOptions="actionSearch"
android:paddingStart="@dimen/dimen_15_dp"
android:singleLine="true"
android:textColorHint="@color/color_cccccc"
android:textCursorDrawable="@null" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ic_clean_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.1"
android:visibility="gone"
app:srcCompat="@drawable/ic_selector_close" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tvteammembers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_20"
android:textColor="@color/color_333333"
android:textSize="@dimen/text_size_14"
android:text="成员"
/>
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_20"
android:gravity="center_horizontal"
android:textColor="@color/color_333333"
android:textSize="@dimen/text_size_14"
android:text="收红包"
/>
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_20"
android:gravity="center_horizontal"
android:textColor="@color/color_333333"
android:textSize="@dimen/text_size_14"
android:text="发红包"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_members"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen_20_dp" />
</LinearLayout>
</LinearLayout>

View File

@@ -14,7 +14,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/st" android:layout_below="@id/st"
android:background="@color/color_fffafa" android:background="@color/white"
app:titleText="@string/zhuanzhang_title_txt" app:titleText="@string/zhuanzhang_title_txt"
tools:ignore="MissingConstraints" /> tools:ignore="MissingConstraints" />
@@ -215,6 +215,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:visibility="gone"
android:layout_marginRight="@dimen/dp_30" android:layout_marginRight="@dimen/dp_30"
android:orientation="horizontal"> android:orientation="horizontal">
@@ -242,6 +243,7 @@
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_30" android:layout_marginRight="@dimen/dp_30"
android:visibility="gone"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
@@ -289,8 +291,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="88dp" android:layout_height="88dp"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:layout_marginTop="20dp"
android:layout_marginRight="@dimen/dp_30" android:layout_marginRight="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_20"
android:background="@drawable/input_bg_t2" android:background="@drawable/input_bg_t2"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingTop="15dp"> android:paddingTop="15dp">

View File

@@ -15,7 +15,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:titleText="@string/zhuanzhang_title_txt" app:titleText="@string/zhuanzhang_title_txt"
android:background="@color/color_fcfcfc" android:background="@color/white"
tools:ignore="MissingConstraints" /> tools:ignore="MissingConstraints" />
@@ -122,7 +122,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:minHeight="50dp" android:minHeight="50dp"
android:text="@string/transfer_instructions_txt" android:text="转账说明"
android:textColor="#7E7B84" android:textColor="#7E7B84"
android:textSize="14sp" /> android:textSize="14sp" />
@@ -156,7 +156,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:minHeight="50dp" android:minHeight="50dp"
android:text="@string/transfer_time_txt" android:text="转账时间"
android:textColor="#7E7B84" android:textColor="#7E7B84"
android:textSize="14sp" /> android:textSize="14sp" />
@@ -204,7 +204,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical|right" android:gravity="center_vertical|right"
android:minHeight="50dp" android:minHeight="50dp"
android:text="赠送说明" android:text="转账说明"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="14sp" /> android:textSize="14sp" />
</LinearLayout> </LinearLayout>

View File

@@ -13,7 +13,7 @@
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="3" android:layout_weight="4"
android:gravity="center_horizontal"> android:gravity="center_horizontal">
@@ -35,9 +35,8 @@
android:layout_height="@dimen/dp_106" android:layout_height="@dimen/dp_106"
app:es_shape_type="rectangle" app:es_shape_type="rectangle"
app:ease_radius="10dp" app:ease_radius="10dp"
android:visibility="gone" android:visibility="visible"
android:layout_centerHorizontal="true" android:layout_centerInParent="true"
android:layout_marginTop="@dimen/dp_200"
android:src="@mipmap/ic_launche" /> android:src="@mipmap/ic_launche" />
</RelativeLayout> </RelativeLayout>
@@ -59,7 +58,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20" android:layout_marginLeft="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_20" android:layout_marginRight="@dimen/dp_20"
android:background="@mipmap/start_login1" android:background="@drawable/bg_topup_btn"
android:gravity="center" android:gravity="center"
android:text="@string/login_txt" android:text="@string/login_txt"
android:textColor="@color/color_white" android:textColor="@color/color_white"
@@ -70,9 +69,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20" android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_20" android:layout_marginRight="@dimen/dp_20"
android:background="@mipmap/start_reg1" android:background="@drawable/button_true_bg1"
android:gravity="center" android:gravity="center"
android:text="@string/reg_txt" android:text="@string/reg_txt"
android:textColor="@color/white" android:textColor="@color/white"

View File

@@ -17,7 +17,19 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<TextView
android:id="@+id/zhiding_tv"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_50_dp"
android:gravity="center"
android:text="置顶该聊天"
android:textColor="@color/color_333333"
android:textSize="14sp" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#F9F9F9" />
<TextView <TextView
android:id="@+id/hide_tv" android:id="@+id/hide_tv"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -120,6 +120,7 @@
android:background="@color/transparent" android:background="@color/transparent"
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="@string/species_txt" android:text="@string/species_txt"
android:visibility="gone"
android:textColor="#333333" android:textColor="#333333"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />

View File

@@ -119,6 +119,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="10dp" android:layout_marginLeft="10dp"
android:visibility="gone"
android:background="@color/transparent" android:background="@color/transparent"
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="@string/species_txt" android:text="@string/species_txt"

View File

@@ -12,10 +12,9 @@
<ImageView <ImageView
android:id="@+id/card_view" android:id="@+id/card_view"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="146dp"
android:background="@mipmap/chat_bg_index" android:background="@mipmap/chat_bg_index"
app:layout_constraintDimensionRatio="375:146"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />

View File

@@ -25,10 +25,9 @@
<ImageView <ImageView
android:id="@+id/card_view" android:id="@+id/card_view"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="175dp"
android:background="@mipmap/user_info_bg1" android:background="@mipmap/user_info_bg1"
app:layout_constraintDimensionRatio="375:175"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
@@ -174,17 +173,16 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="205dp"
android:visibility="visible" android:visibility="visible"
app:layout_constraintDimensionRatio="375:205"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="60dp"
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="@drawable/index_user_bg1" android:background="@drawable/index_user_bg1"
@@ -533,13 +531,14 @@
android:drawablePadding="@dimen/dp_15" android:drawablePadding="@dimen/dp_15"
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="@string/haoyouquanxian_txt" android:text="@string/black_list_txt"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14"
app:drawableLeftCompat="@mipmap/icon_friend_quanxian" app:drawableLeftCompat="@mipmap/icon_friend_quanxian"
app:drawableRightCompat="@drawable/ic_frame_mine_right_arrow" /> app:drawableRightCompat="@drawable/ic_frame_mine_right_arrow" />
</LinearLayout> </LinearLayout>
<!-- android:text="@string/haoyouquanxian_txt"-->
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -743,7 +742,7 @@
android:gravity="center" android:gravity="center"
android:singleLine="true" android:singleLine="true"
android:text="切换账号" android:text="切换账号"
android:textColor="#616161" android:textColor="@color/color_333333"
android:textSize="@dimen/dp_16" android:textSize="@dimen/dp_16"
tools:ignore="NotSibling,SpUsage" /> tools:ignore="NotSibling,SpUsage" />

View File

@@ -20,10 +20,12 @@
app:es_shape_type="round" app:es_shape_type="round"
android:src="@mipmap/ic_launche"/> android:src="@mipmap/ic_launche"/>
<LinearLayout <LinearLayout
android:id="@+id/user_ly"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_56" android:layout_height="@dimen/dp_56"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginStart="@dimen/dp_10" android:layout_marginStart="@dimen/dp_10"
android:visibility="gone"
android:layout_weight="1"> android:layout_weight="1">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -70,6 +72,18 @@
android:textSize="14sp" android:textSize="14sp"
/> />
</LinearLayout> </LinearLayout>
<TextView
android:id="@+id/add_accout_ly"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_56"
android:orientation="vertical"
android:visibility="gone"
android:text="添加账号"
android:textSize="@dimen/sp_14"
android:textColor="@color/color_666666"
android:gravity="center_vertical"
android:layout_marginStart="@dimen/dp_10"
android:layout_weight="1"/>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@@ -0,0 +1,41 @@
<?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. -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/transparent">
<RelativeLayout
android:layout_width="@dimen/dp_240"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/shape_dialog_bg222">
<ProgressBar
android:id="@+id/pb"
style="@style/LoadingDialogTheme"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_40"
android:layout_centerHorizontal="true"
android:indeterminateDrawable="@drawable/pass_word_bg1"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/tv_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pb"
android:gravity="center"
android:layout_marginTop="15dp"
android:layout_marginBottom="40dp"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_10"
android:textColor="@android:color/black"
android:textSize="14sp"
tools:text="loading"
tools:visibility="visible" />
</RelativeLayout>
</RelativeLayout>

View File

@@ -0,0 +1,124 @@
<?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.
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/root_view"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ic_delete"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/avatar_view"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/avatar_view" />
<com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView
android:id="@+id/avatar_view"
android:layout_width="@dimen/dimen_45_dp"
android:layout_height="@dimen/dimen_45_dp"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginBottom="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
app:avatarCorner="@dimen/dimen_45_dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/ic_delete"
app:layout_constraintTop_toTopOf="parent"
app:layout_goneMarginStart="0dp" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/color_333333"
android:textSize="@dimen/text_size_16"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/tv_name_activetime"
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"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_5"
android:paddingEnd="@dimen/dp_5"
android:textSize="@dimen/sp_12"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/avatar_view"
app:layout_constraintLeft_toLeftOf="@+id/tv_name" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/jinyan_red_img"
android:layout_marginEnd="@dimen/dp_15"
android:id="@+id/jinyan_iv"
android:visibility="gone"
/>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/fahongbao_switch"
android:layout_width="wrap_content"
android:layout_height="@dimen/dimen_24_dp"
android:clickable="true"
android:layout_gravity="end|center_vertical"
android:thumb="@drawable/switch_thumb_selector"
app:track="@drawable/switch_track_selector"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/shouhongbao_switch"
android:layout_width="wrap_content"
android:layout_height="@dimen/dimen_24_dp"
android:layout_marginEnd="@dimen/dp_12"
android:clickable="false"
android:layout_gravity="end|center_vertical"
android:thumb="@drawable/switch_thumb_selector"
app:track="@drawable/switch_track_selector"
app:layout_constraintRight_toLeftOf="@id/fahongbao_switch"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<View
android:id="@+id/lineteamsetting"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_0_5"
android:background="@color/color_ededed"
app:layout_constraintBottom_toBottomOf="parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 655 KiB

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

@@ -169,7 +169,7 @@
<string name="delete_text">删除</string> <string name="delete_text">删除</string>
<string name="addfriend_invite_text">邀请</string> <string name="addfriend_invite_text">邀请</string>
<string name="addfriend_qrcode_text">行动</string> <string name="addfriend_qrcode_text">二维</string>
<string name="addfriend_search_text">搜索</string> <string name="addfriend_search_text">搜索</string>
<string name="addfriend_open_text">启用</string> <string name="addfriend_open_text">启用</string>
<string name="addfriend_add_text">添加</string> <string name="addfriend_add_text">添加</string>
@@ -221,15 +221,15 @@
<string name="jtzw_txt">简体中文</string> <string name="jtzw_txt">简体中文</string>
<string name="yinyu_txt">英语</string> <string name="yinyu_txt">英语</string>
<string name="riyu_txt">日语</string> <string name="riyu_txt">日语</string>
<string name="save_code_add_friend_txt">使用此行动码或链接来添加好友!</string> <string name="save_code_add_friend_txt">使用此二维码或链接来添加好友!</string>
<string name="copy_link_txt">复制链接</string> <string name="copy_link_txt">复制链接</string>
<string name="share_txt">分享</string> <string name="share_txt">分享</string>
<string name="save_txt">保存</string> <string name="save_txt">保存</string>
<string name="shuaxin_qrcode_txt">刷新行动</string> <string name="shuaxin_qrcode_txt">刷新二维</string>
<string name="qrcode_generate_activity_qr_save_sucess">行动码已成功保存到系统相册!</string> <string name="qrcode_generate_activity_qr_save_sucess">二维码已成功保存到系统相册!</string>
<string name="qrcode_generate_activity_qr_save_fail">行动码保存失败!</string> <string name="qrcode_generate_activity_qr_save_fail">二维码保存失败!</string>
<string name="qrcode_generate_activity_qr_generate_fail">行动码生成失败!</string> <string name="qrcode_generate_activity_qr_generate_fail">二维码生成失败!</string>
<string name="qrcode_share_succ_txt">行动码分享成功</string> <string name="qrcode_share_succ_txt">二维码分享成功</string>
<string name="qrcode_scan_activity_not_invalid_qrcode">无效的2维码</string> <string name="qrcode_scan_activity_not_invalid_qrcode">无效的2维码</string>
<string name="lailiaozhanghao_txt">乐玩账号</string> <string name="lailiaozhanghao_txt">乐玩账号</string>
<string name="shuaxinchenggong_txt">刷新成功</string> <string name="shuaxinchenggong_txt">刷新成功</string>
@@ -239,7 +239,7 @@
<string name="gexingqianming_txt">个性签名</string> <string name="gexingqianming_txt">个性签名</string>
<string name="dianhuahaoma_txt">电话号码</string> <string name="dianhuahaoma_txt">电话号码</string>
<string name="yxtrtgidss_txt">允许他人通过账号添加</string> <string name="yxtrtgidss_txt">允许他人通过账号添加</string>
<string name="wdewm_txt">我的行动</string> <string name="wdewm_txt">我的二维</string>
<string name="szgrzltxyfm_txt">设置头像与封面</string> <string name="szgrzltxyfm_txt">设置头像与封面</string>
<string name="grzlfm_txt">个人资料封面</string> <string name="grzlfm_txt">个人资料封面</string>
<string name="kaxj_txt">开启相机</string> <string name="kaxj_txt">开启相机</string>
@@ -257,8 +257,8 @@
<string name="allow_add_me_at_group_txt">允许通过群聊方式添加我</string> <string name="allow_add_me_at_group_txt">允许通过群聊方式添加我</string>
<string name="black_list_txt">黑名单</string> <string name="black_list_txt">黑名单</string>
<string name="qszacc_txt">请设置乐玩账号</string> <string name="qszacc_txt">请设置乐玩账号</string>
<string name="qszacc1_txt">MM账户ID支持英文、数字、下划线</string> <string name="qszacc1_txt">乐玩账户ID支持英文、数字、下划线</string>
<string name="qszacc_hint_txt">请输入MM账户</string> <string name="qszacc_hint_txt">请输入乐玩账户</string>
<string name="meiyuegaiyici_txt">每月只可修改一次,请谨慎修改!</string> <string name="meiyuegaiyici_txt">每月只可修改一次,请谨慎修改!</string>
<string name="zsvbxg_txt">您暂时不能修改MMID</string> <string name="zsvbxg_txt">您暂时不能修改MMID</string>
<string name="zsbnxg1_txt">MMID一个月只可修改一次您将于%s年%s月%s日才可修改</string> <string name="zsbnxg1_txt">MMID一个月只可修改一次您将于%s年%s月%s日才可修改</string>
@@ -314,7 +314,7 @@
<string name="lahei_tips_txt">拉黑后好友将进入黑名单您将不再收到对方消息</string> <string name="lahei_tips_txt">拉黑后好友将进入黑名单您将不再收到对方消息</string>
<string name="mykfxfddx_txt">没有可分享的对象</string> <string name="mykfxfddx_txt">没有可分享的对象</string>
<string name="zhbhf_jqsb_txt">账号不合法IM鉴权失败</string> <string name="zhbhf_jqsb_txt">账号不合法IM鉴权失败</string>
<string name="saoyisao_tips_txt">扫描行动码,轻松加好友或启动其他功能!</string> <string name="saoyisao_tips_txt">扫描二维码,轻松加好友或启动其他功能!</string>
<string name="qrcode_scan_activity_not_surpport_qrcontent">不支持的2维码内容</string> <string name="qrcode_scan_activity_not_surpport_qrcontent">不支持的2维码内容</string>
<string name="shouquandenglu_txt">授权登录</string> <string name="shouquandenglu_txt">授权登录</string>
<string name="tltdbj_txt">淘乐町门店设备登录</string> <string name="tltdbj_txt">淘乐町门店设备登录</string>
@@ -363,15 +363,15 @@
<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>
<string name="zhuanzhangjine_txt">赠送数量</string> <string name="zhuanzhangjine_txt">金额</string>
<string name="zhuanzhangjineto_txt">赠送给:%s</string> <string name="zhuanzhangjineto_txt">转账给:%s</string>
<string name="shouxufei_txt">手续费</string> <string name="shouxufei_txt">手续费</string>
<string name="shouxufeitips_jinbi_txt"><![CDATA[含手续费<b><font color=\'#FF4161\'>%d</font></b>cash]]></string> <string name="shouxufeitips_jinbi_txt"><![CDATA[含手续费<b><font color=\'#FF4161\'>%d</font></b>cash]]></string>
<string name="shouxufeitips_yinbi_txt"><![CDATA[含手续费<b><font color=\'#FF4161\'>%d</font></b>积分]]></string> <string name="shouxufeitips_yinbi_txt"><![CDATA[含手续费<b><font color=\'#FF4161\'>%d</font></b>积分]]></string>
<string name="totaljine_txt">统计支付数量</string> <string name="totaljine_txt">统计支付数量</string>
<string name="cashbuzu_txt">当前cash余额不足</string> <string name="cashbuzu_txt">当前cash余额不足</string>
<string name="lipinjifenbuzu_txt">当前礼品积分余额不足</string> <string name="lipinjifenbuzu_txt">当前礼品积分余额不足</string>
<string name="transfer_instructions_hint_txt">(选填)输入赠送说明</string> <string name="transfer_instructions_hint_txt">(选填)转账说明</string>
<string name="fqzz_txt">发起赠送</string> <string name="fqzz_txt">发起赠送</string>
<string name="no_get_to_back_t_txt">24小时内未领取赠送数量将被自动领取</string> <string name="no_get_to_back_t_txt">24小时内未领取赠送数量将被自动领取</string>
<string name="timeout_transfer_tips_txt">24小时内未领取赠送数量将被自动领取</string> <string name="timeout_transfer_tips_txt">24小时内未领取赠送数量将被自动领取</string>
@@ -414,19 +414,19 @@
<string name="hqqbxxsb_txt">获取钱包信息失败</string> <string name="hqqbxxsb_txt">获取钱包信息失败</string>
<string name="send_in_redenvelope_txt2">塞礼品积分进红包</string> <string name="send_in_redenvelope_txt2">塞礼品积分进红包</string>
<string name="zhuanzhang_txt">[礼品积分赠送]</string> <string name="zhuanzhang_txt">[礼品积分赠送]</string>
<string name="zzjebnwk_txt">赠送数量不能为空</string> <string name="zzjebnwk_txt">转账金额不能为空</string>
<string name="zzjebnwk_txt1">收款数量不能为空</string> <string name="zzjebnwk_txt1">收款数量不能为空</string>
<string name="zzjebnsy_txt">赠送数量不能小于0.01</string> <string name="zzjebnsy_txt">赠送数量不能小于0.01</string>
<string name="zzjebnsy_txt1">收款数量不能为空不能小于0.01</string> <string name="zzjebnsy_txt1">收款数量不能为空不能小于0.01</string>
<string name="hqqbxxsb_tx">获取钱包信息失败</string> <string name="hqqbxxsb_tx">获取钱包信息失败</string>
<string name="nqdythzz_txt">确定要退还赠送吗?</string> <string name="nqdythzz_txt">确定要退还转账吗?</string>
<string name="nqdythzz_txt1">您确定要退还%s的赠送吗?</string> <string name="nqdythzz_txt1">您确定要退还%s的转账吗?</string>
<string name="tuihuan_txt">退还</string> <string name="tuihuan_txt">退还</string>
<string name="ndqbbdj_txt">您的Cash被冻结,如需解冻请联系客服</string> <string name="ndqbbdj_txt">您的余额被冻结,如需解冻请联系客服</string>
<string name="lxkh_txt">联系客服</string> <string name="lxkh_txt">联系客服</string>
<string name="zhuanzhang_tips1_txt">1天内对方未领取赠送数量将自动打到对方的余额</string> <string name="zhuanzhang_tips1_txt">1天内对方未领取转账将自动打到对方的余额</string>
<string name="daishoukuan_txt">待%s收款</string> <string name="daishoukuan_txt">待%s收款</string>
<string name="yishoukuan_txt">%s已收款</string> <string name="yishoukuan_txt">%s已收款</string>
<string name="yzdsk_txt">%s已自动领取</string> <string name="yzdsk_txt">%s已自动领取</string>
@@ -441,7 +441,7 @@
<string name="nyth_txt">已退还</string> <string name="nyth_txt">已退还</string>
<string name="ytkddfye_txt">已退还到对方余额</string> <string name="ytkddfye_txt">已退还到对方余额</string>
<string name="wbdsjhytkddfye_txt">系统已自动退还</string> <string name="wbdsjhytkddfye_txt">系统已自动退还</string>
<string name="zhuanzhang_title_txt">赠送</string> <string name="zhuanzhang_title_txt">转账</string>
<string name="fahongbao_txt">发红包</string> <string name="fahongbao_txt">发红包</string>
<string name="ge_txt"></string> <string name="ge_txt"></string>
<string name="voom_message_txt">[短影音消息]</string> <string name="voom_message_txt">[短影音消息]</string>
@@ -500,9 +500,9 @@
<string name="jinbihongbao_tuikuan_txt">红包-退还</string> <string name="jinbihongbao_tuikuan_txt">红包-退还</string>
<string name="jinbihongbao_laizi_txt">红包-来自</string> <string name="jinbihongbao_laizi_txt">红包-来自</string>
<string name="jinbihongbao_wfg_txt">红包-我发给</string> <string name="jinbihongbao_wfg_txt">红包-我发给</string>
<string name="jinbizhuanzhang_tk_txt">Cash赠送-退还</string> <string name="jinbizhuanzhang_tk_txt">转账-退还</string>
<string name="jinbizhuanzhang_laizi_txt">Cash赠送-来自</string> <string name="jinbizhuanzhang_laizi_txt">转账-来自</string>
<string name="jinbizhuanzhang_wofagei_txt">Cash赠送-我发给</string> <string name="jinbizhuanzhang_wofagei_txt">转账-我发给</string>
<string name="jinbiqunhongbao_tuikuan_txt">群红包-退还</string> <string name="jinbiqunhongbao_tuikuan_txt">群红包-退还</string>
<string name="jinbiqunhongbao_txt">群红包</string> <string name="jinbiqunhongbao_txt">群红包</string>
<string name="jinbiqunhongbao_wfg_txt">群红包-我发给</string> <string name="jinbiqunhongbao_wfg_txt">群红包-我发给</string>
@@ -583,7 +583,7 @@
<string name="teamsetting_other_teamname">群名称</string> <string name="teamsetting_other_teamname">群名称</string>
<string name="teamsetting_other_addtype">自动添加成员</string> <string name="teamsetting_other_addtype">自动添加成员</string>
<string name="teamsetting_other_addtypedesc">成员在收到邀请后立即被添加至群。您可以关闭此设置仅仅允许接收邀请的成员加入群。</string> <string name="teamsetting_other_addtypedesc">成员在收到邀请后立即被添加至群。您可以关闭此设置仅仅允许接收邀请的成员加入群。</string>
<string name="teamsetting_other_teamurl">使用群链接 行动码让用户加入此群</string> <string name="teamsetting_other_teamurl">使用群链接 二维码让用户加入此群</string>
<string name="teamsetting_other_teamaddfriends">是否允许群内添加好友</string> <string name="teamsetting_other_teamaddfriends">是否允许群内添加好友</string>
<string name="teamsetting_other_teamallow">允许</string> <string name="teamsetting_other_teamallow">允许</string>
<string name="teamsetting_other_teamallow_not">不允许</string> <string name="teamsetting_other_teamallow_not">不允许</string>
@@ -605,13 +605,13 @@
<string name="mianmixieyi_tips_txt">请先阅读并同意《免密支付协议》</string> <string name="mianmixieyi_tips_txt">请先阅读并同意《免密支付协议》</string>
<string name="woyiyuedubintongyi_txt">我已阅读并同意</string> <string name="woyiyuedubintongyi_txt">我已阅读并同意</string>
<string name="mianmi_title_txt1">免密支付协议</string> <string name="mianmi_title_txt1">免密支付协议</string>
<string name="personsetting_bingbiopen">封锁</string> <string name="personsetting_bingbiopen">加入黑名单</string>
<string name="personsetting_bingbicancel"></string> <string name="personsetting_bingbicancel">除黑名单</string>
<string name="erweimashouklaizi_txt">收款-来自</string> <string name="erweimashouklaizi_txt">收款-来自</string>
<string name="erweimashouklaizi_txt1">行动码收款-來自</string> <string name="erweimashouklaizi_txt1">二维码收款-來自</string>
<string name="saomafukuan_txt">赠送-给</string> <string name="saomafukuan_txt">赠送-给</string>
<string name="saomafukuan_txt2">行动码付款-给</string> <string name="saomafukuan_txt2">二维码付款-给</string>
<string name="join_group_txt">加入群聊</string> <string name="join_group_txt">加入群聊</string>
<string name="jinru_group_txt">进入群聊</string> <string name="jinru_group_txt">进入群聊</string>
@@ -648,9 +648,9 @@
<string name="zdxzsg_txt">最多选择三个</string> <string name="zdxzsg_txt">最多选择三个</string>
<string name="setting_cleanhistory">聊天记录被清除后无法恢复,确认要继续吗?</string> <string name="setting_cleanhistory">聊天记录被清除后无法恢复,确认要继续吗?</string>
<string name="toast_teamname">请设置群名称</string> <string name="toast_teamname">请设置群名称</string>
<string name="xiangshuijinbi_txt">向 %s Cash赠送</string> <string name="xiangshuijinbi_txt">向 %s 转账</string>
<string name="xiangshuiyinbi_txt">向 %s 礼品积分赠送</string> <string name="xiangshuiyinbi_txt">向 %s 礼品积分赠送</string>
<string name="xiangshuijinbi_txt1">来自 %s 的Cash赠送</string> <string name="xiangshuijinbi_txt1">来自 %s 的转账</string>
<string name="xiangshuiyinbi_txt1">来自 %s 的礼品积分赠送</string> <string name="xiangshuiyinbi_txt1">来自 %s 的礼品积分赠送</string>
<string name="saoyisao_txt">扫一扫</string> <string name="saoyisao_txt">扫一扫</string>
<string name="shoukuan_title_txt">收款</string> <string name="shoukuan_title_txt">收款</string>
@@ -687,7 +687,7 @@
<string name="accout_password_txt3">设置密码</string> <string name="accout_password_txt3">设置密码</string>
<string name="quxiugai_txt">去修改</string> <string name="quxiugai_txt">去修改</string>
<string name="set_pay_pass_txt2">忘记支付密码</string> <string name="set_pay_pass_txt2">忘记支付密码</string>
<string name="erweimashoufukuan_txt">行动码收付款</string> <string name="erweimashoufukuan_txt">二维码收付款</string>
<string name="fukuanmafukuan_txt">付款码付款</string> <string name="fukuanmafukuan_txt">付款码付款</string>
<string name="fukuanmashoukuan_txt">付款码收款</string> <string name="fukuanmashoukuan_txt">付款码收款</string>
<string name="querenzantingmianmizhifu_txt">确认暂停使用付款码免密支付吗</string> <string name="querenzantingmianmizhifu_txt">确认暂停使用付款码免密支付吗</string>
@@ -708,7 +708,7 @@
<string name="wodetongbi_txt">我的礼金</string> <string name="wodetongbi_txt">我的礼金</string>
<string name="tongbiyue_txt">禮金余额</string> <string name="tongbiyue_txt">禮金余额</string>
<string name="tongbimingxi_txt">铜币明细</string> <string name="tongbimingxi_txt">铜币明细</string>
<string name="saomiaoerweima_txt">扫描行动</string> <string name="saomiaoerweima_txt">扫描二维</string>
<string name="yichaoshi_txt">已超时,请重新支付</string> <string name="yichaoshi_txt">已超时,请重新支付</string>
<string name="gengaibangdingshoujihao_txt">更换绑定手机号</string> <string name="gengaibangdingshoujihao_txt">更换绑定手机号</string>
<string name="yibangshoujihao_txt">已绑手机号</string> <string name="yibangshoujihao_txt">已绑手机号</string>

View File

@@ -100,16 +100,27 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
if (Integer.parseInt(circleShareBean.data.getStatus()) > 0) { if (Integer.parseInt(circleShareBean.data.getStatus()) > 0) {
ChatDataUtils.set(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), Integer.parseInt(circleShareBean.data.getStatus())); ChatDataUtils.set(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), Integer.parseInt(circleShareBean.data.getStatus()));
} }
try {
if (ChatDataUtils.get(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), 0) > 0) { if (ChatDataUtils.get(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), 0) > 0) {
circleShareBean.data.setStatus(ChatDataUtils.get(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), 0) + ""); circleShareBean.data.setStatus(ChatDataUtils.get(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), 0) + "");
} }
int status = ChatDataUtils.get(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), 0); }catch (Exception e){
circleShareBean.data.setStatus("0");
}
int status = 0;
try {
status = ChatDataUtils.get(binding.bigLy.getContext(), "redpack_" + circleShareBean.data.getId(), 0);
}catch (ClassCastException e){
status = 0;
}
int finalStatus = status;
RxBus.getInstance().toObservable(RxHongBaoBean.class) RxBus.getInstance().toObservable(RxHongBaoBean.class)
.subscribeOn(rx.schedulers.Schedulers.io()) .subscribeOn(rx.schedulers.Schedulers.io())
.unsubscribeOn(rx.schedulers.Schedulers.io()) .unsubscribeOn(rx.schedulers.Schedulers.io())
.subscribe(changeImageViewBean -> {//回顶部 .subscribe(changeImageViewBean -> {//回顶部
if (status < 1) { if (finalStatus < 1) {
if (changeImageViewBean.id.equals(circleShareBean.data.getId())) { if (changeImageViewBean.id.equals(circleShareBean.data.getId())) {
changeInfo(circleShareBean.data, binding, message, null, null); changeInfo(circleShareBean.data, binding, message, null, null);
if(!TextUtils.isEmpty(circleShareBean.data.getReceiverUid())){//专属红包收款人才需要网络更新 if(!TextUtils.isEmpty(circleShareBean.data.getReceiverUid())){//专属红包收款人才需要网络更新
@@ -372,14 +383,18 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
LogUtils.i("红包类型", "名片获取到的数据红包类型1" + GsonUtils.beanToJSONString(data)); LogUtils.i("红包类型", "名片获取到的数据红包类型1" + GsonUtils.beanToJSONString(data));
if (data.getCoinType().equals("0")) { if (data.getCoinType().equals("0")) {
binding.mingpianTv.setText("拼手气红包"); if(TextUtils.isEmpty(data.getGroupId())){
binding.mingpianTv.setText("红包");
}else {
binding.mingpianTv.setText("拼手气红包");
if(!TextUtils.isEmpty(data.getReceiverUid())){ if (!TextUtils.isEmpty(data.getReceiverUid())&&!data.getReceiverUid().equals("(null)")) {
LogUtils.i("红包类型", "名片获取到的数据红包类型2" + GsonUtils.beanToJSONString(data)); LogUtils.i("红包类型", "名片获取到的数据红包类型2" + GsonUtils.beanToJSONString(data));
binding.mingpianTv.setText("专属红包"); binding.mingpianTv.setText("专属红包");
getTeamInfos(binding.itemTitleTv,data.getGroupId(),data.getReceiverUid()); getTeamInfos(binding.itemTitleTv, data.getGroupId(), data.getReceiverUid());
// binding.itemTitleTv.setText("给"+data.getReceiverUid()+"的专属红包"); // binding.itemTitleTv.setText("给"+data.getReceiverUid()+"的专属红包");
}
} }

View File

@@ -71,29 +71,29 @@ public class TransferViewHolder extends ChatBaseMessageViewHolder {
Log.i("名片", "名片获取到的数据0" + name); Log.i("名片", "名片获取到的数据0" + name);
Log.i("名片", "名片获取到的数据2" + GsonUtils.beanToJSONString(circleShareBean)); Log.i("名片", "名片获取到的数据2" + GsonUtils.beanToJSONString(circleShareBean));
// binding.itemTitleTv.setVisibility(View.INVISIBLE);//去掉title // binding.itemTitleTv.setVisibility(View.INVISIBLE);//去掉title
// if (message.getMessageData().getMessage().getFromAccount().equals(IMKitClient.account())) { if (message.getMessageData().getMessage().getFromAccount().equals(IMKitClient.account())) {
// NimUserInfo user = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getSessionId()); NimUserInfo user = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getSessionId());
// if (user != null) { if (user != null) {
// binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang_txt), user.getName())); binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang_txt), user.getName()));
// } }
// if (IMKitClient.account().equals(circleShareBean.data.getReceiverUid() + "")) { if (IMKitClient.account().equals(circleShareBean.data.getReceiverUid() + "")) {
// NimUserInfo user1 = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getFromAccount()); NimUserInfo user1 = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getFromAccount());
// if (user != null) { if (user != null) {
// binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang1_txt), user1.getName())); binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang1_txt), user1.getName()));
// } }
// } }
// } else { } else {
// NimUserInfo user = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getFromAccount()); NimUserInfo user = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getFromAccount());
// if (user != null) { if (user != null) {
// binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang1_txt), user.getName())); binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang1_txt), user.getName()));
// } }
// if (IMKitClient.account().equals(circleShareBean.data.getSenderUid() + "")) { if (IMKitClient.account().equals(circleShareBean.data.getSenderUid() + "")) {
// NimUserInfo user1 = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getFromAccount()); NimUserInfo user1 = NIMClient.getService(UserService.class).getUserInfo(message.getMessageData().getMessage().getFromAccount());
// if (user != null) { if (user != null) {
// binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang_txt), user1.getName())); binding.itemTitleTv.setText(String.format(binding.itemTitleTv.getResources().getString(R.string.xiangshuizhuanzhang_txt), user1.getName()));
// } }
// } }
// } }
binding.itemNumberTv.setText(String.format("%.2f", Integer.parseInt(circleShareBean.data.getAmount()) / 100f)); binding.itemNumberTv.setText(String.format("%.2f", Integer.parseInt(circleShareBean.data.getAmount()) / 100f));
@@ -155,10 +155,12 @@ public class TransferViewHolder extends ChatBaseMessageViewHolder {
} }
private void changeInfo(ChatMessageBean message, TransferBean1 circleShareBean, TransferViewheadBinding binding) { private void changeInfo(ChatMessageBean message, TransferBean1 circleShareBean, TransferViewheadBinding binding) {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) binding.bigLy.getLayoutParams(); // FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) binding.bigLy.getLayoutParams();
if (circleShareBean.getCoinType().equals("0")) { if (circleShareBean.getCoinType().equals("0")) {
layoutParams.height = dip2px(binding.bigLy.getContext(), 79); // layoutParams.height = dip2px(binding.bigLy.getContext(), 79);
binding.mingpianTv.setText(binding.mingpianTv.getResources().getString(R.string.jinbizhuanzhang_des_txt)); // binding.mingpianTv.setText(binding.mingpianTv.getResources().getString(R.string.jinbizhuanzhang_des_txt));
binding.mingpianTv.setText("钱包转账");
if (Integer.parseInt(circleShareBean.getStatus()) > 0) { if (Integer.parseInt(circleShareBean.getStatus()) > 0) {
binding.bigLy.setBackgroundResource(R.drawable.zhuanzhang_f_g); binding.bigLy.setBackgroundResource(R.drawable.zhuanzhang_f_g);
} else { } else {
@@ -166,7 +168,7 @@ public class TransferViewHolder extends ChatBaseMessageViewHolder {
} }
} else { } else {
layoutParams.height = dip2px(binding.bigLy.getContext(), 92); // layoutParams.height = dip2px(binding.bigLy.getContext(), 92);
binding.mingpianTv.setText(binding.mingpianTv.getResources().getString(R.string.jinbizhuanzhang_des_txt1)); binding.mingpianTv.setText(binding.mingpianTv.getResources().getString(R.string.jinbizhuanzhang_des_txt1));
if (Integer.parseInt(circleShareBean.getStatus()) > 0) { if (Integer.parseInt(circleShareBean.getStatus()) > 0) {
binding.bigLy.setBackgroundResource(R.drawable.zhuanzhang_f_s); binding.bigLy.setBackgroundResource(R.drawable.zhuanzhang_f_s);
@@ -175,7 +177,7 @@ public class TransferViewHolder extends ChatBaseMessageViewHolder {
} }
} }
binding.bigLy.setLayoutParams(layoutParams); // binding.bigLy.setLayoutParams(layoutParams);
switch (circleShareBean.getStatus()) { switch (circleShareBean.getStatus()) {
case "0": case "0":

View File

@@ -80,19 +80,23 @@ public class FunBottomActionFactory {
// R.drawable.ic_location1, // R.drawable.ic_location1,
// R.string.chat_message_location)); // R.string.chat_message_location));
// actions.add(new ActionItem(ActionConstants.ACTION_TYPE_ALBUMS, R.drawable.ic_action_share_albums, R.string.sharealbums_txt)); // actions.add(new ActionItem(ActionConstants.ACTION_TYPE_ALBUMS, R.drawable.ic_action_share_albums, R.string.sharealbums_txt));
// if (getConfig(IMKitClient.getApplicationContext(), "redpkg_score", false)) { //积分赠送 // if (sessionType == SessionTypeEnum.P2P) {
// //礼品积分红包 //// if (getConfig(IMKitClient.getApplicationContext(), "redpkg_score", false)) { //积分赠送
// actions.add(new ActionItem(ActionConstants.ACTION_TYPE_REP_PACKET, R.drawable.ic_action_red_packet, R.string.hongbao_txt)); // //礼品积分红包
//// }
// } // }
//赠送功能入口 //赠送功能入口
// if (sessionType == SessionTypeEnum.P2P) { if (sessionType == SessionTypeEnum.P2P) {
// if (getConfig(IMKitClient.getApplicationContext(), "transfer_score", false)) { //积分赠送 // if (getConfig(IMKitClient.getApplicationContext(), "transfer_score", false)) { //积分赠送
// actions.add(new ActionItem(ActionConstants.ACTION_TYPE_TRANSFER, R.drawable.ic_action_tur, R.string.zhuanzhang_txtq)); // actions.add(new ActionItem(ActionConstants.ACTION_TYPE_TRANSFER, R.drawable.ic_action_tur, R.string.zhuanzhang_txtq));
// } // }
//// if (getConfig(IMKitClient.getApplicationContext(), "transfer_cash", false)) { //cash赠送 if (getConfig(IMKitClient.getApplicationContext(), "transfer_cash", false)) { //cash赠送
//// actions.add(new ActionItem(ActionConstants.ACTION_TYPE_TRANSFER_CASH, R.drawable.ic_action_tur, R.string.zhuanzhang_cash_txtq));
//// } actions.add(new ActionItem(ActionConstants.ACTION_TYPE_REP_PACKET, R.drawable.ic_action_red_packet, R.string.hongbao_txt));
// }
actions.add(new ActionItem(ActionConstants.ACTION_TYPE_TRANSFER_CASH, R.drawable.ic_action_tur, R.string.zhuanzhang_cash_txtq));
}
}
// actions.add( // actions.add(
// new ActionItem( // new ActionItem(
// ActionConstants.ACTION_TYPE_FILE, R.drawable.ic_send_file, R.string.chat_message_file)); // ActionConstants.ACTION_TYPE_FILE, R.drawable.ic_send_file, R.string.chat_message_file));

View File

@@ -0,0 +1,58 @@
package com.netease.yunxin.kit.chatkit.ui.model;
/**
* **********************
*
* @Author bug machine
* 创建时间: 2025/5/13 14:36
* 用途
* **********************
*/
public class SwitchGroupBean {
private int id;
private String groupId;
private Long userUid;
private int allowSend;
private int allowGrab;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
public Long getUserUid() {
return userUid;
}
public void setUserUid(Long userUid) {
this.userUid = userUid;
}
public int getAllowSend() {
return allowSend;
}
public void setAllowSend(int allowSend) {
this.allowSend = allowSend;
}
public int getAllowGrab() {
return allowGrab;
}
public void setAllowGrab(int allowGrab) {
this.allowGrab = allowGrab;
}
}

View File

@@ -4,6 +4,7 @@ package com.netease.yunxin.kit.chatkit.ui.network;
import com.netease.yunxin.kit.chatkit.ui.model.BindBean; import com.netease.yunxin.kit.chatkit.ui.model.BindBean;
import com.netease.yunxin.kit.chatkit.ui.model.RedpacketBean; import com.netease.yunxin.kit.chatkit.ui.model.RedpacketBean;
import com.netease.yunxin.kit.chatkit.ui.model.RedpacketGroupBean; import com.netease.yunxin.kit.chatkit.ui.model.RedpacketGroupBean;
import com.netease.yunxin.kit.chatkit.ui.model.SwitchGroupBean;
import com.netease.yunxin.kit.chatkit.ui.model.TransferBean; import com.netease.yunxin.kit.chatkit.ui.model.TransferBean;
import com.netease.yunxin.kit.chatkit.ui.model.UserAlbumBean1; import com.netease.yunxin.kit.chatkit.ui.model.UserAlbumBean1;
@@ -142,6 +143,12 @@ public interface ApiService {
*/ */
@GET("/album/user/{userId}") @GET("/album/user/{userId}")
Observable<Result<List<UserAlbumBean1>>> getUserAlbums(@Path("userId") String userId); Observable<Result<List<UserAlbumBean1>>> getUserAlbums(@Path("userId") String userId);
/**
* 群红包开关列表
*/
@GET("/group/{groupId}/switches")
Observable<Result<List<SwitchGroupBean>>> groupSwitches(@Path("groupId") String page);
} }

View File

@@ -142,6 +142,7 @@ import com.netease.yunxin.kit.chatkit.ui.model.RedpacketBean;
import com.netease.yunxin.kit.chatkit.ui.model.RedpacketBean1; import com.netease.yunxin.kit.chatkit.ui.model.RedpacketBean1;
import com.netease.yunxin.kit.chatkit.ui.model.RedpacketGroupBean; import com.netease.yunxin.kit.chatkit.ui.model.RedpacketGroupBean;
import com.netease.yunxin.kit.chatkit.ui.model.RxBusToVoom; import com.netease.yunxin.kit.chatkit.ui.model.RxBusToVoom;
import com.netease.yunxin.kit.chatkit.ui.model.SwitchGroupBean;
import com.netease.yunxin.kit.chatkit.ui.model.TransferBean; import com.netease.yunxin.kit.chatkit.ui.model.TransferBean;
import com.netease.yunxin.kit.chatkit.ui.model.TransferShareBean; import com.netease.yunxin.kit.chatkit.ui.model.TransferShareBean;
import com.netease.yunxin.kit.chatkit.ui.model.UserAlbumBean1; import com.netease.yunxin.kit.chatkit.ui.model.UserAlbumBean1;
@@ -163,10 +164,13 @@ import com.netease.yunxin.kit.chatkit.ui.view.message.audio.ChatMessageAudioCont
import com.netease.yunxin.kit.chatkit.ui.view.popmenu.ChatPopMenu; import com.netease.yunxin.kit.chatkit.ui.view.popmenu.ChatPopMenu;
import com.netease.yunxin.kit.chatkit.ui.view.popmenu.IChatPopMenuClickListener; import com.netease.yunxin.kit.chatkit.ui.view.popmenu.IChatPopMenuClickListener;
import com.netease.yunxin.kit.chatkit.utils.SendMediaHelper; import com.netease.yunxin.kit.chatkit.utils.SendMediaHelper;
import com.netease.yunxin.kit.common.ui.action.ActionItem;
import com.netease.yunxin.kit.common.ui.dialog.ChoiceListener; import com.netease.yunxin.kit.common.ui.dialog.ChoiceListener;
import com.netease.yunxin.kit.common.ui.dialog.CommonChoiceDialog; import com.netease.yunxin.kit.common.ui.dialog.CommonChoiceDialog;
import com.netease.yunxin.kit.common.ui.dialog.ListAlertDialog;
import com.netease.yunxin.kit.common.ui.fragments.BaseFragment; import com.netease.yunxin.kit.common.ui.fragments.BaseFragment;
import com.netease.yunxin.kit.common.ui.utils.ToastX; import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.common.ui.viewholder.BaseBean;
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.common.ui.widgets.BackTitleBar; import com.netease.yunxin.kit.common.ui.widgets.BackTitleBar;
@@ -296,6 +300,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
public boolean isGuanFang; public boolean isGuanFang;
public int isManage = 0; public int isManage = 0;
@Nullable @Nullable
@Override @Override
public View onCreateView( public View onCreateView(
@@ -852,12 +857,8 @@ public abstract class ChatBaseFragment extends BaseFragment {
showDialogBlack(getString(R.string.no_to_black_hongbao_tv)); showDialogBlack(getString(R.string.no_to_black_hongbao_tv));
return; return;
} }
checkCanSendRed(false,null);
Intent intent = new Intent();
intent.setClassName(getContext(), "com.hbl.lewan.redpack.SendRedPacketActivity");
intent.putExtra("receiverUid", sessionID);
intent.putExtra("isGroup", sessionType != SessionTypeEnum.P2P);
startActivityForResult(intent, 456);
} }
} }
} else { } else {
@@ -975,6 +976,75 @@ public abstract class ChatBaseFragment extends BaseFragment {
return sessionType; return sessionType;
} }
}; };
private void checkCanSendRed(boolean isZhuanShu,UserInfo userInfo){
Api.getInstance().groupSwitches(sessionID)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver<Result<List< SwitchGroupBean >>>() {
@Override
public void onSuccess(Result<List<SwitchGroupBean>> feedbackResp) {
if(getSwitchValue(feedbackResp.data)){
toNextSendGroup(isZhuanShu,userInfo);
}else{
// ToastX.showShortToast("无此权限,请联系管理员");
ActionConfirmDialog actionDialog = new ActionConfirmDialog(getActivity(),
"无此权限,请联系管理员", false);
actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
@Override
public void toSumbit() {
}
@Override
public void toCancel() {
}
});
actionDialog.show();
}
}
@Override
public void onError(int code, String msg) {
ToastX.showShortToast(msg);
}
});
}
public boolean getSwitchValue(List< SwitchGroupBean > switchGroupBeans) {
if (switchGroupBeans != null && switchGroupBeans.size() > 0) {
boolean isIn = false;
for (SwitchGroupBean s : switchGroupBeans) {
if (IMKitClient.account().equals(s.getUserUid()+"")) {
return s.getAllowSend() == 1;
}
}
if (!isIn) {
return true;
}
}
return true;
}
private void toNextSendGroup(boolean isZhuanShu, UserInfo userInfo) {
if(isZhuanShu){
Intent intent = new Intent();
intent.setClassName(getContext(), "com.hbl.lewan.redpack.SendRedPacketActivity");
intent.putExtra("receiverUid", sessionID);
intent.putExtra("isGroup", sessionType != SessionTypeEnum.P2P);
intent.putExtra("user_Bean",userInfo);
intent.putExtra("is_zhuanshu",true);
startActivityForResult(intent, 456);
}else{
Intent intent = new Intent();
intent.setClassName(getContext(), "com.hbl.lewan.redpack.SendRedPacketActivity");
intent.putExtra("receiverUid", sessionID);
intent.putExtra("isGroup", sessionType != SessionTypeEnum.P2P);
startActivityForResult(intent, 456);
}
}
private void getUserAlbums() { private void getUserAlbums() {
Api.getInstance().getUserAlbums(IMKitClient.account()) Api.getInstance().getUserAlbums(IMKitClient.account())
@@ -1622,21 +1692,21 @@ public abstract class ChatBaseFragment extends BaseFragment {
chatView.getMessageListView().getLocationOnScreen(location); chatView.getMessageListView().getLocationOnScreen(location);
if ((sessionType == SessionTypeEnum.SUPER_TEAM || sessionType == SessionTypeEnum.Team)) { if ((sessionType == SessionTypeEnum.SUPER_TEAM || sessionType == SessionTypeEnum.Team)) {
NIMClient.getService(TeamService.class).queryTeamMember(sessionID,messageBean.getMessageData().getFromUser().getAccount()).setCallback(new RequestCallback<TeamMember>() { NIMClient.getService(TeamService.class).queryTeamMember(sessionID, messageBean.getMessageData().getFromUser().getAccount()).setCallback(new RequestCallback<TeamMember>() {
@Override @Override
public void onSuccess(TeamMember members) { public void onSuccess(TeamMember members) {
// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+GsonUtils.beanToJSONString(members)); // Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+GsonUtils.beanToJSONString(members));
if(members!=null){ if (members != null) {
if(members.getType() == TeamMemberType.Manager){ if (members.getType() == TeamMemberType.Manager) {
popMenu.show(view, messageBean, location[1],isManage,2,members.isMute()); popMenu.show(view, messageBean, location[1], isManage, 2, members.isMute());
}else if(members.getType() == TeamMemberType.Owner){ } else if (members.getType() == TeamMemberType.Owner) {
popMenu.show(view, messageBean, location[1],isManage,1,members.isMute()); popMenu.show(view, messageBean, location[1], isManage, 1, members.isMute());
}else { } else {
popMenu.show(view, messageBean, location[1],isManage,0,members.isMute()); popMenu.show(view, messageBean, location[1], isManage, 0, members.isMute());
} }
}else{ } else {
popMenu.show(view, messageBean, location[1],isManage,0,members.isMute()); popMenu.show(view, messageBean, location[1], isManage, 0, members.isMute());
} }
} }
@@ -1657,8 +1727,8 @@ public abstract class ChatBaseFragment extends BaseFragment {
}); });
}else{ } else {
popMenu.show(view, messageBean, location[1],0,0,false); popMenu.show(view, messageBean, location[1], 0, 0, false);
} }
} }
@@ -1697,7 +1767,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
//如果是群,且群不允许群内添加好友 当前登录用户不是群主以及userid 也不是群主 直接跳过 //如果是群,且群不允许群内添加好友 当前登录用户不是群主以及userid 也不是群主 直接跳过
if ((sessionType == SessionTypeEnum.SUPER_TEAM || sessionType == SessionTypeEnum.Team)) { if ((sessionType == SessionTypeEnum.SUPER_TEAM || sessionType == SessionTypeEnum.Team)) {
if(teamInfo!=null&&isManage>0){ if (teamInfo != null && isManage > 0) {
XKitRouter.withKey(getUserInfoRoutePath()) XKitRouter.withKey(getUserInfoRoutePath())
.withContext(view.getContext()) .withContext(view.getContext())
.withParam( .withParam(
@@ -1778,23 +1848,8 @@ public abstract class ChatBaseFragment extends BaseFragment {
public boolean onUserIconLongClick(View view, int position, ChatMessageBean messageBean) { public boolean onUserIconLongClick(View view, int position, ChatMessageBean messageBean) {
if (delegateListener == null if (delegateListener == null
|| !delegateListener.onUserIconLongClick(view, position, messageBean)) { || !delegateListener.onUserIconLongClick(view, position, messageBean)) {
if (aitManager != null && sessionType == SessionTypeEnum.Team) { if ( sessionType == SessionTypeEnum.Team) {
String account = messageBean.getMessageData().getMessage().getFromAccount(); showStickDialog(view, position, messageBean);
UserInfo userInfo = messageBean.getMessageData().getFromUser();
if (!TextUtils.equals(account, IMKitClient.account())) {
if (userInfo == null) {
userInfo = new UserInfo(account, account, null);
}
String name = MessageHelper.getTeamAitName(aitManager.getTid(), userInfo);
if (TextUtils.isEmpty(name)) {
if (messageBean.getMessageData().getFromUser() != null) {
name = messageBean.getMessageData().getFromUser().getName();
} else {
name = account;
}
}
aitManager.insertReplyAit(account, name);
}
} }
} }
return true; return true;
@@ -1915,6 +1970,60 @@ public abstract class ChatBaseFragment extends BaseFragment {
} }
}; };
private void showStickDialog(View view, int position, ChatMessageBean messageBean) {
ListAlertDialog alertDialog = new ListAlertDialog();
alertDialog.setContent(generateDialogContent(messageBean));
alertDialog.setTitleVisibility(View.GONE);
alertDialog.setDialogWidth(getResources().getDimension(R.dimen.alert_dialog_width));
alertDialog.setItemClickListener(
action -> {
if (TextUtils.equals(action, "at_user")) {
String account = messageBean.getMessageData().getMessage().getFromAccount();
UserInfo userInfo = messageBean.getMessageData().getFromUser();
if (!TextUtils.equals(account, IMKitClient.account())) {
if (userInfo == null) {
userInfo = new UserInfo(account, account, null);
}
String name = MessageHelper.getTeamAitName(aitManager.getTid(), userInfo);
if (TextUtils.isEmpty(name)) {
if (messageBean.getMessageData().getFromUser() != null) {
name = messageBean.getMessageData().getFromUser().getName();
} else {
name = account;
}
}
aitManager.insertReplyAit(account, name);
}
} else if (TextUtils.equals(action, "zhuanshu_hb")) {
checkCanSendRed(true,messageBean.getMessageData().getFromUser());
}
alertDialog.dismiss();
});
alertDialog.show(getParentFragmentManager());
}
protected List<ActionItem> generateDialogContent(ChatMessageBean messageBean) {
List<ActionItem> contentList = new ArrayList<>();
if(aitManager != null) {
ActionItem stick =
new ActionItem("at_user",
0, R.string.at_ta_txt);
contentList.add(stick);
}
ActionItem delete =
new ActionItem("zhuanshu_hb", 0, R.string.zhuanshuhongbao_txt);
contentList.add(delete);
return contentList;
}
protected void loadReplyInfo(String uuid, boolean addAit) { protected void loadReplyInfo(String uuid, boolean addAit) {
if (TextUtils.isEmpty(uuid)) { if (TextUtils.isEmpty(uuid)) {
return; return;
@@ -2421,13 +2530,13 @@ public abstract class ChatBaseFragment extends BaseFragment {
@Override @Override
public boolean onJinYan(ChatMessageBean messageInfo) { public boolean onJinYan(ChatMessageBean messageInfo) {
toJinyan(messageInfo,true); toJinyan(messageInfo, true);
return IChatPopMenuClickListener.super.onJinYan(messageInfo); return IChatPopMenuClickListener.super.onJinYan(messageInfo);
} }
@Override @Override
public boolean onJieChuJinYan(ChatMessageBean messageInfo) { public boolean onJieChuJinYan(ChatMessageBean messageInfo) {
toJinyan(messageInfo,false); toJinyan(messageInfo, false);
return IChatPopMenuClickListener.super.onJieChuJinYan(messageInfo); return IChatPopMenuClickListener.super.onJieChuJinYan(messageInfo);
} }
@@ -2436,7 +2545,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
private void toJinyan(ChatMessageBean messageInfo, boolean isMute) { private void toJinyan(ChatMessageBean messageInfo, boolean isMute) {
TeamService v2TeamService = NIMClient.getService(TeamService.class); TeamService v2TeamService = NIMClient.getService(TeamService.class);
v2TeamService.muteTeamMember(sessionID, messageInfo.getMessageData().getFromUser().getAccount(),isMute); v2TeamService.muteTeamMember(sessionID, messageInfo.getMessageData().getFromUser().getAccount(), isMute);
} }
@@ -2568,7 +2677,6 @@ public abstract class ChatBaseFragment extends BaseFragment {
result -> onForwardMessage(result, SessionTypeEnum.Team)); result -> onForwardMessage(result, SessionTypeEnum.Team));
forwardTeamLauncher1 = forwardTeamLauncher1 =
registerForActivityResult( registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(), new ActivityResultContracts.StartActivityForResult(),
@@ -2662,23 +2770,23 @@ public abstract class ChatBaseFragment extends BaseFragment {
LinearLayoutManager layoutManager = (LinearLayoutManager) chatView.getMessageListView().getLayoutManager(); LinearLayoutManager layoutManager = (LinearLayoutManager) chatView.getMessageListView().getLayoutManager();
int lastPosition = layoutManager.findLastCompletelyVisibleItemPosition(); int lastPosition = layoutManager.findLastCompletelyVisibleItemPosition();
/**当我滑动到了上面 有新消息进来 不要顶上来 只有停留在顶部的时候才自动滑动到底部*/ /**当我滑动到了上面 有新消息进来 不要顶上来 只有停留在顶部的时候才自动滑动到底部*/
if (lastPosition==chatView.getMessageListView().getMessageAdapter().getMessageList().size()-1) { if (lastPosition == chatView.getMessageListView().getMessageAdapter().getMessageList().size() - 1) {
chatView.appendMessageList(listFetchResult.getData()); chatView.appendMessageList(listFetchResult.getData());
}else{ } else {
chatView.appendMessageList(listFetchResult.getData(),false); chatView.appendMessageList(listFetchResult.getData(), false);
} }
/** /**
* 群聊禁言和解除禁言实时更新底部UI * 群聊禁言和解除禁言实时更新底部UI
*/ */
if(sessionType == SessionTypeEnum.Team||sessionType == SessionTypeEnum.SUPER_TEAM) { if (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM) {
for (ChatMessageBean chatMessageBean : listFetchResult.getData()) { for (ChatMessageBean chatMessageBean : listFetchResult.getData()) {
if (chatMessageBean.getMessageData().getMessage().getAttachment() instanceof NotificationAttachment) { if (chatMessageBean.getMessageData().getMessage().getAttachment() instanceof NotificationAttachment) {
NotificationAttachment attachment = NotificationAttachment attachment =
(NotificationAttachment) chatMessageBean.getMessageData().getMessage().getAttachment(); (NotificationAttachment) chatMessageBean.getMessageData().getMessage().getAttachment();
if(attachment.getType() == NotificationType.MuteTeamMember||attachment.getType() ==NotificationType.SUPER_TEAM_MUTE_TLIST){ if (attachment.getType() == NotificationType.MuteTeamMember || attachment.getType() == NotificationType.SUPER_TEAM_MUTE_TLIST) {
MuteMemberAttachment muteMemberAttachment = (MuteMemberAttachment) attachment; MuteMemberAttachment muteMemberAttachment = (MuteMemberAttachment) attachment;
if(muteMemberAttachment.getTargets().contains(IMKitClient.account())){ if (muteMemberAttachment.getTargets().contains(IMKitClient.account())) {
RxBus.getInstance().post(-99999); RxBus.getInstance().post(-99999);
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -36,6 +36,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="62dp" android:layout_height="62dp"
android:paddingStart="@dimen/dimen_20_dp"
android:paddingEnd="@dimen/dimen_20_dp"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:gravity="center_vertical" android:gravity="center_vertical"

View File

@@ -5,8 +5,9 @@
<LinearLayout <LinearLayout
android:layout_width="218dp" android:layout_width="218dp"
android:layout_height="92dp" android:layout_height="104dp"
android:id="@+id/big_ly" android:id="@+id/big_ly"
android:background="@drawable/zhuanzhang_f_g"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -16,7 +17,7 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:lines="1" android:lines="1"
android:ellipsize="end" android:ellipsize="end"
android:visibility="gone" android:visibility="visible"
android:id="@+id/item_title_tv" android:id="@+id/item_title_tv"
android:text="来自 黄黄不是嬛嬛 的赠送" android:text="来自 黄黄不是嬛嬛 的赠送"
android:textColor="#ffffffff" android:textColor="#ffffffff"
@@ -30,7 +31,6 @@
android:layout_marginRight="@dimen/dimen_10_dp" android:layout_marginRight="@dimen/dimen_10_dp"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:layout_marginTop="@dimen/dimen_10_dp"
android:id="@+id/item_number_tv" android:id="@+id/item_number_tv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -54,9 +54,8 @@
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="@dimen/dimen_24_dp"
android:text="@string/jinbizhuanzhang_des_txt" android:text="@string/jinbizhuanzhang_des_txt"
android:layout_weight="1"
android:gravity="center_vertical" android:gravity="center_vertical"
android:id="@+id/mingpian_tv" android:id="@+id/mingpian_tv"
android:layout_marginLeft="@dimen/dimen_10_dp" android:layout_marginLeft="@dimen/dimen_10_dp"

View File

@@ -218,7 +218,7 @@
<string name="zidingyi_txt">Custom</string> <string name="zidingyi_txt">Custom</string>
<string name="hongbao_txt">Points Bonus</string> <string name="hongbao_txt">Points Bonus</string>
<string name="zhuanzhang_txtq">Points Give away</string> <string name="zhuanzhang_txtq">Points Give away</string>
<string name="zhuanzhang_cash_txtq">Cash Give away</string> <string name="zhuanzhang_cash_txtq">转账</string>
<string name="mingpian_txt">Business card</string> <string name="mingpian_txt">Business card</string>
<string name="fasongweizhi_txt">Sending location</string> <string name="fasongweizhi_txt">Sending location</string>
<string name="sharealbums_txt">Share Album</string> <string name="sharealbums_txt">Share Album</string>
@@ -243,7 +243,7 @@
<string name="fun_chat_audio_record_max_time_tips">Recording will stop after %d \"</string> <string name="fun_chat_audio_record_max_time_tips">Recording will stop after %d \"</string>
<string name="fun_chat_input_hint_tips">Please enter the chat content</string> <string name="fun_chat_input_hint_tips">Please enter the chat content</string>
<string name="fun_chat_audio_record_hint">Click to start recording</string> <string name="fun_chat_audio_record_hint">Click to start recording</string>
<string name="zhuangzhang_chat_txt">[Give away]</string> <string name="zhuangzhang_chat_txt">[转账]</string>
<string name="jinbizhuanzhang_des_txt">Taomenggo chat Cash Give away</string> <string name="jinbizhuanzhang_des_txt">Taomenggo chat Cash Give away</string>
<string name="xiangshuizhuanzhang_txt">Give away to %s</string> <string name="xiangshuizhuanzhang_txt">Give away to %s</string>
<string name="xiangshuizhuanzhang1_txt">Give away from %s</string> <string name="xiangshuizhuanzhang1_txt">Give away from %s</string>
@@ -332,5 +332,7 @@
<string name="chat_message_forward_to1">Forward to %s and other %d people</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> <string name="chat_message_forward_to2">Forward to %s and other %d group</string>
<string name="ninyibeijinyan_txt">您已被禁言</string> <string name="ninyibeijinyan_txt">您已被禁言</string>
<string name="zhuanshuhongbao_txt">专属红包</string>
<string name="at_ta_txt">\@TA</string>
</resources> </resources>

View File

@@ -218,7 +218,7 @@
<string name="zidingyi_txt">カスタマイズ済み</string> <string name="zidingyi_txt">カスタマイズ済み</string>
<string name="hongbao_txt">ポイントボーナス</string> <string name="hongbao_txt">ポイントボーナス</string>
<string name="zhuanzhang_txtq">ポイント贈与</string> <string name="zhuanzhang_txtq">ポイント贈与</string>
<string name="zhuanzhang_cash_txtq">Cash転送</string> <string name="zhuanzhang_cash_txtq">转账</string>
<string name="mingpian_txt">名刺</string> <string name="mingpian_txt">名刺</string>
<string name="fasongweizhi_txt">送信場所</string> <string name="fasongweizhi_txt">送信場所</string>
<string name="sharealbums_txt">アルバムを共有</string> <string name="sharealbums_txt">アルバムを共有</string>
@@ -244,7 +244,7 @@
<string name="fun_chat_input_hint_tips">チャットの内容を入力してください</string> <string name="fun_chat_input_hint_tips">チャットの内容を入力してください</string>
<string name="fun_chat_audio_record_hint">クリックして録音を開始します</string> <string name="fun_chat_audio_record_hint">クリックして録音を開始します</string>
<string name="zhuangzhang_chat_txt">[転送]</string> <string name="zhuangzhang_chat_txt">[转账]</string>
<string name="jinbizhuanzhang_des_txt">桃蒙郷Cash転送</string> <string name="jinbizhuanzhang_des_txt">桃蒙郷Cash転送</string>
<string name="xiangshuizhuanzhang_txt">%s に転送</string> <string name="xiangshuizhuanzhang_txt">%s に転送</string>
<string name="xiangshuizhuanzhang1_txt">%s からの転送</string> <string name="xiangshuizhuanzhang1_txt">%s からの転送</string>
@@ -333,5 +333,7 @@
<string name="chat_message_forward_to1">轉發給:%s等%d人</string> <string name="chat_message_forward_to1">轉發給:%s等%d人</string>
<string name="chat_message_forward_to2">轉發給:%s等%d群</string> <string name="chat_message_forward_to2">轉發給:%s等%d群</string>
<string name="ninyibeijinyan_txt">您已被禁言</string> <string name="ninyibeijinyan_txt">您已被禁言</string>
<string name="zhuanshuhongbao_txt">专属红包</string>
<string name="at_ta_txt">\@TA</string>
</resources> </resources>

View File

@@ -217,7 +217,7 @@
<string name="zidingyi_txt">自定义</string> <string name="zidingyi_txt">自定义</string>
<string name="hongbao_txt">红包</string> <string name="hongbao_txt">红包</string>
<string name="zhuanzhang_txtq">积分赠送</string> <string name="zhuanzhang_txtq">积分赠送</string>
<string name="zhuanzhang_cash_txtq">Cash 赠送</string> <string name="zhuanzhang_cash_txtq">转账</string>
<string name="mingpian_txt">名片</string> <string name="mingpian_txt">名片</string>
<string name="fasongweizhi_txt">发送位置</string> <string name="fasongweizhi_txt">发送位置</string>
<string name="sharealbums_txt">分享相册</string> <string name="sharealbums_txt">分享相册</string>
@@ -243,13 +243,13 @@
<string name="fun_chat_audio_record_max_time_tips">%d \" 后将停止录音</string> <string name="fun_chat_audio_record_max_time_tips">%d \" 后将停止录音</string>
<string name="fun_chat_input_hint_tips">请输入聊天内容</string> <string name="fun_chat_input_hint_tips">请输入聊天内容</string>
<string name="fun_chat_audio_record_hint">点击开始录音</string> <string name="fun_chat_audio_record_hint">点击开始录音</string>
<string name="zhuangzhang_chat_txt">[赠送]</string> <string name="zhuangzhang_chat_txt">[转账]</string>
<string name="jinbizhuanzhang_des_txt">MM Cash赠送</string> <string name="jinbizhuanzhang_des_txt">转账</string>
<string name="xiangshuizhuanzhang_txt">向 %s 赠送</string> <string name="xiangshuizhuanzhang_txt">向 %s 转账</string>
<string name="xiangshuizhuanzhang1_txt">来自 %s 的赠送</string> <string name="xiangshuizhuanzhang1_txt">来自 %s 的转账</string>
<string name="jinbizhuanzhang_des_txt1">MM 礼品积分赠送</string> <string name="jinbizhuanzhang_des_txt1">MM 礼品积分赠送</string>
<string name="remarks_hit_txt">恭喜发财,大吉大利</string> <string name="remarks_hit_txt">恭喜发财,大吉大利</string>
<string name="daishoukuan_txt1"></string> <string name="daishoukuan_txt1"></string>
<string name="received_txt1">已领取</string> <string name="received_txt1">已领取</string>
<string name="yituihuan_txt">已退还</string> <string name="yituihuan_txt">已退还</string>
<string name="received_txt2">已领取</string> <string name="received_txt2">已领取</string>
@@ -333,5 +333,7 @@
<string name="chat_message_forward_to1">转发给:%s等%d人</string> <string name="chat_message_forward_to1">转发给:%s等%d人</string>
<string name="chat_message_forward_to2">转发给:%s等%d群</string> <string name="chat_message_forward_to2">转发给:%s等%d群</string>
<string name="ninyibeijinyan_txt">您已被禁言</string> <string name="ninyibeijinyan_txt">您已被禁言</string>
<string name="zhuanshuhongbao_txt">专属红包</string>
<string name="at_ta_txt">\@TA</string>
</resources> </resources>

View File

@@ -87,7 +87,7 @@
<color name="ps_color_0077F6">#0077F6</color> <color name="ps_color_0077F6">#0077F6</color>
<color name="ps_color_E4E4E4">#E4E4E4</color> <color name="ps_color_E4E4E4">#E4E4E4</color>
<color name="color_6b3689">#6B3689</color> <color name="color_6b3689">#6B3689</color>
<color name="color_ffcad8">#ffcad8</color> <color name="color_ffcad8">#8DE776</color>
<color name="color_f4f4f4">#f4f4f4</color> <color name="color_f4f4f4">#f4f4f4</color>
<color name="color_fcfcfc">#fcfcfc</color> <color name="color_fcfcfc">#fcfcfc</color>
<color name="color_7f7b81">#7F7B81</color> <color name="color_7f7b81">#7F7B81</color>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="alert_dialog_width">188dp</dimen>
</resources>

View File

@@ -217,7 +217,7 @@
<string name="zidingyi_txt">自訂</string> <string name="zidingyi_txt">自訂</string>
<string name="hongbao_txt">紅包</string> <string name="hongbao_txt">紅包</string>
<string name="zhuanzhang_txtq">積分贈送</string> <string name="zhuanzhang_txtq">積分贈送</string>
<string name="zhuanzhang_cash_txtq">Cash贈送</string> <string name="zhuanzhang_cash_txtq">转账</string>
<string name="mingpian_txt">名片</string> <string name="mingpian_txt">名片</string>
<string name="fasongweizhi_txt">發送位置</string> <string name="fasongweizhi_txt">發送位置</string>
<string name="sharealbums_txt">分享相簿</string> <string name="sharealbums_txt">分享相簿</string>
@@ -243,21 +243,21 @@
<string name="fun_chat_input_hint_tips">請輸入聊天內容</string> <string name="fun_chat_input_hint_tips">請輸入聊天內容</string>
<string name="fun_chat_audio_record_hint">點擊開始錄音</string> <string name="fun_chat_audio_record_hint">點擊開始錄音</string>
<string name="zhuangzhang_chat_txt">[贈送]</string> <string name="zhuangzhang_chat_txt">[转账]</string>
<string name="jinbizhuanzhang_des_txt">MM Cash贈送</string> <string name="jinbizhuanzhang_des_txt">转账</string>
<string name="xiangshuizhuanzhang_txt">向 %s 贈送</string> <string name="xiangshuizhuanzhang_txt">向 %s 转账</string>
<string name="xiangshuizhuanzhang1_txt">自 %s 的贈送</string> <string name="xiangshuizhuanzhang1_txt">自 %s 的转账</string>
<string name="jinbizhuanzhang_des_txt1">MM 禮品積分贈送</string> <string name="jinbizhuanzhang_des_txt1">MM 禮品積分贈送</string>
<string name="remarks_hit_txt">恭喜發財,大吉大利</string> <string name="remarks_hit_txt">恭喜發財,大吉大利</string>
<string name="daishoukuan_txt1"></string> <string name="daishoukuan_txt1"></string>
<string name="received_txt1"></string> <string name="received_txt1"></string>
<string name="yituihuan_txt">已退</string> <string name="yituihuan_txt">已退</string>
<string name="received_txt2"></string> <string name="received_txt2"></string>
<string name="yituihuan_txt1">已退</string> <string name="yituihuan_txt1">已退</string>
<string name="yiguoqi_txt1"></string> <string name="yiguoqi_txt1"></string>
<string name="hongbao_des_txt"></string> <string name="hongbao_des_txt"></string>
<string name="hongbao_des_txt1">MM 禮品積分紅包</string> <string name="hongbao_des_txt1">MM 禮品積分紅包</string>
<string name="hongbao_chat_txt">[包]</string> <string name="hongbao_chat_txt">[包]</string>
<string name="dailinqu_txt1">待領取</string> <string name="dailinqu_txt1">待領取</string>
<string name="look_get_info_red_txt">查看領取詳情</string> <string name="look_get_info_red_txt">查看領取詳情</string>
<string name="fachudehongbao_txt">%s 發出的紅包</string> <string name="fachudehongbao_txt">%s 發出的紅包</string>
@@ -292,7 +292,7 @@
<string name="jinjinlianxi_txt">最近聯繫</string> <string name="jinjinlianxi_txt">最近聯繫</string>
<string name="tebieguanxin_txt">特別關心</string> <string name="tebieguanxin_txt">特別關心</string>
<string name="dailinqu_txt2">點擊領取</string> <string name="dailinqu_txt2">點擊領取</string>
<string name="no_to_black_zhuanzhang_tv">不能向黑名單用戶贈送</string> <string name="no_to_black_zhuanzhang_tv">不能向黑名单用户转账</string>
<string name="no_to_black_hongbao_tv">無法向黑名單用戶發送紅包</string> <string name="no_to_black_hongbao_tv">無法向黑名單用戶發送紅包</string>
<string name="no_to_black_mingpian_tv">無法向黑名單用戶發送名片</string> <string name="no_to_black_mingpian_tv">無法向黑名單用戶發送名片</string>
<string name="no_to_black_chat_tv">屏蔽中,恢復對話請取消屏蔽</string> <string name="no_to_black_chat_tv">屏蔽中,恢復對話請取消屏蔽</string>
@@ -332,4 +332,6 @@
<string name="chat_message_forward_to1">轉發給:%s等%d人</string> <string name="chat_message_forward_to1">轉發給:%s等%d人</string>
<string name="chat_message_forward_to2">轉發給:%s等%d群</string> <string name="chat_message_forward_to2">轉發給:%s等%d群</string>
<string name="ninyibeijinyan_txt">您已被禁言</string> <string name="ninyibeijinyan_txt">您已被禁言</string>
<string name="zhuanshuhongbao_txt">专属红包</string>
<string name="at_ta_txt">\@TA</string>
</resources> </resources>

View File

@@ -165,7 +165,7 @@
android:background="@null" android:background="@null"
android:hint="@string/add_friend_searchphone_hint" android:hint="@string/add_friend_searchphone_hint"
android:imeOptions="actionSearch" android:imeOptions="actionSearch"
android:inputType="phone" android:inputType="text"
android:paddingLeft="@dimen/dimen_20_dp" android:paddingLeft="@dimen/dimen_20_dp"
android:singleLine="true" android:singleLine="true"
android:textColor="@color/color_333333" android:textColor="@color/color_333333"

View File

@@ -141,7 +141,7 @@
<string name="fun_searchresult_txt">查找结果</string> <string name="fun_searchresult_txt">查找结果</string>
<string name="fun_addmembers_txt">新增</string> <string name="fun_addmembers_txt">新增</string>
<string name="fun_addmemberstoast_txt">最少保留一位好友</string> <string name="fun_addmemberstoast_txt">最少保留一位好友</string>
<string name="fun_contactselector_teamqr">行动</string> <string name="fun_contactselector_teamqr">二维</string>
<string name="fun_contactselector_teamurl">邀请网址</string> <string name="fun_contactselector_teamurl">邀请网址</string>
<string name="nmhmylg_txt">你们还没有聊过哦~</string> <string name="nmhmylg_txt">你们还没有聊过哦~</string>
<string name="voom_message_txt">[短影音消息]</string> <string name="voom_message_txt">[短影音消息]</string>

View File

@@ -146,7 +146,7 @@
<string name="nmhmylg_txt">你們還沒聊過喔~</string> <string name="nmhmylg_txt">你們還沒聊過喔~</string>
<string name="voom_message_txt">[短影音訊息]</string> <string name="voom_message_txt">[短影音訊息]</string>
<string name="gerenminp_txt">[名片]</string> <string name="gerenminp_txt">[名片]</string>
<string name="zhuanzhang_chat_txt">[贈送]</string> <string name="zhuanzhang_chat_txt">[转账]</string>
<string name="hongbao_chat_txt">[紅包]</string> <string name="hongbao_chat_txt">[紅包]</string>
<string name="albums_chat_txt">[相簿]</string> <string name="albums_chat_txt">[相簿]</string>
<string name="helppay_chat_txt">[幫忙代付]</string> <string name="helppay_chat_txt">[幫忙代付]</string>

View File

@@ -66,8 +66,8 @@ public class ConversationBaseViewHolder extends BaseViewHolder<ConversationBean>
} }
viewBinding.contentLayout.setOnClickListener(v -> itemListener.onClick(v, data, position)); viewBinding.contentLayout.setOnClickListener(v -> itemListener.onClick(v, data, position));
// viewBinding.contentLayout.setOnLongClickListener( viewBinding.contentLayout.setOnLongClickListener(
// v -> itemListener.onLongClick(v, data, position)); v -> itemListener.onLongClick(v, data, position));
viewBinding.avatarLayout.setOnClickListener(v -> itemListener.onAvatarClick(v, data, position)); viewBinding.avatarLayout.setOnClickListener(v -> itemListener.onAvatarClick(v, data, position));
viewBinding.avatarLayout.setOnLongClickListener( viewBinding.avatarLayout.setOnLongClickListener(
v -> itemListener.onAvatarLongClick(v, data, position)); v -> itemListener.onAvatarLongClick(v, data, position));

View File

@@ -26,6 +26,7 @@ import com.netease.yunxin.kit.chatkit.model.ConversationInfo;
import com.netease.yunxin.kit.common.ui.action.ActionItem; import com.netease.yunxin.kit.common.ui.action.ActionItem;
import com.netease.yunxin.kit.common.ui.dialog.ListAlertDialog; import com.netease.yunxin.kit.common.ui.dialog.ListAlertDialog;
import com.netease.yunxin.kit.common.ui.fragments.BaseFragment; import com.netease.yunxin.kit.common.ui.fragments.BaseFragment;
import com.netease.yunxin.kit.common.ui.utils.ToastX;
import com.netease.yunxin.kit.common.ui.viewholder.BaseBean; import com.netease.yunxin.kit.common.ui.viewholder.BaseBean;
import com.netease.yunxin.kit.common.ui.viewholder.ViewHolderClickListener; import com.netease.yunxin.kit.common.ui.viewholder.ViewHolderClickListener;
import com.netease.yunxin.kit.common.ui.viewmodel.FetchResult; import com.netease.yunxin.kit.common.ui.viewmodel.FetchResult;
@@ -161,6 +162,7 @@ public abstract class ConversationBaseFragment extends BaseFragment implements I
new ViewHolderClickListener() { new ViewHolderClickListener() {
@Override @Override
public boolean onClick(View v, BaseBean data, int position) { public boolean onClick(View v, BaseBean data, int position) {
// ToastX.showShortToast("111111111");
boolean result = false; boolean result = false;
if (ConversationKitClient.getConversationUIConfig() != null if (ConversationKitClient.getConversationUIConfig() != null
&& ConversationKitClient.getConversationUIConfig().itemClickListener != null && ConversationKitClient.getConversationUIConfig().itemClickListener != null
@@ -184,6 +186,8 @@ public abstract class ConversationBaseFragment extends BaseFragment implements I
@Override @Override
public boolean onAvatarClick(View v, BaseBean data, int position) { public boolean onAvatarClick(View v, BaseBean data, int position) {
// ToastX.showShortToast("222222222222");
boolean result = false; boolean result = false;
if (ConversationKitClient.getConversationUIConfig() != null if (ConversationKitClient.getConversationUIConfig() != null
&& ConversationKitClient.getConversationUIConfig().itemClickListener != null && ConversationKitClient.getConversationUIConfig().itemClickListener != null
@@ -207,6 +211,8 @@ public abstract class ConversationBaseFragment extends BaseFragment implements I
@Override @Override
public boolean onLongClick(View v, BaseBean data, int position) { public boolean onLongClick(View v, BaseBean data, int position) {
// ToastX.showShortToast("333333333333");
boolean result = false; boolean result = false;
if (ConversationKitClient.getConversationUIConfig() != null if (ConversationKitClient.getConversationUIConfig() != null
&& ConversationKitClient.getConversationUIConfig().itemClickListener != null && ConversationKitClient.getConversationUIConfig().itemClickListener != null
@@ -227,6 +233,8 @@ public abstract class ConversationBaseFragment extends BaseFragment implements I
@Override @Override
public boolean onAvatarLongClick(View v, BaseBean data, int position) { public boolean onAvatarLongClick(View v, BaseBean data, int position) {
// ToastX.showShortToast("444444444444");
boolean result = false; boolean result = false;
if (ConversationKitClient.getConversationUIConfig() != null if (ConversationKitClient.getConversationUIConfig() != null
&& ConversationKitClient.getConversationUIConfig().itemClickListener != null && ConversationKitClient.getConversationUIConfig().itemClickListener != null
@@ -456,11 +464,12 @@ public abstract class ConversationBaseFragment extends BaseFragment implements I
viewModel.deleteConversation(2, dataBean); viewModel.deleteConversation(2, dataBean);
} else if (TextUtils.equals(action, ConversationConstant.Action.ACTION_HIDE)) { } else if (TextUtils.equals(action, ConversationConstant.Action.ACTION_HIDE)) {
viewModel.deleteConversation(1, dataBean); viewModel.deleteConversation(1, dataBean);
// if (dataBean.infoData.isStickTop()) { } else if(TextUtils.equals(action,ConversationConstant.Action.ACTION_STICK)){
// viewModel.removeStick((ConversationBean) data); if (dataBean.infoData.isStickTop()) {
// } else { viewModel.removeStick((ConversationBean) data);
// viewModel.addStickTop((ConversationBean) data); } else {
// } viewModel.addStickTop((ConversationBean) data);
}
} }
alertDialog.dismiss(); alertDialog.dismiss();
}); });
@@ -488,15 +497,16 @@ public abstract class ConversationBaseFragment extends BaseFragment implements I
protected List<ActionItem> generateDialogContent(boolean isStick) { protected List<ActionItem> generateDialogContent(boolean isStick) {
List<ActionItem> contentList = new ArrayList<>(); List<ActionItem> contentList = new ArrayList<>();
// ActionItem stick = ActionItem stick =
// new ActionItem( new ActionItem(
// ConversationConstant.Action.ACTION_STICK, ConversationConstant.Action.ACTION_STICK,
// 0, 0,
// (isStick ? R.string.cancel_stick_title : R.string.stick_title)); (isStick ? R.string.cancel_stick_title : R.string.stick_title));
ActionItem hide = ActionItem hide =
new ActionItem(ConversationConstant.Action.ACTION_HIDE, 0, R.string.hide_title); new ActionItem(ConversationConstant.Action.ACTION_HIDE, 0, R.string.hide_title);
ActionItem delete = ActionItem delete =
new ActionItem(ConversationConstant.Action.ACTION_DELETE, 0, R.string.delete_title); new ActionItem(ConversationConstant.Action.ACTION_DELETE, 0, R.string.delete_title);
contentList.add(stick);
contentList.add(hide); contentList.add(hide);
contentList.add(delete); contentList.add(delete);
return contentList; return contentList;

View File

@@ -435,7 +435,7 @@ public class ConversationViewModel extends BaseViewModel {
} }
public void addStickTop(ConversationBean data) { public void addStickTop(ConversationBean data) {
LogUtils.i("LAILIAOLIAO","数据是啥:"+ data.infoData.getContactId()+";"+data.infoData.getSessionType());
ConversationRepoAll.addStickTop( ConversationRepoAll.addStickTop(
data.infoData.getContactId(), data.infoData.getContactId(),
data.infoData.getSessionType(), data.infoData.getSessionType(),
@@ -470,6 +470,8 @@ public class ConversationViewModel extends BaseViewModel {
} }
public void removeStick(ConversationBean data) { public void removeStick(ConversationBean data) {
LogUtils.i("LAILIAOLIAO","数据是啥removeStick"+ data.infoData.getContactId()+";"+data.infoData.getSessionType());
ConversationRepoAll.removeStickTop( ConversationRepoAll.removeStickTop(
data.infoData.getContactId(), data.infoData.getContactId(),
data.infoData.getSessionType(), data.infoData.getSessionType(),

View File

@@ -7,7 +7,7 @@
<selector xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" tools:ignore="MissingDefaultResource"> <selector xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" tools:ignore="MissingDefaultResource">
<item android:drawable="@color/fun_conversation_item_bg_color" android:state_pressed="false" /> <item android:drawable="@color/title_transfer" android:state_pressed="false" />
<item android:drawable="@color/fun_conversation_item_stick_bg_color" android:state_pressed="true" /> <item android:drawable="@color/fun_conversation_item_stick_bg_color" android:state_pressed="true" />
<item android:drawable="@color/fun_conversation_item_bg_color"/> <item android:drawable="@color/fun_conversation_item_bg_color"/>
</selector> </selector>

View File

@@ -73,7 +73,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="middle" android:ellipsize="middle"
android:maxWidth="@dimen/dimen_120_dp" android:maxWidth="180dp"
android:singleLine="true" android:singleLine="true"
android:textColor="@color/fun_conversation_item_title_text_color" android:textColor="@color/fun_conversation_item_title_text_color"
android:textSize="@dimen/text_size_16" /> android:textSize="@dimen/text_size_16" />
@@ -225,7 +225,9 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0.5dp" android:layout_height="0.5dp"
android:background="#EDE3E3" android:background="#E0E0E0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout> </FrameLayout>

View File

@@ -10,7 +10,7 @@
<color name="fun_conversation_item_divide_line_color">#d8d8d8</color> <color name="fun_conversation_item_divide_line_color">#d8d8d8</color>
<!-- 置顶会话背景色 --> <!-- 置顶会话背景色 -->
<color name="fun_conversation_item_stick_bg_color">#ededef</color> <color name="fun_conversation_item_stick_bg_color">#EEEEEE</color>
<!-- 创建群聊和添加好友PopupWindow 字体颜色 --> <!-- 创建群聊和添加好友PopupWindow 字体颜色 -->
<color name="fun_conversation_add_pop_text_color">#ffffff</color> <color name="fun_conversation_add_pop_text_color">#ffffff</color>

View File

@@ -10,6 +10,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#FFFBFB"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
@@ -17,6 +18,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:visibility="gone"
tools:ignore="MissingConstraints"> tools:ignore="MissingConstraints">
<com.netease.yunxin.kit.common.ui.widgets.TitleBarView <com.netease.yunxin.kit.common.ui.widgets.TitleBarView

View File

@@ -7,13 +7,15 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root_view" android:id="@+id/root_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dimen_62_dp"> android:background="@drawable/fun_conversation_view_holder_selector"
android:layout_height="76dp">
<FrameLayout <FrameLayout
android:id="@+id/conversation_avatar_fl" android:id="@+id/conversation_avatar_fl"
android:layout_width="@dimen/dimen_52_dp" android:layout_width="@dimen/dimen_52_dp"
android:layout_height="@dimen/dimen_42_dp" android:layout_height="@dimen/dimen_42_dp"
android:layout_marginVertical="@dimen/dimen_10_dp" android:layout_marginVertical="17dp"
android:layout_marginStart="@dimen/dimen_20_dp"> android:layout_marginStart="@dimen/dimen_20_dp">
<com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView <com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView
@@ -46,7 +48,7 @@
android:id="@+id/conversation_name_tv" android:id="@+id/conversation_name_tv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen_10_dp" android:layout_marginTop="17dp"
android:layout_marginEnd="@dimen/dimen_100_dp" android:layout_marginEnd="@dimen/dimen_100_dp"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"

View File

@@ -7,13 +7,14 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root_view" android:id="@+id/root_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dimen_62_dp"> android:background="@drawable/fun_conversation_view_holder_selector"
android:layout_height="76dp">
<FrameLayout <FrameLayout
android:id="@+id/conversation_avatar_fl" android:id="@+id/conversation_avatar_fl"
android:layout_width="@dimen/dimen_52_dp" android:layout_width="@dimen/dimen_52_dp"
android:layout_height="@dimen/dimen_42_dp" android:layout_height="@dimen/dimen_42_dp"
android:layout_marginVertical="@dimen/dimen_10_dp" android:layout_marginVertical="17dp"
android:layout_marginStart="@dimen/dimen_20_dp"> android:layout_marginStart="@dimen/dimen_20_dp">
<com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView <com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView
@@ -46,7 +47,7 @@
android:id="@+id/conversation_name_tv" android:id="@+id/conversation_name_tv"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen_10_dp" android:layout_marginTop="17dp"
android:layout_marginEnd="@dimen/dimen_100_dp" android:layout_marginEnd="@dimen/dimen_100_dp"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"

View File

@@ -259,7 +259,7 @@ public class TeamUIService extends ChatService {
fieldMap.put(TeamFieldEnum.BeInviteMode, TeamBeInviteModeEnum.NoAuth); //被邀请人不需要验证 fieldMap.put(TeamFieldEnum.BeInviteMode, TeamBeInviteModeEnum.NoAuth); //被邀请人不需要验证
fieldMap.put(TeamFieldEnum.VerifyType, VerifyTypeEnum.Free);// fieldMap.put(TeamFieldEnum.VerifyType, VerifyTypeEnum.Free);//
fieldMap.put(TeamFieldEnum.InviteMode, TeamInviteModeEnum.All); //每个人都可以邀请入群 fieldMap.put(TeamFieldEnum.InviteMode, TeamInviteModeEnum.All); //每个人都可以邀请入群
// fieldMap.put(TeamFieldEnum.Extension, "1"); //控制是否展示行动码与链接 // fieldMap.put(TeamFieldEnum.Extension, "1"); //控制是否展示二维码与链接
boolean isAllow = true; boolean isAllow = true;
if (customParam.containsKey("allowaddfriends")) { if (customParam.containsKey("allowaddfriends")) {
isAllow = (boolean) customParam.get("allowaddfriends"); isAllow = (boolean) customParam.get("allowaddfriends");
@@ -270,9 +270,9 @@ public class TeamUIService extends ChatService {
jsonObject.put(TeamConfigManager.CREATE_TEAM_PARAMS_ALLOWADDFRIENDS, isAllow ? 1 : 0); jsonObject.put(TeamConfigManager.CREATE_TEAM_PARAMS_ALLOWADDFRIENDS, isAllow ? 1 : 0);
String jsonstr = jsonObject.toString(); String jsonstr = jsonObject.toString();
LogUtils.d("json==","jsonstr=="+jsonstr); LogUtils.d("json==","jsonstr=="+jsonstr);
fieldMap.put(TeamFieldEnum.Extension, jsonObject.toString()); //控制是否展示行动码与链接 以及 是否允许添加好友 fieldMap.put(TeamFieldEnum.Extension, jsonObject.toString()); //控制是否展示二维码与链接 以及 是否允许添加好友
} catch (Exception e) { } catch (Exception e) {
fieldMap.put(TeamFieldEnum.Extension, "1"); //控制是否展示行动码与链接 fieldMap.put(TeamFieldEnum.Extension, "1"); //控制是否展示二维码与链接
} }
if (customParam.get("autoinvited") != null) { if (customParam.get("autoinvited") != null) {
boolean verifyType = (boolean) customParam.get("autoinvited"); boolean verifyType = (boolean) customParam.get("autoinvited");