Skip to content

Commit 970c9d1

Browse files
lsakeeSangwook123
authored andcommittedJul 19, 2024
[refactor] #62 params
1 parent f7b48df commit 970c9d1

File tree

3 files changed

+42
-39
lines changed

3 files changed

+42
-39
lines changed
 

‎feature/upload/build.gradle.kts

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ dependencies {
1313
implementation("com.github.AbedElazizShe:LightCompressor:1.3.2")
1414
implementation(projects.domain.upload)
1515
implementation(projects.domain.keyword)
16-
implementation("com.arthenica:mobile-ffmpeg-full-gpl:4.4")
1716
implementation("com.amazonaws:aws-android-sdk-mobile-client:2.13.5")
1817
implementation("com.amazonaws:aws-android-sdk-cognito:2.13.5")
1918
implementation("com.amazonaws:aws-android-sdk-s3:2.13.5")

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

+42-37
Original file line numberDiff line numberDiff line change
@@ -108,41 +108,44 @@ fun VideoPickerRoute(
108108
viewModel.sideEffect.collectLatest { sideEffect ->
109109
when (sideEffect) {
110110
is UploadSideEffect.PopBackStack -> popBackStack()
111+
112+
is UploadSideEffect.ShowSnackBar -> {
113+
onShowSnackBar(sideEffect.msg, sideEffect.type)
114+
}
115+
111116
is UploadSideEffect.FocusLocation -> {
112117
awaitFrame()
113118
locationFocusRequester.requestFocus()
114119
}
120+
115121
is UploadSideEffect.FocusContent -> {
116122
awaitFrame()
117123
contentFocusRequester.requestFocus()
118124
}
119-
is UploadSideEffect.ShowSnackBar -> {
120-
onShowSnackBar(sideEffect.msg, sideEffect.type)
121-
}
122125
}
123126
}
124127
}
125128

126129
VideoPickerScreen(
127130
state = state,
131+
onClickContentChip = viewModel::setSelectedList,
132+
onClickVideo = viewModel::setVideo,
133+
uploadVideoS3Bucket = {
134+
viewModel.uploadVideoToS3Bucket(context, it)
135+
},
136+
locationFocusRequester = locationFocusRequester,
137+
contentFocusRequester = locationFocusRequester,
138+
updateLocationTextField = viewModel::updateLocationTextField,
128139
showShouldShowRationaleDialog = viewModel::showShouldShowRationaleDialog,
140+
updateContentTextField = viewModel::updateContentTextField,
129141
hideShouldShowRationaleDialog = viewModel::hideShouldShowRationaleDialog,
130142
hideExitUploadDialog = viewModel::hideExitUploadDialog,
131143
showIsSelectedVideoSheetOpen = viewModel::showIsSelectedVideoSheetOpen,
132144
hideIsSelectedVideoSheetOpen = viewModel::hideIsSelectedVideoSheetOpen,
133145
showIsSelectedDefinedContentSheetOpen = viewModel::showIsSelectedDefinedContentSheetOpen,
134146
hideIsSelectedDefinedContentSheetOpen = viewModel::hideIsSelectedDefinedContentSheetOpen,
135-
onClickContentChip = viewModel::setSelectedList,
136-
setVideo = viewModel::setVideo,
137-
uploadVideoS3Bucket = {
138-
viewModel.uploadVideoToS3Bucket(context, it)
139-
},
140-
onClickBackStack = viewModel::popBackStack,
141-
updateLocationTextField = viewModel::updateLocationTextField,
142-
updateContentTextField = viewModel::updateContentTextField,
143-
locationFocusRequester = locationFocusRequester,
144-
contentFocusRequester = locationFocusRequester,
145147
showSnackBar = viewModel::makeSnackBar,
148+
onClickBackStack = viewModel::popBackStack,
146149
)
147150
}
148151

