That fuck shit the fascists are using
at master 74 lines 2.3 kB view raw
1package org.tm.archive.migrations 2 3import org.signal.core.util.logging.Log 4import org.tm.archive.database.IdentityTable 5import org.tm.archive.dependencies.ApplicationDependencies 6import org.tm.archive.jobmanager.Job 7import org.tm.archive.jobs.AccountConsistencyWorkerJob 8import org.tm.archive.keyvalue.SignalStore 9import org.tm.archive.recipients.Recipient 10 11/** 12 * Migration to help cleanup some inconsistent state for ourself in the identity table. 13 */ 14internal class IdentityTableCleanupMigrationJob( 15 parameters: Parameters = Parameters.Builder().build() 16) : MigrationJob(parameters) { 17 18 companion object { 19 const val KEY = "IdentityTableCleanupMigrationJob" 20 21 val TAG = Log.tag(IdentityTableCleanupMigrationJob::class.java) 22 } 23 24 override fun getFactoryKey(): String = KEY 25 26 override fun isUiBlocking(): Boolean = false 27 28 override fun performMigration() { 29 if (SignalStore.account().aci == null || SignalStore.account().pni == null) { 30 Log.i(TAG, "ACI/PNI are unset, skipping.") 31 return 32 } 33 34 if (!SignalStore.account().hasAciIdentityKey()) { 35 Log.i(TAG, "No ACI identity set yet, skipping.") 36 return 37 } 38 39 if (!SignalStore.account().hasPniIdentityKey()) { 40 Log.i(TAG, "No PNI identity set yet, skipping.") 41 return 42 } 43 44 ApplicationDependencies.getProtocolStore().aci().identities().saveIdentityWithoutSideEffects( 45 Recipient.self().id, 46 SignalStore.account().aci!!, 47 SignalStore.account().aciIdentityKey.publicKey, 48 IdentityTable.VerifiedStatus.VERIFIED, 49 true, 50 System.currentTimeMillis(), 51 true 52 ) 53 54 ApplicationDependencies.getProtocolStore().pni().identities().saveIdentityWithoutSideEffects( 55 Recipient.self().id, 56 SignalStore.account().pni!!, 57 SignalStore.account().pniIdentityKey.publicKey, 58 IdentityTable.VerifiedStatus.VERIFIED, 59 true, 60 System.currentTimeMillis(), 61 true 62 ) 63 64 ApplicationDependencies.getJobManager().add(AccountConsistencyWorkerJob()) 65 } 66 67 override fun shouldRetry(e: Exception): Boolean = false 68 69 class Factory : Job.Factory<IdentityTableCleanupMigrationJob> { 70 override fun create(parameters: Parameters, serializedData: ByteArray?): IdentityTableCleanupMigrationJob { 71 return IdentityTableCleanupMigrationJob(parameters) 72 } 73 } 74}