Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6d94c94 authored by Danesh M's avatar Danesh M Committed by Zhao Wei Liew
Browse files

Settings : Add input checks for blacklist input

There can be situations where user enters
invalid input. Ensure that is handled.

Repro :

1. Add new blacklist entry
2. Enter /
3. Press ok
4. Enjoy crash

Change-Id: Ica90ac835f374569123e679ba39c3caa7179ef65
parent 5bd0bf43
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -31,10 +30,11 @@ import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds;
import android.provider.Telephony.Blacklist;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.method.ArrowKeyMovementMethod;
import android.text.method.DialerKeyListener;
import android.util.Log;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
@@ -221,8 +221,24 @@ public class EntryEditDialogFragment extends DialogFragment
            }
        }

        boolean validInput = false;
        String input = mEditText.getText().toString();
        if (!TextUtils.isEmpty(input)) {
            Pair<String, Boolean> normalizeResult =
                    BlacklistUtils.isValidBlacklistInput(getActivity(), input);
            if (normalizeResult.second) {
                validInput = true;
            }
        }

        if (!validInput && !TextUtils.isEmpty(input)) {
            mEditText.setError(getString(R.string.wifi_error));
        } else {
            mEditText.setError(null);
        }

        if (mOkButton != null) {
            mOkButton.setEnabled(mEditText.getText().length() != 0);
            mOkButton.setEnabled(validInput);
        }
    }