That fuck shit the fascists are using
at master 62 lines 2.1 kB view raw
1/* 2 * Copyright 2023 Signal Messenger, LLC 3 * SPDX-License-Identifier: AGPL-3.0-only 4 */ 5 6package org.tm.archive.keyvalue 7 8import org.signal.core.util.logging.Log 9 10internal class ApkUpdateValues(store: KeyValueStore) : SignalStoreValues(store) { 11 companion object { 12 private val TAG = Log.tag(ApkUpdateValues::class.java) 13 14 private const val DOWNLOAD_ID = "apk_update.download_id" 15 private const val DIGEST = "apk_update.digest" 16 private const val AUTO_UPDATE = "apk_update.auto_update" 17 private const val LAST_SUCCESSFUL_CHECK = "apk_update.last_successful_check" 18 private const val LAST_APK_UPLOAD_TIME = "apk_update.last_apk_upload_time" 19 private const val PENDING_APK_UPLOAD_TIME = "apk_update.pending_apk_upload_time" 20 } 21 22 override fun onFirstEverAppLaunch() = Unit 23 override fun getKeysToIncludeInBackup(): List<String> = emptyList() 24 25 val downloadId: Long by longValue(DOWNLOAD_ID, -2) 26 val digest: ByteArray? get() = store.getBlob(DIGEST, null) 27 var autoUpdate: Boolean by booleanValue(AUTO_UPDATE, true) 28 var lastSuccessfulCheck: Long by longValue(LAST_SUCCESSFUL_CHECK, 0) 29 30 /** The upload of the last APK we installed */ 31 var lastApkUploadTime: Long 32 get() = getLong(LAST_APK_UPLOAD_TIME, 0) 33 set(value) { 34 Log.d(TAG, "Setting lastApkUploadTime to $value") 35 store.beginWrite().putLong(LAST_APK_UPLOAD_TIME, value).commit() 36 } 37 38 /** The upload time of the APK we're trying to install */ 39 val pendingApkUploadTime: Long by longValue(PENDING_APK_UPLOAD_TIME, 0) 40 41 fun setDownloadAttributes(id: Long, digest: ByteArray?, apkUploadTime: Long) { 42 Log.d(TAG, "Saving download attributes. id: $id, apkUploadTime: $apkUploadTime") 43 44 store 45 .beginWrite() 46 .putLong(DOWNLOAD_ID, id) 47 .putBlob(DIGEST, digest) 48 .putLong(PENDING_APK_UPLOAD_TIME, apkUploadTime) 49 .commit() 50 } 51 52 fun clearDownloadAttributes() { 53 Log.d(TAG, "Clearing download attributes.") 54 55 store 56 .beginWrite() 57 .putLong(DOWNLOAD_ID, -1) 58 .putBlob(DIGEST, null) 59 .putLong(PENDING_APK_UPLOAD_TIME, 0) 60 .commit() 61 } 62}