Skip to content

Commit 8ec2239

Browse files
lsakeeSangwook123
authored andcommitted
[refactor] #62 delete unnecessary code & separate extension
1 parent 2152651 commit 8ec2239

File tree

5 files changed

+21
-29
lines changed

5 files changed

+21
-29
lines changed

core/common/src/main/java/com/record/common/util/EncodingUtil.kt

+6
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@ fun toUTF8(input: String): String {
1414

1515
return base64EncodedString
1616
}
17+
18+
fun encodingString(contentValue: String): String {
19+
val bytes = contentValue.toByteArray(Charsets.UTF_8)
20+
val encodedString = android.util.Base64.encodeToString(bytes, android.util.Base64.DEFAULT)
21+
return encodedString
22+
}

feature/upload/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dependencies {
1313
implementation("com.github.AbedElazizShe:LightCompressor:1.3.2")
1414
implementation(projects.domain.upload)
1515
implementation(projects.domain.keyword)
16+
implementation(projects.core.common)
1617
implementation("com.amazonaws:aws-android-sdk-mobile-client:2.13.5")
1718
implementation("com.amazonaws:aws-android-sdk-cognito:2.13.5")
1819
implementation("com.amazonaws:aws-android-sdk-s3:2.13.5")

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

+4-17
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.record.upload
22

3-
import android.util.Base64
43
import android.util.Log
54
import androidx.lifecycle.viewModelScope
5+
import com.record.common.util.encodingString
66
import com.record.designsystem.component.snackbar.SnackBarType
77
import com.record.keyword.repository.KeywordRepository
88
import com.record.ui.base.BaseViewModel
@@ -12,7 +12,6 @@ import com.record.upload.repository.UploadRepository
1212
import dagger.hilt.android.lifecycle.HiltViewModel
1313
import kotlinx.coroutines.launch
1414
import java.io.File
15-
import java.net.URL
1615
import javax.inject.Inject
1716

1817
@HiltViewModel
@@ -54,15 +53,15 @@ class UploadViewModel @Inject constructor(
5453
}
5554
}
5655

57-
fun uploadRecord(a: String, b: String) {
56+
fun uploadRecord(videoS3Url: String, thumbnailS3Url: String) {
5857
viewModelScope.launch {
5958
uploadRepository.uploadRecord(
6059
videoInfo = VideoInfo(
6160
location = uiState.value.locationTextValue,
6261
content = uiState.value.contentTextValue,
6362
keywords = encodingString(uiState.value.selectedList.joinToString(separator = ",")).trim(),
64-
videoUrl = a,
65-
previewUrl = b,
63+
videoUrl = videoS3Url,
64+
previewUrl = thumbnailS3Url,
6665
),
6766
).onSuccess {
6867
Log.d("testUpload", "upload")
@@ -80,18 +79,6 @@ class UploadViewModel @Inject constructor(
8079
copy(contentTextValue = contentValue)
8180
}
8281

83-
private fun encodingString(contentValue: String): String {
84-
val bytes = contentValue.toByteArray(Charsets.UTF_8)
85-
val encodedString = Base64.encodeToString(bytes, Base64.DEFAULT)
86-
return encodedString
87-
}
88-
89-
fun removeQueryParameters(urlString: String): String {
90-
val url = URL(urlString)
91-
val cleanUrl = URL(url.protocol, url.host, url.port, url.path)
92-
return cleanUrl.toString()
93-
}
94-
9582
fun setVideo(video: GalleryVideo) = intent {
9683
copy(video = video)
9784
}

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

+1-3
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,7 @@ fun VideoPickerRoute(
130130
state = state,
131131
onClickContentChip = viewModel::setSelectedList,
132132
onClickVideo = viewModel::setVideo,
133-
uploadVideoS3Bucket = {
134-
viewModel.uploadVideoToS3Bucket(context, it)
135-
},
133+
uploadVideoS3Bucket = viewModel::uploadVideoToS3Bucket,
136134
locationFocusRequester = locationFocusRequester,
137135
contentFocusRequester = locationFocusRequester,
138136
updateLocationTextField = viewModel::updateLocationTextField,

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

+9-9
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ fun getAllVideos(
2525
val uriExternal: Uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI
2626
val projection = arrayOf(
2727
MediaStore.Video.VideoColumns.DATA,
28-
MediaStore.Video.VideoColumns.DISPLAY_NAME, // 이름
29-
MediaStore.Video.VideoColumns.SIZE, // 크기
28+
MediaStore.Video.VideoColumns.DISPLAY_NAME,
29+
MediaStore.Video.VideoColumns.SIZE,
3030
MediaStore.Video.VideoColumns.DATE_TAKEN,
31-
MediaStore.Video.VideoColumns.DATE_ADDED, // 추가된 날짜
31+
MediaStore.Video.VideoColumns.DATE_ADDED,
3232
MediaStore.Video.VideoColumns._ID,
3333
)
3434
val resolver = context.contentResolver
@@ -94,6 +94,12 @@ fun getVideoDuration(context: Context, uri: Uri): Long {
9494
}
9595
}
9696

97+
fun formatDuration(durationMillis: Long): String {
98+
val minutes = (durationMillis / 1000) / 60
99+
val seconds = (durationMillis / 1000) % 60
100+
return String.format("%d:%02d", minutes, seconds)
101+
}
102+
97103
data class GalleryVideo(
98104
val id: Long,
99105
val filepath: String,
@@ -152,9 +158,3 @@ fun compressVideo(context: Context, videoUri: Uri, name: String, onSuccess: (Str
152158
)
153159
}
154160
}
155-
156-
fun formatDuration(durationMillis: Long): String {
157-
val minutes = (durationMillis / 1000) / 60
158-
val seconds = (durationMillis / 1000) % 60
159-
return String.format("%d:%02d", minutes, seconds)
160-
}

0 commit comments

Comments
 (0)