remove :core:main dependency
This commit is contained in:
parent
146e2a8559
commit
1a135087fc
|
@ -20,24 +20,24 @@ import info.nightscout.androidaps.receivers.BTReceiver
|
||||||
import info.nightscout.androidaps.receivers.ChargingStateReceiver
|
import info.nightscout.androidaps.receivers.ChargingStateReceiver
|
||||||
import info.nightscout.androidaps.receivers.KeepAliveWorker
|
import info.nightscout.androidaps.receivers.KeepAliveWorker
|
||||||
import info.nightscout.androidaps.receivers.TimeDateOrTZChangeReceiver
|
import info.nightscout.androidaps.receivers.TimeDateOrTZChangeReceiver
|
||||||
import info.nightscout.core.services.AlarmSoundServiceHelper
|
|
||||||
import info.nightscout.implementation.lifecycle.ProcessLifecycleListener
|
|
||||||
import info.nightscout.core.ui.locale.LocaleHelper
|
import info.nightscout.core.ui.locale.LocaleHelper
|
||||||
import info.nightscout.implementation.receivers.NetworkChangeReceiver
|
|
||||||
import info.nightscout.interfaces.versionChecker.VersionCheckerUtils
|
|
||||||
import info.nightscout.database.entities.TherapyEvent
|
import info.nightscout.database.entities.TherapyEvent
|
||||||
import info.nightscout.database.entities.UserEntry
|
import info.nightscout.database.entities.UserEntry
|
||||||
import info.nightscout.database.impl.AppRepository
|
import info.nightscout.database.impl.AppRepository
|
||||||
import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction
|
import info.nightscout.database.impl.transactions.InsertIfNewByTimestampTherapyEventTransaction
|
||||||
import info.nightscout.database.impl.transactions.VersionChangeTransaction
|
import info.nightscout.database.impl.transactions.VersionChangeTransaction
|
||||||
import info.nightscout.implementation.db.CompatDBHelper
|
import info.nightscout.implementation.db.CompatDBHelper
|
||||||
|
import info.nightscout.implementation.lifecycle.ProcessLifecycleListener
|
||||||
import info.nightscout.implementation.plugin.PluginStore
|
import info.nightscout.implementation.plugin.PluginStore
|
||||||
|
import info.nightscout.implementation.receivers.NetworkChangeReceiver
|
||||||
import info.nightscout.interfaces.Config
|
import info.nightscout.interfaces.Config
|
||||||
import info.nightscout.interfaces.ConfigBuilder
|
import info.nightscout.interfaces.ConfigBuilder
|
||||||
import info.nightscout.interfaces.LocalAlertUtils
|
import info.nightscout.interfaces.LocalAlertUtils
|
||||||
import info.nightscout.interfaces.logging.UserEntryLogger
|
import info.nightscout.interfaces.logging.UserEntryLogger
|
||||||
import info.nightscout.interfaces.notifications.Notification
|
import info.nightscout.interfaces.notifications.Notification
|
||||||
import info.nightscout.interfaces.plugin.PluginBase
|
import info.nightscout.interfaces.plugin.PluginBase
|
||||||
|
import info.nightscout.interfaces.ui.ActivityNames
|
||||||
|
import info.nightscout.interfaces.versionChecker.VersionCheckerUtils
|
||||||
import info.nightscout.plugins.general.overview.notifications.NotificationStore
|
import info.nightscout.plugins.general.overview.notifications.NotificationStore
|
||||||
import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin
|
import info.nightscout.plugins.general.themes.ThemeSwitcherPlugin
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
|
@ -74,7 +74,7 @@ class MainApp : DaggerApplication() {
|
||||||
@Inject lateinit var dateUtil: DateUtil
|
@Inject lateinit var dateUtil: DateUtil
|
||||||
@Suppress("unused") @Inject lateinit var staticInjector: info.nightscout.plugins.aps.utils.StaticInjector// TODO avoid , here fake only to initialize
|
@Suppress("unused") @Inject lateinit var staticInjector: info.nightscout.plugins.aps.utils.StaticInjector// TODO avoid , here fake only to initialize
|
||||||
@Inject lateinit var uel: UserEntryLogger
|
@Inject lateinit var uel: UserEntryLogger
|
||||||
@Inject lateinit var alarmSoundServiceHelper: AlarmSoundServiceHelper
|
@Inject lateinit var activityNames: ActivityNames
|
||||||
@Inject lateinit var notificationStore: NotificationStore
|
@Inject lateinit var notificationStore: NotificationStore
|
||||||
@Inject lateinit var processLifecycleListener: Provider<ProcessLifecycleListener>
|
@Inject lateinit var processLifecycleListener: Provider<ProcessLifecycleListener>
|
||||||
@Inject lateinit var profileSwitchPlugin: ThemeSwitcherPlugin
|
@Inject lateinit var profileSwitchPlugin: ThemeSwitcherPlugin
|
||||||
|
@ -247,7 +247,7 @@ class MainApp : DaggerApplication() {
|
||||||
override fun onTerminate() {
|
override fun onTerminate() {
|
||||||
aapsLogger.debug(LTag.CORE, "onTerminate")
|
aapsLogger.debug(LTag.CORE, "onTerminate")
|
||||||
unregisterActivityLifecycleCallbacks(activityMonitor)
|
unregisterActivityLifecycleCallbacks(activityMonitor)
|
||||||
alarmSoundServiceHelper.stopService(this, "onTerminate")
|
activityNames.stopAlarm("onTerminate")
|
||||||
super.onTerminate()
|
super.onTerminate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,9 +12,10 @@ import info.nightscout.androidaps.R
|
||||||
import info.nightscout.androidaps.activities.HistoryBrowseActivity
|
import info.nightscout.androidaps.activities.HistoryBrowseActivity
|
||||||
import info.nightscout.androidaps.activities.MyPreferenceFragment
|
import info.nightscout.androidaps.activities.MyPreferenceFragment
|
||||||
import info.nightscout.androidaps.activities.PreferencesActivity
|
import info.nightscout.androidaps.activities.PreferencesActivity
|
||||||
import info.nightscout.core.services.AlarmSoundService
|
|
||||||
import info.nightscout.configuration.activities.SingleFragmentActivity
|
import info.nightscout.configuration.activities.SingleFragmentActivity
|
||||||
import info.nightscout.core.events.EventNewNotification
|
import info.nightscout.core.events.EventNewNotification
|
||||||
|
import info.nightscout.core.services.AlarmSoundService
|
||||||
|
import info.nightscout.core.services.AlarmSoundServiceHelper
|
||||||
import info.nightscout.core.ui.toast.ToastUtils
|
import info.nightscout.core.ui.toast.ToastUtils
|
||||||
import info.nightscout.interfaces.notifications.Notification
|
import info.nightscout.interfaces.notifications.Notification
|
||||||
import info.nightscout.interfaces.nsclient.NSAlarm
|
import info.nightscout.interfaces.nsclient.NSAlarm
|
||||||
|
@ -41,7 +42,9 @@ import info.nightscout.ui.dialogs.WizardDialog
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class ActivityNamesImpl @Inject constructor(
|
class ActivityNamesImpl @Inject constructor(
|
||||||
private val rxBus: RxBus
|
private val rxBus: RxBus,
|
||||||
|
private val injector: HasAndroidInjector,
|
||||||
|
private val alarmSoundServiceHelper: AlarmSoundServiceHelper
|
||||||
) : ActivityNames {
|
) : ActivityNames {
|
||||||
|
|
||||||
override val mainActivity: Class<*> = MainActivity::class.java
|
override val mainActivity: Class<*> = MainActivity::class.java
|
||||||
|
@ -177,9 +180,30 @@ class ActivityNamesImpl @Inject constructor(
|
||||||
rxBus.send(EventNewNotification(NotificationWithAction(injector, nsAlarm)))
|
rxBus.send(EventNewNotification(NotificationWithAction(injector, nsAlarm)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun addNotificationWithAction(id: Int, text: String, level: Int, buttonText: Int, action: Runnable, @RawRes soundId: Int?, date: Long) {
|
||||||
|
rxBus.send(
|
||||||
|
EventNewNotification(
|
||||||
|
NotificationWithAction(injector, id, text, level)
|
||||||
|
.action(buttonText, action)
|
||||||
|
.also {
|
||||||
|
it.date = date
|
||||||
|
it.soundId = soundId
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
override fun showToastAndNotification(ctx: Context?, string: String?, soundID: Int) {
|
override fun showToastAndNotification(ctx: Context?, string: String?, soundID: Int) {
|
||||||
ToastUtils.showToastInUiThread(ctx, string)
|
ToastUtils.showToastInUiThread(ctx, string)
|
||||||
ToastUtils.playSound(ctx, soundID)
|
ToastUtils.playSound(ctx, soundID)
|
||||||
addNotification(Notification.TOAST_ALARM, string!!, Notification.URGENT)
|
addNotification(Notification.TOAST_ALARM, string!!, Notification.URGENT)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun startAlarm(@RawRes sound: Int, reason: String) {
|
||||||
|
alarmSoundServiceHelper.startAlarm(sound, reason)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun stopAlarm(reason: String) {
|
||||||
|
alarmSoundServiceHelper.stopAlarm(reason)
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -5,12 +5,14 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.ServiceConnection
|
import android.content.ServiceConnection
|
||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
|
import androidx.annotation.RawRes
|
||||||
import info.nightscout.interfaces.NotificationHolder
|
import info.nightscout.interfaces.NotificationHolder
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.rx.logging.LTag
|
import info.nightscout.rx.logging.LTag
|
||||||
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
import dagger.Lazy
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This code replaces following
|
This code replaces following
|
||||||
|
@ -25,10 +27,11 @@ import javax.inject.Singleton
|
||||||
@Singleton
|
@Singleton
|
||||||
class AlarmSoundServiceHelper @Inject constructor(
|
class AlarmSoundServiceHelper @Inject constructor(
|
||||||
private val aapsLogger: AAPSLogger,
|
private val aapsLogger: AAPSLogger,
|
||||||
private val notificationHolder: NotificationHolder
|
private val notificationHolder: Lazy<NotificationHolder>,
|
||||||
|
private val context: Context
|
||||||
) {
|
) {
|
||||||
|
|
||||||
fun startAlarm(context: Context, sound: Int, reason: String) {
|
fun startAlarm(@RawRes sound: Int, reason: String) {
|
||||||
aapsLogger.debug(LTag.CORE, "Starting alarm from $reason")
|
aapsLogger.debug(LTag.CORE, "Starting alarm from $reason")
|
||||||
val connection = object : ServiceConnection {
|
val connection = object : ServiceConnection {
|
||||||
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
|
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
|
||||||
|
@ -41,7 +44,7 @@ class AlarmSoundServiceHelper @Inject constructor(
|
||||||
|
|
||||||
// This is the key: Without waiting Android Framework to call this method
|
// This is the key: Without waiting Android Framework to call this method
|
||||||
// inside Service.onCreate(), immediately call here to post the notification.
|
// inside Service.onCreate(), immediately call here to post the notification.
|
||||||
alarmSoundService.startForeground(notificationHolder.notificationID, notificationHolder.notification)
|
alarmSoundService.startForeground(notificationHolder.get().notificationID, notificationHolder.get().notification)
|
||||||
|
|
||||||
// Release the connection to prevent leaks.
|
// Release the connection to prevent leaks.
|
||||||
context.unbindService(this)
|
context.unbindService(this)
|
||||||
|
@ -62,13 +65,13 @@ class AlarmSoundServiceHelper @Inject constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun stopService(context: Context, reason: String) {
|
fun stopAlarm(reason: String) {
|
||||||
aapsLogger.debug(LTag.CORE, "Stopping alarm from $reason")
|
aapsLogger.debug(LTag.CORE, "Stopping alarm from $reason")
|
||||||
val alarm = Intent(context, AlarmSoundService::class.java)
|
val alarm = Intent(context, AlarmSoundService::class.java)
|
||||||
context.stopService(alarm)
|
context.stopService(alarm)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getServiceIntent(context: Context, sound: Int): Intent {
|
private fun getServiceIntent(context: Context, @RawRes sound: Int): Intent {
|
||||||
val alarm = Intent(context, AlarmSoundService::class.java)
|
val alarm = Intent(context, AlarmSoundService::class.java)
|
||||||
alarm.putExtra(AlarmSoundService.SOUND_ID, sound)
|
alarm.putExtra(AlarmSoundService.SOUND_ID, sound)
|
||||||
return alarm
|
return alarm
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
<string name="format_mins">%1$d mins</string>
|
<string name="format_mins">%1$d mins</string>
|
||||||
<string name="objectives">Objectives</string>
|
<string name="objectives">Objectives</string>
|
||||||
<string name="please_wait">Please wait…</string>
|
<string name="please_wait">Please wait…</string>
|
||||||
<string name="mute">Mute</string>
|
|
||||||
<string name="stop">Stop</string>
|
<string name="stop">Stop</string>
|
||||||
<string name="carbs">Carbs</string>
|
<string name="carbs">Carbs</string>
|
||||||
<string name="invalid_profile">Invalid profile!</string>
|
<string name="invalid_profile">Invalid profile!</string>
|
||||||
|
@ -202,7 +201,6 @@
|
||||||
<!-- PumpEnactResult-->
|
<!-- PumpEnactResult-->
|
||||||
<string name="enacted">Enacted</string>
|
<string name="enacted">Enacted</string>
|
||||||
<string name="comment">Comment</string>
|
<string name="comment">Comment</string>
|
||||||
<string name="success">Success</string>
|
|
||||||
<string name="percent">Percent</string>
|
<string name="percent">Percent</string>
|
||||||
<string name="absolute">Absolute</string>
|
<string name="absolute">Absolute</string>
|
||||||
<string name="waitingforpumpresult">Waiting for result</string>
|
<string name="waitingforpumpresult">Waiting for result</string>
|
||||||
|
@ -228,8 +226,6 @@
|
||||||
<!-- Ntp-->
|
<!-- Ntp-->
|
||||||
<string name="timedetection">Time detection</string>
|
<string name="timedetection">Time detection</string>
|
||||||
|
|
||||||
<string name="mute5min">Mute for 5 minutes</string>
|
|
||||||
|
|
||||||
<!-- User Entry -->
|
<!-- User Entry -->
|
||||||
<string name="uel_bolus">BOLUS</string>
|
<string name="uel_bolus">BOLUS</string>
|
||||||
<string name="uel_bolus_calculator">BOLUS CALCULATOR</string>
|
<string name="uel_bolus_calculator">BOLUS CALCULATOR</string>
|
||||||
|
|
|
@ -67,5 +67,9 @@ interface ActivityNames {
|
||||||
fun addNotificationWithSound(id: Int, text: String, level: Int, @RawRes soundId: Int)
|
fun addNotificationWithSound(id: Int, text: String, level: Int, @RawRes soundId: Int)
|
||||||
fun addNotificationValidTo(id: Int, date: Long, text: String, level: Int, validTo: Long)
|
fun addNotificationValidTo(id: Int, date: Long, text: String, level: Int, validTo: Long)
|
||||||
fun addNotificationWithAction(injector: HasAndroidInjector, nsAlarm: NSAlarm)
|
fun addNotificationWithAction(injector: HasAndroidInjector, nsAlarm: NSAlarm)
|
||||||
|
fun addNotificationWithAction(id: Int, text: String, level: Int, buttonText: Int, action: Runnable, @RawRes soundId: Int? = null, date: Long = System.currentTimeMillis())
|
||||||
fun showToastAndNotification(ctx: Context?, string: String?, @RawRes soundID: Int)
|
fun showToastAndNotification(ctx: Context?, string: String?, @RawRes soundID: Int)
|
||||||
|
|
||||||
|
fun startAlarm(@RawRes sound: Int, reason: String)
|
||||||
|
fun stopAlarm(reason: String)
|
||||||
}
|
}
|
|
@ -42,7 +42,9 @@
|
||||||
<string name="pump">Pump</string>
|
<string name="pump">Pump</string>
|
||||||
<string name="missed_bg_readings">Missed BG readings</string>
|
<string name="missed_bg_readings">Missed BG readings</string>
|
||||||
<string name="treatments_iob_label_string">IOB:</string>
|
<string name="treatments_iob_label_string">IOB:</string>
|
||||||
|
<string name="mute5min">Mute for 5 minutes</string>
|
||||||
|
<string name="mute">Mute</string>
|
||||||
|
<string name="success">Success</string>
|
||||||
|
|
||||||
<!-- Protection-->
|
<!-- Protection-->
|
||||||
<string name="unlock_settings">Unlock settings</string>
|
<string name="unlock_settings">Unlock settings</string>
|
||||||
|
|
|
@ -320,7 +320,7 @@ public class InsightAlertService extends DaggerService implements InsightConnect
|
||||||
case ACTIVE:
|
case ACTIVE:
|
||||||
Intent muteIntent = new Intent(this, InsightAlertService.class).putExtra("command", "mute");
|
Intent muteIntent = new Intent(this, InsightAlertService.class).putExtra("command", "mute");
|
||||||
PendingIntent mutePendingIntent = PendingIntent.getService(this, 1, muteIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent mutePendingIntent = PendingIntent.getService(this, 1, muteIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
notificationBuilder.addAction(0, rh.gs(R.string.mute_alert), mutePendingIntent);
|
notificationBuilder.addAction(0, rh.gs(R.string.mute), mutePendingIntent);
|
||||||
case SNOOZED:
|
case SNOOZED:
|
||||||
Intent confirmIntent = new Intent(this, InsightAlertService.class).putExtra("command", "confirm");
|
Intent confirmIntent = new Intent(this, InsightAlertService.class).putExtra("command", "confirm");
|
||||||
PendingIntent confirmPendingIntent = PendingIntent.getService(this, 2, confirmIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent confirmPendingIntent = PendingIntent.getService(this, 2, confirmIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:onClick="muteClicked"
|
android:onClick="muteClicked"
|
||||||
android:text="@string/mute_alert" />
|
android:text="@string/mute" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/confirm"
|
android:id="@+id/confirm"
|
||||||
|
|
|
@ -58,7 +58,6 @@
|
||||||
<string name="short_status_tdd">TDD: %1$.2f</string>
|
<string name="short_status_tdd">TDD: %1$.2f</string>
|
||||||
<string name="short_status_reservoir">Reser.: %1$.2f U</string>
|
<string name="short_status_reservoir">Reser.: %1$.2f U</string>
|
||||||
<string name="short_status_battery">Batt.: %1$d%%</string>
|
<string name="short_status_battery">Batt.: %1$d%%</string>
|
||||||
<string name="mute_alert">Mute</string>
|
|
||||||
<string name="release_software_version">Release software version</string>
|
<string name="release_software_version">Release software version</string>
|
||||||
<string name="ui_processor_software_version">UI processor software version</string>
|
<string name="ui_processor_software_version">UI processor software version</string>
|
||||||
<string name="pc_processor_software_version">PC processor software version</string>
|
<string name="pc_processor_software_version">PC processor software version</string>
|
||||||
|
|
|
@ -12,10 +12,10 @@ import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import info.nightscout.core.services.AlarmSoundServiceHelper
|
|
||||||
import info.nightscout.interfaces.NotificationHolder
|
import info.nightscout.interfaces.NotificationHolder
|
||||||
import info.nightscout.interfaces.notifications.Notification
|
import info.nightscout.interfaces.notifications.Notification
|
||||||
import info.nightscout.interfaces.plugin.ActivePlugin
|
import info.nightscout.interfaces.plugin.ActivePlugin
|
||||||
|
import info.nightscout.interfaces.ui.ActivityNames
|
||||||
import info.nightscout.interfaces.ui.IconsProvider
|
import info.nightscout.interfaces.ui.IconsProvider
|
||||||
import info.nightscout.plugins.R
|
import info.nightscout.plugins.R
|
||||||
import info.nightscout.plugins.databinding.OverviewNotificationItemBinding
|
import info.nightscout.plugins.databinding.OverviewNotificationItemBinding
|
||||||
|
@ -36,7 +36,7 @@ class NotificationStore @Inject constructor(
|
||||||
private val rh: ResourceHelper,
|
private val rh: ResourceHelper,
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val iconsProvider: IconsProvider,
|
private val iconsProvider: IconsProvider,
|
||||||
private val alarmSoundServiceHelper: AlarmSoundServiceHelper,
|
private val activityNames: ActivityNames,
|
||||||
private val dateUtil: DateUtil,
|
private val dateUtil: DateUtil,
|
||||||
private val notificationHolder: NotificationHolder,
|
private val notificationHolder: NotificationHolder,
|
||||||
private val activePlugin: ActivePlugin
|
private val activePlugin: ActivePlugin
|
||||||
|
@ -69,7 +69,7 @@ class NotificationStore @Inject constructor(
|
||||||
store.add(n)
|
store.add(n)
|
||||||
if (sp.getBoolean(R.string.key_raise_notifications_as_android_notifications, true) && n !is NotificationWithAction)
|
if (sp.getBoolean(R.string.key_raise_notifications_as_android_notifications, true) && n !is NotificationWithAction)
|
||||||
raiseSystemNotification(n)
|
raiseSystemNotification(n)
|
||||||
if (n.soundId != null && n.soundId != 0) alarmSoundServiceHelper.startAlarm(context, n.soundId!!, n.text)
|
if (n.soundId != null && n.soundId != 0) activityNames.startAlarm(n.soundId!!, n.text)
|
||||||
Collections.sort(store, NotificationComparator())
|
Collections.sort(store, NotificationComparator())
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ class NotificationStore @Inject constructor(
|
||||||
fun remove(id: Int): Boolean {
|
fun remove(id: Int): Boolean {
|
||||||
for (i in store.indices) {
|
for (i in store.indices) {
|
||||||
if (store[i].id == id) {
|
if (store[i].id == id) {
|
||||||
if (store[i].soundId != null) alarmSoundServiceHelper.stopService(context, "Removed " + store[i].text)
|
if (store[i].soundId != null) activityNames.stopAlarm("Removed " + store[i].text)
|
||||||
aapsLogger.debug(LTag.NOTIFICATION, "Notification removed: " + store[i].text)
|
aapsLogger.debug(LTag.NOTIFICATION, "Notification removed: " + store[i].text)
|
||||||
store.removeAt(i)
|
store.removeAt(i)
|
||||||
return true
|
return true
|
||||||
|
@ -93,7 +93,7 @@ class NotificationStore @Inject constructor(
|
||||||
while (i < store.size) {
|
while (i < store.size) {
|
||||||
val n = store[i]
|
val n = store[i]
|
||||||
if (n.validTo != 0L && n.validTo < System.currentTimeMillis()) {
|
if (n.validTo != 0L && n.validTo < System.currentTimeMillis()) {
|
||||||
if (store[i].soundId != null) alarmSoundServiceHelper.stopService(context, "Expired " + store[i].text)
|
if (store[i].soundId != null) activityNames.stopAlarm("Expired " + store[i].text)
|
||||||
aapsLogger.debug(LTag.NOTIFICATION, "Notification expired: " + store[i].text)
|
aapsLogger.debug(LTag.NOTIFICATION, "Notification expired: " + store[i].text)
|
||||||
store.removeAt(i)
|
store.removeAt(i)
|
||||||
i--
|
i--
|
||||||
|
|
|
@ -70,9 +70,10 @@ class NotificationWithAction constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun action(buttonText: Int, action: Runnable) {
|
fun action(buttonText: Int, action: Runnable): NotificationWithAction {
|
||||||
this.buttonText = buttonText
|
this.buttonText = buttonText
|
||||||
this.action = action
|
this.action = action
|
||||||
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -7,14 +7,12 @@ import info.nightscout.core.extensions.convertedToAbsolute
|
||||||
import info.nightscout.core.extensions.toStringShort
|
import info.nightscout.core.extensions.toStringShort
|
||||||
import info.nightscout.core.extensions.valueToUnits
|
import info.nightscout.core.extensions.valueToUnits
|
||||||
import info.nightscout.core.extensions.valueToUnitsString
|
import info.nightscout.core.extensions.valueToUnitsString
|
||||||
import info.nightscout.core.iob.iobCobCalculator.GlucoseStatusProvider
|
|
||||||
import info.nightscout.core.services.AlarmSoundServiceHelper
|
|
||||||
import info.nightscout.core.graph.data.GlucoseValueDataPoint
|
import info.nightscout.core.graph.data.GlucoseValueDataPoint
|
||||||
import info.nightscout.core.iob.generateCOBString
|
import info.nightscout.core.iob.generateCOBString
|
||||||
|
import info.nightscout.core.iob.iobCobCalculator.GlucoseStatusProvider
|
||||||
import info.nightscout.core.iob.round
|
import info.nightscout.core.iob.round
|
||||||
import info.nightscout.core.ui.toast.ToastUtils
|
import info.nightscout.core.ui.toast.ToastUtils
|
||||||
import info.nightscout.core.utils.fabric.FabricPrivacy
|
import info.nightscout.core.utils.fabric.FabricPrivacy
|
||||||
import info.nightscout.interfaces.receivers.ReceiverStatusStore
|
|
||||||
import info.nightscout.core.wizard.BolusWizard
|
import info.nightscout.core.wizard.BolusWizard
|
||||||
import info.nightscout.core.wizard.QuickWizard
|
import info.nightscout.core.wizard.QuickWizard
|
||||||
import info.nightscout.core.wizard.QuickWizardEntry
|
import info.nightscout.core.wizard.QuickWizardEntry
|
||||||
|
@ -38,6 +36,7 @@ import info.nightscout.interfaces.constraints.Constraint
|
||||||
import info.nightscout.interfaces.constraints.Constraints
|
import info.nightscout.interfaces.constraints.Constraints
|
||||||
import info.nightscout.interfaces.iob.IobCobCalculator
|
import info.nightscout.interfaces.iob.IobCobCalculator
|
||||||
import info.nightscout.interfaces.logging.UserEntryLogger
|
import info.nightscout.interfaces.logging.UserEntryLogger
|
||||||
|
import info.nightscout.interfaces.nsclient.ProcessedDeviceStatusData
|
||||||
import info.nightscout.interfaces.plugin.ActivePlugin
|
import info.nightscout.interfaces.plugin.ActivePlugin
|
||||||
import info.nightscout.interfaces.plugin.PluginBase
|
import info.nightscout.interfaces.plugin.PluginBase
|
||||||
import info.nightscout.interfaces.profile.DefaultValueHelper
|
import info.nightscout.interfaces.profile.DefaultValueHelper
|
||||||
|
@ -46,11 +45,12 @@ import info.nightscout.interfaces.profile.ProfileFunction
|
||||||
import info.nightscout.interfaces.pump.DetailedBolusInfo
|
import info.nightscout.interfaces.pump.DetailedBolusInfo
|
||||||
import info.nightscout.interfaces.queue.Callback
|
import info.nightscout.interfaces.queue.Callback
|
||||||
import info.nightscout.interfaces.queue.CommandQueue
|
import info.nightscout.interfaces.queue.CommandQueue
|
||||||
|
import info.nightscout.interfaces.receivers.ReceiverStatusStore
|
||||||
|
import info.nightscout.interfaces.ui.ActivityNames
|
||||||
import info.nightscout.interfaces.utils.DecimalFormatter
|
import info.nightscout.interfaces.utils.DecimalFormatter
|
||||||
import info.nightscout.interfaces.utils.HardLimits
|
import info.nightscout.interfaces.utils.HardLimits
|
||||||
import info.nightscout.interfaces.utils.TrendCalculator
|
import info.nightscout.interfaces.utils.TrendCalculator
|
||||||
import info.nightscout.plugins.R
|
import info.nightscout.plugins.R
|
||||||
import info.nightscout.interfaces.nsclient.ProcessedDeviceStatusData
|
|
||||||
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.EventMobileToWear
|
import info.nightscout.rx.events.EventMobileToWear
|
||||||
|
@ -101,7 +101,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
private val activePlugin: ActivePlugin,
|
private val activePlugin: ActivePlugin,
|
||||||
private val commandQueue: CommandQueue,
|
private val commandQueue: CommandQueue,
|
||||||
private val fabricPrivacy: FabricPrivacy,
|
private val fabricPrivacy: FabricPrivacy,
|
||||||
private val alarmSoundServiceHelper: AlarmSoundServiceHelper
|
private val activityNames: ActivityNames
|
||||||
) {
|
) {
|
||||||
|
|
||||||
private val disposable = CompositeDisposable()
|
private val disposable = CompositeDisposable()
|
||||||
|
@ -293,7 +293,7 @@ class DataHandlerMobile @Inject constructor(
|
||||||
.observeOn(aapsSchedulers.io)
|
.observeOn(aapsSchedulers.io)
|
||||||
.subscribe({
|
.subscribe({
|
||||||
aapsLogger.debug(LTag.WEAR, "SnoozeAlert received $it from ${it.sourceNodeId}")
|
aapsLogger.debug(LTag.WEAR, "SnoozeAlert received $it from ${it.sourceNodeId}")
|
||||||
alarmSoundServiceHelper.stopService(context, "Muted from wear")
|
activityNames.stopAlarm("Muted from wear")
|
||||||
}, fabricPrivacy::logException)
|
}, fabricPrivacy::logException)
|
||||||
disposable += rxBus
|
disposable += rxBus
|
||||||
.toObservable(EventData.WearException::class.java)
|
.toObservable(EventData.WearException::class.java)
|
||||||
|
|
|
@ -25,11 +25,12 @@ dependencies {
|
||||||
implementation project(':app-wear-shared:shared')
|
implementation project(':app-wear-shared:shared')
|
||||||
implementation project(':database:entities')
|
implementation project(':database:entities')
|
||||||
implementation project(':database:impl')
|
implementation project(':database:impl')
|
||||||
implementation project(':core:core-main')
|
|
||||||
implementation project(':core:interfaces')
|
implementation project(':core:interfaces')
|
||||||
implementation project(':core:utils')
|
implementation project(':core:utils')
|
||||||
implementation project(':core:ui')
|
implementation project(':core:ui')
|
||||||
|
|
||||||
|
api 'com.google.guava:guava:31.1-jre'
|
||||||
|
|
||||||
//RxAndroidBle
|
//RxAndroidBle
|
||||||
implementation "com.polidea.rxandroidble3:rxandroidble:1.17.2"
|
implementation "com.polidea.rxandroidble3:rxandroidble:1.17.2"
|
||||||
implementation "com.jakewharton.rx3:replaying-share:3.0.0"
|
implementation "com.jakewharton.rx3:replaying-share:3.0.0"
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
package info.nightscout.androidaps.plugins.pump.eopatch
|
|
||||||
|
|
||||||
import info.nightscout.interfaces.notifications.Notification
|
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
class EONotification constructor() : Notification() {
|
|
||||||
|
|
||||||
@Inject lateinit var aapsLogger: AAPSLogger
|
|
||||||
|
|
||||||
constructor(id: Int, text: String, level: Int) : this() {
|
|
||||||
this.id = id
|
|
||||||
date = System.currentTimeMillis()
|
|
||||||
this.text = text
|
|
||||||
this.level = level
|
|
||||||
}
|
|
||||||
|
|
||||||
fun action(buttonText: Int, action: Runnable) {
|
|
||||||
this.buttonText = buttonText
|
|
||||||
this.action = action
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -9,7 +9,6 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.BolusExDuration
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys
|
import info.nightscout.androidaps.plugins.pump.eopatch.code.SettingKeys
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchOverviewFragment
|
import info.nightscout.androidaps.plugins.pump.eopatch.ui.EopatchOverviewFragment
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal
|
import info.nightscout.androidaps.plugins.pump.eopatch.vo.TempBasal
|
||||||
import info.nightscout.core.events.EventNewNotification
|
|
||||||
import info.nightscout.core.utils.fabric.FabricPrivacy
|
import info.nightscout.core.utils.fabric.FabricPrivacy
|
||||||
import info.nightscout.interfaces.notifications.Notification
|
import info.nightscout.interfaces.notifications.Notification
|
||||||
import info.nightscout.interfaces.plugin.PluginDescription
|
import info.nightscout.interfaces.plugin.PluginDescription
|
||||||
|
@ -27,6 +26,7 @@ import info.nightscout.interfaces.pump.defs.PumpDescription
|
||||||
import info.nightscout.interfaces.pump.defs.PumpType
|
import info.nightscout.interfaces.pump.defs.PumpType
|
||||||
import info.nightscout.interfaces.queue.CommandQueue
|
import info.nightscout.interfaces.queue.CommandQueue
|
||||||
import info.nightscout.interfaces.queue.CustomCommand
|
import info.nightscout.interfaces.queue.CustomCommand
|
||||||
|
import info.nightscout.interfaces.ui.ActivityNames
|
||||||
import info.nightscout.interfaces.utils.TimeChangeType
|
import info.nightscout.interfaces.utils.TimeChangeType
|
||||||
import info.nightscout.rx.AapsSchedulers
|
import info.nightscout.rx.AapsSchedulers
|
||||||
import info.nightscout.rx.bus.RxBus
|
import info.nightscout.rx.bus.RxBus
|
||||||
|
@ -60,7 +60,8 @@ class EopatchPumpPlugin @Inject constructor(
|
||||||
private val pumpSync: PumpSync,
|
private val pumpSync: PumpSync,
|
||||||
private val patchManager: IPatchManager,
|
private val patchManager: IPatchManager,
|
||||||
private val alarmManager: IAlarmManager,
|
private val alarmManager: IAlarmManager,
|
||||||
private val preferenceManager: IPreferenceManager
|
private val preferenceManager: IPreferenceManager,
|
||||||
|
private val activityNames: ActivityNames
|
||||||
) : PumpPluginBase(
|
) : PumpPluginBase(
|
||||||
PluginDescription()
|
PluginDescription()
|
||||||
.mainType(PluginType.PUMP)
|
.mainType(PluginType.PUMP)
|
||||||
|
@ -203,7 +204,7 @@ class EopatchPumpPlugin @Inject constructor(
|
||||||
disposable.dispose()
|
disposable.dispose()
|
||||||
aapsLogger.info(LTag.PUMP, "Basal Profile was set: ${isSuccess ?: false}")
|
aapsLogger.info(LTag.PUMP, "Basal Profile was set: ${isSuccess ?: false}")
|
||||||
if (isSuccess == true) {
|
if (isSuccess == true) {
|
||||||
rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60)))
|
activityNames.addNotificationValidFor(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60)
|
||||||
return PumpEnactResult(injector).success(true).enacted(true)
|
return PumpEnactResult(injector).success(true).enacted(true)
|
||||||
} else {
|
} else {
|
||||||
return PumpEnactResult(injector)
|
return PumpEnactResult(injector)
|
||||||
|
@ -212,7 +213,7 @@ class EopatchPumpPlugin @Inject constructor(
|
||||||
} else {
|
} else {
|
||||||
preferenceManager.getNormalBasalManager().setNormalBasal(profile)
|
preferenceManager.getNormalBasalManager().setNormalBasal(profile)
|
||||||
preferenceManager.flushNormalBasalManager()
|
preferenceManager.flushNormalBasalManager()
|
||||||
rxBus.send(EventNewNotification(Notification(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60)))
|
activityNames.addNotificationValidFor(Notification.PROFILE_SET_OK, rh.gs(R.string.profile_set_ok), Notification.INFO, 60)
|
||||||
return PumpEnactResult(injector).success(true).enacted(true)
|
return PumpEnactResult(injector).success(true).enacted(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.pump.eopatch.alarm
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.EONotification
|
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus
|
import info.nightscout.androidaps.plugins.pump.eopatch.EoPatchRxBus
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.R
|
import info.nightscout.androidaps.plugins.pump.eopatch.R
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A005
|
import info.nightscout.androidaps.plugins.pump.eopatch.alarm.AlarmCode.A005
|
||||||
|
@ -17,13 +16,13 @@ import info.nightscout.androidaps.plugins.pump.eopatch.code.AlarmCategory
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.event.EventEoPatchAlarm
|
import info.nightscout.androidaps.plugins.pump.eopatch.event.EventEoPatchAlarm
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity
|
import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms
|
import info.nightscout.androidaps.plugins.pump.eopatch.vo.Alarms
|
||||||
import info.nightscout.core.events.EventNewNotification
|
|
||||||
import info.nightscout.core.utils.fabric.FabricPrivacy
|
import info.nightscout.core.utils.fabric.FabricPrivacy
|
||||||
import info.nightscout.interfaces.notifications.Notification
|
import info.nightscout.interfaces.notifications.Notification
|
||||||
import info.nightscout.interfaces.plugin.ActivePlugin
|
import info.nightscout.interfaces.plugin.ActivePlugin
|
||||||
import info.nightscout.interfaces.pump.PumpSync
|
import info.nightscout.interfaces.pump.PumpSync
|
||||||
import info.nightscout.interfaces.pump.defs.PumpType
|
import info.nightscout.interfaces.pump.defs.PumpType
|
||||||
import info.nightscout.interfaces.queue.CommandQueue
|
import info.nightscout.interfaces.queue.CommandQueue
|
||||||
|
import info.nightscout.interfaces.ui.ActivityNames
|
||||||
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.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
|
@ -59,7 +58,7 @@ class AlarmManager @Inject constructor() : IAlarmManager {
|
||||||
@Inject lateinit var sp: SP
|
@Inject lateinit var sp: SP
|
||||||
@Inject lateinit var context: Context
|
@Inject lateinit var context: Context
|
||||||
@Inject lateinit var aapsSchedulers: AapsSchedulers
|
@Inject lateinit var aapsSchedulers: AapsSchedulers
|
||||||
|
@Inject lateinit var activityNames: ActivityNames
|
||||||
@Inject lateinit var pm: IPreferenceManager
|
@Inject lateinit var pm: IPreferenceManager
|
||||||
@Inject lateinit var mAlarmRegistry: IAlarmRegistry
|
@Inject lateinit var mAlarmRegistry: IAlarmRegistry
|
||||||
|
|
||||||
|
@ -150,41 +149,50 @@ class AlarmManager @Inject constructor() : IAlarmManager {
|
||||||
context.startActivity(i)
|
context.startActivity(i)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showNotification(alarmCode: AlarmCode, timeOffset: Long = 0L){
|
private fun showNotification(alarmCode: AlarmCode, timeOffset: Long = 0L) {
|
||||||
var alarmMsg = resourceHelper.gs(alarmCode.resId)
|
var alarmMsg = resourceHelper.gs(alarmCode.resId)
|
||||||
if(alarmCode == B000){
|
if (alarmCode == B000) {
|
||||||
val expireTimeValue = pm.getPatchWakeupTimestamp() + TimeUnit.HOURS.toMillis(84)
|
val expireTimeValue = pm.getPatchWakeupTimestamp() + TimeUnit.HOURS.toMillis(84)
|
||||||
val expireTimeString = SimpleDateFormat(resourceHelper.gs(R.string.date_format_yyyy_m_d_e_a_hh_mm_comma), Locale.US).format(expireTimeValue)
|
val expireTimeString = SimpleDateFormat(resourceHelper.gs(R.string.date_format_yyyy_m_d_e_a_hh_mm_comma), Locale.US).format(expireTimeValue)
|
||||||
alarmMsg = resourceHelper.gs(alarmCode.resId, expireTimeString)
|
alarmMsg = resourceHelper.gs(alarmCode.resId, expireTimeString)
|
||||||
}
|
}
|
||||||
val notification = EONotification(Notification.EOELOW_PATCH_ALERTS + (alarmCode.aeCode + 10000), alarmMsg, Notification.URGENT)
|
activityNames.addNotificationWithAction(
|
||||||
|
id = Notification.EOELOW_PATCH_ALERTS + (alarmCode.aeCode + 10000),
|
||||||
notification.action(R.string.confirm) {
|
text = alarmMsg,
|
||||||
compositeDisposable.add(
|
level = Notification.URGENT,
|
||||||
Single.just(isValid(alarmCode))
|
buttonText = R.string.confirm,
|
||||||
.flatMap { isValid ->
|
action = {
|
||||||
return@flatMap if(isValid) mAlarmProcess.doAction(context, alarmCode)
|
compositeDisposable.add(
|
||||||
else Single.just(IAlarmProcess.ALARM_HANDLED)
|
Single.just(isValid(alarmCode))
|
||||||
}
|
.flatMap { isValid ->
|
||||||
.subscribe { ret ->
|
return@flatMap if (isValid) mAlarmProcess.doAction(context, alarmCode)
|
||||||
if(ret == IAlarmProcess.ALARM_HANDLED){
|
else Single.just(IAlarmProcess.ALARM_HANDLED)
|
||||||
if(alarmCode == B001){
|
|
||||||
pumpSync.syncStopTemporaryBasalWithPumpId(
|
|
||||||
timestamp = dateUtil.now(),
|
|
||||||
endPumpId = dateUtil.now(),
|
|
||||||
pumpType = PumpType.EOFLOW_EOPATCH2,
|
|
||||||
pumpSerial = patchManager.patchConfig.patchSerialNumber
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
updateState(alarmCode, AlarmState.HANDLE)
|
.subscribe { ret ->
|
||||||
}else{
|
if (ret == IAlarmProcess.ALARM_HANDLED) {
|
||||||
rxBus.send(EventNewNotification(notification))
|
if (alarmCode == B001) {
|
||||||
}
|
pumpSync.syncStopTemporaryBasalWithPumpId(
|
||||||
})
|
timestamp = dateUtil.now(),
|
||||||
}
|
endPumpId = dateUtil.now(),
|
||||||
notification.soundId = R.raw.error
|
pumpType = PumpType.EOFLOW_EOPATCH2,
|
||||||
notification.date = pm.getPatchConfig().patchWakeupTimestamp + TimeUnit.SECONDS.toMillis(timeOffset)
|
pumpSerial = patchManager.patchConfig.patchSerialNumber
|
||||||
rxBus.send(EventNewNotification(notification))
|
)
|
||||||
|
}
|
||||||
|
updateState(alarmCode, AlarmState.HANDLE)
|
||||||
|
} else {
|
||||||
|
activityNames.addNotification(
|
||||||
|
id = Notification.EOELOW_PATCH_ALERTS + (alarmCode.aeCode + 10000),
|
||||||
|
text = alarmMsg,
|
||||||
|
level = Notification.URGENT
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
soundId = R.raw.error,
|
||||||
|
date = pm.getPatchConfig().patchWakeupTimestamp + TimeUnit.SECONDS.toMillis(timeOffset)
|
||||||
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateState(alarmCode: AlarmCode, state: AlarmState){
|
private fun updateState(alarmCode: AlarmCode, state: AlarmState){
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs
|
package info.nightscout.androidaps.plugins.pump.eopatch.ui.dialogs
|
||||||
|
|
||||||
import android.os.Build
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.HandlerThread
|
import android.os.HandlerThread
|
||||||
|
@ -17,8 +16,8 @@ import info.nightscout.androidaps.plugins.pump.eopatch.bindingadapters.setOnSafe
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager
|
import info.nightscout.androidaps.plugins.pump.eopatch.ble.IPatchManager
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.databinding.DialogAlarmBinding
|
import info.nightscout.androidaps.plugins.pump.eopatch.databinding.DialogAlarmBinding
|
||||||
import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity
|
import info.nightscout.androidaps.plugins.pump.eopatch.ui.AlarmHelperActivity
|
||||||
import info.nightscout.core.services.AlarmSoundServiceHelper
|
|
||||||
import info.nightscout.core.ui.R
|
import info.nightscout.core.ui.R
|
||||||
|
import info.nightscout.interfaces.ui.ActivityNames
|
||||||
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.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
|
@ -28,7 +27,7 @@ import javax.inject.Inject
|
||||||
|
|
||||||
class AlarmDialog : DaggerDialogFragment() {
|
class AlarmDialog : DaggerDialogFragment() {
|
||||||
|
|
||||||
@Inject lateinit var alarmSoundServiceHelper: AlarmSoundServiceHelper
|
@Inject lateinit var activityNames: ActivityNames
|
||||||
@Inject lateinit var aapsLogger: AAPSLogger
|
@Inject lateinit var aapsLogger: AAPSLogger
|
||||||
@Inject lateinit var patchManager: IPatchManager
|
@Inject lateinit var patchManager: IPatchManager
|
||||||
@Inject lateinit var rxBus: RxBus
|
@Inject lateinit var rxBus: RxBus
|
||||||
|
@ -159,16 +158,10 @@ class AlarmDialog : DaggerDialogFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun startAlarm(reason: String) {
|
private fun startAlarm(reason: String) {
|
||||||
if (sound != 0) {
|
if (sound != 0) activityNames.startAlarm(sound, reason)
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
||||||
context?.let { context -> alarmSoundServiceHelper.startAlarm(context, sound, reason) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun stopAlarm(reason: String) {
|
private fun stopAlarm(reason: String) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
activityNames.stopAlarm(reason)
|
||||||
context?.let { context -> alarmSoundServiceHelper.stopService(context, reason) }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,9 +21,9 @@ dependencies {
|
||||||
implementation project(':core:core-main')
|
implementation project(':core:core-main')
|
||||||
implementation project(':core:interfaces')
|
implementation project(':core:interfaces')
|
||||||
implementation project(':core:ui')
|
implementation project(':core:ui')
|
||||||
|
implementation project(':core:utils')
|
||||||
implementation project(':pump:pump-common')
|
implementation project(':pump:pump-common')
|
||||||
implementation project(':pump:pump-core')
|
implementation project(':pump:pump-core')
|
||||||
implementation project(':pump:rileylink')
|
implementation project(':pump:rileylink')
|
||||||
implementation project(path: ':core:utils')
|
testImplementation project(':database:impl')
|
||||||
testImplementation project(path: ':database:impl')
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,8 +18,8 @@ android {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':core:libraries')
|
implementation project(':core:libraries')
|
||||||
implementation project(':core:core-main')
|
|
||||||
implementation project(':core:interfaces')
|
implementation project(':core:interfaces')
|
||||||
|
implementation project(':core:ui')
|
||||||
implementation project(':core:utils')
|
implementation project(':core:utils')
|
||||||
implementation project(':app-wear-shared:shared')
|
implementation project(':app-wear-shared:shared')
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package info.nightscout.ui.alertDialogs
|
package info.nightscout.ui.alertDialogs
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
|
@ -11,12 +10,12 @@ import android.view.ViewGroup
|
||||||
import android.view.Window
|
import android.view.Window
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import dagger.android.support.DaggerDialogFragment
|
import dagger.android.support.DaggerDialogFragment
|
||||||
import info.nightscout.interfaces.logging.UserEntryLogger
|
|
||||||
import info.nightscout.core.services.AlarmSoundServiceHelper
|
|
||||||
import info.nightscout.core.ui.activities.DialogAppCompatActivity
|
|
||||||
import info.nightscout.core.main.R
|
import info.nightscout.core.main.R
|
||||||
|
import info.nightscout.core.ui.activities.DialogAppCompatActivity
|
||||||
import info.nightscout.database.entities.UserEntry.Action
|
import info.nightscout.database.entities.UserEntry.Action
|
||||||
import info.nightscout.database.entities.UserEntry.Sources
|
import info.nightscout.database.entities.UserEntry.Sources
|
||||||
|
import info.nightscout.interfaces.logging.UserEntryLogger
|
||||||
|
import info.nightscout.interfaces.ui.ActivityNames
|
||||||
import info.nightscout.rx.logging.AAPSLogger
|
import info.nightscout.rx.logging.AAPSLogger
|
||||||
import info.nightscout.shared.utils.T
|
import info.nightscout.shared.utils.T
|
||||||
import info.nightscout.ui.databinding.DialogErrorBinding
|
import info.nightscout.ui.databinding.DialogErrorBinding
|
||||||
|
@ -24,10 +23,9 @@ import javax.inject.Inject
|
||||||
|
|
||||||
class ErrorDialog : DaggerDialogFragment() {
|
class ErrorDialog : DaggerDialogFragment() {
|
||||||
|
|
||||||
@Inject lateinit var alarmSoundServiceHelper: AlarmSoundServiceHelper
|
@Inject lateinit var activityNames: ActivityNames
|
||||||
@Inject lateinit var aapsLogger: AAPSLogger
|
@Inject lateinit var aapsLogger: AAPSLogger
|
||||||
@Inject lateinit var uel: UserEntryLogger
|
@Inject lateinit var uel: UserEntryLogger
|
||||||
@Inject lateinit var ctx: Context
|
|
||||||
|
|
||||||
var helperActivity: DialogAppCompatActivity? = null
|
var helperActivity: DialogAppCompatActivity? = null
|
||||||
var status: String = ""
|
var status: String = ""
|
||||||
|
@ -115,9 +113,9 @@ class ErrorDialog : DaggerDialogFragment() {
|
||||||
|
|
||||||
private fun startAlarm() {
|
private fun startAlarm() {
|
||||||
if (sound != 0)
|
if (sound != 0)
|
||||||
alarmSoundServiceHelper.startAlarm(ctx, sound, "$title:$status")
|
activityNames.startAlarm(sound, "$title:$status")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun stopAlarm(reason: String) =
|
private fun stopAlarm(reason: String) =
|
||||||
alarmSoundServiceHelper.stopService(ctx, reason)
|
activityNames.stopAlarm(reason)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue