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