From 163f5ae6229c99d72a73215ce1ba72827eefd93b Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 9 Feb 2019 15:22:29 +0100 Subject: use the term channel in destroy dialog and some other strings --- .../messenger/services/XmppConnectionService.java | 40 +++++++++------------- .../messenger/ui/ConferenceDetailsActivity.java | 13 +++++-- .../pixart/messenger/ui/ConversationsActivity.java | 18 ++++++++-- src/main/res/layout/activity_muc_details.xml | 7 ++-- src/main/res/values-ar/strings.xml | 4 +-- src/main/res/values-ceb/strings.xml | 8 ++--- src/main/res/values-de/strings.xml | 10 +++--- src/main/res/values-es/strings.xml | 10 +++--- src/main/res/values-fil/strings.xml | 8 ++--- src/main/res/values-fr/strings.xml | 10 +++--- src/main/res/values-id/strings.xml | 8 ++--- src/main/res/values-it/strings.xml | 10 +++--- src/main/res/values-pl/strings.xml | 2 +- src/main/res/values-tr/strings.xml | 8 ++--- src/main/res/values/strings.xml | 20 +++++++---- 15 files changed, 97 insertions(+), 79 deletions(-) (limited to 'src') diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index 551ff7818..3f9ac5f99 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -3205,32 +3205,26 @@ public class XmppConnectionService extends Service { }); } - public void destroyRoom(final Conversation mSelectedConversation) { - destroyRoom(mSelectedConversation, new OnRoomDestroy() { - @Override - public void onRoomDestroySucceeded(int resId) { - Log.d(Config.LOGTAG, "Destroy succeed"); - showErrorToastInUi(resId); - } - + public void destroyRoom(final Conversation conversation, final OnRoomDestroy callback) { + IqPacket request = new IqPacket(IqPacket.TYPE.SET); + request.setTo(conversation.getJid().asBareJid()); + request.query("http://jabber.org/protocol/muc#owner").addChild("destroy"); + sendIqPacket(conversation.getAccount(), request, new OnIqPacketReceived() { @Override - public void onRoomDestroyFailed(int resId) { - Log.d(Config.LOGTAG, "Destroy failed"); - showErrorToastInUi(resId); + public void onIqPacketReceived(Account account, IqPacket packet) { + if (packet.getType() == IqPacket.TYPE.RESULT) { + if (callback != null) { + callback.onRoomDestroySucceeded(); + } + } else if (packet.getType() == IqPacket.TYPE.ERROR) { + if (callback != null) { + callback.onRoomDestroyFailed(); + } + } } }); } - public void destroyRoom(final Conversation conference, final OnRoomDestroy callback) { - IqPacket request = this.mIqGenerator.destroyRoom(conference); - sendIqPacket(conference.getAccount(), request, (account, packet) -> { - if (packet.getType() == IqPacket.TYPE.RESULT) { - callback.onRoomDestroySucceeded(R.string.destroy_muc_succeed); - } else { - callback.onRoomDestroyFailed(R.string.destroy_muc_failed); - } - }); - } private void disconnect(Account account, boolean force) { if ((account.getStatus() == Account.State.ONLINE) @@ -4719,9 +4713,9 @@ public class XmppConnectionService extends Service { } public interface OnRoomDestroy { - void onRoomDestroySucceeded(int resId); + void onRoomDestroySucceeded(); - void onRoomDestroyFailed(int resId); + void onRoomDestroyFailed(); } public interface OnConversationUpdate { 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 diff --git a/src/main/res/layout/activity_muc_details.xml b/src/main/res/layout/activity_muc_details.xml index 9b2b3333c..0aa9768e3 100644 --- a/src/main/res/layout/activity_muc_details.xml +++ b/src/main/res/layout/activity_muc_details.xml @@ -235,7 +235,6 @@ android:layout_marginStart="-6dp" android:layout_marginLeft="-6dp" android:layout_marginTop="4dp" - android:text="@string/autojoin_groupchat" android:textAppearance="@style/TextAppearance.Conversations.Body1" /> + android:layout_marginTop="24dp" /> + android:layout_marginTop="24dp" />