Public rooms search: Do a AND search on public rooms

This commit is contained in:
manuroe
2015-12-21 16:41:41 +01:00
parent 94fbcc076f
commit d65efac3d5
3 changed files with 14 additions and 5 deletions
@@ -124,15 +124,21 @@ double const kPublicRoomsDirectoryDataExpiration = 10;
{
if ([filteredRooms indexOfObjectIdenticalTo:publicRoom] == NSNotFound)
{
// Do a OR search
// Do a AND search
BOOL matchAll = YES;
for (NSString *pattern in _searchPatternsList)
{
if ([publicRoom.displayname rangeOfString:pattern options:NSCaseInsensitiveSearch].location != NSNotFound)
if (pattern.length && NO == [publicRoom.displayname localizedCaseInsensitiveContainsString:pattern])
{
[filteredRooms addObject:publicRoom];
matchAll = NO;
break;
}
}
if (matchAll)
{
[filteredRooms addObject:publicRoom];
}
}
}