mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-22 01:22:46 +02:00
Merge commit '2d178343b17e1ece55d595d904aeeba87e3d9938' into room_summary
This commit is contained in:
@@ -57,6 +57,9 @@
|
||||
|
||||
// The potential room id or alias typed in search input.
|
||||
NSString *roomIdOrAlias;
|
||||
|
||||
// Timer to not refresh publicRoomsDirectoryDataSource on every keystroke.
|
||||
NSTimer *publicRoomsTriggerTimer;
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -196,7 +199,8 @@
|
||||
|
||||
if (!_hidePublicRoomsDirectory)
|
||||
{
|
||||
[self.publicRoomsDirectoryDataSource refreshPublicRooms];
|
||||
// Start by looking for all public rooms
|
||||
self.publicRoomsDirectoryDataSource.searchPattern = nil;
|
||||
}
|
||||
|
||||
[self refreshRoomsSectionsAndReload];
|
||||
@@ -767,11 +771,27 @@
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)onPublicRoomsSearchPatternUpdate:(id)sender
|
||||
{
|
||||
if (publicRoomsTriggerTimer)
|
||||
{
|
||||
NSString *searchPattern = publicRoomsTriggerTimer.userInfo;
|
||||
|
||||
[publicRoomsTriggerTimer invalidate];
|
||||
publicRoomsTriggerTimer = nil;
|
||||
|
||||
_publicRoomsDirectoryDataSource.searchPattern = searchPattern;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Override MXKDataSource
|
||||
|
||||
- (void)destroy
|
||||
{
|
||||
[super destroy];
|
||||
|
||||
[publicRoomsTriggerTimer invalidate];
|
||||
publicRoomsTriggerTimer = nil;
|
||||
}
|
||||
|
||||
#pragma mark - Override MXKRecentsDataSource
|
||||
@@ -798,7 +818,12 @@
|
||||
|
||||
if (_publicRoomsDirectoryDataSource)
|
||||
{
|
||||
_publicRoomsDirectoryDataSource.searchPatternsList = patternsList;
|
||||
NSString *searchPattern = [patternsList componentsJoinedByString:@" "];
|
||||
|
||||
// Do not send a /publicRooms request for every keystroke
|
||||
// Let user finish typing
|
||||
[publicRoomsTriggerTimer invalidate];
|
||||
publicRoomsTriggerTimer = [NSTimer scheduledTimerWithTimeInterval:0.7 target:self selector:@selector(onPublicRoomsSearchPatternUpdate:) userInfo:searchPattern repeats:NO];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user