@@ -155,28 +158,38 @@ fun VideoPickerRoute(
155158
fun VideoPickerScreen(
156159
modifier: Modifier = Modifier,
157160
state: UploadState = UploadState(),
161+
onClickContentChip: (List<String>) -> Unit,
162+
onClickVideo: (GalleryVideo) -> Unit,
163+
uploadVideoS3Bucket: (File) -> Unit,
158164
showShouldShowRationaleDialog: () -> Unit = {},
159165
hideShouldShowRationaleDialog: () -> Unit = {},
160-
onClickBackStack: () -> Unit = {},
161166
hideExitUploadDialog: () -> Unit = {},
162167
showIsSelectedVideoSheetOpen: () -> Unit = {},
163168
hideIsSelectedVideoSheetOpen: () -> Unit = {},
164169
showIsSelectedDefinedContentSheetOpen: () -> Unit = {},
165170
hideIsSelectedDefinedContentSheetOpen: () -> Unit = {},
166-
onClickContentChip: (List<String>) -> Unit,
167-
setVideo: (GalleryVideo) -> Unit,
168-
uploadVideoS3Bucket: (File) -> Unit,
169-
updateContentTextField: (String) -> Unit = {},
170-
updateLocationTextField: (String) -> Unit = {},
171171
locationFocusRequester: FocusRequester = remember { FocusRequester() },
172172
contentFocusRequester: FocusRequester = remember { FocusRequester() },
173+
updateContentTextField: (String) -> Unit = {},
174+
updateLocationTextField: (String) -> Unit = {},
173175
showSnackBar: () -> Unit = {},
176+
onClickBackStack: () -> Unit = {},
174177
) {
175178
val context = LocalContext.current
179+
val scope = rememberCoroutineScope()
176180
val cameraPermissionState = rememberPermissionState(
177181
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) Manifest.permission.READ_MEDIA_VIDEO else Manifest.permission.READ_EXTERNAL_STORAGE,
178182
)
179183
val exampleVideoList = getAllVideos(10, null, context)
184+
185+
val permissionState = remember {
186+
mutableStateOf(
187+
ContextCompat.checkSelfPermission(
188+
context,
189+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) Manifest.permission.READ_MEDIA_VIDEO else Manifest.permission.READ_EXTERNAL_STORAGE,
190+
) == PackageManager.PERMISSION_GRANTED,
191+
)
192+
}
180193
val requestPermissionLauncher = rememberLauncherForActivityResult(
181194
ActivityResultContracts.RequestPermission(),
182195
) { isGranted ->
@@ -186,26 +199,20 @@ fun VideoPickerScreen(
186199
Timber.d("Handle permission denial")
187200
}
188201
}
189-
val permissionState = remember {
190-
mutableStateOf(
191-
ContextCompat.checkSelfPermission(
192-
context,
193-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) Manifest.permission.READ_MEDIA_VIDEO else Manifest.permission.READ_EXTERNAL_STORAGE,
194-
) == PackageManager.PERMISSION_GRANTED,
195-
)
202+
val imageLoader = remember {
203+
ImageLoader.Builder(context)
204+
.components {
205+
add(VideoFrameDecoder.Factory())
206+
}
207+
.crossfade(true)
208+
.build()
196209
}
197-
val scope = rememberCoroutineScope()
198-
val imageLoader = ImageLoader.Builder(context)
199-
.components {
200-
add(VideoFrameDecoder.Factory())
201-
}
202-
.crossfade(true)
203-
.build()
204210

205211
val painter = rememberAsyncImagePainter(
206212
model = state.video?.filepath,
207213
imageLoader = imageLoader,
208214
)
215+
209216
Column(
210217
modifier = modifier
211218
.fillMaxSize()
@@ -221,7 +228,6 @@ fun VideoPickerScreen(
221228
modifier = Modifier.fillMaxWidth(),
222229
textAlign = TextAlign.Center,
223230
)
224-
225231
Column(
226232
modifier = Modifier
227233
.padding(horizontal = 16.dp),
@@ -422,15 +428,14 @@ fun VideoPickerScreen(
422428
isSheetOpen = state.isSelectedVideoSheetOpen,
423429
onDismissRequest = hideIsSelectedVideoSheetOpen,
424430
galleyVideos = exampleVideoList,
425-
isSelectedVideo = setVideo,
431+
isSelectedVideo = onClickVideo,
426432
showSnackBar = showSnackBar,
427433
)
428434
DefinedContentBottomSheet(
429435
sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true),
430436
isSheetOpen = state.isSelectedDefinedContentSheetOpen,
431437
onDismissRequest = hideIsSelectedDefinedContentSheetOpen,
432438
contentList = state.contentList,
433-
selectedList = state.selectedList,
434439
onClickDefinedContent = onClickContentChip,
435440
)
436441
}
@@ -442,7 +447,7 @@ fun VideoPickerScreenPreview() {
442447
RecordyTheme {
443448
VideoPickerScreen(
444449
onClickContentChip = {},
445-
setVideo = {},
450+
onClickVideo = {},
446451
uploadVideoS3Bucket = {},
447452
)
448453
}

‎feature/upload/src/main/java/com/record/upload/component/bottomsheet/SelectedVideoBottomSheet.kt

-1
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,3 @@ fun SelectedVideoBottomSheet(
8585
}
8686
}
8787
}
88-

0 commit comments

Comments
 (0)