aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/entities/Account.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-01 14:12:35 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-01 14:12:35 +0200
commita70f8423f0389916b3c2d7b1b708feebce1aa59b (patch)
treec284fdd22f77dc4d52845b14eb267fdd3655e24a /src/main/java/de/pixart/messenger/entities/Account.java
parent186bf6e9ffbe1ae14cd68a46cdba15f4bb8337d0 (diff)
get rid of customizable resources
Diffstat (limited to 'src/main/java/de/pixart/messenger/entities/Account.java')
-rw-r--r--src/main/java/de/pixart/messenger/entities/Account.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Account.java b/src/main/java/de/pixart/messenger/entities/Account.java
index c641902a3..8b2eef3eb 100644
--- a/src/main/java/de/pixart/messenger/entities/Account.java
+++ b/src/main/java/de/pixart/messenger/entities/Account.java
@@ -49,6 +49,7 @@ public class Account extends AbstractEntity {
public static final String PORT = "port";
public static final String STATUS = "status";
public static final String STATUS_MESSAGE = "status_message";
+ public static final String RESOURCE = "resource";
public static final String PINNED_MECHANISM_KEY = "pinned_mechanism";
@@ -238,6 +239,7 @@ public class Account extends AbstractEntity {
protected String rosterVersion;
protected State status = State.OFFLINE;
protected final JSONObject keys;
+ protected String resource;
protected String avatar;
protected String displayName = null;
protected String hostname = null;
@@ -266,9 +268,6 @@ public class Account extends AbstractEntity {
final Presence.Status status, String statusMessage) {
this.uuid = uuid;
this.jid = jid;
- if (jid.isBareJid()) {
- this.setResource("mobile");
- }
this.password = password;
this.options = options;
this.rosterVersion = rosterVersion;
@@ -290,8 +289,10 @@ public class Account extends AbstractEntity {
public static Account fromCursor(final Cursor cursor) {
Jid jid = null;
try {
- jid = Jid.fromParts(cursor.getString(cursor.getColumnIndex(USERNAME)),
- cursor.getString(cursor.getColumnIndex(SERVER)), "mobile");
+ jid = Jid.fromParts(
+ cursor.getString(cursor.getColumnIndex(USERNAME)),
+ cursor.getString(cursor.getColumnIndex(SERVER)),
+ cursor.getString(cursor.getColumnIndex(RESOURCE)));
} catch (final InvalidJidException ignored) {
}
return new Account(cursor.getString(cursor.getColumnIndex(UUID)),
@@ -327,6 +328,7 @@ public class Account extends AbstractEntity {
}
public boolean setJid(final Jid next) {
+ final Jid previousFull = this.jid;
final Jid prev = this.jid != null ? this.jid.toBareJid() : null;
final boolean changed = prev == null || (next != null && !prev.equals(next.toBareJid()));
if (changed) {
@@ -338,7 +340,7 @@ public class Account extends AbstractEntity {
}
}
this.jid = next;
- return changed;
+ return next != null && next.equals(previousFull);
}
public Jid getServer() {
@@ -493,6 +495,7 @@ public class Account extends AbstractEntity {
values.put(PORT, port);
values.put(STATUS, presenceStatus.toShowString());
values.put(STATUS_MESSAGE, presenceStatusMessage);
+ values.put(RESOURCE, jid.getResourcepart());
return values;
}