diff --git a/app/build.gradle b/app/build.gradle index fdc2d5ebc9..396bc79b12 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -109,7 +109,7 @@ android { targetSdkVersion 28 multiDexEnabled true versionCode 1500 - version "2.4-dev-f" + version "2.4-dev-g" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"' @@ -225,12 +225,12 @@ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.google.android.gms:play-services-wearable:17.0.0' - implementation 'com.google.firebase:firebase-core:17.1.0' + implementation 'com.google.firebase:firebase-core:17.2.0' implementation("com.crashlytics.sdk.android:crashlytics:2.9.9@aar") { transitive = true; } - implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.legacy:legacy-support-v13:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.cardview:cardview:1.0.0' diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java index 47cf8ba1ae..83dab8130d 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java @@ -199,7 +199,7 @@ public class MainActivity extends NoSplashAppCompatActivity { } else { try { // activity may be destroyed setupTabs(); - setupViews(true); + setupViews(false); } catch (IllegalStateException e) { log.error("Unhandled exception", e); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt index f011ac57cf..059bec1444 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/configBuilder/ConfigBuilderFragment.kt @@ -68,6 +68,7 @@ class ConfigBuilderFragment : Fragment() { @Synchronized private fun updateGUI() { + configbuilder_categories.removeAllViews() createViewsForPlugins(R.string.configbuilder_profile, R.string.configbuilder_profile_description, PluginType.PROFILE, MainApp.getSpecificPluginsVisibleInListByInterface(ProfileInterface::class.java, PluginType.PROFILE)) createViewsForPlugins(R.string.configbuilder_insulin, R.string.configbuilder_insulin_description, PluginType.INSULIN, MainApp.getSpecificPluginsVisibleInListByInterface(InsulinInterface::class.java, PluginType.INSULIN)) createViewsForPlugins(R.string.configbuilder_bgsource, R.string.configbuilder_bgsource_description, PluginType.BGSOURCE, MainApp.getSpecificPluginsVisibleInListByInterface(BgSourceInterface::class.java, PluginType.BGSOURCE)) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt index 63f522da8d..ac2bf50cc4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/ObjectivesFragment.kt @@ -168,10 +168,17 @@ class ObjectivesFragment : Fragment() { holder.progress.removeAllViews() for (task in objective.tasks) { if (task.shouldBeIgnored()) continue + // name val name = TextView(holder.progress.context) name.text = MainApp.gs(task.task) + ":" name.setTextColor(-0x1) holder.progress.addView(name, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT) + // hint + task.hints.forEach { h -> + if (!task.isCompleted) + holder.progress.addView(h.generate(context)) + } + // state val state = TextView(holder.progress.context) state.setTextColor(-0x1) val basicHTML = "%2\$s" @@ -183,13 +190,14 @@ class ObjectivesFragment : Fragment() { state.setOnClickListener { val dialog = ObjectivesExamDialog() val bundle = Bundle() - val position = objective.tasks.indexOf(task) - bundle.putInt("currentTask", position) + val taskPosition = objective.tasks.indexOf(task) + bundle.putInt("currentTask", taskPosition) dialog.arguments = bundle ObjectivesExamDialog.objective = objective fragmentManager?.let { dialog.show(it, "ObjectivesFragment") } } } + // horizontal line val separator = View(holder.progress.context) separator.setBackgroundColor(Color.DKGRAY) holder.progress.addView(separator, LinearLayout.LayoutParams.MATCH_PARENT, 2) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt index a0d6f6cedf..30ab4b500b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/activities/ObjectivesExamDialog.kt @@ -36,8 +36,8 @@ class ObjectivesExamDialog : DialogFragment() { override fun onStart() { super.onStart() - dialog.setCanceledOnTouchOutside(false) - dialog.window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + dialog?.setCanceledOnTouchOutside(false) + dialog?.window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); } override fun onResume() { @@ -70,8 +70,7 @@ class ObjectivesExamDialog : DialogFragment() { // Hints objectives_exam_hints.removeAllViews() for (h in task.hints) { - val hint: Hint = h as Hint; - objectives_exam_hints.addView(hint.generate(context)) + objectives_exam_hints.addView(h.generate(context)) } // Disabled to objectives_exam_disabledto.text = MainApp.gs(R.string.answerdisabledto, DateUtil.timeString(task.disabledTo)) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.java b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.java index f58d469fa2..a59a33454d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/constraints/objectives/objectives/Objective.java @@ -100,6 +100,7 @@ public abstract class Objective { @StringRes private int task; private Objective objective; + ArrayList hints = new ArrayList<>(); public Task(@StringRes int task) { this.task = task; @@ -119,6 +120,15 @@ public abstract class Objective { return MainApp.gs(isCompleted() ? R.string.completed_well_done : R.string.not_completed_yet); } + Task hint(Hint hint) { + hints.add(hint); + return this; + } + + public ArrayList getHints() { + return hints; + } + public boolean shouldBeIgnored() { return false; } @@ -157,8 +167,7 @@ public abstract class Objective { public class ExamTask extends Task { @StringRes int question; - List hints = new ArrayList<>(); - List options = new ArrayList<>(); + ArrayList