That fuck shit the fascists are using

MOD - move recorder file to filer and delete call link recorded file if present

+42 -15
app/libs/androidcopysdk-signal-debug.aar

This is a binary file and will not be displayed.

app/libs/androidcopysdk-signal-release.aar

This is a binary file and will not be displayed.

+6 -8
app/src/tm/java/org/archiver/converter/SignalArchiveMessageConverter.kt
··· 27 27 } 28 28 29 29 fun convert(message: MessageRecord?, accountPhoneNumber: String?, isDeleted: Boolean = false): ArchiveMessage? { 30 - return convert(message, accountPhoneNumber, isDeleted, null, false) 30 + return convert(message, accountPhoneNumber, isDeleted, null) 31 31 } 32 32 33 - fun convertCall(message: MessageRecord?, accountPhoneNumber: String?, startedAt: Long?, isAdHocCall: Boolean): ArchiveMessage? { 34 - return convert(message, accountPhoneNumber, false, startedAt, isAdHocCall) 33 + fun convertCall(message: MessageRecord?, accountPhoneNumber: String?, startedAt: Long?): ArchiveMessage? { 34 + return convert(message, accountPhoneNumber, false, startedAt) 35 35 } 36 36 37 - private fun convert(message: MessageRecord?, accountPhoneNumber: String?, isDeleted: Boolean, startedAt: Long?, isAdHocCall: Boolean): ArchiveMessage? { 37 + private fun convert(message: MessageRecord?, accountPhoneNumber: String?, isDeleted: Boolean, startedAt: Long?): ArchiveMessage? { 38 38 if (message == null) 39 39 return null 40 40 41 - val type = getTransportType(message, isAdHocCall) ?: return null 41 + val type = getTransportType(message) ?: return null 42 42 val sender = recipientConverter.convertSenderRecipient(message) 43 43 val receivers = recipientConverter.convertReceiverRecipients(message) 44 44 return ArchiveMessage( ··· 63 63 ) 64 64 } 65 65 66 - private fun getTransportType(message: MessageRecord, isAdHocCall: Boolean): ArchiveMessageType? { 67 - if (isAdHocCall) 68 - return ArchiveMessageType.Unknown 66 + private fun getTransportType(message: MessageRecord): ArchiveMessageType? { 69 67 if (message.isCallMessage()) 70 68 return ArchiveMessageType.Call 71 69 return if (message.isSmsMessage()) ArchiveMessageType.Sms else if (message.isMultimediaMessage()) ArchiveMessageType.Mms else null
+2 -2
app/src/tm/java/org/archiver/data/TeleMessageTable.kt
··· 40 40 return getMessages(ids).use { reader -> reader.mapNotNull { converter.convert(it, accountPhoneNumber) } } 41 41 } 42 42 43 - fun onSubmitCall(call: CallTable.Call, startedAt: Long?, isAdHocCall: Boolean) { 43 + fun onSubmitCall(call: CallTable.Call, startedAt: Long?) { 44 44 val message = getMessageRecordOrNull(call.messageId ?: return)?.withCall(call) 45 - val archiveMessage = converter.convertCall(message, getAccountPhoneNumber(), startedAt, isAdHocCall) ?: return 45 + val archiveMessage = converter.convertCall(message, getAccountPhoneNumber(), startedAt) ?: return 46 46 messageStoreObserver.afterMessageStateChanged(archiveMessage) 47 47 } 48 48
+9 -1
app/src/tm/java/org/archiver/device/TeleMessageSignalCallManager.kt
··· 3 3 import android.app.Application 4 4 import com.tm.logger.Log 5 5 import org.archiver.data.TeleMessageTable 6 + import org.archiver.di.TeleMessageApplicationDependencyProvider.Companion.getSdkModule 6 7 import org.signal.ringrtc.CallId 7 8 import org.signal.ringrtc.CallManager.CallEvent 8 9 import org.signal.ringrtc.GroupCall ··· 17 18 ) : SignalCallManager(application) { 18 19 19 20 private var callInfoState: CallInfoState? = null 21 + 22 + private val sdkModule by lazy { application.getSdkModule(requireNotNull(SignalDatabase.instance)) } 20 23 21 24 override fun postStateUpdate(state: WebRtcServiceState) { 22 25 val callId = state.callInfoState.getCallId() ··· 41 44 this.callInfoState = null 42 45 val callConnectedTime = callInfoState.callConnectedTime.takeIf { it > 0 } 43 46 val call = callInfoState.call() ?: return 44 - (SignalDatabase.messages as TeleMessageTable).onSubmitCall(call, callConnectedTime, callInfoState.callRecipient.isCallLink) 47 + val isAdHocCall = callInfoState.callRecipient.isCallLink 48 + if (isAdHocCall) { 49 + sdkModule.filer.findCallRecording(call.callId.toString())?.apply { if (exists()) delete() } 50 + return 51 + } 52 + (SignalDatabase.messages as TeleMessageTable).onSubmitCall(call, callConnectedTime) 45 53 } 46 54 47 55 private fun CallInfoState.getCallId(): CallId? {
+23
app/src/tm/java/org/archiver/di/TeleMessageApplicationDependencyProvider.kt
··· 6 6 package org.archiver.di 7 7 8 8 import android.app.Application 9 + import com.tm.androidcopysdk.AndroidCopySDK 10 + import com.tm.androidcopysdk.DataGrabber 11 + import com.tm.androidcopysdk.api.IArchiveDatabase 9 12 import com.tm.androidcopysdk.api.IMessageStoreObserver 13 + import com.tm.androidcopysdk.api.SdkModule 14 + import com.tm.androidcopysdk.database.DefaultArchiveDatabase 10 15 import com.tm.androidcopysdk.device.DefaultMessageStoreObserver 11 16 import org.archiver.device.TeleMessageSignalCallManager 17 + import org.archiver.model.SignalArchiveType 18 + import org.archiver.model.SignalFiler 19 + import org.tm.archive.database.SignalDatabase 12 20 import org.tm.archive.dependencies.ApplicationDependencyProvider 13 21 import org.tm.archive.service.webrtc.SignalCallManager 14 22 ··· 22 30 } 23 31 24 32 companion object { 33 + 34 + private var sdkModule: SdkModule<Long>? = null 35 + 25 36 val messageStoreObserver: IMessageStoreObserver<Long> by lazy { DefaultMessageStoreObserver.getInstance() } 37 + 38 + fun Application.getSdkModule(database: SignalDatabase): SdkModule<Long> { 39 + var sdkModule = sdkModule 40 + if (sdkModule == null) { 41 + val sdk = AndroidCopySDK.getInstance(applicationContext) 42 + val archiveDatabase: IArchiveDatabase = DefaultArchiveDatabase(this, SignalArchiveType.coreValues()) 43 + val filer = SignalFiler(applicationContext, database.attachmentTable) 44 + sdkModule = SdkModule(sdk, DataGrabber.getInstance(applicationContext), database, archiveDatabase, filer) 45 + TeleMessageApplicationDependencyProvider.sdkModule = sdkModule 46 + } 47 + return sdkModule 48 + } 26 49 } 27 50 }
+2 -4
app/src/tm/java/org/tm/archive/TeleMessageSignalApplication.kt
··· 17 17 import org.archiver.ArchiveLogger 18 18 import org.archiver.device.CallManagerRecordingDelegate 19 19 import org.archiver.di.TeleMessageApplicationDependencyProvider 20 + import org.archiver.di.TeleMessageApplicationDependencyProvider.Companion.getSdkModule 20 21 import org.archiver.model.SignalArchiveType 21 22 import org.archiver.model.SignalFiler 22 23 import org.signal.ringrtc.CallManager ··· 44 45 } 45 46 46 47 private fun initializeSdk() { 47 - val sdk = AndroidCopySDK.getInstance(applicationContext) 48 48 val database = SignalDatabase.instance ?: return 49 - val archiveDatabase: IArchiveDatabase = DefaultArchiveDatabase(this, SignalArchiveType.coreValues()) 50 - val filer = SignalFiler(applicationContext, database.attachmentTable) 51 - val module = SdkModule(sdk, DataGrabber.getInstance(applicationContext), database, archiveDatabase, filer) 49 + val module = getSdkModule(database) 52 50 val messageObserver = TeleMessageApplicationDependencyProvider.messageStoreObserver 53 51 messageObserver.addProcessor(ArchiveMessagesProcessor(module)) 54 52 messageObserver.addProcessor(SendSignatureProcessor(module))