diff --git a/src/cheogram/res/menu/conference_photo.xml b/src/cheogram/res/menu/conference_photo.xml new file mode 100644 index 0000000000000000000000000000000000000000..dfdd75a2ba430a74ce5da377c1c9767c5b74162c --- /dev/null +++ b/src/cheogram/res/menu/conference_photo.xml @@ -0,0 +1,6 @@ + +
diff --git a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java index 7cef7d7dfb3b5b86b54439fe994572d90ff81b2c..45c0012dba51da7051c4671f9af17f54f02d4c72 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java @@ -20,6 +20,7 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; +import android.widget.PopupMenu; import android.widget.TextView; import android.widget.Toast; @@ -231,6 +232,30 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers intent.putExtra("uuid", mConversation.getUuid()); startActivity(intent); }); + this.binding.yourPhoto.setOnLongClickListener(v -> { + PopupMenu popupMenu = new PopupMenu(this, v); + popupMenu.inflate(R.menu.conference_photo); + popupMenu.setOnMenuItemClickListener(menuItem -> { + switch (menuItem.getItemId()) { + case R.id.action_block_avatar: + new AlertDialog.Builder(this) + .setTitle(R.string.block_media) + .setMessage("Do you really want to block this avatar?") + .setPositiveButton(R.string.yes, (dialog, whichButton) -> { + xmppConnectionService.blockMedia(xmppConnectionService.getFileBackend().getAvatarFile(mConversation.getContact().getAvatarFilename())); + xmppConnectionService.getFileBackend().getAvatarFile(mConversation.getContact().getAvatarFilename()).delete(); + avatarService().clear(mConversation); + mConversation.getContact().setAvatar(null); + xmppConnectionService.updateConversationUi(); + }) + .setNegativeButton(R.string.no, null).show(); + return true; + } + return true; + }); + popupMenu.show(); + return true; + }); this.binding.editMucNameButton.setOnClickListener(this::onMucEditButtonClicked); this.binding.mucEditTitle.addTextChangedListener(this); this.binding.mucEditSubject.addTextChangedListener(this);