Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: remoting/ios/facade/remoting_service.mm

Issue 2957943002: [CRD iOS] Add the host setup instruction page (Closed)
Patch Set: Resolve Feedback Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/ios/facade/remoting_service.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/ios/facade/remoting_service.mm
diff --git a/remoting/ios/facade/remoting_service.mm b/remoting/ios/facade/remoting_service.mm
index 5c5a8f6a48876dc41a6a9aafdd8b8e1e1a57b104..79753a8b19d1ded76572ceb416bca1509b14357a 100644
--- a/remoting/ios/facade/remoting_service.mm
+++ b/remoting/ios/facade/remoting_service.mm
@@ -30,7 +30,7 @@
static NSString* const kCRDAuthenticatedUserEmailKey =
@"kCRDAuthenticatedUserEmailKey";
-NSString* const kHostsDidUpdate = @"kHostsDidUpdate";
+NSString* const kHostListStateDidChange = @"kHostListStateDidChange";
NSString* const kUserDidUpdate = @"kUserDidUpdate";
NSString* const kUserInfo = @"kUserInfo";
@@ -39,13 +39,13 @@ NSString* const kUserInfo = @"kUserInfo";
id<RemotingAuthentication> _authentication;
remoting::HostListFetcher* _hostListFetcher;
remoting::IosClientRuntimeDelegate* _clientRuntimeDelegate;
- BOOL _isHostListFetching;
}
@end
@implementation RemotingService
@synthesize hosts = _hosts;
+@synthesize hostListState = _hostListState;
// RemotingService is a singleton.
+ (RemotingService*)instance {
@@ -63,7 +63,7 @@ NSString* const kUserInfo = @"kUserInfo";
_hosts = nil;
_hostListFetcher = nil;
// TODO(yuweih): Maybe better to just cancel the previous request.
- _isHostListFetching = NO;
+ _hostListState = HostListStateNotFetched;
// TODO(nicholss): This might need a pointer back to the service.
_clientRuntimeDelegate =
new remoting::IosClientRuntimeDelegate();
@@ -75,10 +75,10 @@ NSString* const kUserInfo = @"kUserInfo";
#pragma mark - RemotingService Implementation
- (void)startHostListFetchWith:(NSString*)accessToken {
- if (_isHostListFetching) {
+ if (_hostListState == HostListStateFetching) {
return;
}
- _isHostListFetching = YES;
+ [self setHostListState:HostListStateFetching];
if (!_hostListFetcher) {
_hostListFetcher = new remoting::HostListFetcher(
remoting::ChromotingClientRuntime::GetInstance()->url_requester());
@@ -118,29 +118,31 @@ NSString* const kUserInfo = @"kUserInfo";
[hosts addObject:host];
}
_hosts = hosts;
- [self hostListUpdated];
- _isHostListFetching = NO;
+ [self setHostListState:HostListStateFetched];
}));
}
-#pragma mark - Notifications
-
-- (void)hostListUpdated {
- [[NSNotificationCenter defaultCenter] postNotificationName:kHostsDidUpdate
- object:self
- userInfo:nil];
+- (void)setHostListState:(HostListState)state {
+ if (state == _hostListState) {
+ return;
+ }
+ _hostListState = state;
+ [[NSNotificationCenter defaultCenter]
+ postNotificationName:kHostListStateDidChange
+ object:self
+ userInfo:nil];
}
#pragma mark - RemotingAuthenticationDelegate
- (void)userDidUpdate:(UserInfo*)user {
NSDictionary* userInfo = nil;
+ [self setHostListState:HostListStateNotFetched];
if (user) {
userInfo = [NSDictionary dictionaryWithObject:user forKey:kUserInfo];
[self requestHostListFetch];
} else {
_hosts = nil;
- [self hostListUpdated];
}
[[NSNotificationCenter defaultCenter] postNotificationName:kUserDidUpdate
object:self
« no previous file with comments | « remoting/ios/facade/remoting_service.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698