Skip to content

Commit f7bb8ef

Browse files
dConnectBrowserForIOS9のUI改善
## 更新内容 * TOP画面でアクセストークン取得時にデバイス一覧の取得に失敗することがあるため修正 * ブックマーク登録UI調整
1 parent 4dffe5e commit f7bb8ef

2 files changed

Lines changed: 23 additions & 28 deletions

File tree

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/ViewController.m

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,13 @@ - (void) enterForeground:(NSNotification *)notification
342342
}
343343
}];
344344
}
345+
346+
dispatch_async(dispatch_get_main_queue(), ^{
347+
[viewModel updateDeviceList];
348+
[viewModel updateDatasource];
349+
[self.collectionView reloadData];
350+
[self addEmptyLabelIfNeeded];
351+
});
345352
}
346353

347354
//--------------------------------------------------------------//

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/classes/GHDeviceUtil.m

Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,14 @@ - (void)debug:(DConnectArray*)array
7070
- (void)updateDeviceList
7171
{
7272
__weak GHDeviceUtil *_self = self;
73-
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
74-
dispatch_async(dispatch_get_main_queue(), ^{
75-
[self callRequestAccessTokenAPI];
76-
77-
[self discoverDevices:^(DConnectArray *result) {
78-
_self.currentDevices = result;
79-
_self.recieveDeviceList(result);
80-
}];
81-
});
73+
// タイミングによりアクセストークンが保存されない
74+
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
75+
[self callRequestAccessTokenAPI];
76+
77+
[self discoverDevices:^(DConnectArray *result) {
78+
_self.currentDevices = result;
79+
_self.recieveDeviceList(result);
80+
}];
8281
});
8382
}
8483

@@ -103,31 +102,22 @@ - (void)discoverDevices:(DiscoverDeviceCompletion)completion
103102
if (completion) {
104103
completion(services);
105104
}
106-
} else {
107-
LOG(@" - response - errorCode: %d", [response errorCode]);
108-
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
109-
[def removeObjectForKey:ACCESS_TOKEN];
110-
[def synchronize];
111-
112-
if (completion) {
113-
completion(nil);
114-
}
115-
}
116-
} else {
117-
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
118-
[def removeObjectForKey:ACCESS_TOKEN];
119-
[def synchronize];
120-
if (completion) {
121-
completion(nil);
105+
return;
122106
}
123107
}
108+
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
109+
[def removeObjectForKey:ACCESS_TOKEN];
110+
[def synchronize];
111+
[self callRequestAccessTokenAPI];
112+
[self discoverDevices:completion];
113+
124114
}];
125115
}
126116

127117
- (void)callRequestAccessTokenAPI {
128118
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
129119
NSString *accessToken = [def stringForKey:ACCESS_TOKEN];
130-
if (accessToken) {
120+
if (accessToken) {
131121
return;
132122
}
133123
NSArray *scopes = [@[DConnectServiceDiscoveryProfileName]
@@ -148,13 +138,11 @@ - (void)callRequestAccessTokenAPI {
148138
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
149139
[def setObject:accessToken forKey:ACCESS_TOKEN];
150140
[def synchronize];
151-
NSLog(@" - response - accessToken: %@", accessToken);
152141
/* Wait解除 */
153142
dispatch_semaphore_signal(semaphore);
154143

155144
}
156145
error:^(DConnectMessageErrorCodeType errorCode){
157-
NSLog(@" - response - errorCode: %d", errorCode);
158146
/* Wait解除 */
159147
dispatch_semaphore_signal(semaphore);
160148

0 commit comments

Comments
 (0)