:plugins:configuration cleanup

This commit is contained in:
Milos Kozak 2023-09-21 18:59:20 +02:00
parent 7c7879e0b0
commit 7b07580881
66 changed files with 267 additions and 298 deletions

View file

@ -29,6 +29,9 @@ import androidx.core.view.GravityCompat
import androidx.core.view.MenuCompat import androidx.core.view.MenuCompat
import androidx.core.view.MenuProvider import androidx.core.view.MenuProvider
import androidx.viewpager2.widget.ViewPager2 import androidx.viewpager2.widget.ViewPager2
import app.aaps.configuration.activities.DaggerAppCompatActivityWithResult
import app.aaps.configuration.activities.SingleFragmentActivity
import app.aaps.configuration.setupwizard.SetupWizardActivity
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.tabs.TabLayoutMediator
import com.google.firebase.crashlytics.FirebaseCrashlytics import com.google.firebase.crashlytics.FirebaseCrashlytics
@ -37,9 +40,6 @@ import com.joanzapata.iconify.fonts.FontAwesomeModule
import info.nightscout.androidaps.activities.HistoryBrowseActivity import info.nightscout.androidaps.activities.HistoryBrowseActivity
import info.nightscout.androidaps.activities.PreferencesActivity import info.nightscout.androidaps.activities.PreferencesActivity
import info.nightscout.androidaps.databinding.ActivityMainBinding import info.nightscout.androidaps.databinding.ActivityMainBinding
import info.nightscout.configuration.activities.DaggerAppCompatActivityWithResult
import info.nightscout.configuration.activities.SingleFragmentActivity
import info.nightscout.configuration.setupwizard.SetupWizardActivity
import info.nightscout.core.ui.UIRunnable import info.nightscout.core.ui.UIRunnable
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
import info.nightscout.core.ui.locale.LocaleHelper import info.nightscout.core.ui.locale.LocaleHelper
@ -207,8 +207,8 @@ class MainActivity : DaggerAppCompatActivityWithResult() {
R.id.nav_about -> { R.id.nav_about -> {
var message = "Build: ${BuildConfig.BUILDVERSION}\n" var message = "Build: ${BuildConfig.BUILDVERSION}\n"
message += "Flavor: ${BuildConfig.FLAVOR}${BuildConfig.BUILD_TYPE}\n" message += "Flavor: ${BuildConfig.FLAVOR}${BuildConfig.BUILD_TYPE}\n"
message += "${rh.gs(info.nightscout.configuration.R.string.configbuilder_nightscoutversion_label)} ${activePlugin.activeNsClient?.detectedNsVersion() ?: rh.gs(info.nightscout.plugins.R.string.not_available_full)}" message += "${rh.gs(app.aaps.configuration.R.string.configbuilder_nightscoutversion_label)} ${activePlugin.activeNsClient?.detectedNsVersion() ?: rh.gs(info.nightscout.plugins.R.string.not_available_full)}"
if (config.isEngineeringMode()) message += "\n${rh.gs(info.nightscout.configuration.R.string.engineering_mode_enabled)}" if (config.isEngineeringMode()) message += "\n${rh.gs(app.aaps.configuration.R.string.engineering_mode_enabled)}"
if (config.isUnfinishedMode()) message += "\nUnfinished mode enabled" if (config.isUnfinishedMode()) message += "\nUnfinished mode enabled"
if (!fabricPrivacy.fabricEnabled()) message += "\n${rh.gs(info.nightscout.core.ui.R.string.fabric_upload_disabled)}" if (!fabricPrivacy.fabricEnabled()) message += "\n${rh.gs(info.nightscout.core.ui.R.string.fabric_upload_disabled)}"
message += rh.gs(info.nightscout.core.ui.R.string.about_link_urls) message += rh.gs(info.nightscout.core.ui.R.string.about_link_urls)
@ -307,7 +307,7 @@ class MainActivity : DaggerAppCompatActivityWithResult() {
} }
private fun startWizard(): Boolean = private fun startWizard(): Boolean =
!sp.getBoolean(info.nightscout.configuration.R.string.key_setupwizard_processed, false) !sp.getBoolean(app.aaps.configuration.R.string.key_setupwizard_processed, false)
override fun onPostCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { override fun onPostCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
super.onPostCreate(savedInstanceState, persistentState) super.onPostCreate(savedInstanceState, persistentState)

View file

@ -223,8 +223,8 @@ class MainApp : DaggerApplication() {
} }
if (!sp.contains(info.nightscout.plugins.sync.R.string.key_ns_log_app_started_event)) if (!sp.contains(info.nightscout.plugins.sync.R.string.key_ns_log_app_started_event))
sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_log_app_started_event, config.APS) sp.putBoolean(info.nightscout.plugins.sync.R.string.key_ns_log_app_started_event, config.APS)
if (sp.getString(info.nightscout.configuration.R.string.key_maintenance_logs_email, "") == "logs@androidaps.org") if (sp.getString(app.aaps.configuration.R.string.key_maintenance_logs_email, "") == "logs@androidaps.org")
sp.putString(info.nightscout.configuration.R.string.key_maintenance_logs_email, "logs@aaps.app") sp.putString(app.aaps.configuration.R.string.key_maintenance_logs_email, "logs@aaps.app")
// fix values for theme switching // fix values for theme switching
sp.putString(info.nightscout.plugins.R.string.value_dark_theme, "dark") sp.putString(info.nightscout.plugins.R.string.value_dark_theme, "dark")
sp.putString(info.nightscout.plugins.R.string.value_light_theme, "light") sp.putString(info.nightscout.plugins.R.string.value_light_theme, "light")

View file

@ -15,6 +15,7 @@ import androidx.preference.PreferenceGroup
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.preference.PreferenceScreen import androidx.preference.PreferenceScreen
import androidx.preference.size import androidx.preference.size
import app.aaps.configuration.maintenance.MaintenancePlugin
import dagger.android.support.AndroidSupportInjection import dagger.android.support.AndroidSupportInjection
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin
@ -24,7 +25,6 @@ import info.nightscout.androidaps.plugins.pump.eopatch.EopatchPumpPlugin
import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin
import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin
import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.AutomationPlugin
import info.nightscout.configuration.maintenance.MaintenancePlugin
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
import info.nightscout.implementation.plugin.PluginStore import info.nightscout.implementation.plugin.PluginStore
import info.nightscout.insulin.InsulinOrefFreePeakPlugin import info.nightscout.insulin.InsulinOrefFreePeakPlugin
@ -226,7 +226,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
addPreferencesFromResourceIfEnabled(wearPlugin, rootKey) addPreferencesFromResourceIfEnabled(wearPlugin, rootKey)
addPreferencesFromResourceIfEnabled(statusLinePlugin, rootKey) addPreferencesFromResourceIfEnabled(statusLinePlugin, rootKey)
addPreferencesFromResource(R.xml.pref_alerts, rootKey) addPreferencesFromResource(R.xml.pref_alerts, rootKey)
addPreferencesFromResource(info.nightscout.configuration.R.xml.pref_datachoices, rootKey) addPreferencesFromResource(app.aaps.configuration.R.xml.pref_datachoices, rootKey)
addPreferencesFromResourceIfEnabled(maintenancePlugin, rootKey) addPreferencesFromResourceIfEnabled(maintenancePlugin, rootKey)
addPreferencesFromResourceIfEnabled(openHumansUploaderPlugin, rootKey) addPreferencesFromResourceIfEnabled(openHumansUploaderPlugin, rootKey)
} }
@ -251,7 +251,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
} }
if (key == rh.gs(info.nightscout.plugins.aps.R.string.key_openapsama_use_autosens) && sp.getBoolean(info.nightscout.plugins.aps.R.string.key_openapsama_use_autosens, false)) { if (key == rh.gs(info.nightscout.plugins.aps.R.string.key_openapsama_use_autosens) && sp.getBoolean(info.nightscout.plugins.aps.R.string.key_openapsama_use_autosens, false)) {
activity?.let { activity?.let {
OKDialog.show(it, rh.gs(info.nightscout.configuration.R.string.configbuilder_sensitivity), rh.gs(R.string.sensitivity_warning)) OKDialog.show(it, rh.gs(app.aaps.configuration.R.string.configbuilder_sensitivity), rh.gs(R.string.sensitivity_warning))
} }
} }
checkForBiometricFallback(key) checkForBiometricFallback(key)
@ -276,7 +276,8 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
) { ) {
activity?.let { activity?.let {
val title = rh.gs(info.nightscout.core.ui.R.string.unsecure_fallback_biometric) val title = rh.gs(info.nightscout.core.ui.R.string.unsecure_fallback_biometric)
val message = rh.gs(info.nightscout.configuration.R.string.master_password_missing, rh.gs(info.nightscout.configuration.R.string.configbuilder_general), rh.gs(info.nightscout.configuration.R.string.protection)) val message =
rh.gs(app.aaps.configuration.R.string.master_password_missing, rh.gs(app.aaps.configuration.R.string.configbuilder_general), rh.gs(app.aaps.configuration.R.string.protection))
OKDialog.show(it, title = title, message = message) OKDialog.show(it, title = title, message = message)
} }
} }
@ -441,7 +442,7 @@ class MyPreferenceFragment : PreferenceFragmentCompat(), OnSharedPreferenceChang
override fun onPreferenceTreeClick(preference: Preference): Boolean { override fun onPreferenceTreeClick(preference: Preference): Boolean {
context?.let { context -> context?.let { context ->
if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_master_password)) { if (preference.key == rh.gs(info.nightscout.core.utils.R.string.key_master_password)) {
passwordCheck.queryPassword(context, info.nightscout.configuration.R.string.current_master_password, info.nightscout.core.utils.R.string.key_master_password, { passwordCheck.queryPassword(context, app.aaps.configuration.R.string.current_master_password, info.nightscout.core.utils.R.string.key_master_password, {
passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.master_password, info.nightscout.core.utils.R.string.key_master_password) passwordCheck.setPassword(context, info.nightscout.core.ui.R.string.master_password, info.nightscout.core.utils.R.string.key_master_password)
}) })
return true return true

View file

@ -8,9 +8,9 @@ import androidx.appcompat.widget.SearchView
import androidx.core.view.MenuProvider import androidx.core.view.MenuProvider
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceScreen import androidx.preference.PreferenceScreen
import app.aaps.configuration.activities.DaggerAppCompatActivityWithResult
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.databinding.ActivityPreferencesBinding import info.nightscout.androidaps.databinding.ActivityPreferencesBinding
import info.nightscout.configuration.activities.DaggerAppCompatActivityWithResult
class PreferencesActivity : DaggerAppCompatActivityWithResult(), PreferenceFragmentCompat.OnPreferenceStartScreenCallback { class PreferencesActivity : DaggerAppCompatActivityWithResult(), PreferenceFragmentCompat.OnPreferenceStartScreenCallback {
@ -25,7 +25,7 @@ class PreferencesActivity : DaggerAppCompatActivityWithResult(), PreferenceFragm
binding = ActivityPreferencesBinding.inflate(layoutInflater) binding = ActivityPreferencesBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
title = rh.gs(info.nightscout.configuration.R.string.nav_preferences) title = rh.gs(app.aaps.configuration.R.string.nav_preferences)
supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true) supportActionBar?.setDisplayShowHomeEnabled(true)
myPreferenceFragment = MyPreferenceFragment() myPreferenceFragment = MyPreferenceFragment()

View file

@ -1,5 +1,6 @@
package info.nightscout.androidaps.di package info.nightscout.androidaps.di
import app.aaps.configuration.di.ConfigurationModule
import app.aaps.shared.impl.di.SharedImplModule import app.aaps.shared.impl.di.SharedImplModule
import dagger.BindsInstance import dagger.BindsInstance
import dagger.Component import dagger.Component
@ -15,7 +16,6 @@ import info.nightscout.androidaps.plugins.pump.medtronic.di.MedtronicModule
import info.nightscout.androidaps.plugins.pump.omnipod.dash.di.OmnipodDashModule import info.nightscout.androidaps.plugins.pump.omnipod.dash.di.OmnipodDashModule
import info.nightscout.androidaps.plugins.pump.omnipod.eros.di.OmnipodErosModule import info.nightscout.androidaps.plugins.pump.omnipod.eros.di.OmnipodErosModule
import info.nightscout.automation.di.AutomationModule import info.nightscout.automation.di.AutomationModule
import info.nightscout.configuration.di.ConfigurationModule
import info.nightscout.core.di.CoreModule import info.nightscout.core.di.CoreModule
import info.nightscout.core.validators.di.ValidatorsModule import info.nightscout.core.validators.di.ValidatorsModule
import info.nightscout.database.impl.DatabaseModule import info.nightscout.database.impl.DatabaseModule

View file

@ -1,5 +1,7 @@
package info.nightscout.androidaps.di package info.nightscout.androidaps.di
import app.aaps.configuration.configBuilder.ConfigBuilderPlugin
import app.aaps.configuration.maintenance.MaintenancePlugin
import dagger.Binds import dagger.Binds
import dagger.Module import dagger.Module
import dagger.multibindings.IntKey import dagger.multibindings.IntKey
@ -7,15 +9,12 @@ import dagger.multibindings.IntoMap
import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin import info.nightscout.androidaps.danaRKorean.DanaRKoreanPlugin
import info.nightscout.androidaps.danaRv2.DanaRv2Plugin import info.nightscout.androidaps.danaRv2.DanaRv2Plugin
import info.nightscout.androidaps.danar.DanaRPlugin import info.nightscout.androidaps.danar.DanaRPlugin
import info.nightscout.plugins.sync.openhumans.OpenHumansUploaderPlugin
import info.nightscout.androidaps.plugins.pump.eopatch.EopatchPumpPlugin import info.nightscout.androidaps.plugins.pump.eopatch.EopatchPumpPlugin
import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin import info.nightscout.androidaps.plugins.pump.insight.LocalInsightPlugin
import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin import info.nightscout.androidaps.plugins.pump.medtronic.MedtronicPumpPlugin
import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.dash.OmnipodDashPumpPlugin
import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin import info.nightscout.androidaps.plugins.pump.omnipod.eros.OmnipodErosPumpPlugin
import info.nightscout.automation.AutomationPlugin import info.nightscout.automation.AutomationPlugin
import info.nightscout.configuration.configBuilder.ConfigBuilderPlugin
import info.nightscout.configuration.maintenance.MaintenancePlugin
import info.nightscout.insulin.InsulinLyumjevPlugin import info.nightscout.insulin.InsulinLyumjevPlugin
import info.nightscout.insulin.InsulinOrefFreePeakPlugin import info.nightscout.insulin.InsulinOrefFreePeakPlugin
import info.nightscout.insulin.InsulinOrefRapidActingPlugin import info.nightscout.insulin.InsulinOrefRapidActingPlugin
@ -42,12 +41,13 @@ import info.nightscout.plugins.profile.ProfilePlugin
import info.nightscout.plugins.sync.dataBroadcaster.DataBroadcastPlugin import info.nightscout.plugins.sync.dataBroadcaster.DataBroadcastPlugin
import info.nightscout.plugins.sync.nsclient.NSClientPlugin import info.nightscout.plugins.sync.nsclient.NSClientPlugin
import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin import info.nightscout.plugins.sync.nsclientV3.NSClientV3Plugin
import info.nightscout.plugins.sync.openhumans.OpenHumansUploaderPlugin
import info.nightscout.plugins.sync.tidepool.TidepoolPlugin import info.nightscout.plugins.sync.tidepool.TidepoolPlugin
import info.nightscout.plugins.sync.xdrip.XdripPlugin import info.nightscout.plugins.sync.xdrip.XdripPlugin
import info.nightscout.pump.combo.ComboPlugin import info.nightscout.pump.combo.ComboPlugin
import info.nightscout.pump.combov2.ComboV2Plugin import info.nightscout.pump.combov2.ComboV2Plugin
import info.nightscout.pump.medtrum.MedtrumPlugin
import info.nightscout.pump.diaconn.DiaconnG8Plugin import info.nightscout.pump.diaconn.DiaconnG8Plugin
import info.nightscout.pump.medtrum.MedtrumPlugin
import info.nightscout.pump.virtual.VirtualPumpPlugin import info.nightscout.pump.virtual.VirtualPumpPlugin
import info.nightscout.sensitivity.SensitivityAAPSPlugin import info.nightscout.sensitivity.SensitivityAAPSPlugin
import info.nightscout.sensitivity.SensitivityOref1Plugin import info.nightscout.sensitivity.SensitivityOref1Plugin

View file

@ -6,13 +6,13 @@ import android.os.Bundle
import androidx.annotation.RawRes import androidx.annotation.RawRes
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import app.aaps.configuration.activities.SingleFragmentActivity
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.androidaps.MainActivity import info.nightscout.androidaps.MainActivity
import info.nightscout.androidaps.R 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.configuration.activities.SingleFragmentActivity
import info.nightscout.core.events.EventNewNotification import info.nightscout.core.events.EventNewNotification
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
@ -160,6 +160,7 @@ class UiInteractionImpl @Inject constructor(
} }
.show(fragmentManager, "CareDialog") .show(fragmentManager, "CareDialog")
} }
override fun runBolusProgressDialog(fragmentManager: FragmentManager, insulin: Double, id: Long) { override fun runBolusProgressDialog(fragmentManager: FragmentManager, insulin: Double, id: Long) {
BolusProgressDialog().also { BolusProgressDialog().also {
it.setInsulin(insulin) it.setInsulin(insulin)

View file

@ -9,9 +9,9 @@ import androidx.work.WorkManager
import androidx.work.WorkQuery import androidx.work.WorkQuery
import androidx.work.WorkerParameters import androidx.work.WorkerParameters
import androidx.work.workDataOf import androidx.work.workDataOf
import app.aaps.configuration.maintenance.MaintenancePlugin
import com.google.common.util.concurrent.ListenableFuture import com.google.common.util.concurrent.ListenableFuture
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.configuration.maintenance.MaintenancePlugin
import info.nightscout.core.profile.ProfileSealed import info.nightscout.core.profile.ProfileSealed
import info.nightscout.core.utils.worker.LoggingWorker import info.nightscout.core.utils.worker.LoggingWorker
import info.nightscout.database.impl.AppRepository import info.nightscout.database.impl.AppRepository

View file

@ -1,9 +1,9 @@
package info.nightscout.plugins.configBuilder package info.nightscout.plugins.configBuilder
import app.aaps.configuration.configBuilder.ConfigBuilderPlugin
import app.aaps.shared.tests.TestBase import app.aaps.shared.tests.TestBase
import dagger.android.AndroidInjector import dagger.android.AndroidInjector
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.configBuilder.ConfigBuilderPlugin
import info.nightscout.interfaces.logging.UserEntryLogger import info.nightscout.interfaces.logging.UserEntryLogger
import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.ActivePlugin
import info.nightscout.interfaces.protection.ProtectionCheck import info.nightscout.interfaces.protection.ProtectionCheck

View file

@ -1,10 +1,10 @@
package info.nightscout.plugins.general.maintenance package info.nightscout.plugins.general.maintenance
import android.content.Context import android.content.Context
import app.aaps.configuration.maintenance.MaintenancePlugin
import app.aaps.shared.tests.TestBase import app.aaps.shared.tests.TestBase
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.maintenance.MaintenancePlugin
import info.nightscout.interfaces.Config import info.nightscout.interfaces.Config
import info.nightscout.interfaces.logging.LoggerUtils import info.nightscout.interfaces.logging.LoggerUtils
import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.maintenance.PrefFileListProvider

View file

@ -12,7 +12,7 @@ apply from: "${project.rootDir}/core/main/allopen_dependencies.gradle"
apply from: "${project.rootDir}/core/main/test_dependencies.gradle" apply from: "${project.rootDir}/core/main/test_dependencies.gradle"
apply from: "${project.rootDir}/core/main/jacoco_global.gradle" apply from: "${project.rootDir}/core/main/jacoco_global.gradle"
android { android {
namespace 'info.nightscout.configuration' namespace 'app.aaps.configuration'
} }

View file

@ -22,7 +22,7 @@
android:exported="false" android:exported="false"
android:theme="@style/AppTheme" /> android:theme="@style/AppTheme" />
<activity <activity
android:name="info.nightscout.configuration.activities.SingleFragmentActivity" android:name=".activities.SingleFragmentActivity"
android:exported="false" android:exported="false"
android:theme="@style/AppTheme" /> android:theme="@style/AppTheme" />

View file

@ -1,6 +0,0 @@
package info.nightscout.configuration.setupwizard;
// keep in java, it's easier
public interface SWIntNumberValidator {
boolean isValid(int value);
}

View file

@ -1,6 +0,0 @@
package info.nightscout.configuration.setupwizard;
// keep in java, it's easier
public interface SWNumberValidator {
boolean isValid(double value);
}

View file

@ -1,6 +0,0 @@
package info.nightscout.configuration.setupwizard;
// keep in java, it's easier
public interface SWTextValidator {
boolean isValid(String text);
}

View file

@ -1,6 +0,0 @@
package info.nightscout.configuration.setupwizard;
// keep in java, it's easier
public interface SWValidator {
boolean isValid();
}

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration package app.aaps.configuration
import android.Manifest import android.Manifest
import android.annotation.SuppressLint import android.annotation.SuppressLint
@ -13,7 +13,7 @@ import android.os.PowerManager
import android.provider.Settings import android.provider.Settings
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import info.nightscout.configuration.activities.DaggerAppCompatActivityWithResult import app.aaps.configuration.activities.DaggerAppCompatActivityWithResult
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.core.ui.toast.ToastUtils
import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.AndroidPermission

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.activities package app.aaps.configuration.activities
import android.Manifest import android.Manifest
import android.content.Context import android.content.Context
@ -6,10 +6,10 @@ import android.content.pm.PackageManager
import android.os.Bundle import android.os.Bundle
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import app.aaps.configuration.R
import app.aaps.configuration.maintenance.CustomWatchfaceFileContract
import app.aaps.configuration.maintenance.PrefsFileContract
import dagger.android.support.DaggerAppCompatActivity import dagger.android.support.DaggerAppCompatActivity
import info.nightscout.configuration.R
import info.nightscout.configuration.maintenance.CustomWatchfaceFileContract
import info.nightscout.configuration.maintenance.PrefsFileContract
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
import info.nightscout.core.ui.locale.LocaleHelper import info.nightscout.core.ui.locale.LocaleHelper
import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.maintenance.ImportExportPrefs

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.activities package app.aaps.configuration.activities
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.activities package app.aaps.configuration.activities
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@ -6,7 +6,7 @@ import android.view.Menu
import android.view.MenuInflater import android.view.MenuInflater
import android.view.MenuItem import android.view.MenuItem
import androidx.core.view.MenuProvider import androidx.core.view.MenuProvider
import info.nightscout.configuration.R import app.aaps.configuration.R
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.protection.ProtectionCheck import info.nightscout.interfaces.protection.ProtectionCheck
@ -52,7 +52,7 @@ class SingleFragmentActivity : DaggerAppCompatActivityWithResult() {
R.id.nav_plugin_preferences -> { R.id.nav_plugin_preferences -> {
protectionCheck.queryProtection(this@SingleFragmentActivity, ProtectionCheck.Protection.PREFERENCES, { protectionCheck.queryProtection(this@SingleFragmentActivity, ProtectionCheck.Protection.PREFERENCES, {
val i = Intent(this@SingleFragmentActivity, uiInteraction.preferencesActivity) val i = Intent(this@SingleFragmentActivity, uiInteraction.preferencesActivity)
.setAction("info.nightscout.configuration.activities.SingleFragmentActivity") .setAction("app.aaps.configuration.activities.SingleFragmentActivity")
.putExtra("id", plugin?.preferencesId) .putExtra("id", plugin?.preferencesId)
startActivity(i) startActivity(i)
}, null) }, null)

View file

@ -1,13 +1,13 @@
package info.nightscout.configuration.configBuilder package app.aaps.configuration.configBuilder
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import app.aaps.configuration.R
import app.aaps.configuration.configBuilder.events.EventConfigBuilderUpdateGui
import app.aaps.configuration.databinding.ConfigbuilderFragmentBinding
import dagger.android.support.DaggerFragment import dagger.android.support.DaggerFragment
import info.nightscout.configuration.R
import info.nightscout.configuration.configBuilder.events.EventConfigBuilderUpdateGui
import info.nightscout.configuration.databinding.ConfigbuilderFragmentBinding
import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.core.utils.fabric.FabricPrivacy
import info.nightscout.interfaces.Config import info.nightscout.interfaces.Config
import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.ConfigBuilder

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.configBuilder package app.aaps.configuration.configBuilder
import android.content.Intent import android.content.Intent
import android.view.LayoutInflater import android.view.LayoutInflater
@ -13,9 +13,9 @@ import androidx.annotation.StringRes
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import app.aaps.configuration.R
import app.aaps.configuration.configBuilder.events.EventConfigBuilderUpdateGui
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.R
import info.nightscout.configuration.configBuilder.events.EventConfigBuilderUpdateGui
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
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

View file

@ -1,10 +1,9 @@
package info.nightscout.configuration.configBuilder package app.aaps.configuration.configBuilder
import info.nightscout.configuration.R import app.aaps.configuration.R
import info.nightscout.interfaces.Config import info.nightscout.interfaces.Config
import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.ConfigBuilder
import info.nightscout.interfaces.aps.Sensitivity import info.nightscout.interfaces.aps.Sensitivity
import info.nightscout.sdk.interfaces.RunningConfiguration
import info.nightscout.interfaces.insulin.Insulin import info.nightscout.interfaces.insulin.Insulin
import info.nightscout.interfaces.notifications.Notification import info.nightscout.interfaces.notifications.Notification
import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.ActivePlugin
@ -17,6 +16,7 @@ import info.nightscout.rx.bus.RxBus
import info.nightscout.rx.events.EventNSClientNewLog import info.nightscout.rx.events.EventNSClientNewLog
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 info.nightscout.sdk.interfaces.RunningConfiguration
import info.nightscout.sdk.localmodel.devicestatus.NSDeviceStatus import info.nightscout.sdk.localmodel.devicestatus.NSDeviceStatus
import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.interfaces.ResourceHelper
import info.nightscout.shared.sharedPreferences.SP import info.nightscout.shared.sharedPreferences.SP

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.configBuilder.events package app.aaps.configuration.configBuilder.events
import info.nightscout.rx.events.EventUpdateGui import info.nightscout.rx.events.EventUpdateGui

View file

@ -1,25 +1,25 @@
package info.nightscout.configuration.di package app.aaps.configuration.di
import app.aaps.configuration.AndroidPermissionImpl
import app.aaps.configuration.activities.SingleFragmentActivity
import app.aaps.configuration.configBuilder.ConfigBuilderFragment
import app.aaps.configuration.configBuilder.ConfigBuilderPlugin
import app.aaps.configuration.configBuilder.RunningConfigurationImpl
import app.aaps.configuration.maintenance.ImportExportPrefsImpl
import app.aaps.configuration.maintenance.MaintenanceFragment
import app.aaps.configuration.maintenance.PrefFileListProviderImpl
import app.aaps.configuration.maintenance.activities.CustomWatchfaceImportListActivity
import app.aaps.configuration.maintenance.activities.LogSettingActivity
import app.aaps.configuration.maintenance.activities.PrefImportListActivity
import app.aaps.configuration.maintenance.formats.EncryptedPrefsFormat
import dagger.Binds import dagger.Binds
import dagger.Module import dagger.Module
import dagger.android.ContributesAndroidInjector import dagger.android.ContributesAndroidInjector
import info.nightscout.configuration.AndroidPermissionImpl
import info.nightscout.configuration.activities.SingleFragmentActivity
import info.nightscout.configuration.configBuilder.ConfigBuilderFragment
import info.nightscout.configuration.configBuilder.ConfigBuilderPlugin
import info.nightscout.configuration.configBuilder.RunningConfigurationImpl
import info.nightscout.configuration.maintenance.ImportExportPrefsImpl
import info.nightscout.configuration.maintenance.MaintenanceFragment
import info.nightscout.configuration.maintenance.PrefFileListProviderImpl
import info.nightscout.configuration.maintenance.activities.CustomWatchfaceImportListActivity
import info.nightscout.configuration.maintenance.activities.LogSettingActivity
import info.nightscout.configuration.maintenance.activities.PrefImportListActivity
import info.nightscout.configuration.maintenance.formats.EncryptedPrefsFormat
import info.nightscout.interfaces.AndroidPermission import info.nightscout.interfaces.AndroidPermission
import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.ConfigBuilder
import info.nightscout.sdk.interfaces.RunningConfiguration
import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.maintenance.ImportExportPrefs
import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.maintenance.PrefFileListProvider
import info.nightscout.sdk.interfaces.RunningConfiguration
@Module( @Module(
includes = [ includes = [

View file

@ -1,25 +1,25 @@
package info.nightscout.configuration.di package app.aaps.configuration.di
import app.aaps.configuration.setupwizard.SWEventListener
import app.aaps.configuration.setupwizard.SWScreen
import app.aaps.configuration.setupwizard.SetupWizardActivity
import app.aaps.configuration.setupwizard.elements.SWBreak
import app.aaps.configuration.setupwizard.elements.SWButton
import app.aaps.configuration.setupwizard.elements.SWEditEncryptedPassword
import app.aaps.configuration.setupwizard.elements.SWEditIntNumber
import app.aaps.configuration.setupwizard.elements.SWEditNumber
import app.aaps.configuration.setupwizard.elements.SWEditNumberWithUnits
import app.aaps.configuration.setupwizard.elements.SWEditString
import app.aaps.configuration.setupwizard.elements.SWEditUrl
import app.aaps.configuration.setupwizard.elements.SWFragment
import app.aaps.configuration.setupwizard.elements.SWHtmlLink
import app.aaps.configuration.setupwizard.elements.SWInfoText
import app.aaps.configuration.setupwizard.elements.SWItem
import app.aaps.configuration.setupwizard.elements.SWPlugin
import app.aaps.configuration.setupwizard.elements.SWPreference
import app.aaps.configuration.setupwizard.elements.SWRadioButton
import dagger.Module import dagger.Module
import dagger.android.ContributesAndroidInjector import dagger.android.ContributesAndroidInjector
import info.nightscout.configuration.setupwizard.SWEventListener
import info.nightscout.configuration.setupwizard.SWScreen
import info.nightscout.configuration.setupwizard.SetupWizardActivity
import info.nightscout.configuration.setupwizard.elements.SWBreak
import info.nightscout.configuration.setupwizard.elements.SWButton
import info.nightscout.configuration.setupwizard.elements.SWEditEncryptedPassword
import info.nightscout.configuration.setupwizard.elements.SWEditIntNumber
import info.nightscout.configuration.setupwizard.elements.SWEditNumber
import info.nightscout.configuration.setupwizard.elements.SWEditNumberWithUnits
import info.nightscout.configuration.setupwizard.elements.SWEditString
import info.nightscout.configuration.setupwizard.elements.SWEditUrl
import info.nightscout.configuration.setupwizard.elements.SWFragment
import info.nightscout.configuration.setupwizard.elements.SWHtmlLink
import info.nightscout.configuration.setupwizard.elements.SWInfoText
import info.nightscout.configuration.setupwizard.elements.SWItem
import info.nightscout.configuration.setupwizard.elements.SWPlugin
import info.nightscout.configuration.setupwizard.elements.SWPreference
import info.nightscout.configuration.setupwizard.elements.SWRadioButton
@Module @Module
@Suppress("unused") @Suppress("unused")

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.maintenance package app.aaps.configuration.maintenance
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@ -8,6 +8,7 @@ import androidx.fragment.app.FragmentActivity
class CustomWatchfaceFileContract : ActivityResultContract<Void?, Unit?>() { class CustomWatchfaceFileContract : ActivityResultContract<Void?, Unit?>() {
companion object { companion object {
const val OUTPUT_PARAM = "custom_file" const val OUTPUT_PARAM = "custom_file"
} }
@ -19,6 +20,6 @@ class CustomWatchfaceFileContract: ActivityResultContract<Void?, Unit?>() {
} }
override fun createIntent(context: Context, input: Void?): Intent { override fun createIntent(context: Context, input: Void?): Intent {
return Intent(context, info.nightscout.configuration.maintenance.activities.CustomWatchfaceImportListActivity::class.java) return Intent(context, app.aaps.configuration.maintenance.activities.CustomWatchfaceImportListActivity::class.java)
} }
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.maintenance package app.aaps.configuration.maintenance
import android.Manifest import android.Manifest
import android.bluetooth.BluetoothManager import android.bluetooth.BluetoothManager
@ -18,11 +18,16 @@ import androidx.work.OneTimeWorkRequest
import androidx.work.WorkManager import androidx.work.WorkManager
import androidx.work.WorkerParameters import androidx.work.WorkerParameters
import androidx.work.workDataOf import androidx.work.workDataOf
import app.aaps.configuration.R
import app.aaps.configuration.activities.DaggerAppCompatActivityWithResult
import app.aaps.configuration.maintenance.data.PrefFileNotFoundError
import app.aaps.configuration.maintenance.data.PrefIOError
import app.aaps.configuration.maintenance.data.Prefs
import app.aaps.configuration.maintenance.data.PrefsFormat
import app.aaps.configuration.maintenance.data.PrefsStatusImpl
import app.aaps.configuration.maintenance.dialogs.PrefImportSummaryDialog
import app.aaps.configuration.maintenance.formats.EncryptedPrefsFormat
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.R
import info.nightscout.configuration.activities.DaggerAppCompatActivityWithResult
import info.nightscout.configuration.maintenance.dialogs.PrefImportSummaryDialog
import info.nightscout.configuration.maintenance.formats.EncryptedPrefsFormat
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
import info.nightscout.core.ui.dialogs.TwoMessagesAlertDialog import info.nightscout.core.ui.dialogs.TwoMessagesAlertDialog
import info.nightscout.core.ui.dialogs.WarningDialog import info.nightscout.core.ui.dialogs.WarningDialog
@ -37,14 +42,9 @@ import info.nightscout.interfaces.db.PersistenceLayer
import info.nightscout.interfaces.logging.UserEntryLogger import info.nightscout.interfaces.logging.UserEntryLogger
import info.nightscout.interfaces.maintenance.ImportExportPrefs import info.nightscout.interfaces.maintenance.ImportExportPrefs
import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.maintenance.PrefFileListProvider
import info.nightscout.interfaces.maintenance.PrefFileNotFoundError
import info.nightscout.interfaces.maintenance.PrefIOError
import info.nightscout.interfaces.maintenance.PrefMetadata import info.nightscout.interfaces.maintenance.PrefMetadata
import info.nightscout.interfaces.maintenance.Prefs
import info.nightscout.interfaces.maintenance.PrefsFile import info.nightscout.interfaces.maintenance.PrefsFile
import info.nightscout.interfaces.maintenance.PrefsFormat
import info.nightscout.interfaces.maintenance.PrefsMetadataKey import info.nightscout.interfaces.maintenance.PrefsMetadataKey
import info.nightscout.interfaces.maintenance.PrefsStatusImpl
import info.nightscout.interfaces.protection.PasswordCheck import info.nightscout.interfaces.protection.PasswordCheck
import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.storage.Storage
import info.nightscout.interfaces.ui.UiInteraction import info.nightscout.interfaces.ui.UiInteraction

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.maintenance package app.aaps.configuration.maintenance
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@ -6,10 +6,10 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.text.toSpanned import androidx.core.text.toSpanned
import app.aaps.configuration.R
import app.aaps.configuration.databinding.MaintenanceFragmentBinding
import app.aaps.configuration.maintenance.activities.LogSettingActivity
import dagger.android.support.DaggerFragment import dagger.android.support.DaggerFragment
import info.nightscout.configuration.R
import info.nightscout.configuration.databinding.MaintenanceFragmentBinding
import info.nightscout.configuration.maintenance.activities.LogSettingActivity
import info.nightscout.core.graph.OverviewData import info.nightscout.core.graph.OverviewData
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
import info.nightscout.core.utils.HtmlHelper import info.nightscout.core.utils.HtmlHelper

View file

@ -1,11 +1,11 @@
package info.nightscout.configuration.maintenance package app.aaps.configuration.maintenance
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import app.aaps.configuration.R
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.R
import info.nightscout.interfaces.Config import info.nightscout.interfaces.Config
import info.nightscout.interfaces.logging.LoggerUtils import info.nightscout.interfaces.logging.LoggerUtils
import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.maintenance.PrefFileListProvider

View file

@ -1,20 +1,20 @@
package info.nightscout.configuration.maintenance package app.aaps.configuration.maintenance
import android.content.Context import android.content.Context
import android.os.Environment import android.os.Environment
import app.aaps.configuration.R
import app.aaps.configuration.maintenance.data.PrefMetadataMap
import app.aaps.configuration.maintenance.data.PrefsStatusImpl
import app.aaps.configuration.maintenance.formats.EncryptedPrefsFormat
import dagger.Lazy import dagger.Lazy
import dagger.Reusable import dagger.Reusable
import info.nightscout.annotations.OpenForTesting import info.nightscout.annotations.OpenForTesting
import info.nightscout.configuration.R
import info.nightscout.configuration.maintenance.formats.EncryptedPrefsFormat
import info.nightscout.interfaces.Config import info.nightscout.interfaces.Config
import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.maintenance.PrefFileListProvider
import info.nightscout.interfaces.maintenance.PrefMetadata import info.nightscout.interfaces.maintenance.PrefMetadata
import info.nightscout.interfaces.maintenance.PrefMetadataMap
import info.nightscout.interfaces.maintenance.PrefsFile import info.nightscout.interfaces.maintenance.PrefsFile
import info.nightscout.interfaces.maintenance.PrefsImportDir import info.nightscout.interfaces.maintenance.PrefsImportDir
import info.nightscout.interfaces.maintenance.PrefsMetadataKey import info.nightscout.interfaces.maintenance.PrefsMetadataKey
import info.nightscout.interfaces.maintenance.PrefsStatusImpl
import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.storage.Storage
import info.nightscout.interfaces.versionChecker.VersionCheckerUtils import info.nightscout.interfaces.versionChecker.VersionCheckerUtils
import info.nightscout.rx.bus.RxBus import info.nightscout.rx.bus.RxBus

View file

@ -1,10 +1,10 @@
package info.nightscout.configuration.maintenance package app.aaps.configuration.maintenance
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import androidx.activity.result.contract.ActivityResultContract import androidx.activity.result.contract.ActivityResultContract
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import info.nightscout.configuration.maintenance.activities.PrefImportListActivity import app.aaps.configuration.maintenance.activities.PrefImportListActivity
import info.nightscout.core.utils.extensions.safeGetParcelableExtra import info.nightscout.core.utils.extensions.safeGetParcelableExtra
import info.nightscout.interfaces.maintenance.PrefsFile import info.nightscout.interfaces.maintenance.PrefsFile

View file

@ -1,10 +1,10 @@
package info.nightscout.configuration.maintenance package app.aaps.configuration.maintenance
import android.content.Context import android.content.Context
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import androidx.annotation.StringRes import androidx.annotation.StringRes
import info.nightscout.configuration.R import app.aaps.configuration.R
import info.nightscout.interfaces.maintenance.PrefsFormat import app.aaps.configuration.maintenance.data.PrefsFormat
import info.nightscout.interfaces.maintenance.PrefsMetadataKey import info.nightscout.interfaces.maintenance.PrefsMetadataKey
enum class PrefsMetadataKeyImpl(override val key: String, @DrawableRes override val icon: Int, @StringRes override val label: Int) : PrefsMetadataKey { enum class PrefsMetadataKeyImpl(override val key: String, @DrawableRes override val icon: Int, @StringRes override val label: Int) : PrefsMetadataKey {

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.maintenance.activities package app.aaps.configuration.maintenance.activities
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@ -7,9 +7,9 @@ import android.view.ViewGroup
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import info.nightscout.configuration.R import app.aaps.configuration.R
import info.nightscout.configuration.databinding.CustomWatchfaceImportListActivityBinding import app.aaps.configuration.databinding.CustomWatchfaceImportListActivityBinding
import info.nightscout.configuration.databinding.CustomWatchfaceImportListItemBinding import app.aaps.configuration.databinding.CustomWatchfaceImportListItemBinding
import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity
import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.maintenance.PrefFileListProvider
import info.nightscout.interfaces.versionChecker.VersionCheckerUtils import info.nightscout.interfaces.versionChecker.VersionCheckerUtils
@ -18,7 +18,6 @@ import info.nightscout.rx.events.EventMobileDataToWear
import info.nightscout.rx.logging.AAPSLogger import info.nightscout.rx.logging.AAPSLogger
import info.nightscout.rx.weardata.CUSTOM_VERSION import info.nightscout.rx.weardata.CUSTOM_VERSION
import info.nightscout.rx.weardata.CwfData import info.nightscout.rx.weardata.CwfData
import info.nightscout.rx.weardata.ResFileMap
import info.nightscout.rx.weardata.CwfMetadataKey.CWF_AUTHOR import info.nightscout.rx.weardata.CwfMetadataKey.CWF_AUTHOR
import info.nightscout.rx.weardata.CwfMetadataKey.CWF_AUTHOR_VERSION import info.nightscout.rx.weardata.CwfMetadataKey.CWF_AUTHOR_VERSION
import info.nightscout.rx.weardata.CwfMetadataKey.CWF_CREATED_AT import info.nightscout.rx.weardata.CwfMetadataKey.CWF_CREATED_AT
@ -27,6 +26,7 @@ import info.nightscout.rx.weardata.CwfMetadataKey.CWF_NAME
import info.nightscout.rx.weardata.CwfMetadataKey.CWF_VERSION import info.nightscout.rx.weardata.CwfMetadataKey.CWF_VERSION
import info.nightscout.rx.weardata.CwfMetadataMap import info.nightscout.rx.weardata.CwfMetadataMap
import info.nightscout.rx.weardata.EventData import info.nightscout.rx.weardata.EventData
import info.nightscout.rx.weardata.ResFileMap
import info.nightscout.rx.weardata.ZipWatchfaceFormat import info.nightscout.rx.weardata.ZipWatchfaceFormat
import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.extensions.toVisibility
import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.interfaces.ResourceHelper

View file

@ -1,12 +1,12 @@
package info.nightscout.configuration.maintenance.activities package app.aaps.configuration.maintenance.activities
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.CheckBox import android.widget.CheckBox
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import info.nightscout.configuration.R import app.aaps.configuration.R
import info.nightscout.configuration.databinding.ActivityLogsettingBinding import app.aaps.configuration.databinding.ActivityLogsettingBinding
import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity
import info.nightscout.rx.interfaces.L import info.nightscout.rx.interfaces.L
import info.nightscout.rx.interfaces.LogElement import info.nightscout.rx.interfaces.LogElement

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.maintenance.activities package app.aaps.configuration.maintenance.activities
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@ -8,15 +8,15 @@ import android.view.ViewGroup
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import info.nightscout.configuration.R import app.aaps.configuration.R
import info.nightscout.configuration.databinding.MaintenanceImportListActivityBinding import app.aaps.configuration.databinding.MaintenanceImportListActivityBinding
import info.nightscout.configuration.databinding.MaintenanceImportListItemBinding import app.aaps.configuration.databinding.MaintenanceImportListItemBinding
import info.nightscout.configuration.maintenance.PrefsFileContract import app.aaps.configuration.maintenance.PrefsFileContract
import info.nightscout.configuration.maintenance.PrefsMetadataKeyImpl import app.aaps.configuration.maintenance.PrefsMetadataKeyImpl
import app.aaps.configuration.maintenance.data.PrefsStatusImpl
import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity import info.nightscout.core.ui.activities.TranslatedDaggerAppCompatActivity
import info.nightscout.interfaces.maintenance.PrefFileListProvider import info.nightscout.interfaces.maintenance.PrefFileListProvider
import info.nightscout.interfaces.maintenance.PrefsFile import info.nightscout.interfaces.maintenance.PrefsFile
import info.nightscout.interfaces.maintenance.PrefsStatusImpl
import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.interfaces.ResourceHelper
import javax.inject.Inject import javax.inject.Inject

View file

@ -1,7 +1,10 @@
package info.nightscout.interfaces.maintenance package app.aaps.configuration.maintenance.data
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import info.nightscout.configuration.R import app.aaps.configuration.R
import info.nightscout.interfaces.maintenance.PrefMetadata
import info.nightscout.interfaces.maintenance.PrefsMetadataKey
import info.nightscout.interfaces.maintenance.PrefsStatus
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import java.io.File import java.io.File

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.maintenance.dialogs package app.aaps.configuration.maintenance.dialogs
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -16,11 +16,11 @@ import androidx.annotation.DrawableRes
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.annotation.StyleRes import androidx.annotation.StyleRes
import androidx.appcompat.view.ContextThemeWrapper import androidx.appcompat.view.ContextThemeWrapper
import app.aaps.configuration.R
import app.aaps.configuration.maintenance.data.Prefs
import app.aaps.configuration.maintenance.data.PrefsStatusImpl
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import info.nightscout.configuration.R
import info.nightscout.core.ui.toast.ToastUtils import info.nightscout.core.ui.toast.ToastUtils
import info.nightscout.interfaces.maintenance.Prefs
import info.nightscout.interfaces.maintenance.PrefsStatusImpl
import info.nightscout.shared.extensions.runOnUiThread import info.nightscout.shared.extensions.runOnUiThread
import java.util.LinkedList import java.util.LinkedList

View file

@ -1,20 +1,20 @@
package info.nightscout.configuration.maintenance.formats package app.aaps.configuration.maintenance.formats
import info.nightscout.configuration.R import app.aaps.configuration.R
import info.nightscout.configuration.maintenance.PrefsMetadataKeyImpl import app.aaps.configuration.maintenance.PrefsMetadataKeyImpl
import app.aaps.configuration.maintenance.data.PrefFileNotFoundError
import app.aaps.configuration.maintenance.data.PrefFormatError
import app.aaps.configuration.maintenance.data.PrefIOError
import app.aaps.configuration.maintenance.data.PrefMetadataMap
import app.aaps.configuration.maintenance.data.Prefs
import app.aaps.configuration.maintenance.data.PrefsFormat
import app.aaps.configuration.maintenance.data.PrefsStatusImpl
import info.nightscout.core.utils.CryptoUtil import info.nightscout.core.utils.CryptoUtil
import info.nightscout.core.utils.hexStringToByteArray import info.nightscout.core.utils.hexStringToByteArray
import info.nightscout.core.utils.toHex import info.nightscout.core.utils.toHex
import info.nightscout.interfaces.maintenance.PrefFileNotFoundError
import info.nightscout.interfaces.maintenance.PrefFormatError
import info.nightscout.interfaces.maintenance.PrefIOError
import info.nightscout.interfaces.maintenance.PrefMetadata import info.nightscout.interfaces.maintenance.PrefMetadata
import info.nightscout.interfaces.maintenance.PrefMetadataMap
import info.nightscout.interfaces.maintenance.Prefs
import info.nightscout.interfaces.maintenance.PrefsFormat
import info.nightscout.interfaces.maintenance.PrefsMetadataKey import info.nightscout.interfaces.maintenance.PrefsMetadataKey
import info.nightscout.interfaces.maintenance.PrefsStatus import info.nightscout.interfaces.maintenance.PrefsStatus
import info.nightscout.interfaces.maintenance.PrefsStatusImpl
import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.storage.Storage
import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.interfaces.ResourceHelper
import org.json.JSONException import org.json.JSONException

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard package app.aaps.configuration.setupwizard
import android.Manifest import android.Manifest
import android.content.Context import android.content.Context
@ -6,21 +6,21 @@ import android.content.Intent
import android.net.Uri import android.net.Uri
import android.provider.Settings import android.provider.Settings
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import app.aaps.configuration.R
import app.aaps.configuration.setupwizard.elements.SWBreak
import app.aaps.configuration.setupwizard.elements.SWButton
import app.aaps.configuration.setupwizard.elements.SWEditEncryptedPassword
import app.aaps.configuration.setupwizard.elements.SWEditIntNumber
import app.aaps.configuration.setupwizard.elements.SWEditNumber
import app.aaps.configuration.setupwizard.elements.SWEditNumberWithUnits
import app.aaps.configuration.setupwizard.elements.SWEditString
import app.aaps.configuration.setupwizard.elements.SWFragment
import app.aaps.configuration.setupwizard.elements.SWHtmlLink
import app.aaps.configuration.setupwizard.elements.SWInfoText
import app.aaps.configuration.setupwizard.elements.SWPlugin
import app.aaps.configuration.setupwizard.elements.SWPreference
import app.aaps.configuration.setupwizard.elements.SWRadioButton
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.R
import info.nightscout.configuration.setupwizard.elements.SWBreak
import info.nightscout.configuration.setupwizard.elements.SWButton
import info.nightscout.configuration.setupwizard.elements.SWEditEncryptedPassword
import info.nightscout.configuration.setupwizard.elements.SWEditIntNumber
import info.nightscout.configuration.setupwizard.elements.SWEditNumber
import info.nightscout.configuration.setupwizard.elements.SWEditNumberWithUnits
import info.nightscout.configuration.setupwizard.elements.SWEditString
import info.nightscout.configuration.setupwizard.elements.SWFragment
import info.nightscout.configuration.setupwizard.elements.SWHtmlLink
import info.nightscout.configuration.setupwizard.elements.SWInfoText
import info.nightscout.configuration.setupwizard.elements.SWPlugin
import info.nightscout.configuration.setupwizard.elements.SWPreference
import info.nightscout.configuration.setupwizard.elements.SWRadioButton
import info.nightscout.core.profile.ProfileSealed import info.nightscout.core.profile.ProfileSealed
import info.nightscout.core.utils.CryptoUtil import info.nightscout.core.utils.CryptoUtil
import info.nightscout.core.utils.isRunningTest import info.nightscout.core.utils.isRunningTest
@ -207,7 +207,7 @@ class SWDefinition @Inject constructor(
get() = SWScreen(injector, R.string.patient_name) get() = SWScreen(injector, R.string.patient_name)
.skippable(true) .skippable(true)
.add(SWInfoText(injector).label(R.string.patient_name_summary)) .add(SWInfoText(injector).label(R.string.patient_name_summary))
.add(SWEditString(injector).validator(SWTextValidator(String::isNotEmpty)).preferenceId(info.nightscout.core.utils.R.string.key_patient_name)) .add(SWEditString(injector).validator(String::isNotEmpty).preferenceId(info.nightscout.core.utils.R.string.key_patient_name))
private val privacy private val privacy
get() = SWScreen(injector, R.string.privacy_settings) get() = SWScreen(injector, R.string.privacy_settings)
@ -308,10 +308,8 @@ class SWDefinition @Inject constructor(
.add( // Omnipod Eros only .add( // Omnipod Eros only
SWInfoText(injector) SWInfoText(injector)
.label(R.string.setupwizard_pump_waiting_for_riley_link_connection) .label(R.string.setupwizard_pump_waiting_for_riley_link_connection)
.visibility { .visibility { activePlugin.activePump.let { it is OmnipodEros && !it.isRileyLinkReady() } }
val activePump = activePlugin.activePump )
activePump is OmnipodEros && !activePump.isRileyLinkReady()
})
.add( // Omnipod Eros only .add( // Omnipod Eros only
SWEventListener(injector, EventSWRLStatus::class.java) SWEventListener(injector, EventSWRLStatus::class.java)
.label(R.string.setupwizard_pump_riley_link_status) .label(R.string.setupwizard_pump_riley_link_status)

View file

@ -1,18 +1,19 @@
package info.nightscout.configuration.setupwizard package app.aaps.configuration.setupwizard
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import app.aaps.configuration.setupwizard.elements.SWItem
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.elements.SWItem
import info.nightscout.rx.AapsSchedulers import info.nightscout.rx.AapsSchedulers
import info.nightscout.rx.events.EventStatus import info.nightscout.rx.events.EventStatus
import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.disposables.CompositeDisposable
import io.reactivex.rxjava3.kotlin.plusAssign
import javax.inject.Inject import javax.inject.Inject
class SWEventListener constructor( class SWEventListener(
injector: HasAndroidInjector, injector: HasAndroidInjector,
clazz: Class<out EventStatus> clazz: Class<out EventStatus>
) : SWItem(injector, Type.LISTENER) { ) : SWItem(injector, Type.LISTENER) {
@ -21,14 +22,14 @@ class SWEventListener constructor(
private var textLabel = 0 private var textLabel = 0
private var status = "" private var status = ""
private var textView: TextView? = null private var textView: TextView? = null
private var visibilityValidator: SWValidator? = null private var visibilityValidator: (() -> Boolean)? = null
@Inject lateinit var aapsSchedulers: AapsSchedulers @Inject lateinit var aapsSchedulers: AapsSchedulers
@Inject lateinit var context: Context @Inject lateinit var context: Context
// TODO: Adrian how to clear disposable in this case? // TODO: Adrian how to clear disposable in this case?
init { init {
disposable.add(rxBus disposable += rxBus
.toObservable(clazz) .toObservable(clazz)
.observeOn(aapsSchedulers.main) .observeOn(aapsSchedulers.main)
.subscribe { event: Any -> .subscribe { event: Any ->
@ -36,7 +37,6 @@ class SWEventListener constructor(
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
textView?.text = (if (textLabel != 0) rh.gs(textLabel) else "") + " " + status textView?.text = (if (textLabel != 0) rh.gs(textLabel) else "") + " " + status
} }
)
} }
override fun label(label: Int): SWEventListener { override fun label(label: Int): SWEventListener {
@ -49,7 +49,7 @@ class SWEventListener constructor(
return this return this
} }
fun visibility(visibilityValidator: SWValidator): SWEventListener { fun visibility(visibilityValidator: () -> Boolean): SWEventListener {
this.visibilityValidator = visibilityValidator this.visibilityValidator = visibilityValidator
return this return this
} }
@ -64,6 +64,6 @@ class SWEventListener constructor(
} }
override fun processVisibility() { override fun processVisibility() {
if (visibilityValidator != null && !visibilityValidator!!.isValid) textView?.visibility = View.GONE else textView?.visibility = View.VISIBLE if (visibilityValidator?.invoke() == false) textView?.visibility = View.GONE else textView?.visibility = View.VISIBLE
} }
} }

View file

@ -1,7 +1,7 @@
package info.nightscout.configuration.setupwizard package app.aaps.configuration.setupwizard
import app.aaps.configuration.setupwizard.elements.SWItem
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.elements.SWItem
import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.interfaces.ResourceHelper
import javax.inject.Inject import javax.inject.Inject
@ -10,8 +10,8 @@ class SWScreen(val injector: HasAndroidInjector, private var header: Int) {
@Inject lateinit var rh: ResourceHelper @Inject lateinit var rh: ResourceHelper
var items: MutableList<SWItem> = ArrayList() var items: MutableList<SWItem> = ArrayList()
var validator: SWValidator? = null var validator: (() -> Boolean)? = null
var visibility: SWValidator? = null var visibility: (() -> Boolean)? = null
var skippable = false var skippable = false
init { init {
@ -32,12 +32,12 @@ class SWScreen(val injector: HasAndroidInjector, private var header: Int) {
return this return this
} }
fun validator(validator: SWValidator): SWScreen { fun validator(validator: () -> Boolean): SWScreen {
this.validator = validator this.validator = validator
return this return this
} }
fun visibility(visibility: SWValidator): SWScreen { fun visibility(visibility: () -> Boolean): SWScreen {
this.visibility = visibility this.visibility = visibility
return this return this
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard package app.aaps.configuration.setupwizard
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@ -9,11 +9,11 @@ import android.view.View
import android.widget.TextView import android.widget.TextView
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import androidx.core.view.MenuProvider import androidx.core.view.MenuProvider
import app.aaps.configuration.R
import app.aaps.configuration.activities.DaggerAppCompatActivityWithResult
import app.aaps.configuration.databinding.ActivitySetupwizardBinding
import app.aaps.configuration.setupwizard.elements.SWItem
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.R
import info.nightscout.configuration.activities.DaggerAppCompatActivityWithResult
import info.nightscout.configuration.databinding.ActivitySetupwizardBinding
import info.nightscout.configuration.setupwizard.elements.SWItem
import info.nightscout.core.ui.dialogs.OKDialog import info.nightscout.core.ui.dialogs.OKDialog
import info.nightscout.core.ui.locale.LocaleHelper.update import info.nightscout.core.ui.locale.LocaleHelper.update
import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.core.utils.fabric.FabricPrivacy
@ -146,7 +146,7 @@ class SetupWizardActivity : DaggerAppCompatActivityWithResult() {
override fun updateButtons() { override fun updateButtons() {
runOnUiThread { runOnUiThread {
val currentScreen = screens[currentWizardPage] val currentScreen = screens[currentWizardPage]
if (currentScreen.validator == null || currentScreen.validator?.isValid == true || currentScreen.skippable) { if (currentScreen.validator == null || currentScreen.validator?.invoke() == true || currentScreen.skippable) {
if (currentWizardPage == nextPage(null)) { if (currentWizardPage == nextPage(null)) {
findViewById<View>(R.id.finish_button).visibility = View.VISIBLE findViewById<View>(R.id.finish_button).visibility = View.VISIBLE
findViewById<View>(R.id.next_button).visibility = View.GONE findViewById<View>(R.id.next_button).visibility = View.GONE
@ -166,7 +166,7 @@ class SetupWizardActivity : DaggerAppCompatActivityWithResult() {
@Suppress("UNUSED_PARAMETER") @Suppress("UNUSED_PARAMETER")
fun showNextPage(view: View?) { fun showNextPage(view: View?) {
finish() finish()
val intent = Intent(this, SetupWizardActivity::class.java).setAction("info.nightscout.configuration.setupwizard.SetupWizardActivity") val intent = Intent(this, SetupWizardActivity::class.java).setAction("app.aaps.configuration.setupwizard.SetupWizardActivity")
intent.putExtra(intentMessage, nextPage(null)) intent.putExtra(intentMessage, nextPage(null))
startActivity(intent) startActivity(intent)
} }
@ -174,7 +174,7 @@ class SetupWizardActivity : DaggerAppCompatActivityWithResult() {
@Suppress("UNUSED_PARAMETER") @Suppress("UNUSED_PARAMETER")
fun showPreviousPage(view: View?) { fun showPreviousPage(view: View?) {
finish() finish()
val intent = Intent(this, SetupWizardActivity::class.java).setAction("info.nightscout.configuration.setupwizard.SetupWizardActivity") val intent = Intent(this, SetupWizardActivity::class.java).setAction("app.aaps.configuration.setupwizard.SetupWizardActivity")
intent.putExtra(intentMessage, previousPage(null)) intent.putExtra(intentMessage, previousPage(null))
startActivity(intent) startActivity(intent)
} }
@ -183,7 +183,7 @@ class SetupWizardActivity : DaggerAppCompatActivityWithResult() {
@Suppress("UNUSED_PARAMETER") @Suppress("UNUSED_PARAMETER")
fun finishSetupWizard(view: View?) { fun finishSetupWizard(view: View?) {
sp.putBoolean(R.string.key_setupwizard_processed, true) sp.putBoolean(R.string.key_setupwizard_processed, true)
val intent = Intent(this, uiInteraction.mainActivity).setAction("info.nightscout.configuration.setupwizard.SetupWizardActivity") val intent = Intent(this, uiInteraction.mainActivity).setAction("app.aaps.configuration.setupwizard.SetupWizardActivity")
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(intent) startActivity(intent)
finish() finish()
@ -193,7 +193,7 @@ class SetupWizardActivity : DaggerAppCompatActivityWithResult() {
private fun nextPage(view: View?): Int { private fun nextPage(view: View?): Int {
var page = currentWizardPage + 1 var page = currentWizardPage + 1
while (page < screens.size) { while (page < screens.size) {
if (screens[page].visibility == null || screens[page].visibility?.isValid == true) return page if (screens[page].visibility == null || screens[page].visibility?.invoke() == true) return page
page++ page++
} }
return min(currentWizardPage, screens.size - 1) return min(currentWizardPage, screens.size - 1)
@ -203,7 +203,7 @@ class SetupWizardActivity : DaggerAppCompatActivityWithResult() {
private fun previousPage(view: View?): Int { private fun previousPage(view: View?): Int {
var page = currentWizardPage - 1 var page = currentWizardPage - 1
while (page >= 0) { while (page >= 0) {
if (screens[page].visibility == null || screens[page].visibility?.isValid == true) return page if (screens[page].visibility == null || screens[page].visibility?.invoke() == true) return page
page-- page--
} }
return max(currentWizardPage, 0) return max(currentWizardPage, 0)

View file

@ -1,16 +1,16 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWValidator
class SWBreak(injector: HasAndroidInjector) : SWItem(injector, Type.BREAK) { class SWBreak(injector: HasAndroidInjector) : SWItem(injector, Type.BREAK) {
private var l: TextView? = null
private var visibilityValidator: SWValidator? = null
fun visibility(visibilityValidator: SWValidator): SWBreak { private var l: TextView? = null
private var visibilityValidator: (() -> Boolean)? = null
fun visibility(visibilityValidator: () -> Boolean): SWBreak {
this.visibilityValidator = visibilityValidator this.visibilityValidator = visibilityValidator
return this return this
} }
@ -24,8 +24,7 @@ class SWBreak(injector: HasAndroidInjector) : SWItem(injector, Type.BREAK) {
} }
override fun processVisibility() { override fun processVisibility() {
if (visibilityValidator != null && !visibilityValidator!!.isValid) if (visibilityValidator?.invoke() == false) l?.visibility = View.GONE
l?.visibility = View.GONE
else l?.visibility = View.VISIBLE else l?.visibility = View.VISIBLE
} }
} }

View file

@ -1,15 +1,15 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.view.View import android.view.View
import android.widget.Button import android.widget.Button
import android.widget.LinearLayout import android.widget.LinearLayout
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWValidator
class SWButton(injector: HasAndroidInjector) : SWItem(injector, Type.BUTTON) { class SWButton(injector: HasAndroidInjector) : SWItem(injector, Type.BUTTON) {
private var buttonRunnable: Runnable? = null private var buttonRunnable: Runnable? = null
private var buttonText = 0 private var buttonText = 0
private var buttonValidator: SWValidator? = null private var buttonValidator: (() -> Boolean)? = { false }
private var button: Button? = null private var button: Button? = null
fun text(buttonText: Int): SWButton { fun text(buttonText: Int): SWButton {
@ -22,7 +22,7 @@ class SWButton(injector: HasAndroidInjector) : SWItem(injector, Type.BUTTON) {
return this return this
} }
fun visibility(buttonValidator: SWValidator): SWButton { fun visibility(buttonValidator: () -> Boolean): SWButton {
this.buttonValidator = buttonValidator this.buttonValidator = buttonValidator
return this return this
} }
@ -38,8 +38,7 @@ class SWButton(injector: HasAndroidInjector) : SWItem(injector, Type.BUTTON) {
} }
override fun processVisibility() { override fun processVisibility() {
if (buttonValidator != null && !buttonValidator!!.isValid) if (buttonValidator?.invoke() == false) button?.visibility = View.GONE
button!!.visibility = View.GONE else button?.visibility = View.VISIBLE
else button!!.visibility = View.VISIBLE
} }
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.graphics.Typeface import android.graphics.Typeface
import android.text.Editable import android.text.Editable
@ -10,14 +10,12 @@ import android.widget.EditText
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWTextValidator
import info.nightscout.core.utils.CryptoUtil import info.nightscout.core.utils.CryptoUtil
import info.nightscout.shared.extensions.toVisibility import info.nightscout.shared.extensions.toVisibility
class SWEditEncryptedPassword(injector: HasAndroidInjector, private val cryptoUtil: CryptoUtil) : SWItem(injector, Type.STRING) { class SWEditEncryptedPassword(injector: HasAndroidInjector, private val cryptoUtil: CryptoUtil) : SWItem(injector, Type.STRING) {
private var validator: SWTextValidator = private var validator: (String) -> Boolean = String::isNotEmpty
SWTextValidator(String::isNotEmpty)
private var updateDelay = 0L private var updateDelay = 0L
private var button: Button? = null private var button: Button? = null
private var editText: EditText? = null private var editText: EditText? = null
@ -92,7 +90,7 @@ class SWEditEncryptedPassword(injector: HasAndroidInjector, private val cryptoUt
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
sp.remove(preferenceId) sp.remove(preferenceId)
scheduleChange(updateDelay) scheduleChange(updateDelay)
if (validator.isValid(editText?.text.toString()) && validator.isValid(editText2?.text.toString()) && editText?.text.toString() == editText2?.text.toString()) if (validator.invoke(editText?.text.toString()) && validator.invoke(editText2?.text.toString()) && editText?.text.toString() == editText2?.text.toString())
save(s.toString(), updateDelay) save(s.toString(), updateDelay)
} }
@ -107,7 +105,7 @@ class SWEditEncryptedPassword(injector: HasAndroidInjector, private val cryptoUt
return this return this
} }
fun validator(validator: SWTextValidator): SWEditEncryptedPassword { fun validator(validator: (String) -> Boolean): SWEditEncryptedPassword {
this.validator = validator this.validator = validator
return this return this
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.graphics.Typeface import android.graphics.Typeface
import android.text.Editable import android.text.Editable
@ -7,15 +7,13 @@ import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWIntNumberValidator
import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.core.ui.elements.NumberPicker
import info.nightscout.shared.SafeParse import info.nightscout.shared.SafeParse
import java.text.DecimalFormat import java.text.DecimalFormat
class SWEditIntNumber(injector: HasAndroidInjector, private val init: Int, private val min: Int, private val max: Int) : SWItem(injector, Type.NUMBER) { class SWEditIntNumber(injector: HasAndroidInjector, private val init: Int, private val min: Int, private val max: Int) : SWItem(injector, Type.NUMBER) {
private val validator: SWIntNumberValidator = private val validator: (Int) -> Boolean = { value -> value in min..max }
SWIntNumberValidator { value -> value in min..max }
private var updateDelay = 0 private var updateDelay = 0
override fun generateDialog(layout: LinearLayout) { override fun generateDialog(layout: LinearLayout) {
@ -23,7 +21,7 @@ class SWEditIntNumber(injector: HasAndroidInjector, private val init: Int, priva
val watcher: TextWatcher = object : TextWatcher { val watcher: TextWatcher = object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
if (validator.isValid(SafeParse.stringToInt(s.toString()))) if (validator.invoke(SafeParse.stringToInt(s.toString())))
save(s.toString(), updateDelay.toLong()) save(s.toString(), updateDelay.toLong())
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.graphics.Typeface import android.graphics.Typeface
import android.text.Editable import android.text.Editable
@ -7,15 +7,13 @@ import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWNumberValidator
import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.core.ui.elements.NumberPicker
import info.nightscout.shared.SafeParse import info.nightscout.shared.SafeParse
import java.text.DecimalFormat import java.text.DecimalFormat
class SWEditNumber(injector: HasAndroidInjector, private val init: Double, private val min: Double, private val max: Double) : SWItem(injector, Type.DECIMAL_NUMBER) { class SWEditNumber(injector: HasAndroidInjector, private val init: Double, private val min: Double, private val max: Double) : SWItem(injector, Type.DECIMAL_NUMBER) {
private val validator: SWNumberValidator = private val validator: (Double) -> Boolean = { value -> value in min..max }
SWNumberValidator { value -> value in min..max }
private var updateDelay = 0 private var updateDelay = 0
override fun generateDialog(layout: LinearLayout) { override fun generateDialog(layout: LinearLayout) {
@ -23,7 +21,7 @@ class SWEditNumber(injector: HasAndroidInjector, private val init: Double, priva
val watcher: TextWatcher = object : TextWatcher { val watcher: TextWatcher = object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
if (validator.isValid(SafeParse.stringToDouble(s.toString()))) if (validator.invoke(SafeParse.stringToDouble(s.toString())))
save(s.toString(), updateDelay.toLong()) save(s.toString(), updateDelay.toLong())
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.graphics.Typeface import android.graphics.Typeface
import android.text.Editable import android.text.Editable
@ -7,7 +7,6 @@ import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWNumberValidator
import info.nightscout.core.ui.elements.NumberPicker import info.nightscout.core.ui.elements.NumberPicker
import info.nightscout.interfaces.Constants import info.nightscout.interfaces.Constants
import info.nightscout.interfaces.GlucoseUnit import info.nightscout.interfaces.GlucoseUnit
@ -20,11 +19,9 @@ class SWEditNumberWithUnits(injector: HasAndroidInjector, private val init: Doub
@Inject lateinit var profileUtil: ProfileUtil @Inject lateinit var profileUtil: ProfileUtil
private val validator: SWNumberValidator = private val validator: (Double) -> Boolean =
if (profileUtil.units == GlucoseUnit.MMOL) if (profileUtil.units == GlucoseUnit.MMOL) { value -> value in minMmol..maxMmol }
SWNumberValidator { value -> value in minMmol..maxMmol } else { value -> value in minMmol * Constants.MMOLL_TO_MGDL..maxMmol * Constants.MMOLL_TO_MGDL }
else
SWNumberValidator { value -> value in minMmol * Constants.MMOLL_TO_MGDL..maxMmol * Constants.MMOLL_TO_MGDL }
private var updateDelay = 0 private var updateDelay = 0
override fun generateDialog(layout: LinearLayout) { override fun generateDialog(layout: LinearLayout) {
@ -32,7 +29,7 @@ class SWEditNumberWithUnits(injector: HasAndroidInjector, private val init: Doub
val watcher: TextWatcher = object : TextWatcher { val watcher: TextWatcher = object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
if (validator.isValid(SafeParse.stringToDouble(s.toString()))) if (validator.invoke(SafeParse.stringToDouble(s.toString())))
save(s.toString(), updateDelay.toLong()) save(s.toString(), updateDelay.toLong())
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.graphics.Typeface import android.graphics.Typeface
import android.text.Editable import android.text.Editable
@ -9,11 +9,10 @@ import android.widget.EditText
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWTextValidator
class SWEditString(injector: HasAndroidInjector) : SWItem(injector, Type.STRING) { class SWEditString(injector: HasAndroidInjector) : SWItem(injector, Type.STRING) {
private var validator: SWTextValidator? = null private var validator: ((string: String) -> Boolean)? = null
private var updateDelay = 0L private var updateDelay = 0L
override fun generateDialog(layout: LinearLayout) { override fun generateDialog(layout: LinearLayout) {
@ -38,7 +37,7 @@ class SWEditString(injector: HasAndroidInjector) : SWItem(injector, Type.STRING)
editText.addTextChangedListener(object : TextWatcher { editText.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {} override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
if (validator != null && validator!!.isValid(s.toString())) save(s.toString(), updateDelay) if (validator?.invoke(s.toString()) == true) save(s.toString(), updateDelay)
} }
override fun afterTextChanged(s: Editable) {} override fun afterTextChanged(s: Editable) {}
@ -50,7 +49,7 @@ class SWEditString(injector: HasAndroidInjector) : SWItem(injector, Type.STRING)
return this return this
} }
fun validator(validator: SWTextValidator): SWEditString { fun validator(validator: (string: String) -> Boolean): SWEditString {
this.validator = validator this.validator = validator
return this return this
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.graphics.Typeface import android.graphics.Typeface
import android.text.Editable import android.text.Editable
@ -9,10 +9,11 @@ import android.view.View
import android.widget.EditText import android.widget.EditText
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import app.aaps.configuration.setupwizard.events.EventSWLabel
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.events.EventSWLabel
class SWEditUrl(injector: HasAndroidInjector) : SWItem(injector, Type.URL) { class SWEditUrl(injector: HasAndroidInjector) : SWItem(injector, Type.URL) {
private var updateDelay = 0L private var updateDelay = 0L
override fun generateDialog(layout: LinearLayout) { override fun generateDialog(layout: LinearLayout) {

View file

@ -1,11 +1,12 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import app.aaps.configuration.setupwizard.SWDefinition
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWDefinition
class SWFragment(injector: HasAndroidInjector, private var definition: SWDefinition) : SWItem(injector, Type.FRAGMENT) { class SWFragment(injector: HasAndroidInjector, private var definition: SWDefinition) : SWItem(injector, Type.FRAGMENT) {
lateinit var fragment: Fragment lateinit var fragment: Fragment
fun add(fragment: Fragment): SWFragment { fun add(fragment: Fragment): SWFragment {

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.text.util.Linkify import android.text.util.Linkify
import android.view.View import android.view.View
@ -6,13 +6,12 @@ import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import androidx.annotation.StringRes import androidx.annotation.StringRes
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWValidator
class SWHtmlLink(injector: HasAndroidInjector) : SWItem(injector, Type.HTML_LINK) { class SWHtmlLink(injector: HasAndroidInjector) : SWItem(injector, Type.HTML_LINK) {
private var textLabel: String? = null private var textLabel: String? = null
private var l: TextView? = null private var l: TextView? = null
private var visibilityValidator: SWValidator? = null private var visibilityValidator: (() -> Boolean)? = null
override fun label(@StringRes label: Int): SWHtmlLink { override fun label(@StringRes label: Int): SWHtmlLink {
this.label = label this.label = label
@ -24,7 +23,7 @@ class SWHtmlLink(injector: HasAndroidInjector) : SWItem(injector, Type.HTML_LINK
return this return this
} }
fun visibility(visibilityValidator: SWValidator): SWHtmlLink { fun visibility(visibilityValidator: () -> Boolean): SWHtmlLink {
this.visibilityValidator = visibilityValidator this.visibilityValidator = visibilityValidator
return this return this
} }
@ -39,6 +38,6 @@ class SWHtmlLink(injector: HasAndroidInjector) : SWItem(injector, Type.HTML_LINK
} }
override fun processVisibility() { override fun processVisibility() {
if (visibilityValidator != null && !visibilityValidator!!.isValid) l?.visibility = View.GONE else l?.visibility = View.VISIBLE if (visibilityValidator?.invoke() == false) l?.visibility = View.GONE else l?.visibility = View.VISIBLE
} }
} }

View file

@ -1,15 +1,15 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWValidator
class SWInfoText(injector: HasAndroidInjector) : SWItem(injector, Type.TEXT) { class SWInfoText(injector: HasAndroidInjector) : SWItem(injector, Type.TEXT) {
private var textLabel: String? = null private var textLabel: String? = null
private var l: TextView? = null private var l: TextView? = null
private var visibilityValidator: SWValidator? = null private var visibilityValidator: (() -> Boolean)? = null
override fun label(label: Int): SWInfoText { override fun label(label: Int): SWInfoText {
this.label = label this.label = label
@ -21,7 +21,7 @@ class SWInfoText(injector: HasAndroidInjector) : SWItem(injector, Type.TEXT) {
return this return this
} }
fun visibility(visibilityValidator: SWValidator): SWInfoText { fun visibility(visibilityValidator: () -> Boolean): SWInfoText {
this.visibilityValidator = visibilityValidator this.visibilityValidator = visibilityValidator
return this return this
} }
@ -35,6 +35,6 @@ class SWInfoText(injector: HasAndroidInjector) : SWItem(injector, Type.TEXT) {
} }
override fun processVisibility() { override fun processVisibility() {
if (visibilityValidator != null && !visibilityValidator!!.isValid) l?.visibility = View.GONE else l?.visibility = View.VISIBLE if (visibilityValidator?.invoke() == false) l?.visibility = View.GONE else l?.visibility = View.VISIBLE
} }
} }

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.content.Context import android.content.Context
import android.content.ContextWrapper import android.content.ContextWrapper

View file

@ -1,10 +1,10 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.annotation.StringRes import androidx.annotation.StringRes
import app.aaps.configuration.configBuilder.events.EventConfigBuilderUpdateGui
import app.aaps.configuration.setupwizard.SWDefinition
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.configBuilder.events.EventConfigBuilderUpdateGui
import info.nightscout.configuration.setupwizard.SWDefinition
import info.nightscout.core.utils.fabric.FabricPrivacy import info.nightscout.core.utils.fabric.FabricPrivacy
import info.nightscout.interfaces.ConfigBuilder import info.nightscout.interfaces.ConfigBuilder
import info.nightscout.interfaces.plugin.ActivePlugin import info.nightscout.interfaces.plugin.ActivePlugin

View file

@ -1,10 +1,10 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.os.Bundle import android.os.Bundle
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import app.aaps.configuration.setupwizard.SWDefinition
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
import info.nightscout.configuration.setupwizard.SWDefinition
import info.nightscout.interfaces.ui.UiInteraction import info.nightscout.interfaces.ui.UiInteraction
import javax.inject.Inject import javax.inject.Inject

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.elements package app.aaps.configuration.setupwizard.elements
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@ -9,6 +9,7 @@ import android.widget.TextView
import dagger.android.HasAndroidInjector import dagger.android.HasAndroidInjector
class SWRadioButton(injector: HasAndroidInjector) : SWItem(injector, Type.RADIOBUTTON) { class SWRadioButton(injector: HasAndroidInjector) : SWItem(injector, Type.RADIOBUTTON) {
private var labelsArray = 0 private var labelsArray = 0
private var valuesArray = 0 private var valuesArray = 0
private var radioGroup: RadioGroup? = null private var radioGroup: RadioGroup? = null

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.setupwizard.events package app.aaps.configuration.setupwizard.events
import info.nightscout.rx.events.Event import info.nightscout.rx.events.Event

View file

@ -5,7 +5,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
tools:context="info.nightscout.configuration.maintenance.activities.LogSettingActivity"> tools:context=".maintenance.activities.LogSettingActivity">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -4,7 +4,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
tools:context="info.nightscout.configuration.setupwizard.SetupWizardActivity"> tools:context=".setupwizard.SetupWizardActivity">
<TextView <TextView
android:id="@+id/sw_content" android:id="@+id/sw_content"

View file

@ -4,7 +4,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:orientation="vertical" android:orientation="vertical"
tools:context="info.nightscout.configuration.maintenance.activities.CustomWatchfaceImportListActivity"> tools:context=".maintenance.activities.CustomWatchfaceImportListActivity">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview" android:id="@+id/recyclerview"

View file

@ -1,11 +1,10 @@
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingTop="2dp" android:paddingTop="2dp"
tools:context="info.nightscout.configuration.maintenance.MaintenanceFragment"> tools:context=".maintenance.MaintenanceFragment">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -4,7 +4,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:orientation="vertical" android:orientation="vertical"
tools:context="info.nightscout.configuration.maintenance.activities.PrefImportListActivity"> tools:context=".maintenance.activities.PrefImportListActivity">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview" android:id="@+id/recyclerview"

View file

@ -1,14 +1,14 @@
package info.nightscout.configuration.maintenance.formats package app.aaps.configuration.maintenance.formats
import app.aaps.configuration.maintenance.PrefsMetadataKeyImpl
import app.aaps.configuration.maintenance.data.PrefFormatError
import app.aaps.configuration.maintenance.data.Prefs
import app.aaps.configuration.maintenance.data.PrefsFormat
import app.aaps.configuration.maintenance.data.PrefsStatusImpl
import app.aaps.shared.tests.TestBase import app.aaps.shared.tests.TestBase
import com.google.common.truth.TruthJUnit.assume import com.google.common.truth.TruthJUnit.assume
import info.nightscout.configuration.maintenance.PrefsMetadataKeyImpl
import info.nightscout.core.utils.CryptoUtil import info.nightscout.core.utils.CryptoUtil
import info.nightscout.interfaces.maintenance.PrefFormatError
import info.nightscout.interfaces.maintenance.PrefMetadata import info.nightscout.interfaces.maintenance.PrefMetadata
import info.nightscout.interfaces.maintenance.Prefs
import info.nightscout.interfaces.maintenance.PrefsFormat
import info.nightscout.interfaces.maintenance.PrefsStatusImpl
import info.nightscout.shared.interfaces.ResourceHelper import info.nightscout.shared.interfaces.ResourceHelper
import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.BeforeEach

View file

@ -1,4 +1,4 @@
package info.nightscout.configuration.maintenance.formats package app.aaps.configuration.maintenance.formats
import info.nightscout.interfaces.storage.Storage import info.nightscout.interfaces.storage.Storage
import java.io.File import java.io.File