From a9d6b60291d5ccb2c4fbfb4f066751535c969c1e Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Tue, 10 Sep 2024 19:16:53 +0200 Subject: [PATCH] continue uploading media after sending post (#4662) regression from https://github.com/tuskyapp/Tusky/pull/4599 https://pug.ninja/@motoridersd/113102603349423738 The problem is, `MediaUploader` is no longer a singleton, so the state is not correctly shared between `ComposeActivity` and `SendStatusService.` But it can't be a singleton, since `MediaUploadApi` (injected into `MediaUploader`) needs to be recreated on account change. Let's share the state in the companion object instead. --- .../tusky/components/compose/MediaUploader.kt | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/MediaUploader.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/MediaUploader.kt index 478ab7e64..96d687cd0 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/compose/MediaUploader.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/MediaUploader.kt @@ -97,9 +97,11 @@ class MediaUploader @Inject constructor( private val mediaUploadApi: MediaUploadApi ) { - private val uploads = mutableMapOf() - - private var mostRecentId: Int = 0 + private companion object { + private const val TAG = "MediaUploader" + private val uploads = mutableMapOf() + private var mostRecentId: Int = 0 + } fun getNewLocalMediaId(): Int { return mostRecentId++ @@ -326,8 +328,4 @@ class MediaUploader @Inject constructor( return media.type == QueuedMedia.Type.IMAGE && (media.mediaSize > instanceInfo.imageSizeLimit || getImageSquarePixels(context.contentResolver, media.uri) > instanceInfo.imageMatrixLimit) } - - private companion object { - private const val TAG = "MediaUploader" - } }