From bf450d7d3a49c3c2a04c2d401298df010986bdd3 Mon Sep 17 00:00:00 2001 From: TakayukiHoshi1984 Date: Wed, 29 Mar 2017 14:59:09 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BB=AE=E6=83=B3=E3=83=87=E3=83=90?= =?UTF-8?q?=E3=82=A4=E3=82=B9=E5=89=8A=E9=99=A4=E6=99=82=E3=81=ABServiceDi?= =?UTF-8?q?scovery=E3=81=AE=E4=B8=80=E8=A6=A7=E3=81=8B=E3=82=89=E3=82=82?= =?UTF-8?q?=E5=89=8A=E9=99=A4=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m | 3 ++- .../DPIRKitVirtualDeviceViewController.h | 1 + .../DPIRKitVirtualDeviceViewController.m | 10 +++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m index 354dc0e4..eb7c7388 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m @@ -373,7 +373,6 @@ - (void)didSelectService:(DConnectService *)service { } UINavigationController *top = [storyBoard instantiateViewControllerWithIdentifier:@"virtualDeviceList"]; - UIViewController *rootView; DCPutPresentedViewController(rootView); DPIRKitVirtualDeviceViewController *view = (DPIRKitVirtualDeviceViewController*) top.viewControllers[0]; @@ -381,6 +380,7 @@ - (void)didSelectService:(DConnectService *)service { if (irkit) { [view setDetailItem:irkit]; + [view setProvider:super.serviceProvider]; [rootView presentViewController:top animated:YES completion:nil]; } else { NSString *title = nil; @@ -441,6 +441,7 @@ - (UIViewController *)settingViewController { bundle:bundle]; } UINavigationController *top = [storyBoard instantiateViewControllerWithIdentifier:@"setting"]; + return top; } diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h index 4b983157..78999fad 100644 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h @@ -11,5 +11,6 @@ @interface DPIRKitVirtualDeviceViewController : UIViewController +@property (strong, nonatomic) id provider; @property (strong, nonatomic) id detailItem; @end diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m index ec4bf293..db371d32 100644 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m @@ -6,6 +6,7 @@ // Released under the MIT license // http://opensource.org/licenses/mit-license.php // +#import #import "DPIRKitVirtualDeviceViewController.h" #import "DPIRKitManager.h" #import "DPIRKitConst.h" @@ -13,7 +14,9 @@ #import "DPIRKitDBManager.h" #import "DPIRKitVirtualProfileViewController.h" + @interface DPIRKitVirtualDeviceViewController () { + DConnectServiceProvider *_serviceProvider; NSBundle *bundle; NSMutableDictionary *_virtuals; DPIRKitDevice *_virtual; @@ -157,7 +160,10 @@ - (void)setDetailItem:(id)newDetailItem _virtual = newDetailItem; } - +- (void)setProvider:(id)provider +{ + _serviceProvider = provider; +} - (void)mergeChanges:(NSNotification*)notification { @@ -243,6 +249,8 @@ - (void)executeDeleteVirtualDevice { BOOL isDelete = NO; for (NSIndexPath *c in cells) { DPIRKitVirtualDevice *device = _devices[c.row]; + DConnectService *service = [_serviceProvider service:device.serviceId]; + [_serviceProvider removeService:service]; BOOL isDeleteVirtualDevice = [mgr deleteVirtualDevice:device.serviceId]; BOOL isDeleteVirtualProfile = [mgr deleteRESTfulRequestForServiceId:device.serviceId]; if (isDeleteVirtualDevice || isDeleteVirtualProfile) { From 89a76fc408b86cf272347eaf0fef11ad144fb31d Mon Sep 17 00:00:00 2001 From: TakayukiHoshi1984 Date: Wed, 29 Mar 2017 15:58:08 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=E3=82=AA=E3=83=95=E3=83=A9=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E6=99=82=E3=81=AB=E4=BB=AE=E6=83=B3=E3=83=87=E3=83=90?= =?UTF-8?q?=E3=82=A4=E3=82=B9=E3=82=92=E5=89=8A=E9=99=A4=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使っていないソースコードの削除。 --- .../project.pbxproj | 6 - .../Classes/DPIRKitDevicePlugin.m | 21 +- .../DPIRKitTutorialTopViewController.h | 15 - .../DPIRKitTutorialTopViewController.m | 122 --------- .../DPIRKitVirtualDeviceViewController.h | 2 +- .../DPIRKitVirtualDeviceViewController.m | 8 +- .../Base.lproj/Storyboard_iPad.storyboard | 182 +++++-------- .../Base.lproj/Storyboard_iPhone.storyboard | 256 ++++++------------ 8 files changed, 163 insertions(+), 449 deletions(-) delete mode 100644 dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.h delete mode 100644 dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.m diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit.xcodeproj/project.pbxproj b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit.xcodeproj/project.pbxproj index 37e2290f..ceb3c5c1 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit.xcodeproj/project.pbxproj +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit.xcodeproj/project.pbxproj @@ -87,7 +87,6 @@ AB4B690B19B46FC9009939C9 /* irkit08.png in Resources */ = {isa = PBXBuildFile; fileRef = AB4B68FB19B4671D009939C9 /* irkit08.png */; }; AB506F7419B05CA9004D6C41 /* DConnectSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB506F7319B05CA9004D6C41 /* DConnectSDK.framework */; }; AB5555BA1E56B33B0086E5D5 /* DPIRKitPowerProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = AB5555B91E56B33B0086E5D5 /* DPIRKitPowerProfile.m */; }; - AB6A83581B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AB6A83571B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m */; }; AB6A835A1B65E07A00E4F32F /* irkit10.png in Resources */ = {isa = PBXBuildFile; fileRef = AB6A83591B65E07A00E4F32F /* irkit10.png */; }; AB6A835B1B65FE7A00E4F32F /* irkit10.png in Resources */ = {isa = PBXBuildFile; fileRef = AB6A83591B65E07A00E4F32F /* irkit10.png */; }; AB6A835E1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AB6A835D1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m */; }; @@ -211,8 +210,6 @@ AB506F7319B05CA9004D6C41 /* DConnectSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DConnectSDK.framework; path = ../../dConnectSDK/dConnectSDKForIOS/DConnectSDK/DConnectSDK.framework; sourceTree = ""; }; AB5555B81E56B33B0086E5D5 /* DPIRKitPowerProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DPIRKitPowerProfile.h; sourceTree = ""; }; AB5555B91E56B33B0086E5D5 /* DPIRKitPowerProfile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DPIRKitPowerProfile.m; sourceTree = ""; }; - AB6A83561B65CA7200E4F32F /* DPIRKitTutorialTopViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DPIRKitTutorialTopViewController.h; sourceTree = ""; }; - AB6A83571B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DPIRKitTutorialTopViewController.m; sourceTree = ""; }; AB6A83591B65E07A00E4F32F /* irkit10.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = irkit10.png; sourceTree = ""; }; AB6A835C1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DPIRKitVirtualDeviceViewController.h; sourceTree = ""; }; AB6A835D1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DPIRKitVirtualDeviceViewController.m; sourceTree = ""; }; @@ -314,8 +311,6 @@ 30A1EBDE19A8D16600E6CCE9 /* DPIRKitWiFiFormViewController.m */, 3007FBFD19CD4735005F42CD /* DPIRKitWiFiSelectionGuideViewController.h */, 3007FBFE19CD4735005F42CD /* DPIRKitWiFiSelectionGuideViewController.m */, - AB6A83561B65CA7200E4F32F /* DPIRKitTutorialTopViewController.h */, - AB6A83571B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m */, AB6A835C1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.h */, AB6A835D1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m */, AB056F961B68DDF300E1482F /* DPIRKitVirtualProfileViewController.h */, @@ -710,7 +705,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - AB6A83581B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m in Sources */, ABC2DB1B1B689BBE0034C08F /* DPIRKitRESTfulRequest.m in Sources */, 3007FBFC19CD43F4005F42CD /* DPIRKitReachability.m in Sources */, 3039F98119A5F40500319429 /* DPIRKitPageViewController.m in Sources */, diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m index eb7c7388..4ff81278 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m @@ -378,30 +378,13 @@ - (void)didSelectService:(DConnectService *)service { DPIRKitVirtualDeviceViewController *view = (DPIRKitVirtualDeviceViewController*) top.viewControllers[0]; DPIRKitDevice *irkit = _devices[service.serviceId]; - if (irkit) { - [view setDetailItem:irkit]; + if (service.serviceId) { + [view setDetailName:service.serviceId]; [view setProvider:super.serviceProvider]; [rootView presentViewController:top animated:YES completion:nil]; } else { NSString *title = nil; NSString *message = nil; - DConnectService *service_ = [self.serviceProvider service:service.serviceId]; - if (service_) { - if ([service_ isMemberOfClass: [DPIRKitService class]] ) { - if (!service_.online) { - title = @"オフライン"; - message = @"このデバイスはオフラインです"; - } - } else if ([service_ isMemberOfClass: [DPIRKitVirtualService class]] ) { - if (!service_.online) { - title = @"仮想デバイス"; - message = @"このデバイスは仮想デバイスです"; - } - } - } else { - title = @"認識されていないデバイス"; - message = @"このデバイスは認識されていません"; - } if (!title) { title = @"不明なデバイス"; message = @"このデバイスは不明です"; diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.h b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.h deleted file mode 100644 index 3a758503..00000000 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// DPIRKitTutorialTopViewController.h -// dConnectDeviceIRKit -// -// Copyright (c) 2014 NTT DOCOMO, INC. -// Released under the MIT license -// http://opensource.org/licenses/mit-license.php -// -#import -#import "DPIRkitManager.h" - -@class DPIRKitDevice; -@interface DPIRKitTutorialTopViewController : UIViewController - -@end diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.m deleted file mode 100644 index 6bdacef6..00000000 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitTutorialTopViewController.m +++ /dev/null @@ -1,122 +0,0 @@ -// -// DPIRKitTutorialTopViewController.m -// dConnectDeviceIRKit -// -// Copyright (c) 2014 NTT DOCOMO, INC. -// Released under the MIT license -// http://opensource.org/licenses/mit-license.php -// - -#import "DPIRKitTutorialTopViewController.h" -#import "DPIRKitVirtualDeviceViewController.h" -#import "DPIRKitDevice.h" -#import "DPIRKitDevicePlugin.h" -#import "DPIRKitManager.h" -#import "DPIRKitConst.h" - -@interface DPIRKitTutorialTopViewController () { - NSBundle *bundle; - NSMutableDictionary *_devices; - NSUInteger _selectedDevice; -} -@property (weak, nonatomic) IBOutlet UITableView *foundIRKitList; -@property (weak, nonatomic) IBOutlet UIView *progressView; -@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *indicatorView; -@property (weak, nonatomic) IBOutlet UIToolbar *toolBar; - -@end - -@implementation DPIRKitTutorialTopViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - bundle = DPIRBundle(); - // 背景白 - self.view.backgroundColor = [UIColor whiteColor]; - // 閉じるボタン追加 - self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] - initWithTitle:@"<CLOSE" - style:UIBarButtonItemStylePlain - target:self - action:@selector(closeSettings:) ]; - self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor]; - UILabel *title = [[UILabel alloc] initWithFrame:CGRectZero]; - title.font = [UIFont boldSystemFontOfSize:16.0]; - title.textColor = [UIColor whiteColor]; - title.text = @"IRKit一覧"; - [title sizeToFit]; - self.navigationItem.titleView = title; - self.toolBar.backgroundColor = [UIColor - colorWithRed:0.00 - green:0.63 - blue:0.91 - alpha:1.0]; - // バー背景色 - self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0.00 - green:0.63 - blue:0.91 - alpha:1.0]; - - _foundIRKitList.delegate = self; - _foundIRKitList.dataSource = self; - [_foundIRKitList registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cellIRKit"]; - [_foundIRKitList reloadData]; - if ([_foundIRKitList respondsToSelector:@selector(setSeparatorInset:)]) { - [_foundIRKitList setSeparatorInset:UIEdgeInsetsZero]; - } -} - -- (IBAction)closeSettings:(id)sender { - [self dismissViewControllerAnimated:YES completion:nil]; -} - - -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - if ([[segue identifier] isEqualToString:@"showDetail"]) { - NSIndexPath *indexPath = [_foundIRKitList indexPathForSelectedRow]; - DPIRKitVirtualDeviceViewController *controller = - (DPIRKitVirtualDeviceViewController *)[segue destinationViewController] ; - NSArray *devices = [[DPIRKitManager sharedInstance] devicesAll]; - [controller setDetailItem:devices[indexPath.row]]; - } -} - -- (IBAction)searchIRKit:(id)sender { - [[DPIRKitManager sharedInstance] startDetection]; - [_foundIRKitList reloadData]; -} - -#pragma mark - table delegate - -- (NSInteger)tableView:(UITableView *)tableView - numberOfRowsInSection:(NSInteger)section -{ - return [[DPIRKitManager sharedInstance] devicesAll].count; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - [self performSegueWithIdentifier:@"showDetail" sender:self]; -} - -// セルの生成と設定 -- (UITableViewCell *)tableView:(UITableView *)tableView - cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - static NSString *CellIdentifier = @"cellIRKit"; - UITableViewCell *cell = - [tableView dequeueReusableCellWithIdentifier:CellIdentifier - forIndexPath:indexPath]; - cell.exclusiveTouch = YES; - cell.accessoryView.exclusiveTouch = YES; - NSString * path = [bundle pathForResource:@"irkit10" ofType:@"png"]; - cell.imageView.image = [UIImage imageWithContentsOfFile:path]; - NSArray *devices = [[DPIRKitManager sharedInstance] devicesAll]; - DPIRKitDevice *device = devices[indexPath.row]; - cell.textLabel.text = device.name; - return cell; -} - - - -@end diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h index 78999fad..17861923 100644 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.h @@ -12,5 +12,5 @@ @interface DPIRKitVirtualDeviceViewController : UIViewController @property (strong, nonatomic) id provider; -@property (strong, nonatomic) id detailItem; +@property (strong, nonatomic) id detailName; @end diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m index db371d32..bf50f276 100644 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m @@ -19,7 +19,7 @@ @interface DPIRKitVirtualDeviceViewController () { DConnectServiceProvider *_serviceProvider; NSBundle *bundle; NSMutableDictionary *_virtuals; - DPIRKitDevice *_virtual; + NSString *_irkitName; NSArray *_devices; BOOL _isRemoved; } @@ -155,9 +155,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView } -- (void)setDetailItem:(id)newDetailItem +- (void)setDetailName:(id)detailName { - _virtual = newDetailItem; + _irkitName = detailName; } - (void)setProvider:(id)provider @@ -180,7 +180,7 @@ - (IBAction)addVirtualDevice:(id)sender { selector:@selector(mergeChanges:) name:DPIRKitVirtualDeviceCreateNotification object:nil]; - [DPIRKitCategorySelectDialog showWithServiceId:_virtual.name]; + [DPIRKitCategorySelectDialog showWithServiceId:_irkitName]; } else { //削除モード時はキャンセルボタンになる [self switchButton]; diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPad.storyboard b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPad.storyboard index 84d5baa5..881bd610 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPad.storyboard +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPad.storyboard @@ -1,9 +1,13 @@ - - + + + + + - + + @@ -11,6 +15,7 @@ + @@ -35,10 +40,12 @@ - + + + @@ -56,7 +63,7 @@ - + @@ -88,10 +95,10 @@ - + - + @@ -101,7 +108,7 @@ - + @@ -131,12 +138,12 @@ - + - + @@ -673,7 +639,7 @@ Cgo - + @@ -688,7 +654,7 @@ Cgo - + @@ -751,7 +717,7 @@ Cgo - + @@ -766,7 +732,7 @@ Cgo - + @@ -800,9 +766,6 @@ Cgo - - - @@ -816,7 +779,7 @@ Cgo - + @@ -833,4 +796,9 @@ Cgo + + + + + diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPhone.storyboard b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPhone.storyboard index 46f58ab5..3fdd9994 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPhone.storyboard +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Resources/Base.lproj/Storyboard_iPhone.storyboard @@ -1,9 +1,13 @@ - - + + + + + - + + @@ -15,13 +19,13 @@ - + - + - + @@ -44,7 +48,7 @@ - + - + - + - + @@ -93,7 +97,7 @@ - + @@ -131,11 +135,11 @@ - + - + @@ -151,42 +155,42 @@ - + @@ -246,7 +250,7 @@ - + - + - + - + @@ -323,13 +327,13 @@ - + - + @@ -344,7 +348,7 @@ - + @@ -383,7 +387,7 @@ - + - + - + + @@ -422,6 +427,7 @@ + @@ -431,17 +437,20 @@ + @@ -449,7 +458,7 @@ - + @@ -466,7 +475,7 @@ - + @@ -494,111 +503,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -608,16 +512,16 @@ - + - - + + - + @@ -636,11 +540,11 @@ - - + + - + @@ -657,12 +561,12 @@ - + - + @@ -690,15 +594,15 @@ - + - - + + - + @@ -708,7 +612,7 @@ - + @@ -733,13 +637,13 @@ - + - + @@ -815,7 +719,7 @@ - + @@ -861,9 +765,6 @@ - - - @@ -877,8 +778,8 @@ - - + + @@ -895,4 +796,9 @@ + + + + + From 7e87c37182e513b66c8f5a2ff7f51c350b57c245 Mon Sep 17 00:00:00 2001 From: TakayukiHoshi1984 Date: Wed, 29 Mar 2017 17:44:37 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BB=AE=E6=83=B3=E3=83=87=E3=83=90?= =?UTF-8?q?=E3=82=A4=E3=82=B9=E3=82=92=E5=89=8A=E9=99=A4=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Classes/DPIRKitDevicePlugin.m | 53 +++++-------------- 1 file changed, 14 insertions(+), 39 deletions(-) diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m index 4ff81278..e6e5b047 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m @@ -340,21 +340,6 @@ - (UIViewController *) profile:(DConnectSystemProfile *)sender DConnectServiceListViewController *serviceListViewController = (DConnectServiceListViewController *) top.viewControllers[0]; serviceListViewController.delegate = self; return top; - /* - NSBundle *bundle = DPIRBundle(); - - // iphoneとipadでストーリーボードを切り替える - UIStoryboard *storyBoard; - if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { - storyBoard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"%@iPhone", DPIRKitStoryBoardName] - bundle:bundle]; - } else{ - storyBoard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"%@iPad", DPIRKitStoryBoardName] - bundle:bundle]; - } - UINavigationController *viewController = [storyBoard instantiateInitialViewController]; - return viewController; - */ } - (void)didSelectService:(DConnectService *)service { @@ -376,22 +361,25 @@ - (void)didSelectService:(DConnectService *)service { UIViewController *rootView; DCPutPresentedViewController(rootView); DPIRKitVirtualDeviceViewController *view = (DPIRKitVirtualDeviceViewController*) top.viewControllers[0]; - DPIRKitDevice *irkit = _devices[service.serviceId]; - if (service.serviceId) { + // IRKitのServiceIdに.がある場合は仮想デバイスとみなす + NSRange range = [service.serviceId rangeOfString:@"."]; + if (range.location != NSNotFound) { + UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"仮想デバイス" + message:@"このデバイスは仮想デバイスのため、さらに仮想デバイスを作ることはできません。" + preferredStyle:UIAlertControllerStyleAlert]; + [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]]; + [rootView presentViewController:alertController animated:YES completion:nil]; + return; + } + + [view setDetailName:service.serviceId]; [view setProvider:super.serviceProvider]; [rootView presentViewController:top animated:YES completion:nil]; } else { - NSString *title = nil; - NSString *message = nil; - if (!title) { - title = @"不明なデバイス"; - message = @"このデバイスは不明です"; - } - - UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title - message:message + UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"不明なデバイス" + message:@"このデバイスは不明です" preferredStyle:UIAlertControllerStyleAlert]; [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]]; [rootView presentViewController:alertController animated:YES completion:nil]; @@ -428,19 +416,6 @@ - (UIViewController *)settingViewController { return top; } -- (NSArray *) displayServiceFilter:(NSArray *)services { - - NSMutableArray *filterServices = [NSMutableArray array]; - - // 仮想デバイスを表示しないので、それを除いたservicesを作成して返す - for (DConnectService *service in services) { - if (![service isMemberOfClass: [DPIRKitVirtualService class]]) { - [filterServices addObject: service]; - } - } - return filterServices; -} - #pragma mark DConnectInformationProfileDataSource - (DConnectServiceInformationProfileConnectState) profile:(DConnectServiceInformationProfile *)profile From 5af0e0a170570979f7e8c543e77b4b4417dfa9d6 Mon Sep 17 00:00:00 2001 From: TakayukiHoshi1984 Date: Thu, 30 Mar 2017 10:57:50 +0900 Subject: [PATCH 4/5] =?UTF-8?q?=E3=82=BD=E3=83=BC=E3=82=B9=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=AE=E3=83=AA=E3=83=95=E3=82=A1=E3=82=AF?= =?UTF-8?q?=E3=82=BF=E3=83=AA=E3=83=B3=E3=82=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m index e6e5b047..091839c0 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m @@ -137,7 +137,7 @@ - (void) dealloc { - (DPIRKitDevice *) deviceForServiceId:(NSString *)serviceId { @synchronized (_devices) { - return [_devices objectForKey:serviceId]; + return _devices[serviceId]; } } @@ -425,7 +425,7 @@ - (DConnectServiceInformationProfileConnectState) profile:(DConnectServiceInform DConnectServiceInformationProfileConnectState state = DConnectServiceInformationProfileConnectStateOff; @synchronized (_devices) { if (_devices.count > 0) { - DPIRKitDevice *device = [_devices objectForKey:serviceId]; + DPIRKitDevice *device = _devices[serviceId]; if (device) { state = DConnectServiceInformationProfileConnectStateOn; } From cdefb0d1d6b443b0fe53eed9c45e9add4fa9e51d Mon Sep 17 00:00:00 2001 From: TakayukiHoshi1984 Date: Thu, 30 Mar 2017 15:06:03 +0900 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BB=AE=E6=83=B3=E3=83=87=E3=83=90?= =?UTF-8?q?=E3=82=A4=E3=82=B9=E5=89=8A=E9=99=A4=E6=99=82=E3=81=AB=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E3=81=97=E3=81=A6=E3=81=84=E3=82=8BDB=E3=81=8B?= =?UTF-8?q?=E3=82=89=E3=82=82=E6=83=85=E5=A0=B1=E3=82=92=E5=89=8A=E9=99=A4?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Classes/DPIRKitDevicePlugin.m | 33 ++++++++++++++----- .../DPIRKitVirtualDeviceViewController.m | 6 ++-- .../DConnectServiceListViewController.m | 3 ++ .../DConnectSDK/DConnectSystemProfile.h | 2 ++ 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m index 091839c0..93d1d0ac 100755 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/DPIRKitDevicePlugin.m @@ -248,22 +248,22 @@ - (void) sendDeviceDetectionEventWithDevice:(DPIRKitDevice *)device online:(BOOL if (virtuals.count > 0) { for (DPIRKitVirtualDevice *virtual in virtuals) { NSRange range = [virtual.serviceId rangeOfString:device.name]; - if (range.location != NSNotFound - && [self existIRForServiceId:virtual.serviceId]) { - if (online) { + if (range.location != NSNotFound) { + + if ([self existIRForServiceId:virtual.serviceId]) { // オンライン遷移の場合、デバイスが未登録なら登録し、登録済ならフラグをオンラインにする NSString *serviceId = virtual.serviceId; if ([self.serviceProvider service: serviceId]) { DConnectService *service = [self.serviceProvider service: serviceId]; - [service setOnline: YES]; + [service setOnline: online]; } else { - NSString *profileName = virtual.categoryName; DPIRKitVirtualService *service = [[DPIRKitVirtualService alloc] initWithServiceId: serviceId name:virtual.deviceName plugin:self - profileName:profileName]; + profileName:virtual.categoryName]; + [service setOnline: online]; [self.serviceProvider addService: service bundle: DPIRBundle()]; - [service setOnline: YES]; + } } else { // オフライン遷移の場合、デバイスが登録済ならフラグをオフラインにする @@ -271,6 +271,14 @@ - (void) sendDeviceDetectionEventWithDevice:(DPIRKitDevice *)device online:(BOOL DConnectService *service = [self.serviceProvider service: serviceId]; if (service) { [service setOnline: NO]; + [self.serviceProvider addService: service bundle: DPIRBundle()]; + } else { + service = [[DPIRKitVirtualService alloc] initWithServiceId: serviceId + name:virtual.deviceName + plugin:self + profileName:virtual.categoryName]; + [service setOnline: NO]; + [self.serviceProvider addService: service bundle: DPIRBundle()]; } } @@ -341,8 +349,15 @@ - (UIViewController *) profile:(DConnectSystemProfile *)sender serviceListViewController.delegate = self; return top; } - -- (void)didSelectService:(DConnectService *)service { +- (void)didRemoveService:(DConnectService *)service +{ + //サービス一覧画面で仮想デバイスが削除されたら、DBからも仮想デバイスを削除する。 + DPIRKitDBManager *mgr = [DPIRKitDBManager sharedInstance]; + [mgr deleteVirtualDevice:service.serviceId]; + [mgr deleteRESTfulRequestForServiceId:service.serviceId]; +} +- (void)didSelectService:(DConnectService *)service +{ // サービスが選択されたら、仮想デバイス一覧画面を表示する diff --git a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m index bf50f276..e3706136 100644 --- a/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m +++ b/dConnectDevicePlugin/dConnectDeviceIRKit/dConnectDeviceIRKit/Classes/setting/viewcontroller/DPIRKitVirtualDeviceViewController.m @@ -165,7 +165,8 @@ - (void)setProvider:(id)provider _serviceProvider = provider; } -- (void)mergeChanges:(NSNotification*)notification +// 仮想デバイスのリストを更新する +- (void)updateChanges:(NSNotification*)notification { _devices = [[DPIRKitDBManager sharedInstance] queryVirtualDevice:nil]; [_virtualDeviceList reloadData]; @@ -174,10 +175,11 @@ - (void)mergeChanges:(NSNotification*)notification - (IBAction)addVirtualDevice:(id)sender { if (!_isRemoved) { + // ダイアログでの操作を受け取るNotification NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; [nc addObserver:self - selector:@selector(mergeChanges:) + selector:@selector(updateChanges:) name:DPIRKitVirtualDeviceCreateNotification object:nil]; [DPIRKitCategorySelectDialog showWithServiceId:_irkitName]; diff --git a/dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/viewcontroller/DConnectServiceListViewController.m b/dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/viewcontroller/DConnectServiceListViewController.m index a4a11fe8..e36942fe 100644 --- a/dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/viewcontroller/DConnectServiceListViewController.m +++ b/dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/viewcontroller/DConnectServiceListViewController.m @@ -171,6 +171,9 @@ - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEd [tableView beginUpdates]; [self.delegate.serviceProvider removeService: service]; [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; + if ([self.delegate respondsToSelector:@selector(didRemoveService:)]) { + [self.delegate didRemoveService: service]; + } [tableView endUpdates]; // 削除後にオフラインのサービスが1件以上あればRemoveボタンを有効にする diff --git a/dConnectSDK/dConnectSDKForIOS/DConnectSDK/DConnectSDK/DConnectSystemProfile.h b/dConnectSDK/dConnectSDKForIOS/DConnectSDK/DConnectSDK/DConnectSystemProfile.h index 434a0927..8fc2e287 100755 --- a/dConnectSDK/dConnectSDKForIOS/DConnectSDK/DConnectSDK/DConnectSystemProfile.h +++ b/dConnectSDK/dConnectSDKForIOS/DConnectSDK/DConnectSDK/DConnectSystemProfile.h @@ -88,6 +88,8 @@ extern NSString *const DConnectSystemProfileParamVersion; @optional +- (void) didRemoveService: (DConnectService *) service; + - (void) didSelectService: (DConnectService *) service; - (void) serviceListViewControllerDidWillAppear;