主动发起私聊限制需求
This commit is contained in:
@@ -395,10 +395,12 @@ public class NimTeamMessageActivity extends BaseMessageActivity {
|
|||||||
if (userLevelVo != null) {
|
if (userLevelVo != null) {
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
}
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null) {
|
if (initInfo != null) {
|
||||||
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
||||||
|
fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay());
|
||||||
}
|
}
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
|
@@ -431,10 +431,12 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity {
|
|||||||
if (userLevelVo != null) {
|
if (userLevelVo != null) {
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
}
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null) {
|
if (initInfo != null) {
|
||||||
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
||||||
|
fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fragment;
|
return fragment;
|
||||||
|
@@ -8,6 +8,7 @@ import android.os.Bundle;
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -131,6 +132,9 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi
|
|||||||
private int limitLevel;
|
private int limitLevel;
|
||||||
private int currentLevel;
|
private int currentLevel;
|
||||||
|
|
||||||
|
private int limitRegisterDay;
|
||||||
|
private int currentRegisterDay;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
@@ -334,7 +338,7 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi
|
|||||||
if (inputPanel == null) {
|
if (inputPanel == null) {
|
||||||
inputPanel = new InputPanel(container, rootView, getActionList());
|
inputPanel = new InputPanel(container, rootView, getActionList());
|
||||||
inputPanel.setCustomization(customization);
|
inputPanel.setCustomization(customization);
|
||||||
inputPanel.setLimitLevel(limitLevel, currentLevel);
|
inputPanel.setLimitLevel(limitLevel, currentLevel,limitRegisterDay,currentRegisterDay);
|
||||||
} else {
|
} else {
|
||||||
inputPanel.reload(container, customization);
|
inputPanel.reload(container, customization);
|
||||||
}
|
}
|
||||||
@@ -729,7 +733,16 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi
|
|||||||
this.limitLevel = limitLevel;
|
this.limitLevel = limitLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setCurrentLevel(int currentLevel) {
|
public void setCurrentLevel(int currentLevel) {
|
||||||
this.currentLevel = currentLevel;
|
this.currentLevel = currentLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLimitRegisterDay(int limitRegisterDay) {
|
||||||
|
this.limitRegisterDay = limitRegisterDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCurrentRegisterDay(int currentRegisterDay){
|
||||||
|
this.currentRegisterDay = currentRegisterDay;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -340,10 +340,12 @@ public class HallTeamMessageActivity extends BaseMessageActivity {
|
|||||||
if (userLevelVo != null) {
|
if (userLevelVo != null) {
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
}
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null) {
|
if (initInfo != null) {
|
||||||
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
||||||
|
fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay());
|
||||||
}
|
}
|
||||||
|
|
||||||
return fragment;
|
return fragment;
|
||||||
|
@@ -531,9 +531,10 @@ public class MWTeamRoomMessageAct extends BaseMessageActivity implements IMWTeam
|
|||||||
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||||
if (userInfo != null) {
|
if (userInfo != null) {
|
||||||
UserLevelVo userLevelVo = userInfo.getUserLevelVo();
|
UserLevelVo userLevelVo = userInfo.getUserLevelVo();
|
||||||
if (userLevelVo != null)
|
if (userLevelVo != null){
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null)
|
if (initInfo != null)
|
||||||
|
@@ -580,9 +580,10 @@ public class MiniWorldTeamMessageActivity extends BaseMessageActivity implements
|
|||||||
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||||
if (userInfo != null) {
|
if (userInfo != null) {
|
||||||
UserLevelVo userLevelVo = userInfo.getUserLevelVo();
|
UserLevelVo userLevelVo = userInfo.getUserLevelVo();
|
||||||
if (userLevelVo != null)
|
if (userLevelVo != null){
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null)
|
if (initInfo != null)
|
||||||
|
@@ -328,10 +328,12 @@ public class NimHallTeamRoomMessageActivity extends BaseMessageActivity {
|
|||||||
if (userLevelVo != null) {
|
if (userLevelVo != null) {
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
}
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null) {
|
if (initInfo != null) {
|
||||||
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
||||||
|
fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay());
|
||||||
}
|
}
|
||||||
|
|
||||||
return fragment;
|
return fragment;
|
||||||
|
@@ -284,10 +284,12 @@ public class NimRoomP2PMessageActivity extends NewBaseMessageActivity {
|
|||||||
if (userLevelVo != null) {
|
if (userLevelVo != null) {
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
}
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null) {
|
if (initInfo != null) {
|
||||||
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
||||||
|
fragment.setLimitLevel(initInfo.getPrivateChatRegisterDay());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fragment;
|
return fragment;
|
||||||
|
@@ -386,10 +386,12 @@ public class NimTeamRoomMessageActivity extends BaseMessageActivity {
|
|||||||
if (userLevelVo != null) {
|
if (userLevelVo != null) {
|
||||||
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
fragment.setCurrentLevel(userLevelVo.experLevelSeq);
|
||||||
}
|
}
|
||||||
|
fragment.setCurrentRegisterDay(userInfo.getRegisterDay());
|
||||||
}
|
}
|
||||||
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
|
||||||
if (initInfo != null) {
|
if (initInfo != null) {
|
||||||
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
fragment.setLimitLevel(initInfo.getPrivateChatLevelNo());
|
||||||
|
fragment.setLimitRegisterDay(initInfo.getPrivateChatRegisterDay());
|
||||||
}
|
}
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
|
@@ -44,6 +44,8 @@ public class InitInfo implements Serializable {
|
|||||||
private int publicChatRoomLevelNo;
|
private int publicChatRoomLevelNo;
|
||||||
// 私聊等级限制
|
// 私聊等级限制
|
||||||
private int privateChatLevelNo;
|
private int privateChatLevelNo;
|
||||||
|
// 私聊注册天数限制
|
||||||
|
private int privateChatRegisterDay;
|
||||||
/**
|
/**
|
||||||
* 宝箱开关
|
* 宝箱开关
|
||||||
*/
|
*/
|
||||||
|
@@ -72,6 +72,10 @@ public class UserInfo implements Serializable {
|
|||||||
//个人相册
|
//个人相册
|
||||||
private List<UserPhoto> privatePhoto;
|
private List<UserPhoto> privatePhoto;
|
||||||
private ArrayList<JoinWorldInfo> joinWorlds;
|
private ArrayList<JoinWorldInfo> joinWorlds;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
private int registerDay;
|
||||||
/**
|
/**
|
||||||
* 是否是靓号,1:靓号
|
* 是否是靓号,1:靓号
|
||||||
*/
|
*/
|
||||||
|
@@ -161,7 +161,7 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi
|
|||||||
boolean isTextAudioSwitchShow = getArguments().getBoolean("isTextAudioSwitchShow", true);
|
boolean isTextAudioSwitchShow = getArguments().getBoolean("isTextAudioSwitchShow", true);
|
||||||
inputPanel = new InputPanel(container, rootView, getActionList(), isTextAudioSwitchShow);
|
inputPanel = new InputPanel(container, rootView, getActionList(), isTextAudioSwitchShow);
|
||||||
inputPanel.setCustomization(customization);
|
inputPanel.setCustomization(customization);
|
||||||
inputPanel.setLimitLevel(limitLevel, currentLevel);
|
inputPanel.setLimitLevel(limitLevel, currentLevel,limitRegisterDay,currentRegisterDay);
|
||||||
if (moreCustomDrawable > 0 && moreCustomId > 0) // 自定义更多按钮只响应哪个功能
|
if (moreCustomDrawable > 0 && moreCustomId > 0) // 自定义更多按钮只响应哪个功能
|
||||||
inputPanel.setMoreFuntionButtonInInputBar(moreCustomDrawable, moreCustomId);
|
inputPanel.setMoreFuntionButtonInInputBar(moreCustomDrawable, moreCustomId);
|
||||||
|
|
||||||
@@ -465,17 +465,28 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi
|
|||||||
|
|
||||||
private int limitLevel;
|
private int limitLevel;
|
||||||
|
|
||||||
|
|
||||||
public void setLimitLevel(int limitLevel) {
|
public void setLimitLevel(int limitLevel) {
|
||||||
Log.i("setLimitLevel", "" + limitLevel);
|
Log.i("setLimitLevel", "" + limitLevel);
|
||||||
this.limitLevel = limitLevel;
|
this.limitLevel = limitLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int currentLevel;
|
private int currentLevel;
|
||||||
|
|
||||||
public void setCurrentLevel(int currentLevel) {
|
public void setCurrentLevel(int currentLevel) {
|
||||||
this.currentLevel = currentLevel;
|
this.currentLevel = currentLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int limitRegisterDay;
|
||||||
|
public void setLimitRegisterDay(int limitRegisterDay) {
|
||||||
|
Log.i("setLimitRegisterDay", "" + limitRegisterDay);
|
||||||
|
this.limitRegisterDay = limitRegisterDay;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int currentRegisterDay;
|
||||||
|
public void setCurrentRegisterDay(int currentRegisterDay) {
|
||||||
|
this.currentRegisterDay = currentRegisterDay;
|
||||||
|
}
|
||||||
|
|
||||||
boolean canAudioPartyOpen = true;
|
boolean canAudioPartyOpen = true;
|
||||||
|
|
||||||
public void setmAudioPartyOpenVisible(boolean visible) {
|
public void setmAudioPartyOpenVisible(boolean visible) {
|
||||||
|
@@ -123,6 +123,8 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
|
|||||||
|
|
||||||
private int limitLevel;
|
private int limitLevel;
|
||||||
private int currentLevel;
|
private int currentLevel;
|
||||||
|
private int limitRegisterDay;
|
||||||
|
private int currentRegisterDay;
|
||||||
|
|
||||||
public InputPanel(Container container, View view, List<BaseAction> actions, boolean isTextAudioSwitchShow) {
|
public InputPanel(Container container, View view, List<BaseAction> actions, boolean isTextAudioSwitchShow) {
|
||||||
this.container = container;
|
this.container = container;
|
||||||
@@ -417,9 +419,20 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
|
|||||||
private void onTextMessageSendButtonPressed() {
|
private void onTextMessageSendButtonPressed() {
|
||||||
String text = messageEditText.getText().toString();
|
String text = messageEditText.getText().toString();
|
||||||
if (TextUtils.isEmpty(text.trim())) return;
|
if (TextUtils.isEmpty(text.trim())) return;
|
||||||
|
if (limitLevel <= 1 && currentRegisterDay < limitRegisterDay) {
|
||||||
|
SingleToastUtil.showToastShort("注册时间满"+limitRegisterDay+"天才能发起聊天");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (currentLevel < limitLevel && limitRegisterDay < 1){
|
||||||
|
SingleToastUtil.showToastShort("等级满" + limitLevel + "才能发起聊天");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (currentRegisterDay < limitRegisterDay || currentLevel < limitLevel){
|
||||||
|
SingleToastUtil.showToastShort("注册时间满" + limitRegisterDay + "天或等级满" + limitLevel + "才能发起聊天");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
EventBus.getDefault().post(new ActiveEvent());
|
EventBus.getDefault().post(new ActiveEvent());
|
||||||
|
|
||||||
IMMessage textMessage = createTextMessage(text);
|
IMMessage textMessage = createTextMessage(text);
|
||||||
if (AntiSpamUtil.checkLocalAntiSpam(textMessage)) {
|
if (AntiSpamUtil.checkLocalAntiSpam(textMessage)) {
|
||||||
EventBus.getDefault().post(new AntiSpamEvent());
|
EventBus.getDefault().post(new AntiSpamEvent());
|
||||||
@@ -962,30 +975,30 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba
|
|||||||
container.proxy.sendMessage(customMessage);
|
container.proxy.sendMessage(customMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLimitLevel(int limitLevel, int currentLevel) {
|
public void setLimitLevel(int limitLevel, int currentLevel,int limitRegisterDay,int currentRegisterDay) {
|
||||||
this.limitLevel = limitLevel;
|
this.limitLevel = limitLevel;
|
||||||
this.currentLevel = currentLevel;
|
this.currentLevel = currentLevel;
|
||||||
|
this.limitRegisterDay = limitRegisterDay;
|
||||||
|
this.currentRegisterDay = currentRegisterDay;
|
||||||
setEditTextState();
|
setEditTextState();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setEditTextState() {
|
private void setEditTextState() {
|
||||||
if (currentLevel < limitLevel) {
|
// if (currentLevel < limitLevel) {
|
||||||
messageEditText.setHint("用户等级不足" + limitLevel + "级, 不可以发言哦");
|
// messageEditText.setHint("用户等级不足" + limitLevel + "级, 不可以发言哦");
|
||||||
messageEditText.setFocusable(false);
|
// messageEditText.setFocusable(false);
|
||||||
messageEditText.setFocusableInTouchMode(false);
|
// messageEditText.setFocusableInTouchMode(false);
|
||||||
messageEditText.setEnabled(false);
|
// messageEditText.setEnabled(false);
|
||||||
moreFuntionButtonInInputBar.setEnabled(false);
|
// moreFuntionButtonInInputBar.setEnabled(false);
|
||||||
sendMessageButtonInInputBar.setEnabled(false);
|
// sendMessageButtonInInputBar.setEnabled(false);
|
||||||
} else {
|
// } else {
|
||||||
messageEditText.setHint("请输入消息");
|
messageEditText.setHint("请输入消息");
|
||||||
messageEditText.setFocusable(true);
|
messageEditText.setFocusable(true);
|
||||||
messageEditText.setFocusableInTouchMode(true);
|
messageEditText.setFocusableInTouchMode(true);
|
||||||
messageEditText.setEnabled(true);
|
messageEditText.setEnabled(true);
|
||||||
moreFuntionButtonInInputBar.setEnabled(true);
|
moreFuntionButtonInInputBar.setEnabled(true);
|
||||||
sendMessageButtonInInputBar.setEnabled(true);
|
sendMessageButtonInInputBar.setEnabled(true);
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user