diff options
| author | Fil <fil.bergamo@riseup.net> | 2017-08-25 17:24:07 +0200 |
|---|---|---|
| committer | Fil <fil.bergamo@riseup.net> | 2017-08-25 17:24:07 +0200 |
| commit | 9775f8d93d2c49a9844ca4dcbf11433e09419df1 (patch) | |
| tree | 586461727ae778de6d97bd911b7c9f33bd9a9f82 /app/src/fil/libre/repwifiapp/activities/SettingsActivity.java | |
| parent | 5b71fe514e7650b392a01cc2c4398a68062b32cb (diff) | |
| download | packages_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.java | 106 |
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; + } + }); + + } + } } |
