From 6d4205b5b2975db9afd18fdb19169cffc80ec9a8 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 24 Apr 2019 13:26:16 +0200 Subject: [PATCH] Refactoring --- .../eu/faircode/email/FragmentCompose.java | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 07ca89114b..9d01b2a50a 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -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