PresenceTemplate.java

 1package eu.siacs.conversations.entities;
 2
 3import android.content.ContentValues;
 4import android.database.Cursor;
 5
 6
 7public class PresenceTemplate extends AbstractEntity {
 8
 9	public static final String TABELNAME = "presence_templates";
10	public static final String LAST_USED = "last_used";
11	public static final String MESSAGE = "message";
12	public static final String STATUS = "status";
13
14	private long lastUsed = 0;
15	private String statusMessage;
16	private Presence.Status status = Presence.Status.ONLINE;
17
18	public PresenceTemplate(Presence.Status status, String statusMessage) {
19		this.status = status;
20		this.statusMessage = statusMessage;
21		this.lastUsed = System.currentTimeMillis();
22		this.uuid = java.util.UUID.randomUUID().toString();
23	}
24
25	private PresenceTemplate() {
26
27	}
28
29	@Override
30	public ContentValues getContentValues() {
31		final String show = status.toShowString();
32		ContentValues values = new ContentValues();
33		values.put(LAST_USED, lastUsed);
34		values.put(MESSAGE, statusMessage);
35		values.put(STATUS, show == null ? "" : show);
36		values.put(UUID, uuid);
37		return values;
38	}
39
40	public static PresenceTemplate fromCursor(Cursor cursor) {
41		PresenceTemplate template = new PresenceTemplate();
42		template.uuid = cursor.getString(cursor.getColumnIndex(UUID));
43		template.lastUsed = cursor.getLong(cursor.getColumnIndex(LAST_USED));
44		template.statusMessage = cursor.getString(cursor.getColumnIndex(MESSAGE));
45		template.status = Presence.Status.fromShowString(cursor.getString(cursor.getColumnIndex(STATUS)));
46		return template;
47	}
48
49	public Presence.Status getStatus() {
50		return status;
51	}
52
53	public String getStatusMessage() {
54		return statusMessage;
55	}
56}