diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2016-09-18 23:21:05 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-09-23 21:55:03 +0200 |
commit | 029756947294e3d81e272659cf0bf84915db2bde (patch) | |
tree | cb1de4f8e92d2fe167823bc2fecb3c289fef2cd4 /src/main/java/de/pixart/messenger/ui | |
parent | cccd15e4dc1ba769727fdfeb3359c2307f3e8ac6 (diff) |
add support for XEP-0377: Spam Reporting
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/BlockContactDialog.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java b/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java index b625e8b62..7f175e615 100644 --- a/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java +++ b/src/main/java/de/pixart/messenger/ui/BlockContactDialog.java @@ -3,6 +3,11 @@ package de.pixart.messenger.ui; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.CheckBox; +import android.widget.LinearLayout; +import android.widget.TextView; import de.pixart.messenger.R; import de.pixart.messenger.entities.Blockable; @@ -15,14 +20,21 @@ public final class BlockContactDialog { final AlertDialog.Builder builder = new AlertDialog.Builder(context); final boolean isBlocked = blockable.isBlocked(); builder.setNegativeButton(R.string.cancel, null); + LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + LinearLayout view = (LinearLayout) inflater.inflate(R.layout.dialog_block_contact,null); + TextView message = (TextView) view.findViewById(R.id.text); + final CheckBox report = (CheckBox) view.findViewById(R.id.report_spam); + final boolean reporting = blockable.getAccount().getXmppConnection().getFeatures().spamReporting(); + report.setVisibility(!isBlocked && reporting ? View.VISIBLE : View.GONE); + builder.setView(view); if (blockable.getJid().isDomainJid() || blockable.getAccount().isBlocked(blockable.getJid().toDomainJid())) { builder.setTitle(isBlocked ? R.string.action_unblock_domain : R.string.action_block_domain); - builder.setMessage(context.getResources().getString(isBlocked ? R.string.unblock_domain_text : R.string.block_domain_text, + message.setText(context.getResources().getString(isBlocked ? R.string.unblock_domain_text : R.string.block_domain_text, blockable.getJid().toDomainJid())); } else { builder.setTitle(isBlocked ? R.string.action_unblock_contact : R.string.action_block_contact); - builder.setMessage(context.getResources().getString(isBlocked ? R.string.unblock_contact_text : R.string.block_contact_text, + message.setText(context.getResources().getString(isBlocked ? R.string.unblock_contact_text : R.string.block_contact_text, blockable.getJid().toBareJid())); } builder.setPositiveButton(isBlocked ? R.string.unblock : R.string.block, new DialogInterface.OnClickListener() { @@ -32,7 +44,7 @@ public final class BlockContactDialog { if (isBlocked) { xmppConnectionService.sendUnblockRequest(blockable); } else { - xmppConnectionService.sendBlockRequest(blockable); + xmppConnectionService.sendBlockRequest(blockable, report.isChecked()); } } }); |