1
1
package com.foke.together.presenter.viewmodel
2
2
3
- import android.content.Context
4
3
import androidx.compose.ui.graphics.asAndroidBitmap
5
4
import androidx.compose.ui.graphics.layer.GraphicsLayer
6
- import androidx.core.net.toFile
7
5
import androidx.lifecycle.ViewModel
8
6
import com.foke.together.domain.interactor.GeneratePhotoFrameUseCase
9
- import com.foke.together.domain.interactor.GetQRCodeUseCase
10
7
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
13
8
import com.foke.together.util.AppLog
14
9
import com.foke.together.util.AppPolicy
15
10
import dagger.hilt.android.lifecycle.HiltViewModel
16
- import dagger.hilt.android.qualifiers.ApplicationContext
17
11
import javax.inject.Inject
18
12
19
13
@HiltViewModel
20
14
class GenerateSingleRowImageViewModel @Inject constructor(
21
- @ApplicationContext private val context : Context ,
22
15
private val generatePhotoFrameUseCase : GeneratePhotoFrameUseCase ,
23
- private val uploadFileUseCase : UploadFileUseCase ,
24
- private val sessionKeyUseCase : SessionKeyUseCase ,
25
- private val getQRCodeUseCase : GetQRCodeUseCase
26
16
): ViewModel() {
27
17
val cutFrameType: CutFrameType = generatePhotoFrameUseCase.getCutFrameType()
28
18
val imageUri = generatePhotoFrameUseCase.getCapturedImageListUri()
29
19
30
20
suspend fun generateImage (graphicsLayer : GraphicsLayer ) {
31
21
val bitmap = graphicsLayer.toImageBitmap().asAndroidBitmap()
32
22
val finalCachedImageUri = generatePhotoFrameUseCase.saveGraphicsLayerImage(bitmap, AppPolicy .SINGLE_ROW_FINAL_IMAGE_NAME )
33
- val result = uploadFileUseCase(sessionKeyUseCase.getSessionKey(), finalCachedImageUri.toFile())
34
23
AppLog .d(" GenerateImageViewModel" , " generateTwoRowImage" ," twoRow: $finalCachedImageUri " )
35
- AppLog .d(" GenerateImageViewModel" , " UploadFile" ," result: $result " )
36
24
}
37
25
}
0 commit comments