Fix scheduling alarm
This commit is contained in:
parent
73f716ba87
commit
8b41abb388
10 changed files with 44 additions and 35 deletions
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
|
||||||
</manifest>
|
</manifest>
|
|
@ -1,28 +0,0 @@
|
||||||
package info.nightscout.interfaces.utils
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.provider.AlarmClock
|
|
||||||
import info.nightscout.androidaps.annotations.OpenForTesting
|
|
||||||
import javax.inject.Inject
|
|
||||||
import javax.inject.Singleton
|
|
||||||
|
|
||||||
@OpenForTesting
|
|
||||||
@Singleton
|
|
||||||
open class TimerUtil @Inject constructor(
|
|
||||||
private val context: Context
|
|
||||||
) {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Schedule alarm in @seconds
|
|
||||||
*/
|
|
||||||
fun scheduleReminder(seconds: Int, text: String) {
|
|
||||||
Intent(AlarmClock.ACTION_SET_TIMER).apply {
|
|
||||||
flags = flags or Intent.FLAG_ACTIVITY_NEW_TASK
|
|
||||||
putExtra(AlarmClock.EXTRA_LENGTH, seconds)
|
|
||||||
putExtra(AlarmClock.EXTRA_SKIP_UI, true)
|
|
||||||
putExtra(AlarmClock.EXTRA_MESSAGE, text)
|
|
||||||
context.startActivity(this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -53,7 +53,7 @@ import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
import info.nightscout.interfaces.plugin.PluginType
|
import info.nightscout.interfaces.plugin.PluginType
|
||||||
import info.nightscout.interfaces.queue.Callback
|
import info.nightscout.interfaces.queue.Callback
|
||||||
import info.nightscout.interfaces.utils.TimerUtil
|
import info.nightscout.automation.ui.TimerUtil
|
||||||
import info.nightscout.rx.AapsSchedulers
|
import info.nightscout.rx.AapsSchedulers
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.rx.events.EventBTChange
|
import info.nightscout.rx.events.EventBTChange
|
||||||
|
|
|
@ -12,7 +12,7 @@ import info.nightscout.interfaces.Config
|
||||||
import info.nightscout.interfaces.pump.PumpEnactResult
|
import info.nightscout.interfaces.pump.PumpEnactResult
|
||||||
import info.nightscout.interfaces.queue.Callback
|
import info.nightscout.interfaces.queue.Callback
|
||||||
import info.nightscout.interfaces.utils.JsonHelper
|
import info.nightscout.interfaces.utils.JsonHelper
|
||||||
import info.nightscout.interfaces.utils.TimerUtil
|
import info.nightscout.automation.ui.TimerUtil
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.shared.utils.DateUtil
|
import info.nightscout.shared.utils.DateUtil
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package info.nightscout.automation.ui
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import android.provider.AlarmClock
|
||||||
|
import info.nightscout.androidaps.annotations.OpenForTesting
|
||||||
|
import info.nightscout.automation.R
|
||||||
|
import info.nightscout.core.ui.toast.ToastUtils
|
||||||
|
import javax.inject.Inject
|
||||||
|
import javax.inject.Singleton
|
||||||
|
|
||||||
|
@OpenForTesting
|
||||||
|
@Singleton
|
||||||
|
open class TimerUtil @Inject constructor(
|
||||||
|
private val context: Context
|
||||||
|
) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schedule alarm in android
|
||||||
|
*
|
||||||
|
* @param seconds
|
||||||
|
*/
|
||||||
|
fun scheduleReminder(seconds: Int, text: String) {
|
||||||
|
try {
|
||||||
|
Intent(AlarmClock.ACTION_SET_TIMER).apply {
|
||||||
|
flags = flags or Intent.FLAG_ACTIVITY_NEW_TASK
|
||||||
|
putExtra(AlarmClock.EXTRA_LENGTH, seconds)
|
||||||
|
putExtra(AlarmClock.EXTRA_SKIP_UI, true)
|
||||||
|
putExtra(AlarmClock.EXTRA_MESSAGE, text)
|
||||||
|
context.startActivity(this)
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
ToastUtils.errorToast(context, R.string.error_setting_reminder)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,5 +134,6 @@
|
||||||
<!-- Reminders-->
|
<!-- Reminders-->
|
||||||
<string name="time_to_eat">Time to eat!\nRun Bolus wizard and do calculation again.</string>
|
<string name="time_to_eat">Time to eat!\nRun Bolus wizard and do calculation again.</string>
|
||||||
<string name="time_to_bolus">Time to bolus!\nRun Bolus wizard and do calculation again.</string>
|
<string name="time_to_bolus">Time to bolus!\nRun Bolus wizard and do calculation again.</string>
|
||||||
|
<string name="error_setting_reminder">Error while setting future alarm</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -13,7 +13,7 @@ import info.nightscout.interfaces.aps.Loop
|
||||||
import info.nightscout.interfaces.constraints.Constraints
|
import info.nightscout.interfaces.constraints.Constraints
|
||||||
import info.nightscout.interfaces.plugin.ActivePlugin
|
import info.nightscout.interfaces.plugin.ActivePlugin
|
||||||
import info.nightscout.interfaces.profile.ProfileFunction
|
import info.nightscout.interfaces.profile.ProfileFunction
|
||||||
import info.nightscout.interfaces.utils.TimerUtil
|
import info.nightscout.automation.ui.TimerUtil
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
|
|
|
@ -13,7 +13,7 @@ import info.nightscout.interfaces.aps.Loop
|
||||||
import info.nightscout.interfaces.constraints.Constraints
|
import info.nightscout.interfaces.constraints.Constraints
|
||||||
import info.nightscout.interfaces.plugin.ActivePlugin
|
import info.nightscout.interfaces.plugin.ActivePlugin
|
||||||
import info.nightscout.interfaces.profile.ProfileFunction
|
import info.nightscout.interfaces.profile.ProfileFunction
|
||||||
import info.nightscout.interfaces.utils.TimerUtil
|
import info.nightscout.automation.ui.TimerUtil
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.sharedPreferences.SP
|
import info.nightscout.shared.sharedPreferences.SP
|
||||||
|
|
|
@ -9,7 +9,7 @@ import info.nightscout.automation.elements.InputString
|
||||||
import info.nightscout.interfaces.Config
|
import info.nightscout.interfaces.Config
|
||||||
import info.nightscout.interfaces.pump.PumpEnactResult
|
import info.nightscout.interfaces.pump.PumpEnactResult
|
||||||
import info.nightscout.interfaces.queue.Callback
|
import info.nightscout.interfaces.queue.Callback
|
||||||
import info.nightscout.interfaces.utils.TimerUtil
|
import info.nightscout.automation.ui.TimerUtil
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
import info.nightscout.shared.interfaces.ResourceHelper
|
import info.nightscout.shared.interfaces.ResourceHelper
|
||||||
import info.nightscout.shared.utils.DateUtil
|
import info.nightscout.shared.utils.DateUtil
|
||||||
|
|
|
@ -58,7 +58,7 @@ class ProcessedDeviceStatusDataImpl @Inject constructor(
|
||||||
else -> ProcessedDeviceStatusData.Levels.INFO
|
else -> ProcessedDeviceStatusData.Levels.INFO
|
||||||
}
|
}
|
||||||
string.append("<span style=\"color:${level.toColor()}\">")
|
string.append("<span style=\"color:${level.toColor()}\">")
|
||||||
val insulinUnit = rh.gs(info.nightscout.core.ui.R.string.insulin_unit_shortname)
|
// val insulinUnit = rh.gs(info.nightscout.core.ui.R.string.insulin_unit_shortname)
|
||||||
val fields = nsSettingsStatus.pumpExtendedSettingsFields()
|
val fields = nsSettingsStatus.pumpExtendedSettingsFields()
|
||||||
// Removed here. Same value is in StatusLights
|
// Removed here. Same value is in StatusLights
|
||||||
// if (pumpData.reservoirDisplayOverride != "") string.append(pumpData.reservoirDisplayOverride).append("$insulinUnit ")
|
// if (pumpData.reservoirDisplayOverride != "") string.append(pumpData.reservoirDisplayOverride).append("$insulinUnit ")
|
||||||
|
|
Loading…
Reference in a new issue