diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-02-07 21:11:50 +0100 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-02-07 21:11:50 +0100 |
commit | 1b3406cdbb6c620cca975b0bc32b43b60fa246cb (patch) | |
tree | 159b4be35bfcc995ba5a8dc2638335bdc998ca9a | |
parent | ba4acfd2c11b55373cc856ee48ffb9a56030e6f4 (diff) |
provide the same fab submenu for both tabs. rename tab to bookmark
50 files changed, 612 insertions, 210 deletions
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index d5dcd8dd6..d458673da 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -208,7 +208,7 @@ android:windowSoftInputMode="stateHidden|adjustResize" /> <activity android:name=".ui.ConferenceDetailsActivity" - android:label="@string/title_activity_conference_details" + android:label="@string/conference_details" android:windowSoftInputMode="stateHidden" /> <activity android:name=".ui.ContactDetailsActivity" diff --git a/src/main/java/de/pixart/messenger/generator/IqGenerator.java b/src/main/java/de/pixart/messenger/generator/IqGenerator.java index b2f43cbcf..d7ac6f994 100644 --- a/src/main/java/de/pixart/messenger/generator/IqGenerator.java +++ b/src/main/java/de/pixart/messenger/generator/IqGenerator.java @@ -466,7 +466,7 @@ public class IqGenerator extends AbstractGenerator { return packet; } - public static Bundle defaultRoomConfiguration() { + public static Bundle defaultGroupChatConfiguration() { Bundle options = new Bundle(); options.putString("muc#roomconfig_persistentroom", "1"); options.putString("muc#roomconfig_membersonly", "1"); @@ -478,6 +478,19 @@ public class IqGenerator extends AbstractGenerator { return options; } + public static Bundle defaultChannelConfiguration() { + Bundle options = new Bundle(); + options.putString("muc#roomconfig_persistentroom", "1"); + options.putString("muc#roomconfig_membersonly", "0"); + options.putString("muc#roomconfig_publicroom", "1"); + options.putString("muc#roomconfig_whois", "moderators"); + options.putString("muc#roomconfig_enablearchiving", "1"); //prosody + options.putString("mam", "1"); //ejabberd community + options.putString("muc#roomconfig_mam", "1"); //ejabberd saas + return options; + } + + public IqPacket requestPubsubConfiguration(Jid jid, String node) { return pubsubConfiguration(jid, node, null); } diff --git a/src/main/java/de/pixart/messenger/parser/PresenceParser.java b/src/main/java/de/pixart/messenger/parser/PresenceParser.java index 0e0b67382..8728a8a9a 100644 --- a/src/main/java/de/pixart/messenger/parser/PresenceParser.java +++ b/src/main/java/de/pixart/messenger/parser/PresenceParser.java @@ -95,7 +95,7 @@ public class PresenceParser extends AbstractParser implements + mucOptions.getConversation().getJid().asBareJid() + "' created. pushing default configuration"); mXmppConnectionService.pushConferenceConfiguration(mucOptions.getConversation(), - IqGenerator.defaultRoomConfiguration(), + IqGenerator.defaultGroupChatConfiguration(), null); } if (mXmppConnectionService.getPgpEngine() != null) { diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index e231b2f6c..41b83a76d 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -96,7 +96,6 @@ import de.pixart.messenger.entities.Bookmark; import de.pixart.messenger.entities.Contact; import de.pixart.messenger.entities.Conversation; import de.pixart.messenger.entities.Conversational; -import de.pixart.messenger.entities.DownloadableFile; import de.pixart.messenger.entities.Message; import de.pixart.messenger.entities.MucOptions; import de.pixart.messenger.entities.MucOptions.OnRenameListener; @@ -104,8 +103,6 @@ import de.pixart.messenger.entities.Presence; import de.pixart.messenger.entities.PresenceTemplate; import de.pixart.messenger.entities.Roster; import de.pixart.messenger.entities.ServiceDiscoveryResult; -import de.pixart.messenger.entities.Transferable; -import de.pixart.messenger.entities.TransferablePlaceholder; import de.pixart.messenger.generator.AbstractGenerator; import de.pixart.messenger.generator.IqGenerator; import de.pixart.messenger.generator.MessageGenerator; @@ -2673,6 +2670,9 @@ public class XmppConnectionService extends Service { if (mucOptions.nonanonymous() && !mucOptions.membersOnly() && !conversation.getBooleanAttribute("accept_non_anonymous", false)) { mucOptions.setError(MucOptions.Error.NON_ANONYMOUS); updateConversationUi(); + if (onConferenceJoined != null) { + onConferenceJoined.onConferenceJoined(conversation); + } return; } final Jid joinJid = mucOptions.getSelf().getFullJid(); @@ -2956,6 +2956,31 @@ public class XmppConnectionService extends Service { return null; } + public void createPublicChannel(final Account account, final String name, final Jid address, final UiCallback<Conversation> callback) { + joinMuc(findOrCreateConversation(account, address, true, false, true), conversation -> { + final Bundle configuration = IqGenerator.defaultChannelConfiguration(); + if (!TextUtils.isEmpty(name)) { + configuration.putString("muc#roomconfig_roomname", name); + } + pushConferenceConfiguration(conversation, configuration, new OnConfigurationPushed() { + @Override + public void onPushSucceeded() { + saveConversationAsBookmark(conversation, name); + callback.success(conversation); + } + + @Override + public void onPushFailed() { + if (conversation.getMucOptions().getSelf().getAffiliation().ranks(MucOptions.Affiliation.OWNER)) { + callback.error(R.string.unable_to_set_channel_configuration, conversation); + } else { + callback.error(R.string.joined_an_existing_channel, conversation); + } + } + }); + }); + } + public boolean createAdhocConference(final Account account, final String name, final Iterable<Jid> jids, @@ -2975,7 +3000,7 @@ public class XmppConnectionService extends Service { joinMuc(conversation, new OnConferenceJoined() { @Override public void onConferenceJoined(final Conversation conversation) { - final Bundle configuration = IqGenerator.defaultRoomConfiguration(); + final Bundle configuration = IqGenerator.defaultGroupChatConfiguration(); if (!TextUtils.isEmpty(name)) { configuration.putString("muc#roomconfig_roomname", name); } diff --git a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java index 02de197da..76c026308 100644 --- a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java @@ -3,14 +3,8 @@ package de.pixart.messenger.ui; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; -import android.content.IntentSender.SendIntentException; -import android.content.res.Resources; import android.databinding.DataBindingUtil; -import android.graphics.Bitmap; import android.graphics.PorterDuff; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.widget.Toolbar; @@ -18,38 +12,24 @@ import android.text.Editable; import android.text.SpannableStringBuilder; import android.text.TextWatcher; import android.util.Log; -import android.view.ContextMenu; -import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; -import android.view.WindowManager; -import android.widget.CompoundButton; -import android.widget.ImageView; import android.widget.Toast; -import org.openintents.openpgp.util.OpenPgpUtils; - -import java.lang.ref.WeakReference; -import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.atomic.AtomicInteger; import de.pixart.messenger.Config; import de.pixart.messenger.R; -import de.pixart.messenger.crypto.PgpEngine; import de.pixart.messenger.databinding.ActivityMucDetailsBinding; -import de.pixart.messenger.databinding.ContactBinding; import de.pixart.messenger.entities.Account; import de.pixart.messenger.entities.Bookmark; -import de.pixart.messenger.entities.Contact; import de.pixart.messenger.entities.Conversation; import de.pixart.messenger.entities.MucOptions; import de.pixart.messenger.entities.MucOptions.User; -import de.pixart.messenger.services.EmojiService; import de.pixart.messenger.services.XmppConnectionService; import de.pixart.messenger.services.XmppConnectionService.OnConversationUpdate; import de.pixart.messenger.services.XmppConnectionService.OnMucRosterUpdate; @@ -68,13 +48,11 @@ import de.pixart.messenger.utils.MenuDoubleTabUtil; import de.pixart.messenger.utils.StringUtils; import de.pixart.messenger.utils.StylingHelper; import de.pixart.messenger.utils.TimeframeUtils; -import de.pixart.messenger.utils.UIHelper; import de.pixart.messenger.utils.XmppUri; import me.drakeet.support.toast.ToastCompat; import rocks.xmpp.addr.Jid; import static de.pixart.messenger.entities.Bookmark.printableValue; -import static de.pixart.messenger.ui.SettingsActivity.USE_BUNDLED_EMOJIS; import static de.pixart.messenger.utils.StringUtils.changed; public class ConferenceDetailsActivity extends XmppActivity implements OnConversationUpdate, OnMucRosterUpdate, XmppConnectionService.OnAffiliationChanged, XmppConnectionService.OnConfigurationPushed, TextWatcher, OnMediaLoaded { @@ -520,7 +498,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers } else { account = mConversation.getAccount().getJid().asBareJid().toString(); } - + setTitle(mucOptions.isPrivateAndNonAnonymous() ? R.string.conference_details : R.string.channel_details); this.binding.editMucNameButton.setVisibility((self.getAffiliation().ranks(MucOptions.Affiliation.OWNER) || mucOptions.canChangeSubject()) ? View.VISIBLE : View.GONE); this.binding.detailsAccount.setText(getString(R.string.using_account, account)); this.binding.jid.setText(mConversation.getJid().asBareJid().toEscapedString()); diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index 56c989c8a..279dcb659 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -1131,7 +1131,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke if (conversation != null) { if (conversation.getMode() == Conversation.MODE_MULTI) { - menuInviteContact.setVisible(true); + menuInviteContact.setVisible(conversation.getMucOptions().canInvite()); menuArchiveChat.setTitle(R.string.action_end_conversation_muc); } else { menuInviteContact.setVisible(false); diff --git a/src/main/java/de/pixart/messenger/ui/CreateConferenceDialog.java b/src/main/java/de/pixart/messenger/ui/CreatePrivateGroupChatDialog.java index 059a6b94c..c77211e9d 100644 --- a/src/main/java/de/pixart/messenger/ui/CreateConferenceDialog.java +++ b/src/main/java/de/pixart/messenger/ui/CreatePrivateGroupChatDialog.java @@ -19,15 +19,15 @@ import de.pixart.messenger.services.XmppConnectionService; import de.pixart.messenger.ui.util.DelayedHintHelper; -public class CreateConferenceDialog extends DialogFragment { +public class CreatePrivateGroupChatDialog extends DialogFragment { private static final String ACCOUNTS_LIST_KEY = "activated_accounts_list"; private static final String MULTIPLE_ACCOUNTS = "multiple_accounts_enabled"; public XmppConnectionService xmppConnectionService; private CreateConferenceDialogListener mListener; - public static CreateConferenceDialog newInstance(List<String> accounts, boolean multipleAccounts) { - CreateConferenceDialog dialog = new CreateConferenceDialog(); + public static CreatePrivateGroupChatDialog newInstance(List<String> accounts, boolean multipleAccounts) { + CreatePrivateGroupChatDialog dialog = new CreatePrivateGroupChatDialog(); Bundle bundle = new Bundle(); bundle.putStringArrayList(ACCOUNTS_LIST_KEY, (ArrayList<String>) accounts); bundle.putBoolean(MULTIPLE_ACCOUNTS, multipleAccounts); @@ -45,7 +45,7 @@ public class CreateConferenceDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setTitle(R.string.create_conference); + builder.setTitle(R.string.create_private_group_chat); CreateConferenceDialogBinding binding = DataBindingUtil.inflate(getActivity().getLayoutInflater(), R.layout.create_conference_dialog, null, false); if (getArguments().getBoolean(MULTIPLE_ACCOUNTS)) { binding.yourAccount.setVisibility(View.VISIBLE); diff --git a/src/main/java/de/pixart/messenger/ui/CreatePublicChannelDialog.java b/src/main/java/de/pixart/messenger/ui/CreatePublicChannelDialog.java new file mode 100644 index 000000000..fe3244483 --- /dev/null +++ b/src/main/java/de/pixart/messenger/ui/CreatePublicChannelDialog.java @@ -0,0 +1,296 @@ +package de.pixart.messenger.ui; + +import android.app.Activity; +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.databinding.DataBindingUtil; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.v4.app.DialogFragment; +import android.support.v7.app.AlertDialog; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.View; +import android.widget.AdapterView; +import android.widget.Button; +import android.widget.Spinner; + +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import de.pixart.messenger.R; +import de.pixart.messenger.databinding.CreatePublicChannelDialogBinding; +import de.pixart.messenger.entities.Account; +import de.pixart.messenger.services.XmppConnectionService; +import de.pixart.messenger.ui.adapter.KnownHostsAdapter; +import de.pixart.messenger.ui.interfaces.OnBackendConnected; +import de.pixart.messenger.ui.util.DelayedHintHelper; +import de.pixart.messenger.utils.CryptoHelper; +import de.pixart.messenger.xmpp.XmppConnection; +import rocks.xmpp.addr.Jid; + +public class CreatePublicChannelDialog extends DialogFragment implements OnBackendConnected { + + private static final char[] FORBIDDEN = new char[]{'\u0022', '&', '\'', '/', ':', '<', '>', '@'}; + + private static final String ACCOUNTS_LIST_KEY = "activated_accounts_list"; + private CreatePublicChannelDialogListener mListener; + private KnownHostsAdapter knownHostsAdapter; + private boolean jidWasModified = false; + private boolean nameEntered = false; + private boolean skipTetxWatcher = false; + private static final SecureRandom RANDOM = new SecureRandom(); + + public static CreatePublicChannelDialog newInstance(List<String> accounts) { + CreatePublicChannelDialog dialog = new CreatePublicChannelDialog(); + Bundle bundle = new Bundle(); + bundle.putStringArrayList(ACCOUNTS_LIST_KEY, (ArrayList<String>) accounts); + dialog.setArguments(bundle); + return dialog; + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + setRetainInstance(true); + } + + @NonNull + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + jidWasModified = savedInstanceState != null && savedInstanceState.getBoolean("jid_was_modified_false", false); + nameEntered = savedInstanceState != null && savedInstanceState.getBoolean("name_entered", false); + final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + builder.setTitle(R.string.create_public_channel); + final CreatePublicChannelDialogBinding binding = DataBindingUtil.inflate(getActivity().getLayoutInflater(), R.layout.create_public_channel_dialog, null, false); + binding.account.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { + updateJidSuggestion(binding); + } + + @Override + public void onNothingSelected(AdapterView<?> parent) { + + } + }); + binding.jid.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + if (skipTetxWatcher) { + return; + } + if (jidWasModified) { + jidWasModified = !TextUtils.isEmpty(s); + } else { + jidWasModified = !s.toString().equals(getJidSuggestion(binding)); + } + } + }); + updateInputs(binding, false); + ArrayList<String> mActivatedAccounts = getArguments().getStringArrayList(ACCOUNTS_LIST_KEY); + StartConversationActivity.populateAccountSpinner(getActivity(), mActivatedAccounts, binding.account); + builder.setView(binding.getRoot()); + builder.setPositiveButton(nameEntered ? R.string.create : R.string.next, null); + builder.setNegativeButton(nameEntered ? R.string.back : R.string.cancel, null); + DelayedHintHelper.setHint(R.string.channel_bare_jid_example, binding.jid); + this.knownHostsAdapter = new KnownHostsAdapter(getActivity(), R.layout.simple_list_item); + binding.jid.setAdapter(knownHostsAdapter); + final AlertDialog dialog = builder.create(); + binding.groupChatName.setOnEditorActionListener((v, actionId, event) -> { + submit(dialog, binding); + return true; + }); + dialog.setOnShowListener(dialogInterface -> { + dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setOnClickListener(v -> goBack(dialog, binding)); + dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(v -> submit(dialog, binding)); + }); + return dialog; + } + + private void updateJidSuggestion(CreatePublicChannelDialogBinding binding) { + if (jidWasModified) { + return; + } + String jid = getJidSuggestion(binding); + skipTetxWatcher = true; + binding.jid.setText(jid); + skipTetxWatcher = false; + } + + @Override + public void onSaveInstanceState(Bundle outState) { + outState.putBoolean("jid_was_modified", jidWasModified); + outState.putBoolean("name_entered", nameEntered); + super.onSaveInstanceState(outState); + } + + private static String getJidSuggestion(CreatePublicChannelDialogBinding binding) { + final Account account = StartConversationActivity.getSelectedAccount(binding.getRoot().getContext(), binding.account); + final XmppConnection connection = account == null ? null : account.getXmppConnection(); + if (connection == null) { + return ""; + } + final Editable nameText = binding.groupChatName.getText(); + final String name = nameText == null ? "" : nameText.toString().trim(); + final String domain = connection.getMucServer(); + if (domain == null) { + return ""; + } + final String localpart = clean(name); + if (TextUtils.isEmpty(localpart)) { + return ""; + } else { + try { + return Jid.of(localpart, domain, null).toEscapedString(); + } catch (IllegalArgumentException e) { + return Jid.of(CryptoHelper.pronounceable(RANDOM), domain, null).toEscapedString(); + } + } + } + + private static String clean(String name) { + for (char c : FORBIDDEN) { + name = name.replace(String.valueOf(c), ""); + } + return name.replaceAll("\\s+", "-"); + } + + private void goBack(AlertDialog dialog, CreatePublicChannelDialogBinding binding) { + if (nameEntered) { + nameEntered = false; + updateInputs(binding, true); + updateButtons(dialog); + } else { + dialog.dismiss(); + } + } + + private void submit(AlertDialog dialog, CreatePublicChannelDialogBinding binding) { + final Context context = binding.getRoot().getContext(); + final Editable nameText = binding.groupChatName.getText(); + final String name = nameText == null ? "" : nameText.toString().trim(); + final Editable addressText = binding.jid.getText(); + final String address = addressText == null ? "" : addressText.toString().trim(); + if (nameEntered) { + binding.nameLayout.setError(null); + if (address.isEmpty()) { + binding.xmppAddressLayout.setError(context.getText(R.string.please_enter_xmpp_address)); + } else { + final Jid jid; + try { + jid = Jid.ofEscaped(address); + } catch (IllegalArgumentException e) { + binding.xmppAddressLayout.setError(context.getText(R.string.invalid_jid)); + return; + } + final Account account = StartConversationActivity.getSelectedAccount(context, binding.account); + if (account == null) { + return; + } + final XmppConnectionService service = ((XmppActivity) context).xmppConnectionService; + if (service != null && service.findFirstMuc(jid) != null) { + binding.xmppAddressLayout.setError(context.getString(R.string.channel_already_exists)); + return; + } + mListener.onCreatePublicChannel(account, name, jid); + dialog.dismiss(); + } + } else { + binding.xmppAddressLayout.setError(null); + if (name.isEmpty()) { + binding.nameLayout.setError(context.getText(R.string.please_enter_name)); + } else if (StartConversationActivity.isValidJid(name)) { + binding.nameLayout.setError(context.getText(R.string.this_is_an_xmpp_address)); + } else { + binding.nameLayout.setError(null); + nameEntered = true; + updateInputs(binding, true); + updateButtons(dialog); + binding.jid.setText(""); + binding.jid.append(getJidSuggestion(binding)); + } + } + } + + + private void updateInputs(CreatePublicChannelDialogBinding binding, boolean requestFocus) { + binding.xmppAddressLayout.setVisibility(nameEntered ? View.VISIBLE : View.GONE); + binding.nameLayout.setVisibility(nameEntered ? View.GONE : View.VISIBLE); + if (!requestFocus) { + return; + } + if (nameEntered) { + binding.xmppAddressLayout.requestFocus(); + } else { + binding.nameLayout.requestFocus(); + } + } + + private void updateButtons(AlertDialog dialog) { + final Button positive = dialog.getButton(DialogInterface.BUTTON_POSITIVE); + final Button negative = dialog.getButton(DialogInterface.BUTTON_NEGATIVE); + positive.setText(nameEntered ? R.string.create : R.string.next); + negative.setText(nameEntered ? R.string.back : R.string.cancel); + } + + @Override + public void onBackendConnected() { + refreshKnownHosts(); + } + + private void refreshKnownHosts() { + Activity activity = getActivity(); + if (activity instanceof XmppActivity) { + Collection<String> hosts = ((XmppActivity) activity).xmppConnectionService.getKnownConferenceHosts(); + this.knownHostsAdapter.refresh(hosts); + } + } + + public interface CreatePublicChannelDialogListener { + void onCreatePublicChannel(Account account, String name, Jid address); + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + try { + mListener = (CreatePublicChannelDialogListener) context; + } catch (ClassCastException e) { + throw new ClassCastException(context.toString() + + " must implement CreateConferenceDialogListener"); + } + } + + @Override + public void onStart() { + super.onStart(); + final Activity activity = getActivity(); + if (activity instanceof XmppActivity && ((XmppActivity) activity).xmppConnectionService != null) { + refreshKnownHosts(); + } + } + + @Override + public void onDestroyView() { + Dialog dialog = getDialog(); + if (dialog != null && getRetainInstance()) { + dialog.setDismissMessage(null); + } + super.onDestroyView(); + } +}
\ No newline at end of file diff --git a/src/main/java/de/pixart/messenger/ui/JoinConferenceDialog.java b/src/main/java/de/pixart/messenger/ui/JoinConferenceDialog.java index 4d05d6d2c..67cc3a9d2 100644 --- a/src/main/java/de/pixart/messenger/ui/JoinConferenceDialog.java +++ b/src/main/java/de/pixart/messenger/ui/JoinConferenceDialog.java @@ -54,9 +54,9 @@ public class JoinConferenceDialog extends DialogFragment implements OnBackendCon @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setTitle(R.string.join_conference); + builder.setTitle(R.string.join_public_channel); DialogJoinConferenceBinding binding = DataBindingUtil.inflate(getActivity().getLayoutInflater(), R.layout.dialog_join_conference, null, false); - DelayedHintHelper.setHint(R.string.conference_address_example, binding.jid); + DelayedHintHelper.setHint(R.string.channel_full_jid_example, binding.jid); this.knownHostsAdapter = new KnownHostsAdapter(getActivity(), R.layout.simple_list_item); binding.jid.setAdapter(knownHostsAdapter); String prefilledJid = getArguments().getString(PREFILLED_JID_KEY); diff --git a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java index 13a7c9e80..97e1f9fd3 100644 --- a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java @@ -66,7 +66,6 @@ import de.pixart.messenger.entities.Contact; import de.pixart.messenger.entities.Conversation; import de.pixart.messenger.entities.ListItem; import de.pixart.messenger.entities.Presence; -import de.pixart.messenger.services.EmojiService; import de.pixart.messenger.services.QuickConversationsService; import de.pixart.messenger.services.XmppConnectionService; import de.pixart.messenger.services.XmppConnectionService.OnRosterUpdate; @@ -81,9 +80,7 @@ import de.pixart.messenger.xmpp.OnUpdateBlocklist; import de.pixart.messenger.xmpp.XmppConnection; import rocks.xmpp.addr.Jid; -import static de.pixart.messenger.ui.SettingsActivity.USE_BUNDLED_EMOJIS; - -public class StartConversationActivity extends XmppActivity implements XmppConnectionService.OnConversationUpdate, OnRosterUpdate, OnUpdateBlocklist, CreateConferenceDialog.CreateConferenceDialogListener, JoinConferenceDialog.JoinConferenceDialogListener { +public class StartConversationActivity extends XmppActivity implements XmppConnectionService.OnConversationUpdate, OnRosterUpdate, OnUpdateBlocklist, CreatePrivateGroupChatDialog.CreateConferenceDialogListener, JoinConferenceDialog.JoinConferenceDialogListener, CreatePublicChannelDialog.CreatePublicChannelDialogListener { public static final String EXTRA_INVITE_URI = "de.pixart.messenger.invite_uri"; @@ -208,12 +205,6 @@ public class StartConversationActivity extends XmppActivity implements XmppConne return true; } }; - private ViewPager.SimpleOnPageChangeListener mOnPageChangeListener = new ViewPager.SimpleOnPageChangeListener() { - @Override - public void onPageSelected(int position) { - onTabChanged(); - } - }; public static void populateAccountSpinner(Context context, List<String> accounts, Spinner spinner) { if (accounts.size() > 0) { @@ -271,33 +262,8 @@ public class StartConversationActivity extends XmppActivity implements XmppConne Toolbar toolbar = (Toolbar) binding.toolbar; setSupportActionBar(toolbar); configureActionBar(getSupportActionBar()); - this.binding.speedDial.setOnChangeListener(new SpeedDialView.OnChangeListener() { - @Override - public boolean onMainActionSelected() { - if (binding.startConversationViewPager.getCurrentItem() == 0) { - String searchString = mSearchEditText != null ? mSearchEditText.getText().toString() : null; - if (searchString != null && !searchString.trim().isEmpty()) { - try { - Jid jid = Jid.of(searchString); - if (jid.getLocal() != null && jid.isBareJid() && jid.getDomain().contains(".")) { - showCreateContactDialog(jid.toString(), null); - return false; - } - } catch (IllegalArgumentException ignored) { - //ignore and fall through - } - } - showCreateContactDialog(null, null); - } - return false; - } - - @Override - public void onToggleChanged(boolean isOpen) { - } - }); + binding.speedDial.inflate(R.menu.start_conversation_fab_submenu); binding.tabLayout.setupWithViewPager(binding.startConversationViewPager); - binding.startConversationViewPager.addOnPageChangeListener(mOnPageChangeListener); mListPagerAdapter = new ListPagerAdapter(getSupportFragmentManager()); binding.startConversationViewPager.setAdapter(mListPagerAdapter); @@ -331,18 +297,40 @@ public class StartConversationActivity extends XmppActivity implements XmppConne } mRequestedContactsPermission.set(savedInstanceState != null && savedInstanceState.getBoolean("requested_contacts_permission", false)); binding.speedDial.setOnActionSelectedListener(actionItem -> { + final String searchString = mSearchEditText != null ? mSearchEditText.getText().toString() : null; + final String prefilled; + if (isValidJid(searchString)) { + prefilled = Jid.ofEscaped(searchString).toEscapedString(); + } else { + prefilled = null; + } switch (actionItem.getId()) { - case R.id.enter: - showJoinConferenceDialog(null); + case R.id.join_public_channel: + showJoinConferenceDialog(prefilled); break; - case R.id.create: - showCreateConferenceDialog(); + case R.id.create_private_group_chat: + showCreatePrivateGroupChatDialog(); + break; + case R.id.create_public_channel: + showPublicChannelDialog(); + break; + case R.id.create_contact: + showCreateContactDialog(prefilled, null); break; } return false; }); } + public static boolean isValidJid(String input) { + try { + Jid jid = Jid.ofEscaped(input); + return !jid.isDomainJid(); + } catch (IllegalArgumentException e) { + return false; + } + } + @Override public void onSaveInstanceState(Bundle savedInstanceState) { Intent pendingIntent = pendingViewIntent.peek(); @@ -390,10 +378,6 @@ public class StartConversationActivity extends XmppActivity implements XmppConne switchToConversation(conversation); } - protected void openConversationForBookmark() { - openConversationForBookmark(conference_context_id); - } - protected void openConversationForBookmark(int position) { Bookmark bookmark = (Bookmark) conferences.get(position); openConversationsForBookmark(bookmark); @@ -499,7 +483,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne ft.addToBackStack(null); EnterJidDialog dialog = EnterJidDialog.newInstance( mActivatedAccounts, - getString(R.string.create_contact), + getString(R.string.add_contact), getString(R.string.create), prefilledJid, null, @@ -551,32 +535,51 @@ public class StartConversationActivity extends XmppActivity implements XmppConne joinConferenceFragment.show(ft, FRAGMENT_TAG_DIALOG); } - private void showCreateConferenceDialog() { + private void showCreatePrivateGroupChatDialog() { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); Fragment prev = getSupportFragmentManager().findFragmentByTag(FRAGMENT_TAG_DIALOG); if (prev != null) { ft.remove(prev); } ft.addToBackStack(null); - CreateConferenceDialog createConferenceFragment = CreateConferenceDialog.newInstance(mActivatedAccounts, xmppConnectionService.multipleAccounts()); + CreatePrivateGroupChatDialog createConferenceFragment = CreatePrivateGroupChatDialog.newInstance(mActivatedAccounts, xmppConnectionService.multipleAccounts()); createConferenceFragment.show(ft, FRAGMENT_TAG_DIALOG); } - private Account getSelectedAccount(Spinner spinner) { - if (!spinner.isEnabled()) { + private void showPublicChannelDialog() { + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); + Fragment prev = getSupportFragmentManager().findFragmentByTag(FRAGMENT_TAG_DIALOG); + if (prev != null) { + ft.remove(prev); + } + ft.addToBackStack(null); + CreatePublicChannelDialog dialog = CreatePublicChannelDialog.newInstance(mActivatedAccounts); + dialog.show(ft, FRAGMENT_TAG_DIALOG); + } + + public static Account getSelectedAccount(Context context, Spinner spinner) { + if (spinner == null || !spinner.isEnabled()) { return null; } - Jid jid; - try { - if (Config.DOMAIN_LOCK != null) { - jid = Jid.of((String) spinner.getSelectedItem(), Config.DOMAIN_LOCK, null); - } else { - jid = Jid.of((String) spinner.getSelectedItem()); + if (context instanceof XmppActivity) { + Jid jid; + try { + if (Config.DOMAIN_LOCK != null) { + jid = Jid.of((String) spinner.getSelectedItem(), Config.DOMAIN_LOCK, null); + } else { + jid = Jid.of((String) spinner.getSelectedItem()); + } + } catch (final IllegalArgumentException e) { + return null; } - } catch (final IllegalArgumentException e) { + final XmppConnectionService service = ((XmppActivity) context).xmppConnectionService; + if (service == null) { + return null; + } + return service.findAccountByJid(jid); + } else { return null; } - return xmppConnectionService.findAccountByJid(jid); } protected void switchToConversation(Contact contact) { @@ -919,19 +922,6 @@ public class StartConversationActivity extends XmppActivity implements XmppConne mConferenceAdapter.notifyDataSetChanged(); } - private void onTabChanged() { - @DrawableRes final int fabDrawable; - if (binding.startConversationViewPager.getCurrentItem() == 0) { - fabDrawable = R.drawable.ic_person_add_white_24dp; - binding.speedDial.clearActionItems(); - } else { - fabDrawable = R.drawable.ic_group_add_white_24dp; - binding.speedDial.inflate(R.menu.start_conversation_group_fab); - } - binding.speedDial.setMainFabClosedDrawable(ContextCompat.getDrawable(this, fabDrawable)); - invalidateOptionsMenu(); - } - @Override public void OnUpdateBlocklist(final Status status) { refreshUi(); @@ -968,7 +958,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne if (!xmppConnectionServiceBound) { return; } - final Account account = getSelectedAccount(spinner); + final Account account = getSelectedAccount(this, spinner); if (account == null) { return; } @@ -987,7 +977,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne if (!xmppConnectionServiceBound) { return; } - final Account account = getSelectedAccount(spinner); + final Account account = getSelectedAccount(this, spinner); if (account == null) { return; } @@ -1030,6 +1020,35 @@ public class StartConversationActivity extends XmppActivity implements XmppConne refreshUi(); } + @Override + public void onCreatePublicChannel(Account account, String name, Jid address) { + mToast = Toast.makeText(this, R.string.creating_channel, Toast.LENGTH_LONG); + mToast.show(); + xmppConnectionService.createPublicChannel(account, name, address, new UiCallback<Conversation>() { + @Override + public void success(Conversation conversation) { + runOnUiThread(() -> { + hideToast(); + switchToConversation(conversation); + }); + + } + + @Override + public void error(int errorCode, Conversation conversation) { + runOnUiThread(() -> { + replaceToast(getString(errorCode)); + switchToConversation(conversation); + }); + } + + @Override + public void userInputRequried(PendingIntent pi, Conversation object) { + + } + }); + } + public static class MyListFragment extends ListFragment { private AdapterView.OnItemClickListener mOnItemClickListener; private int mResContextMenu; @@ -1111,9 +1130,6 @@ public class StartConversationActivity extends XmppActivity implements XmppConne case R.id.context_delete_contact: activity.deleteContact(); break; - case R.id.context_join_conference: - activity.openConversationForBookmark(); - break; case R.id.context_share_uri: activity.shareBookmarkUri(); break; @@ -1178,7 +1194,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne case 0: return getResources().getString(R.string.contacts); case 1: - return getResources().getString(R.string.conferences); + return getResources().getString(R.string.bookmarks); default: return super.getPageTitle(position); } diff --git a/src/main/java/de/pixart/messenger/utils/CryptoHelper.java b/src/main/java/de/pixart/messenger/utils/CryptoHelper.java index 2104349d8..5d1e7980c 100644 --- a/src/main/java/de/pixart/messenger/utils/CryptoHelper.java +++ b/src/main/java/de/pixart/messenger/utils/CryptoHelper.java @@ -63,7 +63,8 @@ public final class CryptoHelper { } public static String pronounceable(SecureRandom random) { - char[] output = new char[random.nextInt(4) * 2 + 5]; + final int rand = random.nextInt(4); + char[] output = new char[rand * 2 + (5 - rand)]; boolean vowel = random.nextBoolean(); for (int i = 0; i < output.length; ++i) { output[i] = vowel ? VOWELS[random.nextInt(VOWELS.length)] : CONSONANTS[random.nextInt(CONSONANTS.length)]; diff --git a/src/main/res/drawable-hdpi/ic_add_white_24dp.png b/src/main/res/drawable-hdpi/ic_add_white_24dp.png Binary files differnew file mode 100644 index 000000000..bcd24f2d9 --- /dev/null +++ b/src/main/res/drawable-hdpi/ic_add_white_24dp.png diff --git a/src/main/res/drawable-hdpi/ic_public_white_24dp.png b/src/main/res/drawable-hdpi/ic_public_white_24dp.png Binary files differnew file mode 100644 index 000000000..242c0de59 --- /dev/null +++ b/src/main/res/drawable-hdpi/ic_public_white_24dp.png diff --git a/src/main/res/drawable-mdpi/ic_add_white_24dp.png b/src/main/res/drawable-mdpi/ic_add_white_24dp.png Binary files differnew file mode 100644 index 000000000..c5d5ae2fe --- /dev/null +++ b/src/main/res/drawable-mdpi/ic_add_white_24dp.png diff --git a/src/main/res/drawable-mdpi/ic_public_white_24dp.png b/src/main/res/drawable-mdpi/ic_public_white_24dp.png Binary files differnew file mode 100644 index 000000000..5b99884ad --- /dev/null +++ b/src/main/res/drawable-mdpi/ic_public_white_24dp.png diff --git a/src/main/res/drawable-xhdpi/ic_add_white_24dp.png b/src/main/res/drawable-xhdpi/ic_add_white_24dp.png Binary files differnew file mode 100644 index 000000000..d7540be50 --- /dev/null +++ b/src/main/res/drawable-xhdpi/ic_add_white_24dp.png diff --git a/src/main/res/drawable-xhdpi/ic_public_white_24dp.png b/src/main/res/drawable-xhdpi/ic_public_white_24dp.png Binary files differnew file mode 100644 index 000000000..800b7dbf9 --- /dev/null +++ b/src/main/res/drawable-xhdpi/ic_public_white_24dp.png diff --git a/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png Binary files differnew file mode 100644 index 000000000..d1c0a1d79 --- /dev/null +++ b/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png diff --git a/src/main/res/drawable-xxhdpi/ic_public_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_public_white_24dp.png Binary files differnew file mode 100644 index 000000000..b8c8448a2 --- /dev/null +++ b/src/main/res/drawable-xxhdpi/ic_public_white_24dp.png diff --git a/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png b/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png Binary files differnew file mode 100644 index 000000000..54a96a38a --- /dev/null +++ b/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png diff --git a/src/main/res/drawable-xxxhdpi/ic_public_white_24dp.png b/src/main/res/drawable-xxxhdpi/ic_public_white_24dp.png Binary files differnew file mode 100644 index 000000000..7fb0b9929 --- /dev/null +++ b/src/main/res/drawable-xxxhdpi/ic_public_white_24dp.png diff --git a/src/main/res/layout/activity_start_conversation.xml b/src/main/res/layout/activity_start_conversation.xml index f5ca18b5a..2a77e6654 100644 --- a/src/main/res/layout/activity_start_conversation.xml +++ b/src/main/res/layout/activity_start_conversation.xml @@ -47,9 +47,9 @@ android:layout_alignParentBottom="true" app:backgroundTint="?attr/colorAccent" app:sdMainFabClosedBackgroundColor="?attr/colorAccent" - app:sdMainFabClosedSrc="@drawable/ic_person_add_white_24dp" + app:sdMainFabClosedSrc="@drawable/ic_add_white_24dp" app:sdMainFabOpenedBackgroundColor="?attr/colorAccent" - app:sdMainFabOpenedSrc="@drawable/ic_close_white_24dp" - app:sdOverlayLayout="@id/overlay" /> + app:sdOverlayLayout="@id/overlay" + app:sdUseReverseAnimationOnClose="true" /> </RelativeLayout> </layout>
\ No newline at end of file diff --git a/src/main/res/layout/create_conference_dialog.xml b/src/main/res/layout/create_conference_dialog.xml index 85a4cbf89..fc4aefaf5 100644 --- a/src/main/res/layout/create_conference_dialog.xml +++ b/src/main/res/layout/create_conference_dialog.xml @@ -39,7 +39,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/create_dialog_group_chat_name" - android:imeOptions="actionNext" /> + android:imeOptions="actionNext|flagNoExtractUi" /> </android.support.design.widget.TextInputLayout> </LinearLayout> </layout>
\ No newline at end of file diff --git a/src/main/res/layout/create_public_channel_dialog.xml b/src/main/res/layout/create_public_channel_dialog.xml new file mode 100644 index 000000000..a409cde37 --- /dev/null +++ b/src/main/res/layout/create_public_channel_dialog.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="utf-8"?> +<layout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical" + android:padding="?dialogPreferredPadding"> + + <TextView + style="@style/InputLabel" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/your_account" /> + + <Spinner + android:id="@+id/account" + android:layout_width="fill_parent" + android:layout_height="wrap_content" /> + + <android.support.design.widget.TextInputLayout + android:id="@+id/name_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error" + app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"> + + <de.pixart.messenger.ui.widget.EmojiWrapperEditText + android:id="@+id/group_chat_name" + style="@style/Widget.Conversations.EditText" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:hint="@string/create_dialog_channel_name" + android:imeOptions="actionNext|flagNoExtractUi" /> + </android.support.design.widget.TextInputLayout> + + <android.support.design.widget.TextInputLayout + android:id="@+id/xmpp_address_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:hint="@string/xmpp_address" + android:visibility="gone" + app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error" + app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"> + + <AutoCompleteTextView + android:id="@+id/jid" + style="@style/Widget.Conversations.EditText" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:imeOptions="actionDone|flagNoExtractUi" + android:inputType="textEmailAddress" /> + </android.support.design.widget.TextInputLayout> + </LinearLayout> +</layout>
\ No newline at end of file diff --git a/src/main/res/layout/dialog_join_conference.xml b/src/main/res/layout/dialog_join_conference.xml index 27acefc4a..3d8478a34 100644 --- a/src/main/res/layout/dialog_join_conference.xml +++ b/src/main/res/layout/dialog_join_conference.xml @@ -31,7 +31,7 @@ android:id="@+id/account_jid_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:hint="@string/conference_address" + android:hint="@string/xmpp_address" app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error" app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"> @@ -40,7 +40,7 @@ style="@style/Widget.Conversations.EditText" android:layout_width="fill_parent" android:layout_height="wrap_content" - android:imeOptions="actionDone" + android:imeOptions="actionDone|flagNoExtractUi" android:inputType="textEmailAddress" /> </android.support.design.widget.TextInputLayout> diff --git a/src/main/res/layout/enter_jid_dialog.xml b/src/main/res/layout/enter_jid_dialog.xml index 11f673916..932868771 100644 --- a/src/main/res/layout/enter_jid_dialog.xml +++ b/src/main/res/layout/enter_jid_dialog.xml @@ -40,7 +40,7 @@ style="@style/Widget.Conversations.EditText" android:layout_width="fill_parent" android:layout_height="wrap_content" - android:imeOptions="actionDone" + android:imeOptions="actionDone|flagNoExtractUi" android:inputType="textEmailAddress" android:textColor="?attr/text_Color_Main" /> </android.support.design.widget.TextInputLayout> diff --git a/src/main/res/menu/conference_context.xml b/src/main/res/menu/conference_context.xml index 051a468d4..dbc6ebfa6 100644 --- a/src/main/res/menu/conference_context.xml +++ b/src/main/res/menu/conference_context.xml @@ -2,9 +2,6 @@ <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item - android:id="@+id/context_join_conference" - android:title="@string/join_conference" /> - <item android:id="@+id/context_delete_conference" android:title="@string/delete_bookmark" /> <item diff --git a/src/main/res/menu/start_conversation_fab_submenu.xml b/src/main/res/menu/start_conversation_fab_submenu.xml new file mode 100644 index 000000000..212a94a7e --- /dev/null +++ b/src/main/res/menu/start_conversation_fab_submenu.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + <item + android:id="@+id/join_public_channel" + android:icon="@drawable/ic_input_white_24dp" + android:title="@string/join_public_channel" /> + <item + android:id="@+id/create_public_channel" + android:icon="@drawable/ic_public_white_24dp" + android:title="@string/create_public_channel" /> + <item + android:id="@+id/create_private_group_chat" + android:icon="@drawable/ic_group_white_24dp" + android:title="@string/create_private_group_chat" /> + <item + android:id="@+id/create_contact" + android:icon="@drawable/ic_person_white_48dp" + android:title="@string/add_contact" /> +</menu>
\ No newline at end of file diff --git a/src/main/res/menu/start_conversation_group_fab.xml b/src/main/res/menu/start_conversation_group_fab.xml deleted file mode 100644 index 9eb95bc03..000000000 --- a/src/main/res/menu/start_conversation_group_fab.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:id="@+id/enter" - android:icon="@drawable/ic_input_white_24dp" - android:title="@string/join_group_chat" /> - <item - android:id="@+id/create" - android:icon="@drawable/ic_edit_white_24dp" - android:title="@string/create_group_chat" /> -</menu>
\ No newline at end of file diff --git a/src/main/res/values-ar/strings.xml b/src/main/res/values-ar/strings.xml index f7a5e4e40..a8243c3c0 100644 --- a/src/main/res/values-ar/strings.xml +++ b/src/main/res/values-ar/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">إلغاء حجب اسم النطاق</string> <string name="title_activity_manage_accounts">إدارة الحسابات</string> <string name="title_activity_settings">الإعدادات</string> - <string name="title_activity_conference_details">تفاصيل فريق المحادثة</string> + <string name="conference_details">تفاصيل فريق المحادثة</string> <string name="title_activity_contact_details">تفاصيل المُراسِل</string> <string name="title_activity_sharewith">شارك بواسطة بيكسل آرت ماسنجر</string> <string name="title_activity_start_conversation">الشروع في محادثة</string> @@ -166,7 +166,7 @@ <string name="search">بحث</string> <string name="create_contact">انشاء مُراسِل</string> <string name="enter_contact">أدخل مراسلا</string> - <string name="join_conference">الالتحاق بفريق المحادثة</string> + <string name="join_public_channel">الالتحاق بفريق المحادثة</string> <string name="delete_contact">حذف المراسِل</string> <string name="view_contact_details">عرض تفاصيل المُراسِل</string> <string name="block_contact">حجب مُراسِل</string> @@ -175,7 +175,7 @@ <string name="select">اختيار</string> <string name="join">الانضمام</string> <string name="conference_address">عنوان فريق المحادثة</string> - <string name="conference_address_example">groupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">groupchat@room.pix-art.de</string> <string name="save_as_bookmark">أضفه كفاصلة مرجعية</string> <string name="delete_bookmark">حذف الفاصلة المرجعية</string> <string name="action_edit_subject">تعديل موضوع فريق المحادثة</string> @@ -356,7 +356,7 @@ <string name="action_end_conversation_muc">مغادرة المحادثة الجماعية</string> <string name="show_password">إظهار الكلمة السرية</string> <string name="registration_password_too_weak">فشلت عملية إنشاء الحساب: إنّ الكلمة السرية ضعيفة</string> - <string name="create_conference">انشاء محادثة جماعية</string> + <string name="create_private_group_chat">انشاء محادثة جماعية</string> <string name="conference_subject">الموضوع</string> <string name="choose_participants">اختر المشاركين</string> <string name="creating_conference">عملية انشاء فريق المحادثة جارية…</string> diff --git a/src/main/res/values-bg/strings.xml b/src/main/res/values-bg/strings.xml index 448844ac8..69213d000 100644 --- a/src/main/res/values-bg/strings.xml +++ b/src/main/res/values-bg/strings.xml @@ -13,7 +13,7 @@ <string name="action_unblock_domain">Разблокираи доминио</string> <string name="title_activity_manage_accounts">Управление на профили</string> <string name="title_activity_settings">Настройки</string> - <string name="title_activity_conference_details">Детаили на чат групата</string> + <string name="conference_details">Детаили на чат групата</string> <string name="title_activity_contact_details">Детайли на контакта</string> <string name="title_activity_sharewith">Сподели със конверсация</string> <string name="title_activity_start_conversation">Започнете Разговор</string> diff --git a/src/main/res/values-ca/strings.xml b/src/main/res/values-ca/strings.xml index 244eb7196..af9910453 100644 --- a/src/main/res/values-ca/strings.xml +++ b/src/main/res/values-ca/strings.xml @@ -195,7 +195,7 @@ <string name="search">Cercar</string> <string name="create_contact">Crea un contacte</string> <string name="enter_contact">Introduïu un contacte</string> - <string name="join_conference">Uniu-vos al xat en grup</string> + <string name="join_public_channel">Uniu-vos al xat en grup</string> <string name="delete_contact">Suprimeix el contacte</string> <string name="view_contact_details">Veure els detalls dels contactes</string> <string name="block_contact">Bloqueja contacte</string> @@ -205,7 +205,7 @@ <string name="contact_already_exists">El contacte ja existeix</string> <string name="join">Unir-se</string> <string name="conference_address">Direcció del xat de grup</string> - <string name="conference_address_example">room@conference.example.com/nick</string> + <string name="channel_full_jid_example">room@conference.example.com/nick</string> <string name="save_as_bookmark">Guardar com a favorits</string> <string name="delete_bookmark">Eliminar de favorits</string> <string name="bookmark_already_exists">Aquesta llista de favorits ja existeix</string> @@ -500,7 +500,7 @@ d\'altres proveïdors donant-los la vostra ID Jabber completa.</string> <string name="show_password">Ensenya la contrasenya</string> <string name="registration_please_wait">Error de registre: torna-ho a provar més tard</string> <string name="registration_password_too_weak">Ha fallat la inscripció: la contrasenya és massa feble</string> - <string name="create_conference">Crea un xat en grup</string> + <string name="create_private_group_chat">Crea un xat en grup</string> <string name="conference_subject">Subjecte</string> <string name="choose_participants">Tria els participants</string> <string name="creating_conference">S\'està creant el xat en grup...</string> diff --git a/src/main/res/values-ceb/strings.xml b/src/main/res/values-ceb/strings.xml index eef95dc51..f227b1995 100644 --- a/src/main/res/values-ceb/strings.xml +++ b/src/main/res/values-ceb/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Ayaw i-block ang domain</string> <string name="title_activity_manage_accounts">Pagdumala sa mga account</string> <string name="title_activity_settings">Mga pagtakda</string> - <string name="title_activity_conference_details">Mga detalyi sa Group chat</string> + <string name="conference_details">Mga detalyi sa Group chat</string> <string name="title_activity_contact_details">Mga detalyi sa kontak</string> <string name="title_activity_sharewith">Ipakigbahin ang gepanag-estoryahan</string> <string name="title_activity_start_conversation">Pagsugod sa Panag-estorya</string> @@ -208,7 +208,7 @@ <string name="search">Pangita</string> <string name="create_contact">Buhat ug kontak</string> <string name="enter_contact">Isulod ang kontak</string> - <string name="join_conference">Apil sa group chat</string> + <string name="join_public_channel">Apil sa group chat</string> <string name="delete_contact">Tangtanga ang kontak</string> <string name="view_contact_details">Tan-awa ang mga detayi sa kontak</string> <string name="block_contact">I-block ang kontak</string> @@ -218,7 +218,7 @@ <string name="contact_already_exists">Ang kontak kay naa na daan</string> <string name="join">Apil</string> <string name="conference_address">Address sa group chat</string> - <string name="conference_address_example">groupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">groupchat@room.pix-art.de</string> <string name="save_as_bookmark">Sagupa ingun sa bookmark</string> <string name="delete_bookmark">Tangtanga ang bookmark</string> <string name="bookmark_already_exists">Ang kini nga bookmark kay naa na daan</string> @@ -492,7 +492,7 @@ <string name="show_password">Ipakita ang password</string> <string name="registration_please_wait">Napakyas ang pagrehistro: Sulayi pag-usab taud-taud</string> <string name="registration_password_too_weak">Ang pag-rehistro napakyas: Ang password sobra ra ka-huyang</string> - <string name="create_conference">Buhat ug grupo sa chat</string> + <string name="create_private_group_chat">Buhat ug grupo sa chat</string> <string name="conference_subject">Subject</string> <string name="choose_participants">Pili ug mga partisipante</string> <string name="creating_conference">Nagbuhat ug grupo sa chat…</string> diff --git a/src/main/res/values-cs/strings.xml b/src/main/res/values-cs/strings.xml index fd2478b24..913ed3e7f 100644 --- a/src/main/res/values-cs/strings.xml +++ b/src/main/res/values-cs/strings.xml @@ -192,7 +192,7 @@ <string name="select">Vybrat</string> <string name="contact_already_exists">Kontakt již existuje</string> <string name="join">Vstoupit</string> - <string name="conference_address_example">room@conference.example.com/nick</string> + <string name="channel_full_jid_example">room@conference.example.com/nick</string> <string name="save_as_bookmark">Uložit jako záložku</string> <string name="delete_bookmark">Smazat záložku</string> <string name="bookmark_already_exists">Tato záložka již existuje</string> diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index b1a09c773..32770eb13 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Domain entsperren</string> <string name="title_activity_manage_accounts">Profile verwalten</string> <string name="title_activity_settings">Einstellungen</string> - <string name="title_activity_conference_details">Gruppenchat-Details</string> + <string name="conference_details">Gruppenchat-Details</string> <string name="title_activity_contact_details">Kontakt-Details</string> <string name="title_activity_sharewith">Mit Unterhaltung teilen</string> <string name="title_activity_start_conversation">Unterhaltung beginnen</string> @@ -214,7 +214,7 @@ <string name="search">Suchen</string> <string name="create_contact">Kontakt hinzufügen</string> <string name="enter_contact">Kontakt eingeben</string> - <string name="join_conference">Gruppenchat beitreten</string> + <string name="join_public_channel">Gruppenchat beitreten</string> <string name="delete_contact">Kontakt löschen</string> <string name="view_contact_details">Kontakt-Details anzeigen</string> <string name="block_contact">Kontakt sperren</string> @@ -224,7 +224,7 @@ <string name="contact_already_exists">Der Kontakt existiert bereits</string> <string name="join">Beitreten</string> <string name="conference_address">Gruppenchat-Adresse</string> - <string name="conference_address_example">gruppenchat@room.pix-art.de</string> + <string name="channel_full_jid_example">gruppenchat@room.pix-art.de</string> <string name="save_as_bookmark">Zur Kontaktliste hinzufügen</string> <string name="delete_bookmark">Von Kontaktliste entfernen</string> <string name="bookmark_already_exists">Die Konferenz befindet sich bereits auf deiner Kontaktliste</string> @@ -557,7 +557,7 @@ <string name="show_password">Passwort anzeigen</string> <string name="registration_please_wait">Registrierung fehlgeschlagen: Bitte später versuchen</string> <string name="registration_password_too_weak">Registrierung fehlgeschlagen: Passwort zu schwach</string> - <string name="create_conference">Gruppenchat erstellen</string> + <string name="create_private_group_chat">Gruppenchat erstellen</string> <string name="conference_subject">Titel</string> <string name="choose_participants">Mitglieder auswählen</string> <string name="creating_conference">Gruppenchat wird erstellt…</string> diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml index 14b42b602..f503e8444 100644 --- a/src/main/res/values-es/strings.xml +++ b/src/main/res/values-es/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Desbloquear dominio</string> <string name="title_activity_manage_accounts">Gestionar Cuentas</string> <string name="title_activity_settings">Ajustes</string> - <string name="title_activity_conference_details">Detalles del chat de grupo</string> + <string name="conference_details">Detalles del chat de grupo</string> <string name="title_activity_contact_details">Detalles del contacto</string> <string name="title_activity_sharewith">Compartir con Conversación</string> <string name="title_activity_start_conversation">Comenzar conversación</string> @@ -214,7 +214,7 @@ <string name="search">Buscar</string> <string name="create_contact">Crear Contacto</string> <string name="enter_contact">Introducir contacto</string> - <string name="join_conference">Únete al grupo</string> + <string name="join_public_channel">Únete al grupo</string> <string name="delete_contact">Eliminar Contacto</string> <string name="view_contact_details">Ver detalles del contacto</string> <string name="block_contact">Bloquear contacto</string> @@ -224,7 +224,7 @@ <string name="contact_already_exists">El contacto ya existe</string> <string name="join">Unirse</string> <string name="conference_address">Dirección del chat de grupo</string> - <string name="conference_address_example">grupo@room.pix-art.de</string> + <string name="channel_full_jid_example">grupo@room.pix-art.de</string> <string name="save_as_bookmark">Guardar en marcadores</string> <string name="delete_bookmark">Eliminar marcador</string> <string name="bookmark_already_exists">Este marcador ya existe</string> @@ -557,7 +557,7 @@ <string name="show_password">Mostrar contraseña</string> <string name="registration_please_wait">El registro falló. Prueba de nuevo más tarde</string> <string name="registration_password_too_weak">Error en el registro: La contraseña es demasiado débil</string> - <string name="create_conference">Crear grupo</string> + <string name="create_private_group_chat">Crear grupo</string> <string name="conference_subject">Asunto</string> <string name="choose_participants">Elige a los participantes</string> <string name="creating_conference">Crear chat de grupo…</string> diff --git a/src/main/res/values-eu/strings.xml b/src/main/res/values-eu/strings.xml index 38ffee53c..7b37e7031 100644 --- a/src/main/res/values-eu/strings.xml +++ b/src/main/res/values-eu/strings.xml @@ -195,7 +195,7 @@ <string name="search">Bilatu</string> <string name="create_contact">Kontaktua sortu</string> <string name="enter_contact">Kontaktua sartu</string> - <string name="join_conference">Taldera batu</string> + <string name="join_public_channel">Taldera batu</string> <string name="delete_contact">Kontaktua ezabatu</string> <string name="view_contact_details">Kontaktuaren xehetasunak ikusi</string> <string name="block_contact">Kontaktua blokeatu</string> @@ -205,7 +205,7 @@ <string name="contact_already_exists">Kontaktua existitzen da dagoeneko</string> <string name="join">Batu</string> <string name="conference_address">Taldearen helbidea</string> - <string name="conference_address_example">gela@konferentzia.adibidea.eus/ezizena</string> + <string name="channel_full_jid_example">gela@konferentzia.adibidea.eus/ezizena</string> <string name="save_as_bookmark">Gorde laster-marka bezala</string> <string name="delete_bookmark">Laster-marka ezabatu</string> <string name="bookmark_already_exists">Laster-marka hau existitzen da dagoeneko</string> @@ -487,7 +487,7 @@ <string name="show_password">Pasahitza erakutsi</string> <string name="registration_please_wait">Erregistroak huts egin du: saiatu berriz beranduago</string> <string name="registration_password_too_weak">Erregistroa huts egin du: pasahitza ahulegia da</string> - <string name="create_conference">Taldea sortu</string> + <string name="create_private_group_chat">Taldea sortu</string> <string name="conference_subject">Gaia</string> <string name="choose_participants">Parte hartzaileak hautatu</string> <string name="creating_conference">Taldea sortzen…</string> diff --git a/src/main/res/values-fil/strings.xml b/src/main/res/values-fil/strings.xml index 34c2295d2..cbd906792 100644 --- a/src/main/res/values-fil/strings.xml +++ b/src/main/res/values-fil/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Wag harangan ang domain</string> <string name="title_activity_manage_accounts">Mamahala ng mga account</string> <string name="title_activity_settings">Mga setting</string> - <string name="title_activity_conference_details">Grupo ng detalye sa chat</string> + <string name="conference_details">Grupo ng detalye sa chat</string> <string name="title_activity_contact_details">Mga detalyi sa kontak</string> <string name="title_activity_sharewith">Ibahagi ang pag-uusap</string> <string name="title_activity_start_conversation">Simulan ang pag-uusap</string> @@ -208,7 +208,7 @@ <string name="search">Magsaliksik</string> <string name="create_contact">Gumawa ng kontak</string> <string name="enter_contact">Ipasok na kontak</string> - <string name="join_conference">Sumali sa pang-grupong chat</string> + <string name="join_public_channel">Sumali sa pang-grupong chat</string> <string name="delete_contact">Burahin ang kontak</string> <string name="view_contact_details">Tingnan ang mga detalye sa kontak</string> <string name="block_contact">Harangan ang kontak</string> @@ -218,7 +218,7 @@ <string name="contact_already_exists">Mayroon ng kontak na umiiral</string> <string name="join">Sumali</string> <string name="conference_address">Address ng grupong chat</string> - <string name="conference_address_example">groupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">groupchat@room.pix-art.de</string> <string name="save_as_bookmark">I-save bilang bookmark</string> <string name="delete_bookmark">Burahin na bookmark</string> <string name="bookmark_already_exists">Umiiral na ang bookmark</string> @@ -531,7 +531,7 @@ <string name="show_password">Ipakita ang password</string> <string name="registration_please_wait">Nabigo ang pagpaparehistro: Subukang muli sa ibang pagkakataon</string> <string name="registration_password_too_weak">Nabigo ang pagpaparehistro: Mahina ang password</string> - <string name="create_conference">Lumikha ng grupo ng chat</string> + <string name="create_private_group_chat">Lumikha ng grupo ng chat</string> <string name="conference_subject">Paksa</string> <string name="choose_participants">Pumili ng mga kalahok</string> <string name="creating_conference">Paglikha ng grupo ng chat…</string> diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml index 6aeae1d1c..ad68f63e7 100644 --- a/src/main/res/values-fr/strings.xml +++ b/src/main/res/values-fr/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Débloquer le domaine</string> <string name="title_activity_manage_accounts">Gestion des comptes</string> <string name="title_activity_settings">Paramètres</string> - <string name="title_activity_conference_details">Détails de la conférence</string> + <string name="conference_details">Détails de la conférence</string> <string name="title_activity_contact_details">Détails du contact</string> <string name="title_activity_sharewith">Partager avec Conversation</string> <string name="title_activity_start_conversation">Démarrer une conversation</string> @@ -213,7 +213,7 @@ <string name="search">Rechercher</string> <string name="create_contact">Ajouter un contact</string> <string name="enter_contact">Ajouter contact</string> - <string name="join_conference">Rejoindre une conférence</string> + <string name="join_public_channel">Rejoindre une conférence</string> <string name="delete_contact">Supprimer le contact</string> <string name="view_contact_details">Afficher les détails du contact</string> <string name="block_contact">Bloquer le contact</string> @@ -223,7 +223,7 @@ <string name="contact_already_exists">Le contact existe déjà.</string> <string name="join">Rejoindre</string> <string name="conference_address">Adresse de la conférence</string> - <string name="conference_address_example">groupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">groupchat@room.pix-art.de</string> <string name="save_as_bookmark">Enregistrer comme favori</string> <string name="delete_bookmark">Supprimer le favori</string> <string name="bookmark_already_exists">Le favori existe déjà</string> @@ -553,7 +553,7 @@ <string name="show_password">Afficher le mot de passe</string> <string name="registration_please_wait">L’enregistrement a échoué : Réessayer plus tard</string> <string name="registration_password_too_weak">Échec de l’enregistrement : le mot de passe n’est pas assez fort</string> - <string name="create_conference">Créer une conférence</string> + <string name="create_private_group_chat">Créer une conférence</string> <string name="conference_subject">Objet</string> <string name="choose_participants">Choisir les participants</string> <string name="creating_conference">Création de la conférence …</string> diff --git a/src/main/res/values-gl/strings.xml b/src/main/res/values-gl/strings.xml index e618a5a5e..a8f118de2 100644 --- a/src/main/res/values-gl/strings.xml +++ b/src/main/res/values-gl/strings.xml @@ -195,7 +195,7 @@ <string name="search">Buscar</string> <string name="create_contact">Crear unha conta</string> <string name="enter_contact">Introducir contacto</string> - <string name="join_conference">Entrar nunha conversa en grupo</string> + <string name="join_public_channel">Entrar nunha conversa en grupo</string> <string name="delete_contact">Eliminar contacto</string> <string name="view_contact_details">Ver os detalles do contacto</string> <string name="block_contact">Bloquear contacto</string> @@ -205,7 +205,7 @@ <string name="contact_already_exists">Xa existe o contacto</string> <string name="join">Unirse</string> <string name="conference_address">Enderezo da conversa en grupo</string> - <string name="conference_address_example">sala@xuntanza.exemplo.com/nick</string> + <string name="channel_full_jid_example">sala@xuntanza.exemplo.com/nick</string> <string name="save_as_bookmark">Gardar como marcador</string> <string name="delete_bookmark">Eliminar marcador</string> <string name="bookmark_already_exists">Este marcador xa existe</string> @@ -487,7 +487,7 @@ <string name="show_password">Mostar contrasinal</string> <string name="registration_please_wait">Fallo no rexistro: inténteo de novo</string> <string name="registration_password_too_weak">Fallo no rexistro: contrasinal moi feble</string> - <string name="create_conference">Crear conversa en grupo</string> + <string name="create_private_group_chat">Crear conversa en grupo</string> <string name="conference_subject">Asunto</string> <string name="choose_participants">Escoller participantes</string> <string name="creating_conference">Creando unha conversa en grupo...</string> diff --git a/src/main/res/values-id/strings.xml b/src/main/res/values-id/strings.xml index 5294d46ca..5871a3d75 100644 --- a/src/main/res/values-id/strings.xml +++ b/src/main/res/values-id/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Buka blokir halaman</string> <string name="title_activity_manage_accounts">Kelola akun</string> <string name="title_activity_settings">Pengaturan</string> - <string name="title_activity_conference_details">Rincian chat kelompok</string> + <string name="conference_details">Rincian chat kelompok</string> <string name="title_activity_contact_details">Rincian kontak</string> <string name="title_activity_sharewith">Berbagi dengan percakapan</string> <string name="title_activity_start_conversation">Mulai percakapan</string> @@ -208,7 +208,7 @@ <string name="search">Pencarian</string> <string name="create_contact">Buat kontak</string> <string name="enter_contact">Masukkan kontak</string> - <string name="join_conference">Gabung kelompok obrolan</string> + <string name="join_public_channel">Gabung kelompok obrolan</string> <string name="delete_contact">Menghapus kontak</string> <string name="view_contact_details">Lihat rincian kontak</string> <string name="block_contact">Blokir kontak</string> @@ -218,7 +218,7 @@ <string name="contact_already_exists">Kontak sudah uda</string> <string name="join">Gabung</string> <string name="conference_address">Alamat obrolan kelompok</string> - <string name="conference_address_example">obrolankelompok@room.pix-art.de</string> + <string name="channel_full_jid_example">obrolankelompok@room.pix-art.de</string> <string name="save_as_bookmark">Simpan sebagai penanda</string> <string name="delete_bookmark">Hapus penanda</string> <string name="bookmark_already_exists">Penanda ini sudah ada</string> @@ -528,7 +528,7 @@ <string name="show_password">Tampilkan kata sandi</string> <string name="registration_please_wait">Pendaftaran gagal: Coba lagi nanti</string> <string name="registration_password_too_weak">Pendaftaran gagal: Kata sandi terlalu lemah</string> - <string name="create_conference">Buat obrolan kelompok</string> + <string name="create_private_group_chat">Buat obrolan kelompok</string> <string name="conference_subject">Perihal</string> <string name="choose_participants">Pilih peserta</string> <string name="creating_conference">Membuat obrolan kelompok…</string> diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml index 85886cec0..679e832ae 100644 --- a/src/main/res/values-it/strings.xml +++ b/src/main/res/values-it/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Sblocca dominio</string> <string name="title_activity_manage_accounts">Gestisci account</string> <string name="title_activity_settings">Impostazioni</string> - <string name="title_activity_conference_details">Dettagli della conversazione di gruppo</string> + <string name="conference_details">Dettagli della conversazione di gruppo</string> <string name="title_activity_contact_details">Dettagli del Contatto</string> <string name="title_activity_sharewith">Condividi con Conversation</string> <string name="title_activity_start_conversation">Inizia una conversazione</string> @@ -214,7 +214,7 @@ <string name="search">Cerca</string> <string name="create_contact">Crea contatto</string> <string name="enter_contact">Inserisci contatto</string> - <string name="join_conference">Unisciti alla conversazione di gruppo</string> + <string name="join_public_channel">Unisciti alla conversazione di gruppo</string> <string name="delete_contact">Elimina contatto</string> <string name="view_contact_details">Mostra dettagli contatto</string> <string name="block_contact">Blocca contatto</string> @@ -224,7 +224,7 @@ <string name="contact_already_exists">Il contatto esiste già</string> <string name="join">Entra</string> <string name="conference_address">Indirizzo della conversazione di gruppo</string> - <string name="conference_address_example">stanza@conferenza.esempio.com/nick</string> + <string name="channel_full_jid_example">stanza@conferenza.esempio.com/nick</string> <string name="save_as_bookmark">Salva come segnalibro</string> <string name="delete_bookmark">Elimina segnalibro</string> <string name="bookmark_already_exists">Questo segnalibro esiste già</string> @@ -557,7 +557,7 @@ <string name="show_password">Mostra la password</string> <string name="registration_please_wait">Registrazione fallita: riprova più tardi</string> <string name="registration_password_too_weak">Registrazione fallita: password troppo debole</string> - <string name="create_conference">Crea conversazione di gruppo</string> + <string name="create_private_group_chat">Crea conversazione di gruppo</string> <string name="conference_subject">Soggetto</string> <string name="choose_participants">Scegli i partecipanti</string> <string name="creating_conference">Creazione conversazione di gruppo…</string> diff --git a/src/main/res/values-nl/strings.xml b/src/main/res/values-nl/strings.xml index e20d09aca..deb72a3b4 100644 --- a/src/main/res/values-nl/strings.xml +++ b/src/main/res/values-nl/strings.xml @@ -195,7 +195,7 @@ <string name="search">Zoeken</string> <string name="create_contact">Contact aanmaken</string> <string name="enter_contact">Contact invoeren</string> - <string name="join_conference">Deelnemen aan groepsgesprek</string> + <string name="join_public_channel">Deelnemen aan groepsgesprek</string> <string name="delete_contact">Contact verwijderen</string> <string name="view_contact_details">Contactgegevens bekijken</string> <string name="block_contact">Contact blokkeren</string> @@ -205,7 +205,7 @@ <string name="contact_already_exists">Het contact bestaat al</string> <string name="join">Deelnemen</string> <string name="conference_address">Gespreksadres</string> - <string name="conference_address_example">ruimte@groepsgesprek.voorbeeld.be/naam</string> + <string name="channel_full_jid_example">ruimte@groepsgesprek.voorbeeld.be/naam</string> <string name="save_as_bookmark">Opslaan als bladwijzer</string> <string name="delete_bookmark">Bladwijzer verwijderen</string> <string name="bookmark_already_exists">Deze bladwijzer bestaat al</string> @@ -484,7 +484,7 @@ <string name="show_password">Wachtwoord weergeven</string> <string name="registration_please_wait">Registratie mislukt: probeer later opnieuw</string> <string name="registration_password_too_weak">Registratie mislukt: wachtwoord te zwak</string> - <string name="create_conference">Groepsgesprek aanmaken</string> + <string name="create_private_group_chat">Groepsgesprek aanmaken</string> <string name="conference_subject">Onderwerp</string> <string name="choose_participants">Kies deelnemers</string> <string name="creating_conference">Groepsgesprek aanmaken…</string> diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml index 947f3b5df..e4db7e860 100644 --- a/src/main/res/values-pl/strings.xml +++ b/src/main/res/values-pl/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Odblokuj domenę</string> <string name="title_activity_manage_accounts">Zarządzaj kontami</string> <string name="title_activity_settings">Ustawienia</string> - <string name="title_activity_conference_details">Szczegóły czatu grupowego</string> + <string name="conference_details">Szczegóły czatu grupowego</string> <string name="title_activity_contact_details">Szczegóły kontaktu</string> <string name="title_activity_sharewith">Udostępnij w konwersacji</string> <string name="title_activity_start_conversation">Rozpocznij konwersację</string> @@ -215,7 +215,7 @@ Nie spowoduje to usunięcia kopii wiadomości przechowywanych na innych urządze <string name="search">Szukaj</string> <string name="create_contact">Utwórz kontakt</string> <string name="enter_contact">Wpisz kontakt</string> - <string name="join_conference">Dołącz do czatu grupowego</string> + <string name="join_public_channel">Dołącz do czatu grupowego</string> <string name="delete_contact">Usuń kontakt</string> <string name="view_contact_details">Szczegóły kontaktu</string> <string name="block_contact">Zablokuj kontakt</string> @@ -225,7 +225,7 @@ Nie spowoduje to usunięcia kopii wiadomości przechowywanych na innych urządze <string name="contact_already_exists">Kontakt już istnieje</string> <string name="join">Dołącz</string> <string name="conference_address">Adres czatu grupowego</string> - <string name="conference_address_example">konferencja@konferencje.example.com/nick</string> + <string name="channel_full_jid_example">konferencja@konferencje.example.com/nick</string> <string name="save_as_bookmark">Dodaj jako zakładkę</string> <string name="delete_bookmark">Usuń zakładkę</string> <string name="bookmark_already_exists">Zakładka już istnieje</string> @@ -538,7 +538,7 @@ Nie spowoduje to usunięcia kopii wiadomości przechowywanych na innych urządze <string name="show_password">Pokaż hasło</string> <string name="registration_please_wait">Rejestracja nie powiodła się. Spróbuj później</string> <string name="registration_password_too_weak">Rejestracja nie powiodła się: hasło zbyt słabe</string> - <string name="create_conference">Utwórz czat grupowy</string> + <string name="create_private_group_chat">Utwórz czat grupowy</string> <string name="conference_subject">Temat</string> <string name="choose_participants">Wybierz uczestnika</string> <string name="import_database">Importować backup</string> diff --git a/src/main/res/values-ro/strings.xml b/src/main/res/values-ro/strings.xml index 0159d2862..7f0cbd8ae 100644 --- a/src/main/res/values-ro/strings.xml +++ b/src/main/res/values-ro/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Deblochează domeniu</string> <string name="title_activity_manage_accounts">Configurează conturile</string> <string name="title_activity_settings">Setări</string> - <string name="title_activity_conference_details">Detalii discuție de grup</string> + <string name="conference_details">Detalii discuție de grup</string> <string name="title_activity_contact_details">Detalii contact</string> <string name="title_activity_sharewith">Partajează într-o conversație</string> <string name="title_activity_start_conversation">Pornește o conversație</string> @@ -198,7 +198,7 @@ <string name="search">Caută</string> <string name="create_contact">Creează contact</string> <string name="enter_contact">Introdu contact</string> - <string name="join_conference">Alătură-te unei discuții de grup</string> + <string name="join_public_channel">Alătură-te unei discuții de grup</string> <string name="delete_contact">Șterge contact</string> <string name="view_contact_details">Arată detalii contact</string> <string name="block_contact">Blochează contact</string> @@ -208,7 +208,7 @@ <string name="contact_already_exists">Contactul exista deja</string> <string name="join">Alatura-te</string> <string name="conference_address">Adresă discuție de grup</string> - <string name="conference_address_example">grupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">grupchat@room.pix-art.de</string> <string name="save_as_bookmark">Salvează semn de carte</string> <string name="delete_bookmark">Șterge semn de carte</string> <string name="bookmark_already_exists">Acest semn de carte exista</string> @@ -505,7 +505,7 @@ sau chiar pierderea mesajelor.\nÎn continuare veți fi rugați să dezactivați <string name="show_password">Arată parola</string> <string name="registration_please_wait">Înregistrare eșuată: Încercați din nou mai târziu</string> <string name="registration_password_too_weak">Înregistrare eșuată: Parolă nesigură</string> - <string name="create_conference">Creează discuție de grup</string> + <string name="create_private_group_chat">Creează discuție de grup</string> <string name="conference_subject">Subiect</string> <string name="choose_participants">Alege participanți</string> <string name="creating_conference">Se creează discuția de grup...</string> diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml index 5de6f6fc8..ef42a141e 100644 --- a/src/main/res/values-ru/strings.xml +++ b/src/main/res/values-ru/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Разблокировать домен</string> <string name="title_activity_manage_accounts">Управление аккаунтами</string> <string name="title_activity_settings">Настройки</string> - <string name="title_activity_conference_details">Информация о конференции</string> + <string name="conference_details">Информация о конференции</string> <string name="title_activity_contact_details">Сведения о контакте</string> <string name="title_activity_sharewith">Поделиться с разговором</string> <string name="title_activity_start_conversation">Начать Разговор</string> @@ -211,7 +211,7 @@ <string name="search">Поиск</string> <string name="create_contact">Создать Контакт</string> <string name="enter_contact">Введите Контакт</string> - <string name="join_conference">Присоединиться к групповому чату</string> + <string name="join_public_channel">Присоединиться к групповому чату</string> <string name="delete_contact">Удалить Контакт</string> <string name="view_contact_details">Просмотреть детали контакта</string> <string name="block_contact">Заблокировать контакт</string> @@ -221,7 +221,7 @@ <string name="contact_already_exists">Контакт уже существует</string> <string name="join">Присоединиться</string> <string name="conference_address">Адрес группового чата</string> - <string name="conference_address_example">groupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">groupchat@room.pix-art.de</string> <string name="save_as_bookmark">Сохранить как закладку</string> <string name="delete_bookmark">Удалить закладку</string> <string name="bookmark_already_exists">Эта закладка уже создана</string> diff --git a/src/main/res/values-sv/strings.xml b/src/main/res/values-sv/strings.xml index 152373b69..040b5ea2b 100644 --- a/src/main/res/values-sv/strings.xml +++ b/src/main/res/values-sv/strings.xml @@ -196,7 +196,7 @@ <string name="select">Välj</string> <string name="contact_already_exists">Kontakten finns redan</string> <string name="join">Gå med</string> - <string name="conference_address_example">room@conference.example.com/nick</string> + <string name="channel_full_jid_example">room@conference.example.com/nick</string> <string name="save_as_bookmark">Spara som bokmärke</string> <string name="delete_bookmark">Ta bort bokmärke</string> <string name="bookmark_already_exists">Detta bokmärke finns redan</string> diff --git a/src/main/res/values-tl/strings.xml b/src/main/res/values-tl/strings.xml index 3bbb58321..c70f6416e 100644 --- a/src/main/res/values-tl/strings.xml +++ b/src/main/res/values-tl/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Walang harang na domain</string> <string name="title_activity_manage_accounts">Ang mga account ay pamahalaan</string> <string name="title_activity_settings">Settings</string> - <string name="title_activity_conference_details">Mga detalye ng kagrupo sa chat</string> + <string name="conference_details">Mga detalye ng kagrupo sa chat</string> <string name="title_activity_contact_details">Mga detalye ng pagkontak</string> <string name="title_activity_sharewith">Pag-uusap ay binahagi</string> <string name="title_activity_start_conversation">Simula na pag-uusap</string> diff --git a/src/main/res/values-tr/strings.xml b/src/main/res/values-tr/strings.xml index 5d26cb337..1bfe1f37a 100644 --- a/src/main/res/values-tr/strings.xml +++ b/src/main/res/values-tr/strings.xml @@ -17,7 +17,7 @@ <string name="action_unblock_domain">Domainin engelini kaldır</string> <string name="title_activity_manage_accounts">Hesapları Yönet</string> <string name="title_activity_settings">Ayarlar</string> - <string name="title_activity_conference_details">Grup sohbeti Detayları</string> + <string name="conference_details">Grup sohbeti Detayları</string> <string name="title_activity_contact_details">Kişi Detayları</string> <string name="title_activity_sharewith">Sohbetle Paylaş</string> <string name="title_activity_start_conversation">Konuşmayı Başlat</string> @@ -208,7 +208,7 @@ <string name="search">Ara</string> <string name="create_contact">Kişi oluştur</string> <string name="enter_contact">İletişim Kur</string> - <string name="join_conference">Grup sohbetine katıl</string> + <string name="join_public_channel">Grup sohbetine katıl</string> <string name="delete_contact">Kişiyi sil</string> <string name="view_contact_details">Kişi ayrıntılarını görün</string> <string name="block_contact">Kişiyi engelleyin</string> @@ -218,7 +218,7 @@ <string name="contact_already_exists">Kişi zaten mevcut</string> <string name="join">Katıl</string> <string name="conference_address">Grup sohbeti adresi</string> - <string name="conference_address_example">groupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">groupchat@room.pix-art.de</string> <string name="save_as_bookmark">Yer imi olarak kaydet</string> <string name="delete_bookmark">Yer imini sil</string> <string name="bookmark_already_exists">Bu yer işareti zaten var</string> @@ -531,7 +531,7 @@ <string name="show_password">Parolayı göster</string> <string name="registration_please_wait">Kayıt başarısız: Daha sonra tekrar deneyin</string> <string name="registration_password_too_weak">Kayıt başarısız oldu: Şifre çok zayıf</string> - <string name="create_conference">Grup sohbeti oluştur</string> + <string name="create_private_group_chat">Grup sohbeti oluştur</string> <string name="conference_subject">Konu</string> <string name="choose_participants">Katılımcıları seç</string> <string name="creating_conference">Grup sohbeti oluşturuluyor…</string> diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 7e6fad360..886f9a7ba 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -14,19 +14,19 @@ <string name="action_unblock_contact">Unblock contact</string> <string name="action_block_domain">Block domain</string> <string name="action_unblock_domain">Unblock domain</string> - <string name="title_activity_manage_accounts">Manage Accounts</string> + <string name="title_activity_manage_accounts">Manage accounts</string> <string name="title_activity_settings">Settings</string> - <string name="title_activity_conference_details">Group chat Details</string> - <string name="title_activity_contact_details">Contact Details</string> - <string name="title_activity_sharewith">Share with Conversation</string> - <string name="title_activity_start_conversation">Start Conversation</string> + <string name="conference_details">Group chat details</string> + <string name="title_activity_contact_details">Contact details</string> + <string name="title_activity_sharewith">Share with conversation</string> + <string name="title_activity_start_conversation">Start conversation</string> <string name="title_activity_choose_contact">Choose contact</string> - <string name="title_activity_choose_contacts">Choose Contacts</string> + <string name="title_activity_choose_contacts">Choose contacts</string> <string name="title_activity_block_list">Block list</string> <string name="just_now">just now</string> <string name="minute_ago">1 min ago</string> <string name="minutes_ago">%d mins ago</string> - <string name="unread_conversations">unread Conversations</string> + <string name="unread_conversations">unread conversations</string> <string name="sending">sending…</string> <string name="message_decrypting">Decrypting message. Please wait…</string> <string name="pgp_message">OpenPGP encrypted message</string> @@ -209,11 +209,10 @@ <string name="done">Done</string> <string name="verify">Verify</string> <string name="decrypt">Decrypt</string> - <string name="conferences">Group chats</string> + <string name="bookmarks">Bookmarks</string> <string name="search">Search</string> <string name="create_contact">Create Contact</string> <string name="enter_contact">Enter Contact</string> - <string name="join_conference">Join group chat</string> <string name="delete_contact">Delete Contact</string> <string name="view_contact_details">View contact details</string> <string name="block_contact">Block contact</string> @@ -222,8 +221,8 @@ <string name="select">Select</string> <string name="contact_already_exists">The contact already exists</string> <string name="join">Join</string> - <string name="conference_address">Group chat address</string> - <string name="conference_address_example">groupchat@room.pix-art.de</string> + <string name="channel_full_jid_example">channel@conference.example.com/nick</string> + <string name="channel_bare_jid_example">channel@conference.example.com</string> <string name="save_as_bookmark">Save as bookmark</string> <string name="delete_bookmark">Delete bookmark</string> <string name="bookmark_already_exists">This bookmark already exists</string> @@ -557,7 +556,6 @@ <string name="show_password">Show password</string> <string name="registration_please_wait">Registration failed: Try again later</string> <string name="registration_password_too_weak">Registration failed: Password too weak</string> - <string name="create_conference">Create group chat</string> <string name="conference_subject">Subject</string> <string name="choose_participants">Choose participants</string> <string name="creating_conference">Creating group chat…</string> @@ -875,4 +873,18 @@ <string name="join_group_chat">Join group chat</string> <string name="create_group_chat">Create group chat</string> <string name="message_deleted">Message was deleted</string> + <string name="channel_details">Channel details</string> + <string name="join_public_channel">Join public channel</string> + <string name="create_private_group_chat">Create private group chat</string> + <string name="create_public_channel">Create public channel</string> + <string name="create_dialog_channel_name">Channel name</string> + <string name="xmpp_address">XMPP address</string> + <string name="please_enter_name">Please provide a name for the channel</string> + <string name="please_enter_xmpp_address">Please provide an XMPP address</string> + <string name="this_is_an_xmpp_address">This is an XMPP address. Please provide a name.</string> + <string name="creating_channel">Creating public channel…</string> + <string name="channel_already_exists">This channel already exits</string> + <string name="joined_an_existing_channel">You\'ve joined an existing channel</string> + <string name="unable_to_set_channel_configuration">Unable to set channel configuration</string> + <string name="back">Back</string> </resources> |