Skip to content

Commit 143db43

Browse files
Merge pull request #161 from TakayukiHoshi1984/modify_browser_ui_top_and_bookmark
dConnectBrowserForIOS9のUI改善
2 parents 51f95f7 + 606ff0b commit 143db43

13 files changed

Lines changed: 103 additions & 65 deletions

File tree

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/Info.plist

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,21 @@
4646
<true/>
4747
</dict>
4848
<key>NSAppleMusicUsageDescription</key>
49-
<string>端末のメディアを再生できます</string>
49+
<string>端末のメディアを再生することができます</string>
5050
<key>NSBluetoothPeripheralUsageDescription</key>
51-
<string>Bluetoothの状態を取得します</string>
51+
<string>Bluetoothの状態を取得することができます</string>
5252
<key>NSCameraUsageDescription</key>
53-
<string>写真を撮影します</string>
53+
<string>写真を撮影することができます</string>
5454
<key>NSHumanReadableCopyright</key>
5555
<string>Copyright © 2016年 NTT DOCOMO, INC. All rights reserved.</string>
5656
<key>NSLocationAlwaysUsageDescription</key>
57-
<string>常に位置情報を使用します</string>
57+
<string>位置情報を使用することができます</string>
5858
<key>NSLocationWhenInUseUsageDescription</key>
5959
<string>アプリ使用時のみ位置情報を使用します。</string>
6060
<key>NSMicrophoneUsageDescription</key>
61-
<string>電話をかけます</string>
61+
<string>電話をかけることができます</string>
6262
<key>NSPhotoLibraryUsageDescription</key>
63-
<string>写真を参照します</string>
63+
<string>写真を参照することができます</string>
6464
<key>UILaunchStoryboardName</key>
6565
<string>LaunchScreen</string>
6666
<key>UIMainStoryboardFile</key>

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/GHBookmarkTopController.m

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,6 @@ - (void)setEdiMode:(BOOL)edit
141141
self.folderBtn.enabled = NO;
142142
[self.editBtn setTitle:@"編集"];
143143
}
144-
145-
//iPadは常に完了ボタンを非表示
146-
if ([GHUtils isiPad]) {
147-
self.doneBtn.enabled = NO;
148-
self.doneBtn.tintColor = nil;
149-
self.navigationItem.rightBarButtonItem = nil;
150-
}
151144
}
152145

153146

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/classes/GHDeviceUtil.m

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -70,23 +70,23 @@ - (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-
73+
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
74+
[self callRequestAccessTokenAPI:^(DConnectArray *result) {
7775
[self discoverDevices:^(DConnectArray *result) {
7876
_self.currentDevices = result;
7977
_self.recieveDeviceList(result);
8078
}];
81-
});
79+
}];
80+
8281
});
8382
}
8483

8584
- (void)discoverDevices:(DiscoverDeviceCompletion)completion
8685
{
8786
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
8887
NSString *accessToken = [def stringForKey:ACCESS_TOKEN];
89-
if (!accessToken) {
88+
BOOL isLocalOAuth = [def boolForKey:IS_USE_LOCALOAUTH];
89+
if (!accessToken && isLocalOAuth) {
9090
completion(nil);
9191
return;
9292
}
@@ -95,68 +95,52 @@ - (void)discoverDevices:(DiscoverDeviceCompletion)completion
9595
[request setApi: DConnectMessageDefaultAPI];
9696
[request setProfile: DConnectServiceDiscoveryProfileName];
9797
[request setAccessToken:accessToken];
98-
[request setString:[self packageName] forKey:DConnectMessageOrigin];
98+
[request setString:@"http://localhost" forKey:DConnectMessageOrigin];
9999
[manager sendRequest: request callback:^(DConnectResponseMessage *response) {
100100
if (response != nil) {
101101
if ([response result] == DConnectMessageResultTypeOk) {
102102
DConnectArray *services = [response arrayForKey: DConnectServiceDiscoveryProfileParamServices];
103103
if (completion) {
104104
completion(services);
105105
}
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-
}
106+
return;
115107
}
116-
} else {
108+
}
109+
if (isLocalOAuth) {
117110
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
118111
[def removeObjectForKey:ACCESS_TOKEN];
119112
[def synchronize];
120-
if (completion) {
121-
completion(nil);
122-
}
113+
[self callRequestAccessTokenAPI:^(DConnectArray *result) {
114+
[self discoverDevices:completion];
115+
}];
123116
}
124117
}];
125118
}
126119

