aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/fil/libre/repwifiapp/activities/SettingsActivity.java
diff options
context:
space:
mode:
authorFil <fil.bergamo@riseup.net>2017-08-25 17:24:07 +0200
committerFil <fil.bergamo@riseup.net>2017-08-25 17:24:07 +0200
commit9775f8d93d2c49a9844ca4dcbf11433e09419df1 (patch)
tree586461727ae778de6d97bd911b7c9f33bd9a9f82 /app/src/fil/libre/repwifiapp/activities/SettingsActivity.java
parent5b71fe514e7650b392a01cc2c4398a68062b32cb (diff)
downloadpackages_apps_repwifi-9775f8d93d2c49a9844ca4dcbf11433e09419df1.tar.gz
packages_apps_repwifi-9775f8d93d2c49a9844ca4dcbf11433e09419df1.tar.bz2
packages_apps_repwifi-9775f8d93d2c49a9844ca4dcbf11433e09419df1.zip
new version 0.5 - add various features
This commit introduces a whole new version, v0.5. Various new features were added, along with a massive graphical restyling.
Diffstat (limited to 'app/src/fil/libre/repwifiapp/activities/SettingsActivity.java')
-rw-r--r--app/src/fil/libre/repwifiapp/activities/SettingsActivity.java106
1 files changed, 86 insertions, 20 deletions
diff --git a/app/src/fil/libre/repwifiapp/activities/SettingsActivity.java b/app/src/fil/libre/repwifiapp/activities/SettingsActivity.java
index 90629e3..6f14748 100644
--- a/app/src/fil/libre/repwifiapp/activities/SettingsActivity.java
+++ b/app/src/fil/libre/repwifiapp/activities/SettingsActivity.java
@@ -1,35 +1,101 @@
package fil.libre.repwifiapp.activities;
+import org.apache.http.conn.util.InetAddressUtils;
import java.util.List;
-
+import fil.libre.repwifiapp.Commons;
import fil.libre.repwifiapp.R;
import android.os.Bundle;
+import android.preference.EditTextPreference;
+import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
-
public class SettingsActivity extends PreferenceActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- }
-
- @Override
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ setTheme(R.style.Theme_SettingsTheme);
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.settings_headers, target);
}
-
-
- public static class RepWifiFragment extends PreferenceFragment {
-
- @Override
- public void onCreate(Bundle savedInstanceState){
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.settings);
- }
-
- }
+
+ public static class DebugSettingFragment extends PreferenceFragment {
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.debug_settings);
+
+ setConfirmKillBackend();
+
+ }
+
+ private void setConfirmKillBackend() {
+
+ Preference pref = getPreferenceScreen().findPreference("pref_kill_backend");
+ pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+
+ @Override
+ public boolean onPreferenceClick(Preference p) {
+ Commons.killBackEnd(getActivity(), false);
+ return true;
+ }
+ });
+
+ }
+
+ }
+
+ public static class GeneralSettingFragment extends PreferenceFragment {
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.general_settings);
+
+ setValidationListener("dns1");
+ setValidationListener("dns2");
+ setConfirmRestore();
+
+ }
+
+ private void setValidationListener(String prefName) {
+ EditTextPreference edit_Pref = (EditTextPreference) getPreferenceScreen()
+ .findPreference(prefName);
+
+ edit_Pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ // put validation here..
+ if (((String) newValue).isEmpty()
+ || InetAddressUtils.isIPv4Address((String) newValue)) {
+ return true;
+ } else {
+ Commons.showMessage("ERROR:\nWrong IP format!", getActivity());
+ return false;
+ }
+ }
+ });
+ }
+
+ private void setConfirmRestore() {
+
+ Preference pref = getPreferenceScreen().findPreference("pref_restore_default");
+ pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+
+ @Override
+ public boolean onPreferenceClick(Preference p) {
+ Commons.resetSettingsDefault(getActivity(), false);
+ return true;
+ }
+ });
+
+ }
+ }
}