@@ -70,7 +70,7 @@ class AlarmController(
70
70
onNext = {
71
71
updateAlarmTriggerState(it)
72
72
if (it == TRIGGERED ) {
73
- reportBeamBreakIncident( )
73
+ reportAlarmIncident( AlarmTriggerReason . BEAM_BREAK_DETECTOR )
74
74
}
75
75
}
76
76
)
@@ -83,15 +83,24 @@ class AlarmController(
83
83
.registerForChanges()
84
84
.applyIoSchedulers()
85
85
.subscribeBy(
86
- onNext = { /* logD(it)*/ }
86
+ onNext = {
87
+ updateAlarmTriggerState(it)
88
+ if (it == TRIGGERED ) {
89
+ reportAlarmIncident(AlarmTriggerReason .MOTION_SENSOR )
90
+ }
91
+ }
87
92
)
88
93
}
89
94
}
90
95
91
- private fun updateAlarmTriggerState (alarmTriggerState : AlarmTriggerState )
92
- = backendInteractor.updateAlarmState(alarmTriggerState)
96
+ private fun updateAlarmTriggerState (alarmTriggerState : AlarmTriggerState ) = backendInteractor
97
+ .updateAlarmState(alarmTriggerState)
98
+ .applyIoSchedulers()
99
+ .subscribeBy(
100
+ onSuccess = { logD(" Updating trigger value on server successful" ) }
101
+ )
93
102
94
- private fun reportBeamBreakIncident ( ) {
103
+ private fun reportAlarmIncident ( reason : AlarmTriggerReason ) {
95
104
val reportTimestamp = System .currentTimeMillis()
96
105
97
106
val cameraPhotoObservable = camera.capturePhoto()
@@ -100,7 +109,7 @@ class AlarmController(
100
109
cameraPhotoObservable.subscribeBy(onNext = { logD(" camera photo taken" ) })
101
110
102
111
backendInteractor
103
- .reportSecurityIncident(SecurityIncident (AlarmTriggerReason . BEAM_BREAK_DETECTOR , reportTimestamp))
112
+ .reportSecurityIncident(SecurityIncident (reason , reportTimestamp))
104
113
.flatMapObservable { incidentModel ->
105
114
cameraPhotoObservable
106
115
.flatMapSingle { (photo, photoNumber) ->
0 commit comments