From 5be28d3a4aff0123c658674886bf998513bc3093 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Fri, 13 Apr 2018 23:03:54 +0200 Subject: end view if conversation was archived --- .../de/pixart/messenger/ui/BlockContactDialog.java | 49 +++++++++------------- 1 file changed, 19 insertions(+), 30 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui/BlockContactDialog.java') diff --git a/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java b/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java index 981b29c41..f7711ce34 100644 --- a/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java +++ b/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java @@ -1,19 +1,15 @@ package de.pixart.messenger.ui; -import android.content.Context; -import android.content.DialogInterface; +import android.databinding.DataBindingUtil; import android.support.v7.app.AlertDialog; import android.text.SpannableString; import android.text.Spanned; import android.text.style.TypefaceSpan; -import android.view.LayoutInflater; import android.view.View; -import android.widget.CheckBox; -import android.widget.LinearLayout; -import android.widget.TextView; import android.widget.Toast; import de.pixart.messenger.R; +import de.pixart.messenger.databinding.DialogBlockContactBinding; import de.pixart.messenger.entities.Blockable; import de.pixart.messenger.entities.Conversation; import rocks.xmpp.addr.Jid; @@ -23,13 +19,10 @@ public final class BlockContactDialog { final AlertDialog.Builder builder = new AlertDialog.Builder(xmppActivity); final boolean isBlocked = blockable.isBlocked(); builder.setNegativeButton(R.string.cancel, null); - LayoutInflater inflater = (LayoutInflater) xmppActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - LinearLayout view = (LinearLayout) inflater.inflate(R.layout.dialog_block_contact, null); - TextView message = view.findViewById(R.id.text); - final CheckBox report = view.findViewById(R.id.report_spam); + DialogBlockContactBinding binding = DataBindingUtil.inflate(xmppActivity.getLayoutInflater(), R.layout.dialog_block_contact, null, false); final boolean reporting = blockable.getAccount().getXmppConnection().getFeatures().spamReporting(); - report.setVisibility(!isBlocked && reporting ? View.VISIBLE : View.GONE); - builder.setView(view); + binding.reportSpam.setVisibility(!isBlocked && reporting ? View.VISIBLE : View.GONE); + builder.setView(binding.getRoot()); String value; SpannableString spannable; @@ -47,25 +40,21 @@ public final class BlockContactDialog { if (start >= 0) { spannable.setSpan(new TypefaceSpan("monospace"), start, start + value.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } - message.setText(spannable); - builder.setPositiveButton(isBlocked ? R.string.unblock : R.string.block, new DialogInterface.OnClickListener() { - - @Override - public void onClick(final DialogInterface dialog, final int which) { - if (isBlocked) { - xmppActivity.xmppConnectionService.sendUnblockRequest(blockable); - } else { - boolean toastShown = false; - if (xmppActivity.xmppConnectionService.sendBlockRequest(blockable, report.isChecked())) { - Toast.makeText(xmppActivity, R.string.corresponding_conversations_closed, Toast.LENGTH_SHORT).show(); - toastShown = true; - } - if (xmppActivity instanceof ContactDetailsActivity) { - if (!toastShown) { - Toast.makeText(xmppActivity, R.string.contact_blocked_past_tense, Toast.LENGTH_SHORT).show(); - } - xmppActivity.finish(); + binding.text.setText(spannable); + builder.setPositiveButton(isBlocked ? R.string.unblock : R.string.block, (dialog, which) -> { + if (isBlocked) { + xmppActivity.xmppConnectionService.sendUnblockRequest(blockable); + } else { + boolean toastShown = false; + if (xmppActivity.xmppConnectionService.sendBlockRequest(blockable, binding.reportSpam.isChecked())) { + Toast.makeText(xmppActivity, R.string.corresponding_conversations_closed, Toast.LENGTH_SHORT).show(); + toastShown = true; + } + if (xmppActivity instanceof ContactDetailsActivity) { + if (!toastShown) { + Toast.makeText(xmppActivity, R.string.contact_blocked_past_tense, Toast.LENGTH_SHORT).show(); } + xmppActivity.finish(); } } }); -- cgit v1.2.3