Skip to content

Commit 8e759be

Browse files
lsakeeSangwook123
authored andcommitted
[feat] #62 remove parameter
1 parent 7ce6224 commit 8e759be

File tree

3 files changed

+29
-19
lines changed

3 files changed

+29
-19
lines changed

feature/upload/src/main/java/com/record/upload/UploadViewModel.kt

+26-15
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.record.upload.repository.UploadRepository
1313
import dagger.hilt.android.lifecycle.HiltViewModel
1414
import kotlinx.coroutines.launch
1515
import java.io.File
16+
import java.net.URL
1617
import java.net.URLDecoder
1718
import javax.inject.Inject
1819

@@ -48,30 +49,36 @@ class UploadViewModel @Inject constructor(
4849

4950
fun uploadVideoToS3Bucket(context: Context, file: File) =
5051
viewModelScope.launch {
51-
uploadFileToS3PresignedUrl(uiState.value.bucketUrl, file) { success, message ->
52+
var a = ""
53+
var b = ""
54+
uploadFileToS3PresignedUrl(uiState.value.bucketUrl, uiState.value.thumbnailUrl, file) { success, message ->
5255
println(message)
53-
Log.d("messageFile", "$message ")
56+
a = removeQueryParameters(message)
57+
Log.d("messageFile", "$message")
58+
if (success) {
59+
uploadFileToS3ThumbnailPresignedUrl(
60+
context,
61+
uiState.value.thumbnailUrl,
62+
file,
63+
) { success, message ->
64+
println(message)
65+
b = removeQueryParameters(message)
66+
Log.d("messageThumbnail", "$message ")
67+
uploadRecord(a, b)
68+
}
69+
}
5470
}
55-
uploadFileToS3ThumbnailPresignedUrl(
56-
context,
57-
uiState.value.thumbnailUrl,
58-
file,
59-
) { success, message ->
60-
println(message)
61-
Log.d("messageThumbnail", "$message ")
62-
}
63-
uploadRecord()
6471
}
6572

66-
fun uploadRecord() =
73+
fun uploadRecord(a: String, b: String) =
6774
viewModelScope.launch {
6875
uploadRepository.uploadRecord(
6976
videoInfo = VideoInfo(
7077
location = "test",
7178
content = "test",
7279
keywords = encodingString("감각적인,강렬한,귀여운").trim(),
73-
videoUrl = "https://recordy-bucket.s3.ap-northeast-2.amazonaws.com/videos/40683dd4-52a3-4bb1-9833-7fb2256285e9.mp4",
74-
previewUrl = "https://recordy-bucket.s3.ap-northeast-2.amazonaws.com/thumbnails/0ed9dfc0-8e41-491f-b4fb-2d7ea9a5d5e3.jpeg",
80+
videoUrl = a,
81+
previewUrl = b,
7582
),
7683
)
7784
}
@@ -81,7 +88,11 @@ class UploadViewModel @Inject constructor(
8188
val encodedString = Base64.encodeToString(bytes, Base64.DEFAULT)
8289
return encodedString
8390
}
84-
91+
fun removeQueryParameters(urlString: String): String {
92+
val url = URL(urlString)
93+
val cleanUrl = URL(url.protocol, url.host, url.port, url.path)
94+
return cleanUrl.toString()
95+
}
8596
fun setVideo(video: GalleryVideo) = intent {
8697
copy(video = video)
8798
}

feature/upload/src/main/java/com/record/upload/VideoPickerScreen.kt

-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ fun VideoPickerRoute(
8282
LaunchedEffectWithLifecycle {
8383
viewModel.getPresignedUrl()
8484
viewModel.sideEffect.collectLatest { }
85-
viewModel.uploadRecord()
8685
}
8786

8887
VideoPickerScreen(

feature/upload/src/main/java/com/record/upload/extension/UploadExtension.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ fun formatDuration(durationMillis: Long): String {
166166
return String.format("%d:%02d", minutes, seconds)
167167
}
168168

169-
fun uploadFileToS3PresignedUrl(presignedUrl: String, file: File, callback: (Boolean, String) -> Unit) {
169+
fun uploadFileToS3PresignedUrl(presignedUrl: String, thumbnailUrl: String, file: File, callback: (Boolean, String) -> Unit) {
170170
val client = OkHttpClient()
171171
val mediaType = "application/octet-stream".toMediaTypeOrNull()
172172
val requestBody = RequestBody.create(mediaType, file)
@@ -183,7 +183,7 @@ fun uploadFileToS3PresignedUrl(presignedUrl: String, file: File, callback: (Bool
183183

184184
override fun onResponse(call: okhttp3.Call, response: okhttp3.Response) {
185185
if (response.isSuccessful) {
186-
callback(true, "Upload successful")
186+
callback(true, "${response.request.url}")
187187
} else {
188188
callback(false, "Upload failed: ${response.message}")
189189
}
@@ -212,7 +212,7 @@ fun uploadFileToS3ThumbnailPresignedUrl(context: Context, presignedUrl: String,
212212

213213
override fun onResponse(call: okhttp3.Call, response: okhttp3.Response) {
214214
if (response.isSuccessful) {
215-
callback(true, "Upload successful")
215+
callback(true, "${response.request.url}")
216216
} else {
217217
callback(false, "Upload failed: ${response.message}")
218218
}

0 commit comments

Comments
 (0)