diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt
index bccdbbcb1a..da9b179cb1 100644
--- a/app/src/main/java/info/nightscout/androidaps/MainActivity.kt
+++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.kt
@@ -32,6 +32,8 @@ import info.nightscout.androidaps.activities.PreferencesActivity
import info.nightscout.androidaps.activities.ProfileHelperActivity
import info.nightscout.androidaps.activities.SingleFragmentActivity
import info.nightscout.androidaps.activities.StatsActivity
+import info.nightscout.androidaps.database.entities.UserEntry.Action
+import info.nightscout.androidaps.database.entities.UserEntry.Sources
import info.nightscout.androidaps.databinding.ActivityMainBinding
import info.nightscout.androidaps.events.EventAppExit
import info.nightscout.androidaps.events.EventPreferenceChange
@@ -41,6 +43,7 @@ import info.nightscout.androidaps.interfaces.ActivePluginProvider
import info.nightscout.androidaps.interfaces.PluginType
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.logging.LTag
+import info.nightscout.androidaps.logging.UserEntryLogger
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
import info.nightscout.androidaps.plugins.bus.RxBusWrapper
import info.nightscout.androidaps.plugins.configBuilder.ConstraintChecker
@@ -87,6 +90,7 @@ class MainActivity : NoSplashAppCompatActivity() {
@Inject lateinit var constraintChecker: ConstraintChecker
@Inject lateinit var signatureVerifierPlugin: SignatureVerifierPlugin
@Inject lateinit var config: Config
+ @Inject lateinit var uel: UserEntryLogger
private lateinit var actionBarDrawerToggle: ActionBarDrawerToggle
private var pluginPreferencesMenuItem: MenuItem? = null
@@ -316,6 +320,7 @@ class MainActivity : NoSplashAppCompatActivity() {
R.id.nav_exit -> {
aapsLogger.debug(LTag.CORE, "Exiting")
+ uel.log(Action.EXIT_AAPS, Sources.Aaps)
rxBus.send(EventAppExit())
finish()
System.runFinalization()
diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.kt b/app/src/main/java/info/nightscout/androidaps/MainApp.kt
index 9f7b7013c5..b994405383 100644
--- a/app/src/main/java/info/nightscout/androidaps/MainApp.kt
+++ b/app/src/main/java/info/nightscout/androidaps/MainApp.kt
@@ -11,6 +11,7 @@ import dagger.android.AndroidInjector
import dagger.android.DaggerApplication
import info.nightscout.androidaps.database.AppRepository
import info.nightscout.androidaps.database.entities.TherapyEvent
+import info.nightscout.androidaps.database.entities.UserEntry
import info.nightscout.androidaps.database.transactions.InsertIfNewByTimestampTherapyEventTransaction
import info.nightscout.androidaps.database.transactions.VersionChangeTransaction
import info.nightscout.androidaps.db.CompatDBHelper
@@ -20,6 +21,7 @@ import info.nightscout.androidaps.dependencyInjection.DaggerAppComponent
import info.nightscout.androidaps.interfaces.PluginBase
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.logging.LTag
+import info.nightscout.androidaps.logging.UserEntryLogger
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
import info.nightscout.androidaps.plugins.configBuilder.PluginStore
import info.nightscout.androidaps.plugins.constraints.versionChecker.VersionCheckerUtils
@@ -54,6 +56,7 @@ class MainApp : DaggerApplication() {
@Inject lateinit var repository: AppRepository
@Inject lateinit var dateUtil: DateUtil
@Inject lateinit var staticInjector: StaticInjector// TODO avoid , here fake only to initialize
+ @Inject lateinit var uel: UserEntryLogger
override fun onCreate() {
super.onCreate()
@@ -85,6 +88,7 @@ class MainApp : DaggerApplication() {
configBuilderPlugin.initialize()
keepAliveManager.setAlarm(this)
doMigrations()
+ uel.log(UserEntry.Action.START_AAPS, UserEntry.Sources.Aaps)
}
private fun doMigrations() {
diff --git a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt
index 4aaa063ec9..4490d433cf 100644
--- a/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt
+++ b/app/src/main/java/info/nightscout/androidaps/dialogs/TreatmentDialog.kt
@@ -167,18 +167,18 @@ class TreatmentDialog : DialogFragmentWithDate() {
{ aapsLogger.error(LTag.DATABASE, "Error while saving carbs", it) }
)
} else {
- if (detailedBolusInfo.insulin > 0)
+ if (detailedBolusInfo.insulin > 0) {
+ uel.log(action, Sources.TreatmentDialog,
+ ValueWithUnit.Insulin(insulinAfterConstraints),
+ ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 })
commandQueue.bolus(detailedBolusInfo, object : Callback() {
override fun run() {
if (!result.success) {
ErrorHelperActivity.runAlarm(ctx, result.comment, resourceHelper.gs(R.string.treatmentdeliveryerror), info.nightscout.androidaps.dana.R.raw.boluserror)
- } else
- uel.log(action, Sources.TreatmentDialog,
- ValueWithUnit.Insulin(insulinAfterConstraints),
- ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbsAfterConstraints != 0 })
+ }
}
})
- else
+ } else
uel.log(action, Sources.TreatmentDialog,
ValueWithUnit.Gram(carbsAfterConstraints).takeIf { carbs != 0 })
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt
index c6264fa2fc..344360ccad 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/loop/LoopPlugin.kt
@@ -378,6 +378,8 @@ open class LoopPlugin @Inject constructor(
// mId allows you to update the notification later on.
mNotificationManager.notify(Constants.notificationID, builder.build())
+ uel.log(Action.CAREPORTAL, Sources.Loop,
+ ValueWithUnit.StringResource(info.nightscout.androidaps.core.R.string.carbsreq, listOf(ValueWithUnit.Gram(resultAfterConstraints.carbsReq), ValueWithUnit.Minute(resultAfterConstraints.carbsReqWithin))))
rxBus.send(EventNewOpenLoopNotification())
//only send to wear if Native notifications are turned off
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt
index 49b010832c..16656c73dc 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderPlugin.kt
@@ -5,6 +5,7 @@ import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.R
import info.nightscout.androidaps.database.entities.UserEntry.Action
import info.nightscout.androidaps.database.entities.UserEntry.Sources
+import info.nightscout.androidaps.database.entities.ValueWithUnit
import info.nightscout.androidaps.events.EventAppInitialized
import info.nightscout.androidaps.events.EventConfigBuilderChange
import info.nightscout.androidaps.events.EventRebuildTabs
@@ -147,7 +148,8 @@ class ConfigBuilderPlugin @Inject constructor(
performPluginSwitch(changedPlugin, newState, type)
pumpSync.connectNewPump()
sp.putBoolean("allow_hardware_pump", true)
- uel.log(Action.HW_PUMP_ALLOWED, Sources.ConfigBuilder)
+ uel.log(Action.HW_PUMP_ALLOWED, Sources.ConfigBuilder,
+ ValueWithUnit.StringResource(changedPlugin.pluginDescription.pluginName))
aapsLogger.debug(LTag.PUMP, "First time HW pump allowed!")
}, {
rxBus.send(EventConfigBuilderUpdateGui())
@@ -157,6 +159,14 @@ class ConfigBuilderPlugin @Inject constructor(
}
override fun performPluginSwitch(changedPlugin: PluginBase, enabled: Boolean, type: PluginType) {
+ if(enabled && !changedPlugin.isEnabled()) {
+ uel.log(Action.PLUGIN_ENABLED, Sources.ConfigBuilder,
+ ValueWithUnit.StringResource(changedPlugin.pluginDescription.pluginName))
+ }
+ else if(!enabled) {
+ uel.log(Action.PLUGIN_DISABLED, Sources.ConfigBuilder,
+ ValueWithUnit.StringResource(changedPlugin.pluginDescription.pluginName))
+ }
changedPlugin.setPluginEnabled(type, enabled)
changedPlugin.setFragmentVisible(type, enabled)
processOnEnabledCategoryChanged(changedPlugin, type)
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt
index 03cd4dc816..6ec4d20525 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/BGSourceFragment.kt
@@ -29,6 +29,8 @@ import info.nightscout.androidaps.utils.alertDialogs.OKDialog
import info.nightscout.androidaps.extensions.directionToIcon
import info.nightscout.androidaps.extensions.toVisibility
import info.nightscout.androidaps.extensions.valueToUnitsString
+import info.nightscout.androidaps.interfaces.ActivePluginProvider
+import info.nightscout.androidaps.interfaces.PluginBase
import info.nightscout.androidaps.utils.resources.ResourceHelper
import info.nightscout.androidaps.utils.rx.AapsSchedulers
import io.reactivex.disposables.CompositeDisposable
@@ -47,6 +49,7 @@ class BGSourceFragment : DaggerFragment() {
@Inject lateinit var repository: AppRepository
@Inject lateinit var aapsSchedulers: AapsSchedulers
@Inject lateinit var uel: UserEntryLogger
+ @Inject lateinit var activePlugin: ActivePluginProvider
private val disposable = CompositeDisposable()
private val millsToThePast = T.hours(12).msecs()
@@ -131,8 +134,18 @@ class BGSourceFragment : DaggerFragment() {
activity?.let { activity ->
val text = dateUtil.dateAndTimeString(glucoseValue.timestamp) + "\n" + glucoseValue.valueToUnitsString(profileFunction.getUnits())
OKDialog.showConfirmation(activity, resourceHelper.gs(R.string.removerecord), text, Runnable {
- //uel.log(Action.BG_REMOVED, XXXValueWithUnit.Timestamp(glucoseValue.timestamp))
- uel.log(Action.BG_REMOVED, Sources.BG,
+ val source = when((activePlugin.activeBgSource as PluginBase).pluginDescription.pluginName) {
+ R.string.dexcom_app_patched -> Sources.Dexcom
+ R.string.eversense -> Sources.Eversense
+ R.string.Glimp -> Sources.Glimp
+ R.string.MM640g -> Sources.MM640g
+ R.string.nsclientbg -> Sources.NSClientSource
+ R.string.poctech -> Sources.PocTech
+ R.string.tomato -> Sources.Tomato
+ R.string.xdrip -> Sources.Xdrip
+ else -> Sources.Unknown
+ }
+ uel.log(Action.BG_REMOVED, source,
ValueWithUnit.Timestamp(glucoseValue.timestamp))
disposable += repository.runTransaction(InvalidateGlucoseValueTransaction(glucoseValue.id)).subscribe()
})
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt
index c5b41e1502..44046a3258 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/source/DexcomPlugin.kt
@@ -14,6 +14,9 @@ import info.nightscout.androidaps.activities.RequestDexcomPermissionActivity
import info.nightscout.androidaps.database.AppRepository
import info.nightscout.androidaps.database.entities.GlucoseValue
import info.nightscout.androidaps.database.entities.TherapyEvent
+import info.nightscout.androidaps.database.entities.UserEntry.Action
+import info.nightscout.androidaps.database.entities.UserEntry.Sources
+import info.nightscout.androidaps.database.entities.ValueWithUnit
import info.nightscout.androidaps.database.transactions.CgmSourceTransaction
import info.nightscout.androidaps.interfaces.BgSourceInterface
import info.nightscout.androidaps.interfaces.PluginBase
@@ -21,6 +24,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription
import info.nightscout.androidaps.interfaces.PluginType
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.logging.LTag
+import info.nightscout.androidaps.logging.UserEntryLogger
import info.nightscout.androidaps.receivers.DataWorker
import info.nightscout.androidaps.utils.DateUtil
import info.nightscout.androidaps.utils.T
@@ -84,6 +88,7 @@ class DexcomPlugin @Inject constructor(
@Inject lateinit var dataWorker: DataWorker
@Inject lateinit var broadcastToXDrip: XDripBroadcast
@Inject lateinit var repository: AppRepository
+ @Inject lateinit var uel: UserEntryLogger
init {
(context.applicationContext as HasAndroidInjector).androidInjector().inject(this)
@@ -151,8 +156,20 @@ class DexcomPlugin @Inject constructor(
broadcastToXDrip(it)
aapsLogger.debug(LTag.DATABASE, "Updated bg $it")
}
- result.sensorInsertionsInserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted sensor insertion $it") }
- result.calibrationsInserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted calibration $it") }
+ result.sensorInsertionsInserted.forEach {
+ uel.log(Action.CAREPORTAL,
+ Sources.BG,
+ ValueWithUnit.Timestamp(it.timestamp),
+ ValueWithUnit.TherapyEventType(it.type))
+ aapsLogger.debug(LTag.DATABASE, "Inserted sensor insertion $it")
+ }
+ result.calibrationsInserted.forEach {
+ uel.log(Action.CAREPORTAL,
+ Sources.BG,
+ ValueWithUnit.Timestamp(it.timestamp),
+ ValueWithUnit.TherapyEventType(it.type))
+ aapsLogger.debug(LTag.DATABASE, "Inserted calibration $it")
+ }
}
} catch (e: Exception) {
aapsLogger.error("Error while processing intent from Dexcom App", e)
diff --git a/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt b/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt
index 28fe5150f0..b95247ddf6 100644
--- a/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt
+++ b/core/src/main/java/info/nightscout/androidaps/utils/Translator.kt
@@ -94,6 +94,10 @@ class Translator @Inject internal constructor(
Action.OTP_RESET -> resourceHelper.gs(R.string.uel_otp_reset)
Action.EXPORT_CSV -> resourceHelper.gs(R.string.uel_export_csv)
Action.STOP_SMS -> resourceHelper.gs(R.string.uel_stop_sms)
+ Action.START_AAPS -> resourceHelper.gs(R.string.uel_start_aaps)
+ Action.EXIT_AAPS -> resourceHelper.gs(R.string.uel_exit_aaps)
+ Action.PLUGIN_ENABLED -> resourceHelper.gs(R.string.uel_plugin_enabled)
+ Action.PLUGIN_DISABLED -> resourceHelper.gs(R.string.uel_plugin_disabled)
Action.UNKNOWN -> resourceHelper.gs(R.string.unknown)
}
@@ -233,6 +237,14 @@ class Translator @Inject internal constructor(
Sources.Announcement -> TODO()
Sources.Actions -> TODO()
Sources.BG -> TODO()
+ Sources.Dexcom -> TODO()
+ Sources.Eversense -> TODO()
+ Sources.Glimp -> TODO()
+ Sources.MM640g -> TODO()
+ Sources.NSClientSource -> TODO()
+ Sources.PocTech -> TODO()
+ Sources.Tomato -> TODO()
+ Sources.Xdrip -> TODO()
Sources.LocalProfile -> TODO()
Sources.Maintenance -> TODO()
Sources.NSProfile -> TODO()
@@ -255,6 +267,7 @@ class Translator @Inject internal constructor(
Sources.ConfigBuilder -> TODO()
Sources.Overview -> TODO()
Sources.Stats -> TODO()
+ Sources.Aaps -> TODO()
*/
Sources.Automation -> resourceHelper.gs(R.string.automation)
Sources.Loop -> resourceHelper.gs(R.string.loop)
diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt
index bd0a2b723d..9bcd0ab632 100644
--- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt
+++ b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryMapper.kt
@@ -79,6 +79,8 @@ class UserEntryMapper {
STOP_SMS (UserEntry.Action.STOP_SMS),
FOOD (UserEntry.Action.FOOD),
EXPORT_CSV (UserEntry.Action.EXPORT_CSV),
+ START_AAPS (UserEntry.Action.START_AAPS),
+ EXIT_AAPS (UserEntry.Action.EXIT_AAPS),
UNKNOWN (UserEntry.Action.UNKNOWN)
;
}
@@ -106,6 +108,14 @@ class UserEntryMapper {
Actions (UserEntry.Sources.Actions),
Automation (UserEntry.Sources.Automation),
BG (UserEntry.Sources.BG),
+ Dexcom (UserEntry.Sources.Dexcom),
+ Eversense (UserEntry.Sources.Eversense),
+ Glimp (UserEntry.Sources.Glimp),
+ MM640g (UserEntry.Sources.MM640g),
+ NSClientSource (UserEntry.Sources.BG),
+ PocTech (UserEntry.Sources.PocTech),
+ Tomato (UserEntry.Sources.Tomato),
+ Xdrip (UserEntry.Sources.Xdrip),
LocalProfile (UserEntry.Sources.LocalProfile),
Loop (UserEntry.Sources.Loop),
Maintenance (UserEntry.Sources.Maintenance),
@@ -133,6 +143,7 @@ class UserEntryMapper {
ConfigBuilder (UserEntry.Sources.ConfigBuilder),
Overview (UserEntry.Sources.Overview),
Stats (UserEntry.Sources.Stats),
+ Aaps (UserEntry.Sources.Aaps),
Unknown(UserEntry.Sources.Unknown)
;
}
diff --git a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt
index 0aeffddb2c..ee0f352413 100644
--- a/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt
+++ b/core/src/main/java/info/nightscout/androidaps/utils/userEntry/UserEntryPresentationHelper.kt
@@ -28,46 +28,54 @@ class UserEntryPresentationHelper @Inject constructor(
fun colorId(colorGroup: ColorGroup): Int = when (colorGroup) {
ColorGroup.InsulinTreatment -> R.color.iob
ColorGroup.BasalTreatment -> R.color.basal
- ColorGroup.CarbTreatment -> R.color.carbs
- ColorGroup.TT -> R.color.tempTargetConfirmation
- ColorGroup.Profile -> R.color.white
- ColorGroup.Loop -> R.color.loopClosed
- ColorGroup.Careportal -> R.color.high
- ColorGroup.Pump -> R.color.loopDisconnected
- ColorGroup.Aaps -> R.color.defaulttext
+ ColorGroup.CarbTreatment -> R.color.carbs
+ ColorGroup.TT -> R.color.tempTargetConfirmation
+ ColorGroup.Profile -> R.color.white
+ ColorGroup.Loop -> R.color.loopClosed
+ ColorGroup.Careportal -> R.color.high
+ ColorGroup.Pump -> R.color.loopDisconnected
+ ColorGroup.Aaps -> R.color.defaulttext
else -> R.color.defaulttext
}
fun iconId(source: Sources): Int = when (source) {
- Sources.TreatmentDialog -> R.drawable.icon_insulin_carbs
- Sources.InsulinDialog -> R.drawable.ic_bolus
- Sources.CarbDialog -> R.drawable.ic_cp_bolus_carbs
- Sources.WizardDialog -> R.drawable.ic_calculator
- Sources.QuickWizard -> R.drawable.ic_quick_wizard
+ Sources.TreatmentDialog -> R.drawable.icon_insulin_carbs
+ Sources.InsulinDialog -> R.drawable.ic_bolus
+ Sources.CarbDialog -> R.drawable.ic_cp_bolus_carbs
+ Sources.WizardDialog -> R.drawable.ic_calculator
+ Sources.QuickWizard -> R.drawable.ic_quick_wizard
Sources.ExtendedBolusDialog -> R.drawable.ic_actions_startextbolus
- Sources.TTDialog -> R.drawable.ic_temptarget_high
+ Sources.TTDialog -> R.drawable.ic_temptarget_high
Sources.ProfileSwitchDialog -> R.drawable.ic_actions_profileswitch
- Sources.LoopDialog -> R.drawable.ic_loop_closed
- Sources.TempBasalDialog -> R.drawable.ic_actions_starttempbasal
- Sources.CalibrationDialog -> R.drawable.ic_calibration
- Sources.FillDialog -> R.drawable.ic_cp_pump_canula
- Sources.BgCheck -> R.drawable.ic_cp_bgcheck
- Sources.SensorInsert -> R.drawable.ic_cp_cgm_insert
- Sources.BatteryChange -> R.drawable.ic_cp_pump_battery
- Sources.Note -> R.drawable.ic_cp_note
- Sources.Exercise -> R.drawable.ic_cp_exercise
- Sources.Question -> R.drawable.ic_cp_question
- Sources.Announcement -> R.drawable.ic_cp_announcement
- Sources.Actions -> R.drawable.ic_action
- Sources.Automation -> R.drawable.ic_automation
- Sources.BG -> R.drawable.ic_generic_cgm
- Sources.LocalProfile -> R.drawable.ic_local_profile
- Sources.Loop -> R.drawable.ic_loop_closed_white
- Sources.Maintenance -> R.drawable.ic_maintenance
- Sources.NSClient -> R.drawable.ic_nightscout_syncs
- Sources.NSProfile -> R.drawable.ic_nightscout_profile
- Sources.Objectives -> R.drawable.ic_graduation
- Sources.Pump -> R.drawable.ic_generic_icon
+ Sources.LoopDialog -> R.drawable.ic_loop_closed
+ Sources.TempBasalDialog -> R.drawable.ic_actions_starttempbasal
+ Sources.CalibrationDialog -> R.drawable.ic_calibration
+ Sources.FillDialog -> R.drawable.ic_cp_pump_canula
+ Sources.BgCheck -> R.drawable.ic_cp_bgcheck
+ Sources.SensorInsert -> R.drawable.ic_cp_cgm_insert
+ Sources.BatteryChange -> R.drawable.ic_cp_pump_battery
+ Sources.Note -> R.drawable.ic_cp_note
+ Sources.Exercise -> R.drawable.ic_cp_exercise
+ Sources.Question -> R.drawable.ic_cp_question
+ Sources.Announcement -> R.drawable.ic_cp_announcement
+ Sources.Actions -> R.drawable.ic_action
+ Sources.Automation -> R.drawable.ic_automation
+ Sources.BG -> R.drawable.ic_generic_cgm
+ Sources.Dexcom -> R.drawable.ic_dexcom_g6
+ Sources.Eversense -> R.drawable.ic_eversense
+ Sources.Glimp -> R.drawable.ic_glimp
+ Sources.MM640g -> R.drawable.ic_generic_cgm
+ Sources.NSClientSource -> R.drawable.ic_nsclient_bg
+ Sources.PocTech -> R.drawable.ic_poctech
+ Sources.Tomato -> R.drawable.ic_sensor
+ Sources.Xdrip -> R.drawable.ic_blooddrop_48
+ Sources.LocalProfile -> R.drawable.ic_local_profile
+ Sources.Loop -> R.drawable.ic_loop_closed_white
+ Sources.Maintenance -> R.drawable.ic_maintenance
+ Sources.NSClient -> R.drawable.ic_nightscout_syncs
+ Sources.NSProfile -> R.drawable.ic_nightscout_profile
+ Sources.Objectives -> R.drawable.ic_graduation
+ Sources.Pump -> R.drawable.ic_generic_icon
Sources.Dana -> R.drawable.ic_danars_128
Sources.DanaR -> R.drawable.ic_danars_128
Sources.DanaRC -> R.drawable.ic_danars_128
@@ -81,14 +89,15 @@ class UserEntryPresentationHelper @Inject constructor(
Sources.OmnipodDash -> R.drawable.ic_pod_128
Sources.MDI -> R.drawable.ic_ict
Sources.VirtualPump -> R.drawable.ic_virtual_pump
- Sources.SMS -> R.drawable.ic_sms
- Sources.Treatments -> R.drawable.ic_treatments
- Sources.Wear -> R.drawable.ic_watch
- Sources.Food -> R.drawable.ic_food
- Sources.Stats -> R.drawable.ic_cp_stats
- Sources.ConfigBuilder -> R.drawable.ic_generic_icon
- Sources.Overview -> R.drawable.ic_generic_icon
- Sources.Unknown -> R.drawable.ic_generic_icon
+ Sources.SMS -> R.drawable.ic_sms
+ Sources.Treatments -> R.drawable.ic_treatments
+ Sources.Wear -> R.drawable.ic_watch
+ Sources.Food -> R.drawable.ic_food
+ Sources.Stats -> R.drawable.ic_cp_stats
+ Sources.ConfigBuilder -> R.drawable.ic_cogs
+ Sources.Overview -> R.drawable.ic_notif_aaps
+ Sources.Aaps -> R.drawable.ic_notif_aaps
+ Sources.Unknown -> R.drawable.ic_generic_icon
}
fun actionToColoredString(action: Action): Spanned = when (action) {
diff --git a/app/src/main/res/drawable/ic_cogs.xml b/core/src/main/res/drawable/ic_cogs.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_cogs.xml
rename to core/src/main/res/drawable/ic_cogs.xml
diff --git a/app/src/main/res/drawable/ic_eversense.xml b/core/src/main/res/drawable/ic_eversense.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_eversense.xml
rename to core/src/main/res/drawable/ic_eversense.xml
diff --git a/app/src/main/res/drawable/ic_glimp.xml b/core/src/main/res/drawable/ic_glimp.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_glimp.xml
rename to core/src/main/res/drawable/ic_glimp.xml
diff --git a/app/src/main/res/drawable/ic_nsclient_bg.xml b/core/src/main/res/drawable/ic_nsclient_bg.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_nsclient_bg.xml
rename to core/src/main/res/drawable/ic_nsclient_bg.xml
diff --git a/app/src/main/res/drawable/ic_poctech.xml b/core/src/main/res/drawable/ic_poctech.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_poctech.xml
rename to core/src/main/res/drawable/ic_poctech.xml
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index 764f6aa684..225303c081 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -481,6 +481,10 @@
OTP RESET
STOP SMS
EXPORT USER ENTRIES
+ START AAPS
+ EXIT AAPS
+ PLUGIN ENABLED
+ PLUGIN DISABLED
UNKNOWN
Formated string
Source
diff --git a/database/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt b/database/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt
index 390c92aca5..d4347542c2 100644
--- a/database/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt
+++ b/database/src/main/java/info/nightscout/androidaps/database/entities/UserEntry.kt
@@ -94,6 +94,10 @@ data class UserEntry(
STOP_SMS (ColorGroup.Aaps),
FOOD (ColorGroup.CarbTreatment),
EXPORT_CSV (ColorGroup.Aaps),
+ START_AAPS (ColorGroup.Aaps),
+ EXIT_AAPS (ColorGroup.Aaps),
+ PLUGIN_ENABLED (ColorGroup.Aaps),
+ PLUGIN_DISABLED (ColorGroup.Aaps),
UNKNOWN (ColorGroup.Aaps)
;
@@ -125,6 +129,14 @@ data class UserEntry(
Actions, //From Actions plugin
Automation, //From Automation plugin
BG, //From BG plugin => Add One Source per BG Source for Calibration or Sensor Change
+ Dexcom,
+ Eversense,
+ Glimp,
+ MM640g,
+ NSClientSource,
+ PocTech,
+ Tomato,
+ Xdrip,
LocalProfile, //From LocalProfile plugin
Loop, //From Loop plugin
Maintenance, //From Maintenance plugin
@@ -152,6 +164,7 @@ data class UserEntry(
ConfigBuilder, //From ConfigBuilder Plugin
Overview, //From OverViewPlugin
Stats, //From Stat Activity
+ Aaps, // MainApp
Unknown //if necessary
;