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 @@ + + + + + + + + + + + + + + + + +