Commit 69eb15f5 authored by Bartek Fabiszewski's avatar Bartek Fabiszewski
Browse files

Don't do username validation, fixes #27

parent 6f6208d9
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -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;

/**
@@ -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;
@@ -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
     */
+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());
    }

}
+2 −1
Original line number Diff line number Diff line
@@ -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();
+1 −1
Original line number Diff line number Diff line
@@ -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"