use of net.sqlcipher.database.SQLiteDatabase in project Signal-Android by signalapp.
the class SessionDatabase method delete.
public void delete(@NonNull Address address, int deviceId) {
SQLiteDatabase database = databaseHelper.getWritableDatabase();
database.delete(TABLE_NAME, ADDRESS + " = ? AND " + DEVICE + " = ?", new String[] { address.serialize(), String.valueOf(deviceId) });
}
use of net.sqlcipher.database.SQLiteDatabase in project Signal-Android by signalapp.
the class SessionDatabase method getSubDevices.
@NonNull
public List<Integer> getSubDevices(@NonNull Address address) {
SQLiteDatabase database = databaseHelper.getReadableDatabase();
List<Integer> results = new LinkedList<>();
try (Cursor cursor = database.query(TABLE_NAME, new String[] { DEVICE }, ADDRESS + " = ?", new String[] { address.serialize() }, null, null, null)) {
while (cursor != null && cursor.moveToNext()) {
int device = cursor.getInt(cursor.getColumnIndexOrThrow(DEVICE));
if (device != SignalServiceAddress.DEFAULT_DEVICE_ID) {
results.add(device);
}
}
}
return results;
}
use of net.sqlcipher.database.SQLiteDatabase in project Signal-Android by signalapp.
the class SessionDatabase method store.
public void store(@NonNull Address address, int deviceId, @NonNull SessionRecord record) {
SQLiteDatabase database = databaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(ADDRESS, address.serialize());
values.put(DEVICE, deviceId);
values.put(RECORD, record.serialize());
database.insertWithOnConflict(TABLE_NAME, null, values, SQLiteDatabase.CONFLICT_REPLACE);
}
use of net.sqlcipher.database.SQLiteDatabase in project Signal-Android by signalapp.
the class SessionDatabase method getAll.
@NonNull
public List<SessionRow> getAll() {
SQLiteDatabase database = databaseHelper.getReadableDatabase();
List<SessionRow> results = new LinkedList<>();
try (Cursor cursor = database.query(TABLE_NAME, null, null, null, null, null, null)) {
while (cursor != null && cursor.moveToNext()) {
try {
results.add(new SessionRow(Address.fromSerialized(cursor.getString(cursor.getColumnIndexOrThrow(ADDRESS))), cursor.getInt(cursor.getColumnIndexOrThrow(DEVICE)), new SessionRecord(cursor.getBlob(cursor.getColumnIndexOrThrow(RECORD)))));
} catch (IOException e) {
Log.w(TAG, e);
}
}
}
return results;
}
use of net.sqlcipher.database.SQLiteDatabase in project Signal-Android by signalapp.
the class SessionDatabase method deleteAllFor.
public void deleteAllFor(@NonNull Address address) {
SQLiteDatabase database = databaseHelper.getWritableDatabase();
database.delete(TABLE_NAME, ADDRESS + " = ?", new String[] { address.serialize() });
}
Aggregations