Refactoring

This commit is contained in:
M66B 2019-04-24 13:26:16 +02:00
parent 7b7ec3aff3
commit 6d4205b5b2
1 changed files with 23 additions and 21 deletions

View File

@ -170,6 +170,7 @@ public class FragmentCompose extends FragmentBase {
private Group grpSignature;
private Group grpReference;
private ContentResolver resolver;
private AdapterAttachment adapter;
private boolean pro;
@ -237,6 +238,8 @@ public class FragmentCompose extends FragmentBase {
grpSignature = view.findViewById(R.id.grpSignature);
grpReference = view.findViewById(R.id.grpReference);
resolver = getContext().getContentResolver();
// Wire controls
spIdentity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
@ -452,6 +455,23 @@ public class FragmentCompose extends FragmentBase {
new int[]{android.R.id.text1, android.R.id.text2},
0);
cadapter.setCursorToStringConverter(new SimpleCursorAdapter.CursorToStringConverter() {
public CharSequence convertToString(Cursor cursor) {
int colName = cursor.getColumnIndex(contacts ? ContactsContract.Contacts.DISPLAY_NAME : "name");
int colEmail = cursor.getColumnIndex(contacts ? ContactsContract.CommonDataKinds.Email.DATA : "email");
String name = cursor.getString(colName);
String email = cursor.getString(colEmail);
StringBuilder sb = new StringBuilder();
if (name == null)
sb.append(email);
else {
sb.append("\"").append(name).append("\" ");
sb.append("<").append(email).append(">");
}
return sb.toString();
}
});
etTo.setAdapter(cadapter);
etCc.setAdapter(cadapter);
etBcc.setAdapter(cadapter);
@ -460,8 +480,7 @@ public class FragmentCompose extends FragmentBase {
etCc.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
etBcc.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
if (contacts) {
final ContentResolver resolver = getContext().getContentResolver();
if (contacts)
cadapter.setFilterQueryProvider(new FilterQueryProvider() {
public Cursor runQuery(CharSequence typed) {
Log.i("Searching provided contact=" + typed);
@ -481,7 +500,7 @@ public class FragmentCompose extends FragmentBase {
", " + ContactsContract.CommonDataKinds.Email.DATA + " COLLATE NOCASE");
}
});
} else
else
cadapter.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence typed) {
@ -490,23 +509,6 @@ public class FragmentCompose extends FragmentBase {
}
});
cadapter.setCursorToStringConverter(new SimpleCursorAdapter.CursorToStringConverter() {
public CharSequence convertToString(Cursor cursor) {
int colName = cursor.getColumnIndex(contacts ? ContactsContract.Contacts.DISPLAY_NAME : "name");
int colEmail = cursor.getColumnIndex(contacts ? ContactsContract.CommonDataKinds.Email.DATA : "email");
String name = cursor.getString(colName);
String email = cursor.getString(colEmail);
StringBuilder sb = new StringBuilder();
if (name == null)
sb.append(email);
else {
sb.append("\"").append(name).append("\" ");
sb.append("<").append(email).append(">");
}
return sb.toString();
}
});
rvAttachment.setHasFixedSize(false);
LinearLayoutManager llm = new LinearLayoutManager(getContext());
rvAttachment.setLayoutManager(llm);
@ -1330,7 +1332,7 @@ public class FragmentCompose extends FragmentBase {
try {
Uri uri = data.getData();
if (uri != null)
cursor = getContext().getContentResolver().query(uri,
cursor = resolver.query(uri,
new String[]{
ContactsContract.CommonDataKinds.Email.ADDRESS,
ContactsContract.Contacts.DISPLAY_NAME