Simplification

pull/156/head
M66B 6 years ago
parent 5918571c68
commit 16665e71c8

@ -19,8 +19,6 @@ package eu.faircode.email;
Copyright 2018-2019 by Marcel Bokhorst (M66B) Copyright 2018-2019 by Marcel Bokhorst (M66B)
*/ */
import android.database.Cursor;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.room.Dao; import androidx.room.Dao;
import androidx.room.Insert; import androidx.room.Insert;
@ -31,11 +29,6 @@ import java.util.List;
@Dao @Dao
public interface DaoAnswer { public interface DaoAnswer {
@Query("SELECT id AS _id, name, text FROM answer" +
" WHERE NOT hide" +
" ORDER BY name COLLATE NOCASE")
Cursor getAnswerList();
@Query("SELECT * FROM answer" + @Query("SELECT * FROM answer" +
" WHERE :all OR NOT hide" + " WHERE :all OR NOT hide" +
" ORDER BY name COLLATE NOCASE") " ORDER BY name COLLATE NOCASE")

@ -1136,46 +1136,32 @@ public class FragmentCompose extends FragmentBase {
fragmentTransaction.commit(); fragmentTransaction.commit();
return; return;
} }
new SimpleTask<Cursor>() { new SimpleTask<List<EntityAnswer>>() {
@Override @Override
protected Cursor onExecute(Context context, Bundle args) { protected List<EntityAnswer> onExecute(Context context, Bundle args) {
DB db = DB.getInstance(getContext()); DB db = DB.getInstance(getContext());
return db.answer().getAnswerList(); return db.answer().getAnswers(false);
} }
@Override @Override
protected void onExecuted(Bundle args, Cursor cursor) { protected void onExecuted(Bundle args, List<EntityAnswer> answers) {
ListView lv = new ListView(getContext()); final ArrayAdapter<EntityAnswer> adapter =
new ArrayAdapter<>(getContext(), R.layout.spinner_item1, android.R.id.text1, answers);
final SimpleCursorAdapter adapter = new SimpleCursorAdapter( new DialogBuilderLifecycle(getContext(), getViewLifecycleOwner())
getContext(), .setAdapter(adapter, new DialogInterface.OnClickListener() {
R.layout.spinner_item1_dropdown,
cursor,
new String[]{"name"},
new int[]{android.R.id.text1},
0);
lv.setAdapter(adapter);
final AlertDialog dialog = new DialogBuilderLifecycle(getContext(), getViewLifecycleOwner())
.setTitle(R.string.title_insert_template)
.setView(lv)
.create();
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); dialog.dismiss();
EntityAnswer answer = adapter.getItem(which);
Cursor cursor = (Cursor) adapter.getItem(position); String text = EntityAnswer.replacePlaceholders(answer.text, null, null, null, null);
String text = cursor.getString(cursor.getColumnIndex("text"));
text = EntityAnswer.replacePlaceholders(text, null, null, null, null);
Spanned spanned = HtmlHelper.fromHtml(text); Spanned spanned = HtmlHelper.fromHtml(text);
etBody.getText().insert(etBody.getSelectionStart(), spanned); etBody.getText().insert(etBody.getSelectionStart(), spanned);
} }
}); })
.show();
dialog.show();
} }
@Override @Override

Loading…
Cancel
Save