77 lines
2.1 KiB
Java
77 lines
2.1 KiB
Java
package eu.siacs.conversations.entities;
|
|
|
|
import android.content.ContentValues;
|
|
import android.database.Cursor;
|
|
|
|
|
|
public class PresenceTemplate extends AbstractEntity {
|
|
|
|
public static final String TABELNAME = "presence_templates";
|
|
public static final String LAST_USED = "last_used";
|
|
public static final String MESSAGE = "message";
|
|
public static final String STATUS = "status";
|
|
|
|
private long lastUsed = 0;
|
|
private String statusMessage;
|
|
private Presence.Status status = Presence.Status.ONLINE;
|
|
|
|
public PresenceTemplate(Presence.Status status, String statusMessage) {
|
|
this.status = status;
|
|
this.statusMessage = statusMessage;
|
|
this.lastUsed = System.currentTimeMillis();
|
|
this.uuid = java.util.UUID.randomUUID().toString();
|
|
}
|
|
|
|
private PresenceTemplate() {
|
|
|
|
}
|
|
|
|
@Override
|
|
public ContentValues getContentValues() {
|
|
final String show = status.toShowString();
|
|
ContentValues values = new ContentValues();
|
|
values.put(LAST_USED, lastUsed);
|
|
values.put(MESSAGE, statusMessage);
|
|
values.put(STATUS, show == null ? "" : show);
|
|
values.put(UUID, uuid);
|
|
return values;
|
|
}
|
|
|
|
public static PresenceTemplate fromCursor(Cursor cursor) {
|
|
PresenceTemplate template = new PresenceTemplate();
|
|
template.uuid = cursor.getString(cursor.getColumnIndex(UUID));
|
|
template.lastUsed = cursor.getLong(cursor.getColumnIndex(LAST_USED));
|
|
template.statusMessage = cursor.getString(cursor.getColumnIndex(MESSAGE));
|
|
template.status = Presence.Status.fromShowString(cursor.getString(cursor.getColumnIndex(STATUS)));
|
|
return template;
|
|
}
|
|
|
|
public Presence.Status getStatus() {
|
|
return status;
|
|
}
|
|
|
|
public String getStatusMessage() {
|
|
return statusMessage;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (this == o) return true;
|
|
if (o == null || getClass() != o.getClass()) return false;
|
|
|
|
PresenceTemplate template = (PresenceTemplate) o;
|
|
|
|
if (statusMessage != null ? !statusMessage.equals(template.statusMessage) : template.statusMessage != null)
|
|
return false;
|
|
return status == template.status;
|
|
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
int result = statusMessage != null ? statusMessage.hashCode() : 0;
|
|
result = 31 * result + status.hashCode();
|
|
return result;
|
|
}
|
|
}
|