diff --git a/lamp_kotlin/src/main/java/digital/lamp/lamp_kotlin/sensor_core/WiFi.kt b/lamp_kotlin/src/main/java/digital/lamp/lamp_kotlin/sensor_core/WiFi.kt index 6d637f7..71c0ea9 100644 --- a/lamp_kotlin/src/main/java/digital/lamp/lamp_kotlin/sensor_core/WiFi.kt +++ b/lamp_kotlin/src/main/java/digital/lamp/lamp_kotlin/sensor_core/WiFi.kt @@ -78,30 +78,39 @@ class WiFi : Service() { if (frequency != null) { if (frequency!! >= LampConstants.FREQUENCY_WIFI) { - alarmManager?.cancel(wifiScan) - alarmManager?.setRepeating( - AlarmManager.RTC_WAKEUP, - System.currentTimeMillis(), - frequency!! * 1000, - wifiScan - ) + wifiScan?.let { + alarmManager?.cancel(it) + alarmManager?.setRepeating( + AlarmManager.RTC_WAKEUP, + System.currentTimeMillis(), + frequency!! * 1000, + it + ) + } + }else{ - alarmManager?.cancel(wifiScan) + wifiScan?.let { + alarmManager?.cancel(it) + alarmManager?.setRepeating( + AlarmManager.RTC_WAKEUP, + System.currentTimeMillis(), + (LampConstants.FREQUENCY_WIFI * 1000).toLong(), + it + ) + } + + } + } else { + wifiScan?.let { + alarmManager?.cancel(it) alarmManager?.setRepeating( AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), (LampConstants.FREQUENCY_WIFI * 1000).toLong(), - wifiScan + it ) } - } else { - alarmManager?.cancel(wifiScan) - alarmManager?.setRepeating( - AlarmManager.RTC_WAKEUP, - System.currentTimeMillis(), - (LampConstants.FREQUENCY_WIFI * 1000).toLong(), - wifiScan - ) + } @@ -118,31 +127,38 @@ class WiFi : Service() { val startTime = System.currentTimeMillis() if (frequency != null) { if (frequency!! >= LampConstants.FREQUENCY_WIFI) { - bluetoothAlarmManager?.cancel(bluetoothScan) - bluetoothAlarmManager?.setRepeating( - AlarmManager.RTC_WAKEUP, - startTime, - frequency!! * 1000, - bluetoothScan - ) + bluetoothScan?.let { bluetoothScan-> + bluetoothAlarmManager?.cancel(bluetoothScan) + bluetoothAlarmManager?.setRepeating( + AlarmManager.RTC_WAKEUP, + startTime, + frequency!! * 1000, + bluetoothScan + ) + } + }else { - bluetoothAlarmManager?.cancel(bluetoothScan) + bluetoothScan?.let { bluetoothScan-> + bluetoothAlarmManager?.cancel(bluetoothScan) + bluetoothAlarmManager?.setRepeating( + AlarmManager.RTC_WAKEUP, + startTime, + (LampConstants.FREQUENCY_WIFI * 1000).toLong(), + bluetoothScan + ) + } + } + + } else { + bluetoothScan?.let { + bluetoothAlarmManager?.cancel(it) bluetoothAlarmManager?.setRepeating( AlarmManager.RTC_WAKEUP, startTime, (LampConstants.FREQUENCY_WIFI * 1000).toLong(), - bluetoothScan + it ) } - - } else { - bluetoothAlarmManager?.cancel(bluetoothScan) - bluetoothAlarmManager?.setRepeating( - AlarmManager.RTC_WAKEUP, - startTime, - (LampConstants.FREQUENCY_WIFI * 1000).toLong(), - bluetoothScan - ) } @@ -152,8 +168,8 @@ class WiFi : Service() { super.onDestroy() unregisterReceiver(wifiMonitor) unregisterReceiver(bluetoothMonitor) - if (wifiScan != null) alarmManager!!.cancel(wifiScan) - if (bluetoothScan != null) bluetoothAlarmManager!!.cancel(bluetoothScan) + if (wifiScan != null) alarmManager!!.cancel(wifiScan!!) + if (bluetoothScan != null) bluetoothAlarmManager!!.cancel(bluetoothScan!!) if (Lamp.DEBUG) Log.d(TAG, "WiFi service terminated...") }