diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java | 13 | ||||
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationsActivity.java | 18 |
2 files changed, 26 insertions, 5 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java index 3d9e87b0d..cee5c20e1 100644 --- a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java @@ -64,8 +64,9 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers public void onClick(View v) { final AlertDialog.Builder DestroyMucDialog = new AlertDialog.Builder(ConferenceDetailsActivity.this); DestroyMucDialog.setNegativeButton(getString(R.string.cancel), null); - DestroyMucDialog.setTitle(getString(R.string.destroy_muc)); - DestroyMucDialog.setMessage(getString(R.string.destroy_muc_text, mConversation.getName())); + final boolean groupChat = mConversation != null && mConversation.isPrivateAndNonAnonymous(); + DestroyMucDialog.setTitle(groupChat ? R.string.destroy_room : R.string.destroy_channel); + DestroyMucDialog.setMessage(getString(groupChat ? R.string.destroy_room_dialog : R.string.destroy_channel_dialog, mConversation.getName())); DestroyMucDialog.setPositiveButton(getString(R.string.delete), (dialogInterface, i) -> { Intent intent = new Intent(xmppConnectionService, ConversationsActivity.class); intent.setAction(ConversationsActivity.ACTION_DESTROY_MUC); @@ -388,9 +389,10 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers @Override public boolean onCreateOptionsMenu(Menu menu) { + final boolean groupChat = mConversation != null && mConversation.isPrivateAndNonAnonymous(); getMenuInflater().inflate(R.menu.muc_details, menu); final MenuItem share = menu.findItem(R.id.action_share); - share.setVisible(mConversation != null && !mConversation.isPrivateAndNonAnonymous()); + share.setVisible(groupChat); return super.onCreateOptionsMenu(menu); } @@ -435,6 +437,11 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers final int limit = GridManager.getCurrentColumnCount(this.binding.media); xmppConnectionService.getAttachments(this.mConversation, limit, this); this.binding.showMedia.setOnClickListener((v) -> MediaBrowserActivity.launch(this, mConversation)); + + final boolean groupChat = mConversation != null && mConversation.isPrivateAndNonAnonymous(); + this.binding.destroy.setText(groupChat ? R.string.destroy_room : R.string.destroy_channel); + this.binding.leaveMuc.setText(groupChat ? R.string.action_end_conversation_muc : R.string.action_end_conversation_channel); + this.binding.autojoinCheckbox.setText(groupChat ? R.string.autojoin_group_chat : R.string.autojoin_channel); } updateView(); } diff --git a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java index e7343ce63..e84e657b7 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationsActivity.java @@ -96,7 +96,7 @@ import rocks.xmpp.addr.Jid; import static de.pixart.messenger.ui.ConversationFragment.REQUEST_DECRYPT_PGP; -public class ConversationsActivity extends XmppActivity implements OnConversationSelected, OnConversationArchived, OnConversationsListItemUpdated, OnConversationRead, XmppConnectionService.OnAccountUpdate, XmppConnectionService.OnConversationUpdate, XmppConnectionService.OnRosterUpdate, OnUpdateBlocklist, XmppConnectionService.OnShowErrorToast, XmppConnectionService.OnAffiliationChanged { +public class ConversationsActivity extends XmppActivity implements OnConversationSelected, OnConversationArchived, OnConversationsListItemUpdated, OnConversationRead, XmppConnectionService.OnAccountUpdate, XmppConnectionService.OnConversationUpdate, XmppConnectionService.OnRosterUpdate, OnUpdateBlocklist, XmppConnectionService.OnShowErrorToast, XmppConnectionService.OnAffiliationChanged, XmppConnectionService.OnRoomDestroy { public static final String ACTION_VIEW_CONVERSATION = "de.pixart.messenger.VIEW"; public static final String EXTRA_CONVERSATION = "conversationUuid"; @@ -607,7 +607,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio Log.d(Config.LOGTAG, "Get " + intent.getAction() + " intent for " + extras.getString("MUC_UUID")); Conversation conversation = xmppConnectionService.findConversationByUuid(extras.getString("MUC_UUID")); ConversationsActivity.this.xmppConnectionService.clearConversationHistory(conversation); - xmppConnectionService.destroyRoom(conversation); + xmppConnectionService.destroyRoom(conversation, ConversationsActivity.this); endConversation(conversation); } } @@ -932,4 +932,18 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio Log.d(Config.LOGTAG, "AppUpdater stopped"); } } + + @Override + public void onRoomDestroySucceeded() { + Conversation conversation = ConversationFragment.getConversationReliable(this); + final boolean groupChat = conversation != null && conversation.isPrivateAndNonAnonymous(); + displayToast(getString(groupChat ? R.string.destroy_room_succeed : R.string.destroy_channel_succeed)); + } + + @Override + public void onRoomDestroyFailed() { + Conversation conversation = ConversationFragment.getConversationReliable(this); + final boolean groupChat = conversation != null && conversation.isPrivateAndNonAnonymous(); + displayToast(getString(groupChat ? R.string.destroy_room_failed : R.string.destroy_channel_failed)); + } }
\ No newline at end of file |