Skip to content

Commit 26e4382

Browse files
committed
bugfix. timing issue to upload images [#116]
- 이미지 업로드를 생명주기가 매우 짧은 `GenerateSingleRowImageView`에서 진행하여 이미지가 업로드 되지 않는 이슈 발생 - 생명주기가 긴 `ShareView`에서 이미지를 업로드하도록 변경
1 parent 0aeb572 commit 26e4382

File tree

2 files changed

+4
-12
lines changed

2 files changed

+4
-12
lines changed
Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,25 @@
11
package com.foke.together.presenter.viewmodel
22

3-
import android.content.Context
43
import androidx.compose.ui.graphics.asAndroidBitmap
54
import androidx.compose.ui.graphics.layer.GraphicsLayer
6-
import androidx.core.net.toFile
75
import androidx.lifecycle.ViewModel
86
import com.foke.together.domain.interactor.GeneratePhotoFrameUseCase
9-
import com.foke.together.domain.interactor.GetQRCodeUseCase
107
import com.foke.together.domain.interactor.entity.CutFrameType
11-
import com.foke.together.domain.interactor.web.SessionKeyUseCase
12-
import com.foke.together.domain.interactor.web.UploadFileUseCase
138
import com.foke.together.util.AppLog
149
import com.foke.together.util.AppPolicy
1510
import dagger.hilt.android.lifecycle.HiltViewModel
16-
import dagger.hilt.android.qualifiers.ApplicationContext
1711
import javax.inject.Inject
1812

1913
@HiltViewModel
2014
class GenerateSingleRowImageViewModel @Inject constructor(
21-
@ApplicationContext private val context: Context,
2215
private val generatePhotoFrameUseCase: GeneratePhotoFrameUseCase,
23-
private val uploadFileUseCase: UploadFileUseCase,
24-
private val sessionKeyUseCase: SessionKeyUseCase,
25-
private val getQRCodeUseCase: GetQRCodeUseCase
2616
): ViewModel() {
2717
val cutFrameType: CutFrameType = generatePhotoFrameUseCase.getCutFrameType()
2818
val imageUri = generatePhotoFrameUseCase.getCapturedImageListUri()
2919

3020
suspend fun generateImage(graphicsLayer: GraphicsLayer) {
3121
val bitmap = graphicsLayer.toImageBitmap().asAndroidBitmap()
3222
val finalCachedImageUri = generatePhotoFrameUseCase.saveGraphicsLayerImage(bitmap, AppPolicy.SINGLE_ROW_FINAL_IMAGE_NAME)
33-
val result = uploadFileUseCase(sessionKeyUseCase.getSessionKey(), finalCachedImageUri.toFile())
3423
AppLog.d("GenerateImageViewModel", "generateTwoRowImage" ,"twoRow: $finalCachedImageUri")
35-
AppLog.d("GenerateImageViewModel", "UploadFile" ,"result: $result")
3624
}
3725
}

presenter/src/main/java/com/foke/together/presenter/viewmodel/ShareViewModel.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import com.foke.together.domain.interactor.GeneratePhotoFrameUseCase
1414
import com.foke.together.domain.interactor.GetQRCodeUseCase
1515
import com.foke.together.domain.interactor.web.GetDownloadUrlUseCase
1616
import com.foke.together.domain.interactor.web.SessionKeyUseCase
17+
import com.foke.together.domain.interactor.web.UploadFileUseCase
1718
import com.foke.together.util.AppLog
1819
import com.foke.together.util.AppPolicy
1920
import com.foke.together.util.ImageFileUtil
@@ -28,6 +29,7 @@ class ShareViewModel @Inject constructor(
2829
private val getQRCodeUseCase: GetQRCodeUseCase,
2930
private val getDownloadUrlUseCase: GetDownloadUrlUseCase,
3031
private val sessionKeyUseCase: SessionKeyUseCase,
32+
private val uploadFileUseCase: UploadFileUseCase,
3133
private val generatePhotoFrameUseCase: GeneratePhotoFrameUseCase
3234
): ViewModel() {
3335
var qrCodeBitmap by mutableStateOf<Bitmap?>(null)
@@ -52,6 +54,8 @@ class ShareViewModel @Inject constructor(
5254
}
5355

5456
private suspend fun generateQRcode() {
57+
val result = uploadFileUseCase(sessionKeyUseCase.getSessionKey(), singleImageUri.toFile())
58+
AppLog.d("GenerateImageViewModel", "UploadFile" ,"result: $result")
5559
val sessionKey = sessionKeyUseCase.getSessionKey()
5660
val downloadUrl: String = getDownloadUrlUseCase(sessionKey).getOrElse { "https://4cuts.store" }
5761

0 commit comments

Comments
 (0)