Manage words filtering on In App Alert

This commit is contained in:
ylecollen
2015-01-09 15:58:15 +01:00
parent fcd388d99a
commit 25d36367de
9 changed files with 271 additions and 68 deletions
+1 -24
View File
@@ -53,7 +53,7 @@ NSString *const kFailedEventId = @"failedEventId";
_style = RoomMessageComponentStyleUnsupported;
} else if ([_eventId hasPrefix:kFailedEventId]) {
_style = RoomMessageComponentStyleFailed;
} else if (isIncomingMsg && !_isStateEvent && [self containsBingWord]) {
} else if (isIncomingMsg && !_isStateEvent && [mxHandler containsBingWord:_textMessage]) {
_style = RoomMessageComponentStyleBing;
} else if (!isIncomingMsg && [_eventId hasPrefix:kLocalEchoEventIdPrefix]) {
_style = RoomMessageComponentStyleInProgress;
@@ -68,29 +68,6 @@ NSString *const kFailedEventId = @"failedEventId";
return self;
}
- (BOOL)containsBingWord {
MatrixHandler *mxHandler = [MatrixHandler sharedHandler];
NSString *pattern = nil;
if (mxHandler.mxSession.myUser.displayname.length) {
pattern = [NSString stringWithFormat:@"\\b%@\\b", mxHandler.mxSession.myUser.displayname];
}
if (mxHandler.localPartFromUserId.length) {
if (pattern) {
pattern = [NSString stringWithFormat:@"(%@|\\b%@\\b)", pattern, mxHandler.localPartFromUserId];
} else {
pattern = [NSString stringWithFormat:@"\\b%@\\b", mxHandler.localPartFromUserId];
}
}
if (pattern) {
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
if ([regex numberOfMatchesInString:_textMessage options:0 range:NSMakeRange(0, [_textMessage length])]) {
return YES;
}
}
return NO;
}
- (NSDictionary*)stringAttributes {
UIColor *textColor;
UIFont *font;