添加锁定PC的设置,当离线时自动解除
This commit is contained in:
@@ -78,8 +78,7 @@ import static io.moquette.BrokerConstants.*;
|
||||
import static io.moquette.server.Constants.MAX_CHATROOM_MESSAGE_QUEUE;
|
||||
import static io.moquette.server.Constants.MAX_MESSAGE_QUEUE;
|
||||
import static cn.wildfirechat.pojos.MyInfoType.*;
|
||||
import static win.liyufan.im.UserSettingScope.kUserSettingAddFriendStrategy;
|
||||
import static win.liyufan.im.UserSettingScope.kUserSettingPCOnline;
|
||||
import static win.liyufan.im.UserSettingScope.*;
|
||||
|
||||
public class MemoryMessagesStore implements IMessagesStore {
|
||||
private static final String MESSAGES_MAP = "messages_map";
|
||||
@@ -3025,6 +3024,13 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!online && (session.isPcClient()) || session.isPadClient()) {
|
||||
WFCMessage.UserSettingEntry lockSetting = getUserSetting(session.getUsername(), UserSettingScopeLockPC, session.getClientID());
|
||||
if(lockSetting != null && "1".equals(lockSetting.getValue())) {
|
||||
updateUserSettings(session.getUsername(), WFCMessage.ModifyUserSettingReq.newBuilder().setScope(UserSettingScopeLockPC).setKey(session.getClientID()).setValue("0").build(), null);
|
||||
}
|
||||
}
|
||||
|
||||
String pcValue = null;
|
||||
String padValue = null;
|
||||
for (MemorySessionStore.Session s : m_Server.getStore().sessionsStore().sessionForUser(session.username)) {
|
||||
|
||||
@@ -93,6 +93,15 @@ public class MemorySessionStore implements ISessionsStore {
|
||||
return unReceivedMsgs;
|
||||
}
|
||||
|
||||
public boolean isPcClient() {
|
||||
return platform == ProtoConstants.Platform.Platform_Windows || platform == ProtoConstants.Platform.Platform_OSX || platform == ProtoConstants.Platform.Platform_LINUX;
|
||||
}
|
||||
|
||||
public boolean isPadClient() {
|
||||
return platform == ProtoConstants.Platform.Platform_iPad || platform == ProtoConstants.Platform.Platform_APad || platform == ProtoConstants.Platform.Platform_HarmonyPad;
|
||||
}
|
||||
|
||||
|
||||
public int getPushType() {
|
||||
return pushType;
|
||||
}
|
||||
|
||||
@@ -22,4 +22,5 @@ public interface UserSettingScope {
|
||||
int kUserSettingPrivacySearchable = 27;
|
||||
int kUserSettingAddFriendStrategy = 28;
|
||||
int kUserSettingScopeSyncBadge = 29;
|
||||
int UserSettingScopeLockPC = 30;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user