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 354dc0e4..93d1d0ac 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]; } } @@ -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()]; } } @@ -340,24 +348,16 @@ - (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 { +- (void)didRemoveService:(DConnectService *)service +{ + //サービス一覧画面で仮想デバイスが削除されたら、DBからも仮想デバイスを削除する。 + DPIRKitDBManager *mgr = [DPIRKitDBManager sharedInstance]; + [mgr deleteVirtualDevice:service.serviceId]; + [mgr deleteRESTfulRequestForServiceId:service.serviceId]; +} +- (void)didSelectService:(DConnectService *)service +{ // サービスが選択されたら、仮想デバイス一覧画面を表示する @@ -373,42 +373,28 @@ - (void)didSelectService:(DConnectService *)service { } UINavigationController *top = [storyBoard instantiateViewControllerWithIdentifier:@"virtualDeviceList"]; - UIViewController *rootView; DCPutPresentedViewController(rootView); DPIRKitVirtualDeviceViewController *view = (DPIRKitVirtualDeviceViewController*) top.viewControllers[0]; - DPIRKitDevice *irkit = _devices[service.serviceId]; - - if (irkit) { - [view setDetailItem:irkit]; - [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 = @"このデバイスは不明です"; + 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; } - UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title - message:message + + [view setDetailName:service.serviceId]; + [view setProvider:super.serviceProvider]; + [rootView presentViewController:top animated:YES completion:nil]; + } else { + UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"不明なデバイス" + message:@"このデバイスは不明です" preferredStyle:UIAlertControllerStyleAlert]; [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]]; [rootView presentViewController:alertController animated:YES completion:nil]; @@ -441,20 +427,8 @@ - (UIViewController *)settingViewController { bundle:bundle]; } UINavigationController *top = [storyBoard instantiateViewControllerWithIdentifier:@"setting"]; - 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; + return top; } #pragma mark DConnectInformationProfileDataSource @@ -466,7 +440,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; } 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 4b983157..17861923 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 detailItem; +@property (strong, nonatomic) id provider; +@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 ec4bf293..e3706136 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,10 +14,12 @@ #import "DPIRKitDBManager.h" #import "DPIRKitVirtualProfileViewController.h" + @interface DPIRKitVirtualDeviceViewController () { + DConnectServiceProvider *_serviceProvider; NSBundle *bundle; NSMutableDictionary *_virtuals; - DPIRKitDevice *_virtual; + NSString *_irkitName; NSArray *_devices; BOOL _isRemoved; } @@ -152,14 +155,18 @@ - (UITableViewCell *)tableView:(UITableView *)tableView } -- (void)setDetailItem:(id)newDetailItem +- (void)setDetailName:(id)detailName { - _virtual = newDetailItem; + _irkitName = detailName; } +- (void)setProvider:(id)provider +{ + _serviceProvider = provider; +} - -- (void)mergeChanges:(NSNotification*)notification +// 仮想デバイスのリストを更新する +- (void)updateChanges:(NSNotification*)notification { _devices = [[DPIRKitDBManager sharedInstance] queryVirtualDevice:nil]; [_virtualDeviceList reloadData]; @@ -168,13 +175,14 @@ - (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:_virtual.name]; + [DPIRKitCategorySelectDialog showWithServiceId:_irkitName]; } else { //削除モード時はキャンセルボタンになる [self switchButton]; @@ -243,6 +251,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) { 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 @@ + + + + + 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;