Clean
parent
ed2ab2d78a
commit
8e53383ab9
@ -0,0 +1,25 @@
|
|||||||
|
package org.thoughtcrime.securesms.loki.protocol
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.Log
|
||||||
|
import org.thoughtcrime.securesms.ApplicationContext
|
||||||
|
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil
|
||||||
|
import org.thoughtcrime.securesms.crypto.PreKeyUtil
|
||||||
|
import org.thoughtcrime.securesms.jobs.CleanPreKeysJob
|
||||||
|
import org.thoughtcrime.securesms.util.TextSecurePreferences
|
||||||
|
|
||||||
|
object SessionManagementProtocol {
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun refreshSignedPreKey(context: Context) {
|
||||||
|
if (TextSecurePreferences.isSignedPreKeyRegistered(context)) {
|
||||||
|
Log.d("Loki", "Skipping signed pre key refresh; using existing signed pre key.")
|
||||||
|
} else {
|
||||||
|
Log.d("Loki", "Signed pre key refreshed successfully.")
|
||||||
|
val identityKeyPair = IdentityKeyUtil.getIdentityKeyPair(context)
|
||||||
|
PreKeyUtil.generateSignedPreKey(context, identityKeyPair, true)
|
||||||
|
TextSecurePreferences.setSignedPreKeyRegistered(context, true)
|
||||||
|
ApplicationContext.getInstance(context).jobManager.add(CleanPreKeysJob())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,38 @@
|
|||||||
|
package org.thoughtcrime.securesms.loki.protocol
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import org.thoughtcrime.securesms.database.Address
|
||||||
|
import org.thoughtcrime.securesms.database.DatabaseFactory
|
||||||
|
import org.thoughtcrime.securesms.recipients.Recipient
|
||||||
|
import org.whispersystems.signalservice.loki.protocol.multidevice.MultiDeviceProtocol
|
||||||
|
import org.whispersystems.signalservice.loki.protocol.todo.LokiThreadFriendRequestStatus
|
||||||
|
|
||||||
|
object SessionMetaProtocol {
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun canUserReplyToNotification(recipient: Recipient, context: Context): Boolean {
|
||||||
|
val isGroup = recipient.isGroupRecipient
|
||||||
|
if (isGroup) { return !recipient.address.isRSSFeed }
|
||||||
|
val linkedDevices = MultiDeviceProtocol.shared.getAllLinkedDevices(recipient.address.serialize())
|
||||||
|
return linkedDevices.any { device ->
|
||||||
|
val recipient = Recipient.from(context, Address.fromSerialized(device), false)
|
||||||
|
val threadID = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient)
|
||||||
|
DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadID) == LokiThreadFriendRequestStatus.FRIENDS
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun shouldSendReadReceipt(publicKey: String, context: Context): Boolean {
|
||||||
|
val recipient = Recipient.from(context, Address.fromSerialized(publicKey),false)
|
||||||
|
val threadID = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient)
|
||||||
|
return DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadID) == LokiThreadFriendRequestStatus.FRIENDS
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun shouldSendTypingIndicator(recipient: Recipient, context: Context): Boolean {
|
||||||
|
if (recipient.isGroupRecipient) { return false }
|
||||||
|
val recipient = Recipient.from(context, Address.fromSerialized(recipient.address.serialize()),false)
|
||||||
|
val threadID = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient)
|
||||||
|
return DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadID) == LokiThreadFriendRequestStatus.FRIENDS
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
package org.thoughtcrime.securesms.loki.protocol
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.database.Address
|
||||||
|
|
||||||
|
object SyncMessagesProtocol {
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun shouldSyncReadReceipt(address: Address): Boolean {
|
||||||
|
return !address.isOpenGroup
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
@file:JvmName("NotificationUtilities")
|
@file:JvmName("NotificationUtilities")
|
||||||
package org.thoughtcrime.securesms.notifications
|
package org.thoughtcrime.securesms.loki.utilities
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import org.thoughtcrime.securesms.database.DatabaseFactory
|
import org.thoughtcrime.securesms.database.DatabaseFactory
|
Loading…
Reference in New Issue