aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java13
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationsActivity.java18
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