mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-30 21:45:20 +00:00
Refactor
This commit is contained in:
parent
a767c84f74
commit
06e8d20da4
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
<color name="signal_primary">@color/loki_green</color>
|
<color name="signal_primary">@color/loki_green</color>
|
||||||
<color name="signal_primary_dark">@color/loki_green</color>
|
<color name="signal_primary_dark">@color/loki_green</color>
|
||||||
<color name="signal_primary_alpha33">#555bca5b</color>
|
<color name="signal_primary_alpha33">#5578be20</color>
|
||||||
<color name="signal_primary_alpha_focus">#882090ea</color>
|
<color name="signal_primary_alpha_focus">#882090ea</color>
|
||||||
|
|
||||||
<color name="textsecure_primary">@color/signal_primary</color>
|
<color name="textsecure_primary">@color/signal_primary</color>
|
||||||
|
@ -243,10 +243,10 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
|
|||||||
try {
|
try {
|
||||||
GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context);
|
GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context);
|
||||||
SignalProtocolStore axolotlStore = new SignalProtocolStoreImpl(context);
|
SignalProtocolStore axolotlStore = new SignalProtocolStoreImpl(context);
|
||||||
LokiThreadDatabaseProtocol lokiThreadDatabase = DatabaseFactory.getLokiThreadDatabase(context);
|
LokiThreadDatabase lokiThreadDatabase = DatabaseFactory.getLokiThreadDatabase(context);
|
||||||
LokiPreKeyRecordDatabase preKeyRecordDatabase = DatabaseFactory.getLokiPreKeyRecordDatabase(context);
|
LokiPreKeyRecordDatabase lokiPreKeyRecordDatabase = DatabaseFactory.getLokiPreKeyRecordDatabase(context);
|
||||||
SignalServiceAddress localAddress = new SignalServiceAddress(TextSecurePreferences.getLocalNumber(context));
|
SignalServiceAddress localAddress = new SignalServiceAddress(TextSecurePreferences.getLocalNumber(context));
|
||||||
LokiServiceCipher cipher = new LokiServiceCipher(localAddress, axolotlStore, lokiThreadDatabase, preKeyRecordDatabase, UnidentifiedAccessUtil.getCertificateValidator());
|
LokiServiceCipher cipher = new LokiServiceCipher(localAddress, axolotlStore, lokiThreadDatabase, lokiPreKeyRecordDatabase, UnidentifiedAccessUtil.getCertificateValidator());
|
||||||
/* Loki - Original code
|
/* Loki - Original code
|
||||||
SignalServiceCipher cipher = new SignalServiceCipher(localAddress, axolotlStore, UnidentifiedAccessUtil.getCertificateValidator());
|
SignalServiceCipher cipher = new SignalServiceCipher(localAddress, axolotlStore, UnidentifiedAccessUtil.getCertificateValidator());
|
||||||
*/
|
*/
|
||||||
@ -480,7 +480,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
|
|||||||
lokiThreadDatabase.setSessionResetState(threadId, LokiThreadSessionResetState.REQUEST_RECEIVED);
|
lokiThreadDatabase.setSessionResetState(threadId, LokiThreadSessionResetState.REQUEST_RECEIVED);
|
||||||
|
|
||||||
// TODO: Send a background message here
|
// TODO: Send a background message here
|
||||||
Log.d("LOKI", "Session reset received from " + content.getSender());
|
Log.d("Loki", "Received a session reset request from: " + content.getSender() + ".");
|
||||||
|
|
||||||
SecurityEvent.broadcastSecurityUpdateEvent(context);
|
SecurityEvent.broadcastSecurityUpdateEvent(context);
|
||||||
MessageNotifier.updateNotification(context, threadId);
|
MessageNotifier.updateNotification(context, threadId);
|
||||||
@ -498,8 +498,10 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
|
|||||||
|
|
||||||
if (!recipient.isGroupRecipient()) {
|
if (!recipient.isGroupRecipient()) {
|
||||||
// TODO: Handle session reset on sync messages
|
// TODO: Handle session reset on sync messages
|
||||||
// SessionStore sessionStore = new TextSecureSessionStore(context);
|
/*
|
||||||
// sessionStore.deleteAllSessions(recipient.getAddress().toPhoneString());
|
SessionStore sessionStore = new TextSecureSessionStore(context);
|
||||||
|
sessionStore.deleteAllSessions(recipient.getAddress().toPhoneString());
|
||||||
|
*/
|
||||||
|
|
||||||
SecurityEvent.broadcastSecurityUpdateEvent(context);
|
SecurityEvent.broadcastSecurityUpdateEvent(context);
|
||||||
|
|
||||||
|
@ -164,8 +164,13 @@ public class PushTextSendJob extends PushSendJob implements InjectableType {
|
|||||||
|
|
||||||
log(TAG, "Have access key to use: " + unidentifiedAccess.isPresent());
|
log(TAG, "Have access key to use: " + unidentifiedAccess.isPresent());
|
||||||
|
|
||||||
// Loki - Include a pre key bundle if the message is a friend request
|
// Loki - Include a pre key bundle if the message is a friend request or an end session message
|
||||||
PreKeyBundle preKeyBundle = (message.isFriendRequest() || message.isEndSession()) ? DatabaseFactory.getLokiPreKeyBundleDatabase(context).generatePreKeyBundle(address.getNumber()) : null;
|
PreKeyBundle preKeyBundle;
|
||||||
|
if (message.isFriendRequest() || message.isEndSession()) {
|
||||||
|
preKeyBundle = DatabaseFactory.getLokiPreKeyBundleDatabase(context).generatePreKeyBundle(address.getNumber());
|
||||||
|
} else {
|
||||||
|
preKeyBundle = null;
|
||||||
|
}
|
||||||
|
|
||||||
SignalServiceDataMessage textSecureMessage = SignalServiceDataMessage.newBuilder()
|
SignalServiceDataMessage textSecureMessage = SignalServiceDataMessage.newBuilder()
|
||||||
.withTimestamp(message.getDateSent())
|
.withTimestamp(message.getDateSent())
|
||||||
|
@ -15,13 +15,13 @@ class LokiThreadDatabase(context: Context, helper: SQLCipherOpenHelper) : Databa
|
|||||||
var delegate: LokiThreadDatabaseDelegate? = null
|
var delegate: LokiThreadDatabaseDelegate? = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val sessionResetTableName = "loki_thread_session_reset_database"
|
|
||||||
private val friendRequestTableName = "loki_thread_friend_request_database"
|
private val friendRequestTableName = "loki_thread_friend_request_database"
|
||||||
|
private val sessionResetTableName = "loki_thread_session_reset_database"
|
||||||
private val threadID = "thread_id"
|
private val threadID = "thread_id"
|
||||||
private val friendRequestStatus = "friend_request_status"
|
private val friendRequestStatus = "friend_request_status"
|
||||||
private val sessionResetState = "session_reset_state"
|
private val sessionResetStatus = "session_reset_status"
|
||||||
@JvmStatic val createFriendRequestTableCommand = "CREATE TABLE $friendRequestTableName ($threadID INTEGER PRIMARY KEY, $friendRequestStatus INTEGER DEFAULT 0);"
|
@JvmStatic val createFriendRequestTableCommand = "CREATE TABLE $friendRequestTableName ($threadID INTEGER PRIMARY KEY, $friendRequestStatus INTEGER DEFAULT 0);"
|
||||||
@JvmStatic val createSessionResetTableCommand = "CREATE TABLE $sessionResetTableName ($threadID INTEGER PRIMARY KEY, $sessionResetState INTEGER DEFAULT 0);"
|
@JvmStatic val createSessionResetTableCommand = "CREATE TABLE $sessionResetTableName ($threadID INTEGER PRIMARY KEY, $sessionResetStatus INTEGER DEFAULT 0);"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getThreadID(hexEncodePubKey: String): Long {
|
override fun getThreadID(hexEncodePubKey: String): Long {
|
||||||
@ -66,7 +66,7 @@ class LokiThreadDatabase(context: Context, helper: SQLCipherOpenHelper) : Databa
|
|||||||
override fun getSessionResetState(threadID: Long): LokiThreadSessionResetState {
|
override fun getSessionResetState(threadID: Long): LokiThreadSessionResetState {
|
||||||
val database = databaseHelper.readableDatabase
|
val database = databaseHelper.readableDatabase
|
||||||
val result = database.get(sessionResetTableName, "${Companion.threadID} = ?", arrayOf( threadID.toString() )) { cursor ->
|
val result = database.get(sessionResetTableName, "${Companion.threadID} = ?", arrayOf( threadID.toString() )) { cursor ->
|
||||||
cursor.getInt(sessionResetState)
|
cursor.getInt(sessionResetStatus)
|
||||||
}
|
}
|
||||||
return if (result != null) {
|
return if (result != null) {
|
||||||
LokiThreadSessionResetState.values().first { it.rawValue == result }
|
LokiThreadSessionResetState.values().first { it.rawValue == result }
|
||||||
@ -75,11 +75,11 @@ class LokiThreadDatabase(context: Context, helper: SQLCipherOpenHelper) : Databa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setSessionResetState(threadID: Long, sessionResetState: LokiThreadSessionResetState) {
|
override fun setSessionResetState(threadID: Long, sessionResetStatus: LokiThreadSessionResetState) {
|
||||||
val database = databaseHelper.writableDatabase
|
val database = databaseHelper.writableDatabase
|
||||||
val contentValues = ContentValues(2)
|
val contentValues = ContentValues(2)
|
||||||
contentValues.put(Companion.threadID, threadID)
|
contentValues.put(Companion.threadID, threadID)
|
||||||
contentValues.put(Companion.sessionResetState, sessionResetState.rawValue)
|
contentValues.put(Companion.sessionResetStatus, sessionResetStatus.rawValue)
|
||||||
database.insertOrUpdate(sessionResetTableName, contentValues, "${Companion.threadID} = ?", arrayOf( threadID.toString() ))
|
database.insertOrUpdate(sessionResetTableName, contentValues, "${Companion.threadID} = ?", arrayOf( threadID.toString() ))
|
||||||
notifyConversationListListeners()
|
notifyConversationListListeners()
|
||||||
notifyConversationListeners(threadID)
|
notifyConversationListeners(threadID)
|
||||||
|
Loading…
Reference in New Issue
Block a user