127-
- (void)callRequestAccessTokenAPI {
120+
- (void)callRequestAccessTokenAPI:(DiscoverDeviceCompletion)completion {
128121
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
129122
NSString *accessToken = [def stringForKey:ACCESS_TOKEN];
130-
if (accessToken) {
123+
if (accessToken) {
124+
completion(nil);
131125
return;
132126
}
133127
NSArray *scopes = [@[DConnectServiceDiscoveryProfileName]
134128
sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];;
135129

136130

137-
/* セマフォ準備 */
138-
dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);
139-
dispatch_time_t timeout = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC * DPSemaphoreTimeout);
140-
141-
/* 応答が返るまでWait */
142-
dispatch_semaphore_wait(semaphore, timeout);
143131

144-
[DConnectUtil asyncAuthorizeWithOrigin: [self packageName]
132+
[DConnectUtil asyncAuthorizeWithOrigin: @"http://localhost"
145133
appName: @"Browser"
146134
scopes: scopes
147135
success: ^(NSString *clientId, NSString *accessToken) {
148136
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
149137
[def setObject:accessToken forKey:ACCESS_TOKEN];
150138
[def synchronize];
151-
NSLog(@" - response - accessToken: %@", accessToken);
152-
/* Wait解除 */
153-
dispatch_semaphore_signal(semaphore);
139+
completion(nil);
154140

155141
}
156142
error:^(DConnectMessageErrorCodeType errorCode){
157-
NSLog(@" - response - errorCode: %d", errorCode);
158-
/* Wait解除 */
159-
dispatch_semaphore_signal(semaphore);
143+
completion(nil);
160144

161145
}];
162146
}

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/classes/GHSettingViewModel.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,8 @@ - (BOOL)switchState:(SecurityCellType)type
238238
- (void)checkOriginAndLocalOAuth:(BOOL)isOn type:(int)type copmletion:(void (^)())completion
239239
{
240240
if (type == SecurityCellTypeOrigin
241-
&& [[NSUserDefaults standardUserDefaults] boolForKey:IS_USE_LOCALOAUTH]
242-
&& [[NSUserDefaults standardUserDefaults] boolForKey:IS_ORIGIN_ENABLE]) {
241+
&& [DConnectManager sharedManager].settings.useLocalOAuth
242+
&& [DConnectManager sharedManager].settings.useOriginEnable) {
243243
NSString *message = @"下記の機能がアプリのOriginを参照するため下記もOFFに切り替わります。\n- LocalOAuth\nよろしいですか?";
244244
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"警告" message:message preferredStyle:UIAlertControllerStyleAlert];
245245
[alertController addAction:[UIAlertAction actionWithTitle:@"はい" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
@@ -261,8 +261,8 @@ - (void)checkOriginAndLocalOAuth:(BOOL)isOn type:(int)type copmletion:(void (^)(
261261

262262
[[self rootViewController] presentViewController:alertController animated:YES completion:nil];
263263
} else if (type == SecurityCellTypeLocalOAuth
264-
&& ![[NSUserDefaults standardUserDefaults] boolForKey:IS_USE_LOCALOAUTH]
265-
&& ![[NSUserDefaults standardUserDefaults] boolForKey:IS_ORIGIN_ENABLE]) {
264+
&& ![DConnectManager sharedManager].settings.useLocalOAuth
265+
&& ![DConnectManager sharedManager].settings.useOriginEnable) {
266266
NSString *message = @"本機能はアプリのOriginを参照するため、下記もONに切り替わります。\n- Origin(有効/無効)\nよろしいでしょうか?";
267267
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"警告" message:message preferredStyle:UIAlertControllerStyleAlert];
268268
[alertController addAction:[UIAlertAction actionWithTitle:@"はい" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/demo/js/resource.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var main = (function(parent, global) {
2020
}
2121
} else if (mimeType.indexOf('image') != -1 && uri.indexOf('mp4') != -1) {
2222
var mediaId = uri.replace("http://localhost:4035/gotapi/files?uri=", "");
23-
util.doMediaPlayerMediaPut(util.getServiceId(), util.getAccessTokenQuery(), mediaId,null);
23+
util.doMediaPlayerMediaPut(util.getServiceId(), util.getAccessTokenQuery(), decodeURIComponent(mediaId),null);
2424
} else {
2525
sendRequest('GET', uri, null, function(status, responseText) {
2626
var elem = document.getElementById('text');
@@ -60,7 +60,7 @@ var main = (function(parent, global) {
6060
switch (xhr.readyState) {
6161
case 1:
6262
try {
63-
xhr.setRequestHeader("X-GotAPI-Origin".toLowerCase(), "http://ios_assets");
63+
xhr.setRequestHeader("X-GotAPI-Origin".toLowerCase(), "file://");
6464
} catch (e) {
6565
return;
6666
}

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/demo/js/util.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ var util = (function(parent, global) {
418418
builder.setAccessToken(accessToken);
419419
builder.addParameter('mediaId', id);
420420
var uri = builder.build();
421+
dConnect.setExtendedOrigin("file://");
421422
dConnect.put(uri, null, null, function(json) {
422423
var builder = new dConnect.URIBuilder();
423424
builder.setProfile('mediaplayer');
@@ -430,10 +431,10 @@ var util = (function(parent, global) {
430431
callback();
431432
}
432433
}, function(errorCode, errorMessage) {
433-
console.log("error:" + errorMessage);
434+
console.log("Play error:" + errorMessage);
434435
});
435436
}, function(errorCode, errorMessage) {
436-
console.log("error:" + errorMessage);
437+
console.log("Set Media error:" + errorMessage);
437438
});
438439
}
439440
parent.doMediaPlayerMediaPut = doMediaPlayerMediaPut;

dConnectSDK/dConnectBrowserForIOS9/dConnectBrowserForIOS9/help/tutorial/demo/demo_take_photo.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<select name="previewSize" onchange="demoTakePhoto.onChangeOption()"></select>
2222
</form>
2323
<div style="margin:12px;">
24-
<img id="preview" crossOrigin="Anonymous">
24+
<img id="preview" crossOrigin="anonymous">
2525
</div>
2626
<button onclick="demoTakePhoto.onTakePhoto()">撮影</button>
2727
</div>

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/DConnectManager.m

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,7 @@ - (void) didReceiveRequest:(DConnectRequestMessage *) request
514514
dispatch_async(_requestQueue, ^{
515515
// 指定されたプロファイルを取得する
516516
NSString *profileName = [request profile];
517-
518-
if (![_self allowsOriginOfRequest:request]) {
517+
if (![_self allowsOriginOfRequest:request] && ![@"files" isEqualToString:profileName]) {
519518
[response setErrorToInvalidOrigin];
520519
DConnectProfile *profile = [_self profileWithName:profileName];
521520
if (profile && [profile isKindOfClass:[DConnectManagerAuthorizationProfile class]]) {

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/policy/DConnectOriginDao.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
+ (void) createWithDatabase:(DConnectSQLiteDatabase *)database;
1818

1919
+ (NSArray *) originsWithDatabase:(DConnectSQLiteDatabase *)database;
20-
20+
+ (NSArray *) queryWithOrigin:(id<DConnectOrigin>)origin
21+
title:(NSString *)title
22+
toDatabase:(DConnectSQLiteDatabase *)database;
2123
+ (DConnectOriginInfo *) insertWithOrigin:(id<DConnectOrigin>)origin
2224
title:(NSString *)title
2325
toDatabase:(DConnectSQLiteDatabase *)database;
@@ -28,4 +30,4 @@
2830
+ (void) deleteWithOriginInfo:(DConnectOriginInfo *)info
2931
onDatabase:(DConnectSQLiteDatabase *)database;
3032

31-
@end
33+
@end

0 commit comments

Comments
 (0)