use of org.jxmpp.stringprep.XmppStringprepException in project Smack by igniterealtime.
the class Stanza method setTo.
/**
* Sets who the stanza(/packet) is being sent "to". The XMPP protocol often makes
* the "to" attribute optional, so it does not always need to be set.
*
* @param to who the stanza(/packet) is being sent to.
* @throws IllegalArgumentException if to is not a valid JID String.
* @deprecated use {@link #setTo(Jid)} instead.
*/
@Deprecated
public void setTo(String to) {
Jid jid;
try {
jid = JidCreate.from(to);
} catch (XmppStringprepException e) {
throw new IllegalArgumentException(e);
}
setTo(jid);
}
use of org.jxmpp.stringprep.XmppStringprepException in project Smack by igniterealtime.
the class IntTestUtil method registerAccountViaIbr.
public static UsernameAndPassword registerAccountViaIbr(XMPPConnection connection, String username, String password) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
AccountManager accountManager = AccountManager.getInstance(connection);
if (!accountManager.supportsAccountCreation()) {
throw new UnsupportedOperationException("Account creation/registation is not supported");
}
Set<String> requiredAttributes = accountManager.getAccountAttributes();
if (requiredAttributes.size() > 4) {
throw new IllegalStateException("Unkown required attributes");
}
Map<String, String> additionalAttributes = new HashMap<>();
additionalAttributes.put("name", "Smack Integration Test");
additionalAttributes.put("email", "flow@igniterealtime.org");
Localpart usernameLocalpart;
try {
usernameLocalpart = Localpart.from(username);
} catch (XmppStringprepException e) {
throw new IllegalArgumentException("Invalid username: " + username, e);
}
accountManager.createAccount(usernameLocalpart, password, additionalAttributes);
return new UsernameAndPassword(username, password);
}
use of org.jxmpp.stringprep.XmppStringprepException in project Zom-Android by zom.
the class XmppConnection method makeContact.
private Contact makeContact(String address) {
Contact contact = null;
// load from roster if we don't have the contact
RosterEntry rEntry = null;
try {
if (mConnection != null)
rEntry = mRoster.getEntry(JidCreate.bareFrom(address));
if (rEntry != null) {
XmppAddress xAddress = new XmppAddress(address);
String name = rEntry.getName();
if (name == null)
name = xAddress.getUser();
// TODO we should check the type from here
contact = new Contact(xAddress, name, Imps.Contacts.TYPE_NORMAL);
} else {
XmppAddress xAddress = new XmppAddress(address);
contact = new Contact(xAddress, xAddress.getUser(), Imps.Contacts.TYPE_NORMAL);
}
} catch (XmppStringprepException xe) {
// nothing return null;
}
return contact;
}
use of org.jxmpp.stringprep.XmppStringprepException in project Zom-Android by zom.
the class ChatSessionAdapter method checkForLinkedMedia.
String checkForLinkedMedia(String jid, String message, boolean allowWebDownloads) {
Matcher matcher = aesGcmUrlPattern.matcher(message);
// if we match the aesgcm crypto pattern, then it is a match
if (matcher.find()) {
int matchStart = matcher.start(1);
int matchEnd = matcher.end();
return message.substring(matchStart, matchEnd);
} else if (allowWebDownloads) {
// if someone sends us a random URL, only get it if it is from the same host as the jabberid
matcher = urlPattern.matcher(message);
if (matcher.find()) {
int matchStart = matcher.start(1);
int matchEnd = matcher.end();
String urlDownload = message.substring(matchStart, matchEnd);
try {
String domain = JidCreate.bareFrom(jid).getDomain().toString();
// remove the conference subdomain when checking a match to the media upload
if (domain.contains("conference."))
domain = domain.replace("conference.", "");
if (urlDownload.contains(domain)) {
return urlDownload;
}
} catch (XmppStringprepException se) {
// This shouldn't happeN!
}
}
}
return null;
}
use of org.jxmpp.stringprep.XmppStringprepException in project xabber-android by redsolution.
the class ChatFragment method showResourceChoiceAlert.
public void showResourceChoiceAlert(final AccountJid account, final UserJid user, final boolean restartSession) {
final List<Presence> allPresences = RosterManager.getInstance().getPresences(account, user.getJid());
final List<Map<String, String>> items = new ArrayList<>();
for (Presence presence : allPresences) {
Jid fromJid = presence.getFrom();
ClientInfo clientInfo = CapabilitiesManager.getInstance().getCachedClientInfo(fromJid);
String client = "";
if (clientInfo == null) {
CapabilitiesManager.getInstance().requestClientInfoByUser(account, fromJid);
} else if (clientInfo == ClientInfo.INVALID_CLIENT_INFO) {
client = getString(R.string.unknown);
} else {
String name = clientInfo.getName();
if (name != null) {
client = name;
}
String type = clientInfo.getType();
if (type != null) {
if (client.isEmpty()) {
client = type;
} else {
client = client + "/" + type;
}
}
}
Map<String, String> map = new HashMap<>();
if (!client.isEmpty()) {
map.put(ResourceAdapter.KEY_CLIENT, client);
}
Resourcepart resourceOrNull = fromJid.getResourceOrNull();
if (resourceOrNull != null) {
map.put(ResourceAdapter.KEY_RESOURCE, resourceOrNull.toString());
items.add(map);
}
}
final ResourceAdapter adapter = new ResourceAdapter(getActivity(), items);
adapter.setCheckedItem(checkedResource);
if (items.size() > 0) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.otr_select_resource);
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
checkedResource = adapter.getCheckedItem();
}
});
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
checkedResource = adapter.getCheckedItem();
try {
AbstractChat chat = getChat();
if (chat instanceof RegularChat) {
((RegularChat) chat).setOTRresource(Resourcepart.from(items.get(checkedResource).get(ResourceAdapter.KEY_RESOURCE)));
if (restartSession)
restartEncryption(account, user);
else
startEncryption(account, user);
} else {
Toast.makeText(getActivity(), R.string.otr_select_toast_error, Toast.LENGTH_SHORT).show();
}
} catch (XmppStringprepException e) {
e.printStackTrace();
Toast.makeText(getActivity(), R.string.otr_select_toast_error, Toast.LENGTH_SHORT).show();
}
}
});
builder.setSingleChoiceItems(adapter, checkedResource, null).show();
} else {
Toast.makeText(getActivity(), R.string.otr_select_toast_resources_not_found, Toast.LENGTH_SHORT).show();
}
}
Aggregations