11package com.foke.together.presenter.viewmodel
22
3- import android.content.Context
43import androidx.compose.ui.graphics.asAndroidBitmap
54import androidx.compose.ui.graphics.layer.GraphicsLayer
6- import androidx.core.net.toFile
75import androidx.lifecycle.ViewModel
86import com.foke.together.domain.interactor.GeneratePhotoFrameUseCase
9- import com.foke.together.domain.interactor.GetQRCodeUseCase
107import 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
138import com.foke.together.util.AppLog
149import com.foke.together.util.AppPolicy
1510import dagger.hilt.android.lifecycle.HiltViewModel
16- import dagger.hilt.android.qualifiers.ApplicationContext
1711import javax.inject.Inject
1812
1913@HiltViewModel
2014class 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}
0 commit comments