diff --git a/app/build.gradle b/app/build.gradle index 8a404945f3..e3a302680b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -243,6 +243,7 @@ dependencies { wearApp project(':wear') implementation project(':core') + implementation project(':danars') implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.google.android.gms:play-services-wearable:17.0.0' diff --git a/app/src/main/java/info/nightscout/androidaps/dependencyInjection/ActivitiesModule.kt b/app/src/main/java/info/nightscout/androidaps/dependencyInjection/ActivitiesModule.kt index 1afa263919..f4b6e9a27a 100644 --- a/app/src/main/java/info/nightscout/androidaps/dependencyInjection/ActivitiesModule.kt +++ b/app/src/main/java/info/nightscout/androidaps/dependencyInjection/ActivitiesModule.kt @@ -13,9 +13,7 @@ import info.nightscout.androidaps.plugins.pump.common.dialog.RileyLinkBLEScanAct import info.nightscout.androidaps.plugins.pump.common.hw.rileylink.dialog.RileyLinkStatusActivity import info.nightscout.androidaps.plugins.pump.danaR.activities.DanaRHistoryActivity import info.nightscout.androidaps.plugins.pump.danaR.activities.DanaRUserOptionsActivity -import info.nightscout.androidaps.plugins.pump.danaRS.activities.BLEScanActivity import info.nightscout.androidaps.plugins.pump.danaRS.activities.EnterPinActivity -import info.nightscout.androidaps.plugins.pump.danaRS.activities.PairingHelperActivity import info.nightscout.androidaps.plugins.pump.insight.activities.InsightAlertActivity import info.nightscout.androidaps.plugins.pump.insight.activities.InsightPairingActivity import info.nightscout.androidaps.plugins.pump.insight.activities.InsightPairingInformationActivity @@ -26,7 +24,6 @@ import info.nightscout.androidaps.setupwizard.SetupWizardActivity @Suppress("unused") abstract class ActivitiesModule { - @ContributesAndroidInjector abstract fun contributesBLEScanActivity(): BLEScanActivity @ContributesAndroidInjector abstract fun contributeBolusProgressHelperActivity(): BolusProgressHelperActivity @ContributesAndroidInjector abstract fun contributeDanaRHistoryActivity(): DanaRHistoryActivity @ContributesAndroidInjector abstract fun contributeDanaRUserOptionsActivity(): DanaRUserOptionsActivity @@ -39,7 +36,6 @@ abstract class ActivitiesModule { @ContributesAndroidInjector abstract fun contributesLogSettingActivity(): LogSettingActivity @ContributesAndroidInjector abstract fun contributeMainActivity(): MainActivity @ContributesAndroidInjector abstract fun contributesMedtronicHistoryActivity(): MedtronicHistoryActivity - @ContributesAndroidInjector abstract fun contributesPairingHelperActivity(): PairingHelperActivity @ContributesAndroidInjector abstract fun contributesPreferencesActivity(): PreferencesActivity @ContributesAndroidInjector abstract fun contributesQuickWizardListActivity(): QuickWizardListActivity @ContributesAndroidInjector abstract fun contributesRequestDexcomPermissionActivity(): RequestDexcomPermissionActivity diff --git a/app/src/main/java/info/nightscout/androidaps/dependencyInjection/AppComponent.kt b/app/src/main/java/info/nightscout/androidaps/dependencyInjection/AppComponent.kt index f5b4139053..67feb4b4bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/dependencyInjection/AppComponent.kt +++ b/app/src/main/java/info/nightscout/androidaps/dependencyInjection/AppComponent.kt @@ -6,6 +6,7 @@ import dagger.android.AndroidInjectionModule import dagger.android.AndroidInjector import info.nightscout.androidaps.MainApp import info.nightscout.androidaps.core.dependencyInjection.CoreModule +import info.nightscout.androidaps.danars.dependencyInjection.DanaRSActivitiesModule import info.nightscout.androidaps.data.Profile import info.nightscout.androidaps.data.ProfileStore import info.nightscout.androidaps.data.PumpEnactResult @@ -71,7 +72,8 @@ import javax.inject.Singleton DataClassesModule::class, SMSModule::class, UIModule::class, - DanaRSCommModule::class + DanaRSCommModule::class, + DanaRSActivitiesModule::class ] ) interface AppComponent : AndroidInjector { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefs.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefs.kt index b859a1dee5..4d9021bb71 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefs.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/maintenance/ImportExportPrefs.kt @@ -217,7 +217,7 @@ class ImportExportPrefs @Inject constructor( fun importSharedPreferences(fragment: Fragment) { fragment.activity?.let { fragmentAct -> - val callForPrefFile = fragmentAct.prepareCall(PrefsFileContract()) { + val callForPrefFile = fragmentAct.registerForActivityResult(PrefsFileContract()) { it?.let { importSharedPreferences(fragmentAct, it) } @@ -227,7 +227,7 @@ class ImportExportPrefs @Inject constructor( } fun importSharedPreferences(activity: FragmentActivity) { - val callForPrefFile = activity.prepareCall(PrefsFileContract()) { + val callForPrefFile = activity.registerForActivityResult(PrefsFileContract()) { it?.let { importSharedPreferences(activity, it) } diff --git a/app/src/main/res/layout/danars_blescanner_item.xml b/app/src/main/res/layout/danars_blescanner_item.xml deleted file mode 100644 index 2c620b532f..0000000000 --- a/app/src/main/res/layout/danars_blescanner_item.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cc4f698551..a27829b954 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -798,17 +798,11 @@ Activate profile Date INVALID - Waiting for pairing on pump - Pairing OK - Pairing timed out Pairing danars_pairing_key_ danars_v3_randompairing_key_ danars_v3_pairing_key_ danars_v3_randomsync_key_ - danars_address - danars_name - No device found so far Empty reservoir Blood sugar measurement alert Remaining insulin level diff --git a/danars/.gitignore b/danars/.gitignore new file mode 100644 index 0000000000..796b96d1c4 --- /dev/null +++ b/danars/.gitignore @@ -0,0 +1 @@ +/build diff --git a/danars/build.gradle b/danars/build.gradle new file mode 100644 index 0000000000..96753367b4 --- /dev/null +++ b/danars/build.gradle @@ -0,0 +1,71 @@ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' + +android { + compileSdkVersion 28 + + defaultConfig { + minSdkVersion 23 + targetSdkVersion 28 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles 'consumer-rules.pro' + } + + kotlinOptions { + jvmTarget = '1.8' + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + debug { + testCoverageEnabled(project.hasProperty('coverage')) + } + firebaseDisable { + System.setProperty("disableFirebase", "true") + ext.enableCrashlytics = false + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation project(':core') + + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion" + + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.core:core-ktx:1.2.0' + implementation "androidx.activity:activity:${activityVersion}" + implementation "androidx.activity:activity-ktx:${activityVersion}" + + + implementation "com.google.dagger:dagger-android:$dagger_version" + implementation "com.google.dagger:dagger-android-support:$dagger_version" + annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version" + annotationProcessor "com.google.dagger:dagger-android-processor:$dagger_version" + kapt "com.google.dagger:dagger-android-processor:$dagger_version" + kapt "com.google.dagger:dagger-compiler:$dagger_version" + + //RxBus + implementation "io.reactivex.rxjava2:rxandroid:2.1.1" + + testImplementation 'junit:junit:4.13' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' +} + diff --git a/danars/consumer-rules.pro b/danars/consumer-rules.pro new file mode 100644 index 0000000000..e69de29bb2 diff --git a/danars/proguard-rules.pro b/danars/proguard-rules.pro new file mode 100644 index 0000000000..f1b424510d --- /dev/null +++ b/danars/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 diff --git a/danars/src/main/AndroidManifest.xml b/danars/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..128d47771d --- /dev/null +++ b/danars/src/main/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/danars/src/main/java/info/nightscout/androidaps/danars/dependencyInjection/DanaRSActivitiesModule.kt b/danars/src/main/java/info/nightscout/androidaps/danars/dependencyInjection/DanaRSActivitiesModule.kt new file mode 100644 index 0000000000..269fa7a131 --- /dev/null +++ b/danars/src/main/java/info/nightscout/androidaps/danars/dependencyInjection/DanaRSActivitiesModule.kt @@ -0,0 +1,14 @@ +package info.nightscout.androidaps.danars.dependencyInjection + +import dagger.Module +import dagger.android.ContributesAndroidInjector +import info.nightscout.androidaps.plugins.pump.danaRS.activities.BLEScanActivity +import info.nightscout.androidaps.plugins.pump.danaRS.activities.PairingHelperActivity + +@Module +@Suppress("unused") +abstract class DanaRSActivitiesModule { + + @ContributesAndroidInjector abstract fun contributesBLEScanActivity(): BLEScanActivity + @ContributesAndroidInjector abstract fun contributesPairingHelperActivity(): PairingHelperActivity +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/BLEScanActivity.kt b/danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/BLEScanActivity.kt similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/BLEScanActivity.kt rename to danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/BLEScanActivity.kt index d51dc5ab05..79024ca402 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/BLEScanActivity.kt +++ b/danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/BLEScanActivity.kt @@ -13,8 +13,8 @@ import android.view.View import android.view.ViewGroup import android.widget.BaseAdapter import android.widget.TextView -import info.nightscout.androidaps.R import info.nightscout.androidaps.activities.NoSplashAppCompatActivity +import info.nightscout.androidaps.danars.R import info.nightscout.androidaps.plugins.bus.RxBusWrapper import info.nightscout.androidaps.plugins.pump.common.ble.BlePreCheck import info.nightscout.androidaps.plugins.pump.danaRS.events.EventDanaRSDeviceChange diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/PairingHelperActivity.kt b/danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/PairingHelperActivity.kt similarity index 100% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/PairingHelperActivity.kt rename to danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/activities/PairingHelperActivity.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/dialogs/PairingProgressDialog.java b/danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/dialogs/PairingProgressDialog.java similarity index 94% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/dialogs/PairingProgressDialog.java rename to danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/dialogs/PairingProgressDialog.java index dcf17dc355..48a567c840 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/dialogs/PairingProgressDialog.java +++ b/danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/dialogs/PairingProgressDialog.java @@ -17,7 +17,7 @@ import android.widget.TextView; import javax.inject.Inject; import dagger.android.support.DaggerDialogFragment; -import info.nightscout.androidaps.R; +import info.nightscout.androidaps.danars.R; import info.nightscout.androidaps.plugins.bus.RxBusWrapper; import info.nightscout.androidaps.plugins.pump.danaRS.activities.PairingHelperActivity; import info.nightscout.androidaps.plugins.pump.danaRS.events.EventDanaRSPairingSuccess; @@ -63,7 +63,7 @@ public class PairingProgressDialog extends DaggerDialogFragment { if (activity != null) { activity.runOnUiThread(() -> { progressBar.setProgress(100); - statusView.setText(R.string.pairingok); + statusView.setText(R.string.danars_pairingok); try { Thread.sleep(1000); } catch (InterruptedException ignored) { @@ -84,7 +84,7 @@ public class PairingProgressDialog extends DaggerDialogFragment { if (activity != null) { activity.runOnUiThread(() -> { progressBar.setProgress(100); - statusView.setText(R.string.pairingtimedout); + statusView.setText(R.string.danars_pairingtimedout); button.setVisibility(View.VISIBLE); }); } @@ -140,7 +140,7 @@ public class PairingProgressDialog extends DaggerDialogFragment { private void setViews() { progressBar.setMax(100); progressBar.setProgress(0); - statusView.setText(resourceHelper.gs(R.string.waitingforpairing)); + statusView.setText(resourceHelper.gs(R.string.danars_waitingforpairing)); button.setVisibility(View.GONE); button.setOnClickListener(v -> dismiss()); handler.post(runnable); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSDeviceChange.kt b/danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSDeviceChange.kt similarity index 100% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSDeviceChange.kt rename to danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSDeviceChange.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSPairingSuccess.kt b/danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSPairingSuccess.kt similarity index 100% rename from app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSPairingSuccess.kt rename to danars/src/main/java/info/nightscout/androidaps/plugins/pump/danaRS/events/EventDanaRSPairingSuccess.kt diff --git a/app/src/main/res/layout/danars_blescanner_activity.xml b/danars/src/main/res/layout/danars_blescanner_activity.xml similarity index 88% rename from app/src/main/res/layout/danars_blescanner_activity.xml rename to danars/src/main/res/layout/danars_blescanner_activity.xml index 654f8c1fb6..fe9e25879c 100644 --- a/app/src/main/res/layout/danars_blescanner_activity.xml +++ b/danars/src/main/res/layout/danars_blescanner_activity.xml @@ -4,7 +4,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".plugins.pump.danaRS.activities.BLEScanActivity"> + tools:context="info.nightscout.androidaps.plugins.pump.danaRS.activities.BLEScanActivity"> diff --git a/danars/src/main/res/layout/danars_blescanner_item.xml b/danars/src/main/res/layout/danars_blescanner_item.xml new file mode 100644 index 0000000000..9a39302163 --- /dev/null +++ b/danars/src/main/res/layout/danars_blescanner_item.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/danars_pairingprogressdialog.xml b/danars/src/main/res/layout/danars_pairingprogressdialog.xml similarity index 100% rename from app/src/main/res/layout/danars_pairingprogressdialog.xml rename to danars/src/main/res/layout/danars_pairingprogressdialog.xml diff --git a/danars/src/main/res/values/strings.xml b/danars/src/main/res/values/strings.xml new file mode 100644 index 0000000000..f3f951e035 --- /dev/null +++ b/danars/src/main/res/values/strings.xml @@ -0,0 +1,14 @@ + + + danars_address + danars_name + + Pairing + No device found so far + Pairing OK + Pairing timed out + Waiting for pairing on pump + OK + Cancel + + diff --git a/settings.gradle b/settings.gradle index f7c8a5fc0a..cd2caae7bd 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':app', ':wear', ':core' \ No newline at end of file +include ':app', ':wear', ':core', ':danars'