Merge "Fix bug #13322036 stability-sys: Java crash in com.android.settings: android.database.sqlite.SQLiteException: malformed MATCH expression: [ avs- /y@ggmd"*] (code 1)"
This commit is contained in:
committed by
Android (Google) Code Review
commit
835c5e4ef9
@@ -22,6 +22,9 @@ import android.database.Cursor;
|
|||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
|
import android.text.InputFilter;
|
||||||
|
import android.text.SpannableStringBuilder;
|
||||||
|
import android.text.Spanned;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -66,6 +69,32 @@ public class DashboardSummary extends Fragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A basic InputFilter for filtering query input (mainly because we are issuing SQL queries
|
||||||
|
* that need to be valid ones. So just accept Letters, Digits and Spaces.
|
||||||
|
*/
|
||||||
|
private class QueryInputFilter implements InputFilter {
|
||||||
|
|
||||||
|
public QueryInputFilter() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CharSequence filter(CharSequence source, int start, int end, Spanned dest,
|
||||||
|
int dstart, int dend) {
|
||||||
|
SpannableStringBuilder sb = null;
|
||||||
|
for (int i = start; i < end; i++) {
|
||||||
|
char c = source.charAt(i);
|
||||||
|
if (!Character.isLetterOrDigit(c) && !Character.isSpaceChar(c)) {
|
||||||
|
if (sb == null) {
|
||||||
|
sb = new SpannableStringBuilder(source, start, end);
|
||||||
|
}
|
||||||
|
sb.delete(i, i + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -118,6 +147,9 @@ public class DashboardSummary extends Fragment {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
final InputFilter queryFilter = new QueryInputFilter();
|
||||||
|
mEditText.setFilters(new InputFilter[] { queryFilter });
|
||||||
|
|
||||||
mListView = (ListView) view.findViewById(R.id.list_results);
|
mListView = (ListView) view.findViewById(R.id.list_results);
|
||||||
mListView.setAdapter(mAdapter);
|
mListView.setAdapter(mAdapter);
|
||||||
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||||
|
Reference in New Issue
Block a user