mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-23 18:12:44 +02:00
Feature/2099 personal state
This commit is contained in:
@@ -146,7 +146,7 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
[self prepareRESTClient];
|
||||
|
||||
userPresence = MXPresenceUnknown;
|
||||
|
||||
|
||||
// Refresh device information
|
||||
[self loadDeviceInformation:nil failure:nil];
|
||||
|
||||
@@ -181,7 +181,7 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
[self registerIdentityServiceDidChangeAccessTokenNotification];
|
||||
|
||||
userPresence = MXPresenceUnknown;
|
||||
|
||||
|
||||
// Refresh device information
|
||||
[self loadDeviceInformation:nil failure:nil];
|
||||
}
|
||||
@@ -261,6 +261,15 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
}
|
||||
}
|
||||
|
||||
- (NSString*)userStatusMessage
|
||||
{
|
||||
if (mxSession)
|
||||
{
|
||||
return mxSession.myUser.statusMsg;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSArray<NSString *> *)linkedEmails
|
||||
{
|
||||
NSMutableArray<NSString *> *linkedEmails = [NSMutableArray array];
|
||||
@@ -664,7 +673,7 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
{
|
||||
userPresence = presence;
|
||||
|
||||
if (mxSession && !hideUserPresence)
|
||||
if (mxSession && (!hideUserPresence || BuildSettings.bwiPersonalState))
|
||||
{
|
||||
// Update user presence on server side
|
||||
[mxSession.myUser setPresence:userPresence
|
||||
@@ -679,12 +688,12 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kMXKAccountUserInfoDidChangeNotification object:self.mxCredentials.userId];
|
||||
}
|
||||
failure:^(NSError *error) {
|
||||
MXLogDebug(@"[MXKAccount] %@: set user presence (%lu) failed", self.mxCredentials.userId, (unsigned long)self->userPresence);
|
||||
MXLogDebug(@"[MXKAccount] %@: set user presence (%lu) and status message (%@) failed", self.mxCredentials.userId, (unsigned long)self->userPresence, self.userStatusMessage);
|
||||
}];
|
||||
}
|
||||
else if (hideUserPresence)
|
||||
{
|
||||
MXLogDebug(@"[MXKAccount] %@: set user presence is disabled.", self.mxCredentials.userId);
|
||||
MXLogDebug(@"[MXKAccount] %@: set user presence and status message is disabled.", self.mxCredentials.userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1008,7 +1017,7 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
|
||||
// Update user presence
|
||||
MXWeakify(self);
|
||||
[self setUserPresence:MXPresenceOffline andStatusMessage:nil completion:^{
|
||||
[self setUserPresence:MXPresenceOffline andStatusMessage:self.userStatusMessage completion:^{
|
||||
MXStrongifyAndReturnIfNil(self);
|
||||
[self cancelPauseBackgroundTask];
|
||||
}];
|
||||
@@ -1049,7 +1058,7 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
MXWeakify(self);
|
||||
[mxSession resume:^{
|
||||
MXStrongifyAndReturnIfNil(self);
|
||||
[self setUserPresence:self.preferredSyncPresence andStatusMessage:nil completion:nil];
|
||||
[self setUserPresence:MXPresenceOffline andStatusMessage:self.userStatusMessage completion:nil];
|
||||
|
||||
[self refreshAPNSPusher];
|
||||
[self refreshPushKitPusher];
|
||||
@@ -1516,7 +1525,7 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
|
||||
MXLogDebug(@"[MXKAccount] %@: The session is ready. Matrix SDK session has been started in %0.fms.", self.mxCredentials.userId, [[NSDate date] timeIntervalSinceDate:self->openSessionStartDate] * 1000);
|
||||
|
||||
[self setUserPresence:self.preferredSyncPresence andStatusMessage:nil completion:nil];
|
||||
[self setUserPresence:MXPresenceOffline andStatusMessage:self.userStatusMessage completion:nil];
|
||||
|
||||
} failure:^(NSError *error) {
|
||||
MXStrongifyAndReturnIfNil(self);
|
||||
@@ -2171,7 +2180,7 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
|
||||
if (self.mxSession)
|
||||
{
|
||||
self.mxSession.preferredSyncPresence = preferredSyncPresence;
|
||||
[self setUserPresence:preferredSyncPresence andStatusMessage:nil completion:nil];
|
||||
[self setUserPresence:MXPresenceOffline andStatusMessage:self.userStatusMessage completion:nil];
|
||||
}
|
||||
|
||||
// Archive updated field
|
||||
|
||||
Reference in New Issue
Block a user