Skip to content

Commit 0f87dce

Browse files
Linkingデバイスの再接続処理を修正
1 parent e7f9799 commit 0f87dce

3 files changed

Lines changed: 28 additions & 17 deletions

File tree

dConnectDevicePlugin/dConnectDeviceLinking/dConnectDeviceLinking/Classes/linking/DPLinkingDevice.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ - (id) initWithCoder:(NSCoder *)coder {
4040
DCLogInfo(@" id: %@", self.identifier);
4141
DCLogInfo(@" led: %d", self.ledOffPatternId);
4242
DCLogInfo(@" vibration: %d", self.vibrationOffPatternId);
43+
DCLogInfo(@" connectFlag: %@", self.connectFlag ? @"YES" : @"NO");
4344
}
4445
return self;
4546
}

dConnectDevicePlugin/dConnectDeviceLinking/dConnectDeviceLinking/Classes/linking/DPLinkingDeviceManager.m

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ - (void) disconnectDPLinkingDevice:(DPLinkingDevice *)device {
204204

205205
[[BLEConnecter sharedInstance] disconnectByDeviceUUID:device.peripheral.identifier.UUIDString];
206206
device.connectFlag = NO;
207+
device.peripheral = nil;
207208
[self saveDPLinkingDevice];
208209
}
209210

@@ -800,12 +801,18 @@ - (void) cancelConnectingDevice:(CBPeripheral *)peripheral {
800801
}
801802

802803
- (void) failToConnect:(CBPeripheral *)peripheral {
803-
DCLogInfo(@"AAAAA failToConnect: %@", peripheral);
804+
BLEDeviceSetting *setting = [[BLEConnecter sharedInstance] getDeviceByPeripheral:peripheral];
805+
806+
DCLogInfo(@"@@ failToConnect: [デバイス:%@ との接続に失敗しました。]", setting.name);
807+
DCLogInfo(@" setting.notifyDeviceInitial: %@", setting.notifyDeviceInitial ? @"YES" : @"NO");
808+
DCLogInfo(@" setting.initialDeviceSettingFinished: %@", setting.initialDeviceSettingFinished ? @"YES" : @"NO");
809+
DCLogInfo(@" setting.saved: %@", setting.saved ? @"YES" : @"NO");
810+
DCLogInfo(@" setting.connectionStatus: %@", setting.connectionStatus);
804811

805812
if ([self isEqualDeviceUuid:peripheral]) {
806813
DPLinkingDevice *device = [self findDPLinkingDeviceByPeripheral:peripheral];
807814
if (device) {
808-
device.setting = [[BLEConnecter sharedInstance] getDeviceByPeripheral:peripheral];
815+
device.setting = setting;
809816
device.online = NO;
810817

811818
[self notifyFailToConnectDevice:device];
@@ -821,17 +828,15 @@ - (void) didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSD
821828
if (device) {
822829
device.peripheral = peripheral;
823830

824-
if (_initFlag) {
825-
if (device.connectFlag) {
826-
[self connectDPLinkingDevice:device];
831+
if ([self isEqualDeviceUuid:peripheral]) {
832+
if (_scanTimerCancelBlock) {
833+
_scanTimerCancelBlock();
834+
_scanTimerCancelBlock = nil;
827835
}
828-
} else {
829-
if ([self isEqualDeviceUuid:peripheral]) {
830-
if (_scanTimerCancelBlock) {
831-
_scanTimerCancelBlock();
832-
_scanTimerCancelBlock = nil;
833-
}
834-
[self stopScan];
836+
[self stopScan];
837+
[self connectDPLinkingDevice:device];
838+
} else if (_initFlag) {
839+
if (device.connectFlag) {
835840
[self connectDPLinkingDevice:device];
836841
}
837842
}
@@ -850,7 +855,12 @@ - (void) didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)
850855
}
851856

852857
- (void)didConnectDevice:(BLEDeviceSetting *)setting {
853-
DCLogInfo(@"@@ didConnectDevice [デバイス:%@ と接続されました。]: %@", setting.name, setting.initialDeviceSettingFinished ? @"true" : @"false");
858+
DCLogInfo(@"@@ didConnectDevice: [デバイス:%@ と接続されました。]", setting.name);
859+
DCLogInfo(@" setting.notifyDeviceInitial: %@", setting.notifyDeviceInitial ? @"YES" : @"NO");
860+
DCLogInfo(@" setting.initialDeviceSettingFinished: %@", setting.initialDeviceSettingFinished ? @"YES" : @"NO");
861+
DCLogInfo(@" setting.saved: %@", setting.saved ? @"YES" : @"NO");
862+
DCLogInfo(@" setting.connectionStatus: %@", setting.connectionStatus);
863+
854864
setting.isInDistanceThreshold = YES;
855865
}
856866

@@ -859,7 +869,7 @@ - (void)didDeviceInitialFinished:(CBPeripheral *)peripheral {
859869

860870
BLEDeviceSetting *setting = [[BLEConnecter sharedInstance] getDeviceByPeripheral:peripheral];
861871

862-
DCLogInfo(@"デバイスを発見しました。");
872+
DCLogInfo(@"デバイスの初期化が完了しました");
863873
DCLogInfo(@" name : %@", setting.peripheral.name);
864874
DCLogInfo(@" device id : %d", setting.deviceId);
865875
DCLogInfo(@" device uid : %d", setting.deviceUid);
@@ -887,7 +897,7 @@ - (void)didDeviceInitialFinished:(CBPeripheral *)peripheral {
887897
}
888898

889899
- (void)didDisconnectPeripheral:(CBPeripheral *)peripheral {
890-
DCLogInfo(@"@@ didDisconnectPeripheral");
900+
DCLogInfo(@"@@ didDisconnectPeripheral: %@", peripheral);
891901

892902
DPLinkingDevice *device = [self findDPLinkingDeviceByPeripheral:peripheral];
893903
if (device) {
@@ -896,7 +906,7 @@ - (void)didDisconnectPeripheral:(CBPeripheral *)peripheral {
896906
}
897907

898908
- (void) didDisconnectDevice:(BLEDeviceSetting *)setting {
899-
DCLogInfo(@"@@ didDisconnectDevice");
909+
DCLogInfo(@"@@ didDisconnectDevice: %@", setting.peripheral);
900910

901911
DPLinkingDevice *device = [self findDPLinkingDeviceByPeripheral:setting.peripheral];
902912
if (device) {

dConnectDevicePlugin/dConnectDeviceLinking/dConnectDeviceLinking/Classes/ui/DPLinkingSearchViewController.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ - (void) startScan {
7070
}
7171

7272
- (void) paringPeripheral:(CBPeripheral *)peripheral {
73-
DCLogInfo(@"paringPeripheral");
73+
DCLogInfo(@"paringPeripheral: %@", peripheral);
7474

7575
_disconnectCount = 0;
7676

0 commit comments

Comments
 (0)