diff --git a/.idea/misc.xml b/.idea/misc.xml
index fbb68289f4..5d19981032 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5259a1aca6..f3e369f670 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -77,7 +77,9 @@
+ android:exported="false" />
+
+
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/androidaps/AgreementActivity.java b/app/src/main/java/info/nightscout/androidaps/AgreementActivity.java
new file mode 100644
index 0000000000..a8486e1d78
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/AgreementActivity.java
@@ -0,0 +1,44 @@
+package info.nightscout.androidaps;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.view.View;
+import android.widget.Button;
+import android.widget.CheckBox;
+
+public class AgreementActivity extends Activity {
+ boolean IUnderstand;
+ CheckBox agreeCheckBox;
+ Button saveButton;
+ SharedPreferences prefs;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_agreement);
+ prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+ IUnderstand = prefs.getBoolean("I_understand", false);
+ setContentView(R.layout.activity_agreement);
+ agreeCheckBox = (CheckBox)findViewById(R.id.agreementCheckBox);
+ agreeCheckBox.setChecked(IUnderstand);
+ saveButton = (Button)findViewById(R.id.agreementSaveButton);
+ addListenerOnButton();
+ }
+
+ public void addListenerOnButton() {
+ saveButton.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+
+ prefs.edit().putBoolean("I_understand", agreeCheckBox.isChecked()).apply();
+
+ Intent intent = new Intent(getApplicationContext(), MainActivity.class);
+ startActivity(intent);
+ finish();
+ }
+
+ });
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java
index 67e581b52a..6a771c5b60 100644
--- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java
@@ -65,6 +65,7 @@ public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LocaleHelper.onCreate(this, "en");
+ checkEula();
setContentView(R.layout.activity_main);
if (Config.logFunctionCalls)
log.debug("onCreate");
@@ -198,6 +199,15 @@ public class MainActivity extends AppCompatActivity {
MainApp.bus().register(this);
}
+ private void checkEula() {
+ boolean IUnderstand = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean("I_understand", false);
+ if (!IUnderstand) {
+ Intent intent = new Intent(getApplicationContext(), AgreementActivity.class);
+ startActivity(intent);
+ finish();
+ }
+ }
+
public static ArrayList getPluginsList() {
return pluginsList;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java
index b591efa701..4b16e26654 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java
@@ -670,17 +670,19 @@ public class ConfigBuilderFragment extends Fragment implements PluginBase, PumpI
}
private void storeSettings() {
- if (Config.logPrefsChange)
- log.debug("Storing settings");
- SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- SharedPreferences.Editor editor = settings.edit();
+ if (pluginList != null) {
+ if (Config.logPrefsChange)
+ log.debug("Storing settings");
+ SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
+ SharedPreferences.Editor editor = settings.edit();
- for (PluginBase p : pluginList) {
- editor.putBoolean("ConfigBuilder" + p.getName() + "Enabled", p.isEnabled());
- editor.putBoolean("ConfigBuilder" + p.getName() + "Visible", p.isVisibleInTabs());
+ for (PluginBase p : pluginList) {
+ editor.putBoolean("ConfigBuilder" + p.getName() + "Enabled", p.isEnabled());
+ editor.putBoolean("ConfigBuilder" + p.getName() + "Visible", p.isVisibleInTabs());
+ }
+ editor.commit();
+ verifySelectionInCategories();
}
- editor.commit();
- verifySelectionInCategories();
}
private void loadSettings() {
diff --git a/app/src/main/res/layout/activity_agreement.xml b/app/src/main/res/layout/activity_agreement.xml
new file mode 100644
index 0000000000..e5f5c8ddf1
--- /dev/null
+++ b/app/src/main/res/layout/activity_agreement.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fee4e248a9..d1a1ba6165 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -220,5 +220,9 @@
Sync Nightscout profile to pump
DanaR pump settings
Nightscout
+ End User License Agreement
+ MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+ I UNDERSTAND AND AGREE
+ Save