Loading app/src/main/java/net/fabiszewski/ulogger/SettingsActivity.java +18 −0 Original line number Diff line number Diff line Loading @@ -14,10 +14,12 @@ import android.content.Context; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.util.Log; import android.widget.Toast; /** Loading @@ -26,6 +28,7 @@ import android.widget.Toast; */ public class SettingsActivity extends PreferenceActivity { private static final String TAG = SettingsActivity.class.getSimpleName(); private static Preference prefLiveSync = null; private static Preference prefUsername = null; Loading Loading @@ -132,11 +135,26 @@ public class SettingsActivity extends PreferenceActivity { public boolean onPreferenceChange(Preference preference, Object newValue) { // remove session cookies WebHelper.deauthorize(); // disable live synchronization if any server preference is removed if (newValue.toString().trim().length() == 0) { disableLiveSync(preference.getContext()); } return true; } }; private static void disableLiveSync(Context context) { if (Logger.DEBUG) { Log.d(TAG, "[disabling live sync]"); } SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("prefLiveSync", false); editor.apply(); if (prefLiveSync != null && prefLiveSync instanceof CheckBoxPreference) { ((CheckBoxPreference) prefLiveSync).setChecked(false); } } /** * On click listener to warn if server setup has changed */ Loading app/src/main/java/net/fabiszewski/ulogger/TrimmedEditTextPreference.java 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (c) 2018 Bartek Fabiszewski * http://www.fabiszewski.net * * This file is part of μlogger-android. * Licensed under GPL, either version 3, or any later. * See <http://www.gnu.org/licenses/> */ package net.fabiszewski.ulogger; import android.content.Context; import android.os.Build; import android.preference.EditTextPreference; import android.support.annotation.RequiresApi; import android.util.AttributeSet; /** * Trimmed edit text preference * Trims input string */ class TrimmedEditTextPreference extends EditTextPreference { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public TrimmedEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public TrimmedEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public TrimmedEditTextPreference(Context context, AttributeSet attrs) { super(context, attrs); } public TrimmedEditTextPreference(Context context) { super(context); } @Override public void setText(String text) { super.setText(text.trim()); } } app/src/main/java/net/fabiszewski/ulogger/UrlEditTextPreference.java +2 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,8 @@ class UrlEditTextPreference extends EditTextPreference { } private void onPositiveButtonClicked() { if (WebHelper.isValidURL(getEditText().getText().toString().trim())) { final String url = getEditText().getText().toString().trim(); if (url.length() == 0 || WebHelper.isValidURL(url)) { getEditText().setError(null); onClick(getDialog(), DialogInterface.BUTTON_POSITIVE); getDialog().dismiss(); Loading app/src/main/res/xml/preferences.xml +1 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ulogger="http://schemas.android.com/apk/res/net.fabiszewski.ulogger"> <net.fabiszewski.ulogger.UrlEditTextPreference <net.fabiszewski.ulogger.TrimmedEditTextPreference android:key="prefUsername" android:title="@string/pref_username_title" android:summary="@string/pref_username_summary" Loading Loading
app/src/main/java/net/fabiszewski/ulogger/SettingsActivity.java +18 −0 Original line number Diff line number Diff line Loading @@ -14,10 +14,12 @@ import android.content.Context; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.util.Log; import android.widget.Toast; /** Loading @@ -26,6 +28,7 @@ import android.widget.Toast; */ public class SettingsActivity extends PreferenceActivity { private static final String TAG = SettingsActivity.class.getSimpleName(); private static Preference prefLiveSync = null; private static Preference prefUsername = null; Loading Loading @@ -132,11 +135,26 @@ public class SettingsActivity extends PreferenceActivity { public boolean onPreferenceChange(Preference preference, Object newValue) { // remove session cookies WebHelper.deauthorize(); // disable live synchronization if any server preference is removed if (newValue.toString().trim().length() == 0) { disableLiveSync(preference.getContext()); } return true; } }; private static void disableLiveSync(Context context) { if (Logger.DEBUG) { Log.d(TAG, "[disabling live sync]"); } SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("prefLiveSync", false); editor.apply(); if (prefLiveSync != null && prefLiveSync instanceof CheckBoxPreference) { ((CheckBoxPreference) prefLiveSync).setChecked(false); } } /** * On click listener to warn if server setup has changed */ Loading
app/src/main/java/net/fabiszewski/ulogger/TrimmedEditTextPreference.java 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (c) 2018 Bartek Fabiszewski * http://www.fabiszewski.net * * This file is part of μlogger-android. * Licensed under GPL, either version 3, or any later. * See <http://www.gnu.org/licenses/> */ package net.fabiszewski.ulogger; import android.content.Context; import android.os.Build; import android.preference.EditTextPreference; import android.support.annotation.RequiresApi; import android.util.AttributeSet; /** * Trimmed edit text preference * Trims input string */ class TrimmedEditTextPreference extends EditTextPreference { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public TrimmedEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public TrimmedEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public TrimmedEditTextPreference(Context context, AttributeSet attrs) { super(context, attrs); } public TrimmedEditTextPreference(Context context) { super(context); } @Override public void setText(String text) { super.setText(text.trim()); } }
app/src/main/java/net/fabiszewski/ulogger/UrlEditTextPreference.java +2 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,8 @@ class UrlEditTextPreference extends EditTextPreference { } private void onPositiveButtonClicked() { if (WebHelper.isValidURL(getEditText().getText().toString().trim())) { final String url = getEditText().getText().toString().trim(); if (url.length() == 0 || WebHelper.isValidURL(url)) { getEditText().setError(null); onClick(getDialog(), DialogInterface.BUTTON_POSITIVE); getDialog().dismiss(); Loading
app/src/main/res/xml/preferences.xml +1 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ulogger="http://schemas.android.com/apk/res/net.fabiszewski.ulogger"> <net.fabiszewski.ulogger.UrlEditTextPreference <net.fabiszewski.ulogger.TrimmedEditTextPreference android:key="prefUsername" android:title="@string/pref_username_title" android:summary="@string/pref_username_summary" Loading