include pgp signature only in non anonymous mucs

This commit is contained in:
Daniel Gultsch 2016-10-19 12:31:11 +02:00
parent dce8149aae
commit c3423d6ffe
2 changed files with 7 additions and 3 deletions

View file

@ -38,13 +38,17 @@ public class PresenceGenerator extends AbstractGenerator {
} }
public PresencePacket selfPresence(Account account, Presence.Status status) { public PresencePacket selfPresence(Account account, Presence.Status status) {
return selfPresence(account, status, true);
}
public PresencePacket selfPresence(Account account, Presence.Status status, boolean includePgpAnnouncement) {
PresencePacket packet = new PresencePacket(); PresencePacket packet = new PresencePacket();
if(status.toShowString() != null) { if(status.toShowString() != null) {
packet.addChild("show").setContent(status.toShowString()); packet.addChild("show").setContent(status.toShowString());
} }
packet.setFrom(account.getJid()); packet.setFrom(account.getJid());
String sig = account.getPgpSignature(); String sig = account.getPgpSignature();
if (sig != null && mXmppConnectionService.getPgpEngine() != null) { if (includePgpAnnouncement && sig != null && mXmppConnectionService.getPgpEngine() != null) {
packet.addChild("x", "jabber:x:signed").setContent(sig); packet.addChild("x", "jabber:x:signed").setContent(sig);
} }
String capHash = getCapHash(); String capHash = getCapHash();

View file

@ -2037,11 +2037,11 @@ public class XmppConnectionService extends Service {
final MucOptions mucOptions = conversation.getMucOptions(); final MucOptions mucOptions = conversation.getMucOptions();
final Jid joinJid = mucOptions.getSelf().getFullJid(); final Jid joinJid = mucOptions.getSelf().getFullJid();
Log.d(Config.LOGTAG, account.getJid().toBareJid().toString() + ": joining conversation " + joinJid.toString()); Log.d(Config.LOGTAG, account.getJid().toBareJid().toString() + ": joining conversation " + joinJid.toString());
PresencePacket packet = mPresenceGenerator.selfPresence(account, Presence.Status.ONLINE); PresencePacket packet = mPresenceGenerator.selfPresence(account, Presence.Status.ONLINE, mucOptions.nonanonymous());
packet.setTo(joinJid); packet.setTo(joinJid);
Element x = packet.addChild("x", "http://jabber.org/protocol/muc"); Element x = packet.addChild("x", "http://jabber.org/protocol/muc");
if (conversation.getMucOptions().getPassword() != null) { if (conversation.getMucOptions().getPassword() != null) {
x.addChild("password").setContent(conversation.getMucOptions().getPassword()); x.addChild("password").setContent(mucOptions.getPassword());
} }
if (mucOptions.mamSupport()) { if (mucOptions.mamSupport()) {