diff --git a/app/src/main/java/info/nightscout/androidaps/data/ProfileStore.java b/app/src/main/java/info/nightscout/androidaps/data/ProfileStore.java index 85e27f0eef..c7113d1c0f 100644 --- a/app/src/main/java/info/nightscout/androidaps/data/ProfileStore.java +++ b/app/src/main/java/info/nightscout/androidaps/data/ProfileStore.java @@ -75,9 +75,9 @@ public class ProfileStore { if (store.has(profileName)) { profile = cachedObjects.get(profileName); if (profile == null) { - if (store.has("units")) { - String units = store.getString("units"); - profile = new Profile(store.getJSONObject(profileName), units); + JSONObject profileObject = store.getJSONObject(profileName); + if (profileObject!= null && profileObject.has("units")) { + profile = new Profile(profileObject, profileObject.getString("units")); cachedObjects.put(profileName, profile); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfilePlugin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfilePlugin.kt index 662752211e..79b474fffd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfilePlugin.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/profile/local/LocalProfilePlugin.kt @@ -29,6 +29,11 @@ object LocalProfilePlugin : PluginBase(PluginDescription() .shortName(R.string.localprofile_shortname) .description(R.string.description_profile_local)), ProfileInterface { + override fun onStart() { + super.onStart() + loadSettings() + } + private val log = LoggerFactory.getLogger(L.PROFILE) private var rawProfile: ProfileStore? = null @@ -54,10 +59,6 @@ object LocalProfilePlugin : PluginBase(PluginDescription() internal var numOfProfiles = 0 internal var currentProfileIndex = 0 - init { - loadSettings() - } - fun currentProfile() = profiles[currentProfileIndex] @Synchronized