From 6b298a03447defaac83b3c8ca25cb39643ad7ecb Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 6 Nov 2022 17:48:42 +0100 Subject: [PATCH] interfaces module --- app/build.gradle | 1 + .../nightscout/androidaps/di/AppModule.kt | 2 +- .../androidaps/utils/wizard/BolusWizard.kt | 2 +- automation/build.gradle | 1 + core/build.gradle | 1 + .../androidaps/interfaces/CarbTimer.kt | 19 ----------------- implementation/build.gradle | 1 + .../implementation/CarbTimerImpl.kt | 2 +- insight/build.gradle | 1 + interfaces/.gitignore | 1 + interfaces/build.gradle | 17 +++++++++++++++ interfaces/consumer-rules.pro | 0 interfaces/proguard-rules.pro | 21 +++++++++++++++++++ interfaces/src/main/AndroidManifest.xml | 4 ++++ .../info/nightscout/interfaces/CarbTimer.kt | 21 +++++++++++++++++++ plugins/build.gradle | 1 + pump/combo/build.gradle | 1 + pump/dana/build.gradle | 1 + pump/danar/build.gradle | 1 + pump/danars/build.gradle | 1 + pump/diaconn/build.gradle | 1 + pump/eopatch/build.gradle | 1 + pump/medtronic/build.gradle | 1 + pump/omnipod-common/build.gradle | 1 + pump/omnipod-dash/build.gradle | 1 + pump/omnipod-eros/build.gradle | 1 + pump/pump-common/build.gradle | 1 + pump/rileylink/build.gradle | 1 + settings.gradle | 1 + ui/build.gradle | 1 + .../info/nightscout/ui/dialogs/CarbsDialog.kt | 2 +- 31 files changed, 88 insertions(+), 23 deletions(-) create mode 100644 interfaces/.gitignore create mode 100644 interfaces/build.gradle create mode 100644 interfaces/consumer-rules.pro create mode 100644 interfaces/proguard-rules.pro create mode 100644 interfaces/src/main/AndroidManifest.xml create mode 100644 interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt diff --git a/app/build.gradle b/app/build.gradle index e88d6f2e3b..07aabedd6a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -182,6 +182,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':app-wear-shared:shared-impl') implementation project(':core') + implementation project(':interfaces') implementation project(':ui') implementation project(':plugins') implementation project(':implementation') diff --git a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt index 5d6110b1ea..b544c47072 100644 --- a/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/di/AppModule.kt @@ -15,7 +15,7 @@ import info.nightscout.androidaps.interfaces.AndroidPermission import info.nightscout.androidaps.interfaces.Autotune import info.nightscout.androidaps.interfaces.BolusTimer import info.nightscout.androidaps.interfaces.BuildHelper -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.ConfigBuilder diff --git a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt index ff0c0e3c51..6a57434c11 100644 --- a/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt +++ b/app/src/main/java/info/nightscout/androidaps/utils/wizard/BolusWizard.kt @@ -20,7 +20,7 @@ import info.nightscout.androidaps.extensions.lowValueToUnitsToString import info.nightscout.androidaps.interfaces.ActivePlugin import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.BolusTimer -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Config import info.nightscout.androidaps.interfaces.Constraint diff --git a/automation/build.gradle b/automation/build.gradle index 15984586c8..9e341a7efb 100644 --- a/automation/build.gradle +++ b/automation/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':database') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/core/build.gradle b/core/build.gradle index 013c8b3e62..65c02d25e4 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -16,6 +16,7 @@ dependencies { implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':database') + implementation project(':interfaces') } android { diff --git a/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt b/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt index d6bec7ebd3..09257d096d 100644 --- a/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt +++ b/core/src/main/java/info/nightscout/androidaps/interfaces/CarbTimer.kt @@ -1,21 +1,2 @@ package info.nightscout.androidaps.interfaces -interface CarbTimer { - - /** - * Generate reminder via [info.nightscout.androidaps.utils.TimerUtil] - * - * @param seconds seconds to the future - */ - fun scheduleTimeToEatReminder(seconds: Int) - - /** - * Create new Automation event to alarm when is time to eat - */ - fun scheduleAutomationEventEatReminder() - - /** - * Remove Automation event - */ - fun removeAutomationEventEatReminder() -} \ No newline at end of file diff --git a/implementation/build.gradle b/implementation/build.gradle index 73702d2206..fd1b013ab8 100644 --- a/implementation/build.gradle +++ b/implementation/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':automation') + implementation project(':interfaces') } \ No newline at end of file diff --git a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt index ff27d2d623..54ce862894 100644 --- a/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt +++ b/implementation/src/main/java/info/nightscout/implementation/CarbTimerImpl.kt @@ -1,7 +1,7 @@ package info.nightscout.implementation import dagger.android.HasAndroidInjector -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.GlucoseUnit import info.nightscout.androidaps.interfaces.ResourceHelper import info.nightscout.androidaps.utils.TimerUtil diff --git a/insight/build.gradle b/insight/build.gradle index 55d341a152..ff816bf0d1 100644 --- a/insight/build.gradle +++ b/insight/build.gradle @@ -25,6 +25,7 @@ android { dependencies { implementation project(':core') + implementation project(':interfaces') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') implementation project(':pump:pump-common') diff --git a/interfaces/.gitignore b/interfaces/.gitignore new file mode 100644 index 0000000000..42afabfd2a --- /dev/null +++ b/interfaces/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/interfaces/build.gradle b/interfaces/build.gradle new file mode 100644 index 0000000000..1cab3f05e0 --- /dev/null +++ b/interfaces/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-kapt' +apply plugin: 'kotlin-allopen' +apply plugin: 'com.hiya.jacoco-android' +apply plugin: 'kotlinx-serialization' + +apply from: "${project.rootDir}/core/android_dependencies.gradle" +apply from: "${project.rootDir}/core/android_module_dependencies.gradle" + +android { + + namespace 'info.nightscout.interfaces' +} + +dependencies { +} \ No newline at end of file diff --git a/interfaces/consumer-rules.pro b/interfaces/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/interfaces/proguard-rules.pro b/interfaces/proguard-rules.pro new file mode 100644 index 0000000000..481bb43481 --- /dev/null +++ b/interfaces/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/interfaces/src/main/AndroidManifest.xml b/interfaces/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..a5918e68ab --- /dev/null +++ b/interfaces/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt b/interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt new file mode 100644 index 0000000000..b7c472a775 --- /dev/null +++ b/interfaces/src/main/java/info/nightscout/interfaces/CarbTimer.kt @@ -0,0 +1,21 @@ +package info.nightscout.interfaces + +interface CarbTimer { + + /** + * Generate reminder via [info.nightscout.androidaps.utils.TimerUtil] + * + * @param seconds seconds to the future + */ + fun scheduleTimeToEatReminder(seconds: Int) + + /** + * Create new Automation event to alarm when is time to eat + */ + fun scheduleAutomationEventEatReminder() + + /** + * Remove Automation event + */ + fun removeAutomationEventEatReminder() +} \ No newline at end of file diff --git a/plugins/build.gradle b/plugins/build.gradle index 8b37792c94..f75226f9a9 100644 --- a/plugins/build.gradle +++ b/plugins/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':database') implementation project(':graphview') implementation project(':core') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/combo/build.gradle b/pump/combo/build.gradle index 5f505c6b16..d1fd47f9bc 100644 --- a/pump/combo/build.gradle +++ b/pump/combo/build.gradle @@ -17,4 +17,5 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/dana/build.gradle b/pump/dana/build.gradle index d028827598..b0e76a4a93 100644 --- a/pump/dana/build.gradle +++ b/pump/dana/build.gradle @@ -27,6 +27,7 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/danar/build.gradle b/pump/danar/build.gradle index 1133e24ce4..ff7ca88e4e 100644 --- a/pump/danar/build.gradle +++ b/pump/danar/build.gradle @@ -17,4 +17,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:dana') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/danars/build.gradle b/pump/danars/build.gradle index 71e20363e9..4b0c9c7502 100644 --- a/pump/danars/build.gradle +++ b/pump/danars/build.gradle @@ -26,4 +26,5 @@ dependencies { implementation project(':pump:dana') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/diaconn/build.gradle b/pump/diaconn/build.gradle index c280447986..c036072701 100644 --- a/pump/diaconn/build.gradle +++ b/pump/diaconn/build.gradle @@ -27,6 +27,7 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/eopatch/build.gradle b/pump/eopatch/build.gradle index 34029f9c87..ae89e54fdd 100644 --- a/pump/eopatch/build.gradle +++ b/pump/eopatch/build.gradle @@ -24,6 +24,7 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core') + implementation project(':interfaces') //RxAndroidBle implementation "com.polidea.rxandroidble3:rxandroidble:1.16.0" diff --git a/pump/medtronic/build.gradle b/pump/medtronic/build.gradle index 329e75473a..a2f71383c8 100644 --- a/pump/medtronic/build.gradle +++ b/pump/medtronic/build.gradle @@ -19,4 +19,5 @@ dependencies { implementation project(':core') implementation project(':pump:pump-common') implementation project(':pump:rileylink') + implementation project(':interfaces') } diff --git a/pump/omnipod-common/build.gradle b/pump/omnipod-common/build.gradle index 88f2979c2b..ba9c9049be 100644 --- a/pump/omnipod-common/build.gradle +++ b/pump/omnipod-common/build.gradle @@ -18,4 +18,5 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') } \ No newline at end of file diff --git a/pump/omnipod-dash/build.gradle b/pump/omnipod-dash/build.gradle index 34fce83489..ca810fd435 100644 --- a/pump/omnipod-dash/build.gradle +++ b/pump/omnipod-dash/build.gradle @@ -37,6 +37,7 @@ dependencies { implementation project(':core') implementation project(':pump:pump-common') implementation project(':pump:omnipod-common') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/omnipod-eros/build.gradle b/pump/omnipod-eros/build.gradle index 177c839b0f..86bc40cf90 100644 --- a/pump/omnipod-eros/build.gradle +++ b/pump/omnipod-eros/build.gradle @@ -31,6 +31,7 @@ dependencies { implementation project(':pump:pump-common') implementation project(':pump:rileylink') implementation project(':pump:omnipod-common') + implementation project(':interfaces') api "androidx.room:room-ktx:$room_version" api "androidx.room:room-runtime:$room_version" diff --git a/pump/pump-common/build.gradle b/pump/pump-common/build.gradle index 65880c9874..2ffd366f4a 100644 --- a/pump/pump-common/build.gradle +++ b/pump/pump-common/build.gradle @@ -16,6 +16,7 @@ dependencies { implementation project(':core') implementation project(':app-wear-shared:rx') implementation project(':app-wear-shared:shared') + implementation project(':interfaces') implementation('com.thoughtworks.xstream:xstream:1.4.19') { exclude group: 'xmlpull', module: 'xmlpull' diff --git a/pump/rileylink/build.gradle b/pump/rileylink/build.gradle index 222096180d..d0c2e070ea 100644 --- a/pump/rileylink/build.gradle +++ b/pump/rileylink/build.gradle @@ -17,4 +17,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':core') implementation project(':pump:pump-common') + implementation project(':interfaces') } diff --git a/settings.gradle b/settings.gradle index ac368ddd8f..b7634b6113 100644 --- a/settings.gradle +++ b/settings.gradle @@ -26,3 +26,4 @@ include ':pump:pump-common' include ':pump:rileylink' include ':openhumans' include ':automation' +include ':interfaces' diff --git a/ui/build.gradle b/ui/build.gradle index afb2dae005..6abc4cbb62 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -19,4 +19,5 @@ dependencies { implementation project(':app-wear-shared:shared') implementation project(':database') implementation project(':core') + implementation project(':interfaces') } \ No newline at end of file diff --git a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt index 5b9b67873d..55349df801 100644 --- a/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt +++ b/ui/src/main/java/info/nightscout/ui/dialogs/CarbsDialog.kt @@ -19,7 +19,7 @@ import info.nightscout.androidaps.dialogs.DialogFragmentWithDate import info.nightscout.androidaps.extensions.formatColor import info.nightscout.androidaps.interfaces.ActivityNames import info.nightscout.androidaps.interfaces.BolusTimer -import info.nightscout.androidaps.interfaces.CarbTimer +import info.nightscout.interfaces.CarbTimer import info.nightscout.androidaps.interfaces.CommandQueue import info.nightscout.androidaps.interfaces.Constraint import info.nightscout.androidaps.interfaces.GlucoseUnit