Skip to content

Commit 9ac2bd9

Browse files
committed
Some refactoring
1 parent 9903bfb commit 9ac2bd9

File tree

4 files changed

+106
-76
lines changed

4 files changed

+106
-76
lines changed

WordPress/src/main/java/org/wordpress/android/support/he/ui/HEConversationDetailScreen.kt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import org.wordpress.android.R
5959
import org.wordpress.android.support.aibot.util.formatRelativeTime
6060
import org.wordpress.android.support.he.model.SupportConversation
6161
import org.wordpress.android.support.he.model.SupportMessage
62+
import org.wordpress.android.support.he.util.AttachmentActionsListener
6263
import org.wordpress.android.support.he.util.generateSampleHESupportConversations
6364
import org.wordpress.android.ui.compose.components.MainTopAppBar
6465
import org.wordpress.android.ui.compose.components.NavigationIcons
@@ -75,9 +76,8 @@ fun HEConversationDetailScreen(
7576
onBackClick: () -> Unit,
7677
onSendMessage: (message: String, includeAppLogs: Boolean) -> Unit,
7778
onClearMessageSendResult: () -> Unit = {},
78-
onAddImageClick: () -> Unit = {},
7979
attachments: List<Uri> = emptyList(),
80-
onRemoveImage: (Uri) -> Unit = {},
80+
attachmentActionsListener: AttachmentActionsListener,
8181
onDownloadAttachment: (org.wordpress.android.support.he.model.SupportAttachment) -> Unit = {}
8282
) {
8383
val listState = rememberLazyListState()
@@ -193,9 +193,8 @@ fun HEConversationDetailScreen(
193193
draftIncludeAppLogs = false
194194
onClearMessageSendResult()
195195
},
196-
onAddImageClick = onAddImageClick,
197196
attachments = attachments,
198-
onRemoveImage = onRemoveImage
197+
attachmentActionsListener = attachmentActionsListener
199198
)
200199
}
201200

@@ -493,7 +492,11 @@ private fun HEConversationDetailScreenPreview() {
493492
snackbarHostState = snackbarHostState,
494493
conversation = sampleConversation,
495494
onBackClick = { },
496-
onSendMessage = { _, _ -> }
495+
onSendMessage = { _, _ -> },
496+
attachmentActionsListener = object : AttachmentActionsListener {
497+
override fun onAddImageClick() { }
498+
override fun onRemoveImage(uri: Uri) { }
499+
}
497500
)
498501
}
499502
}
@@ -509,7 +512,11 @@ private fun HEConversationDetailScreenPreviewDark() {
509512
snackbarHostState = snackbarHostState,
510513
conversation = sampleConversation,
511514
onBackClick = { },
512-
onSendMessage = { _, _ -> }
515+
onSendMessage = { _, _ -> },
516+
attachmentActionsListener = object : AttachmentActionsListener {
517+
override fun onAddImageClick() { }
518+
override fun onRemoveImage(uri: Uri) { }
519+
}
513520
)
514521
}
515522
}
@@ -525,7 +532,11 @@ private fun HEConversationDetailScreenWordPressPreview() {
525532
snackbarHostState = snackbarHostState,
526533
conversation = sampleConversation,
527534
onBackClick = { },
528-
onSendMessage = { _, _ -> }
535+
onSendMessage = { _, _ -> },
536+
attachmentActionsListener = object : AttachmentActionsListener {
537+
override fun onAddImageClick() { }
538+
override fun onRemoveImage(uri: Uri) { }
539+
}
529540
)
530541
}
531542
}
@@ -542,7 +553,11 @@ private fun HEConversationDetailScreenPreviewWordPressDark() {
542553
isLoading = true,
543554
conversation = sampleConversation,
544555
onBackClick = { },
545-
onSendMessage = { _, _ -> }
556+
onSendMessage = { _, _ -> },
557+
attachmentActionsListener = object : AttachmentActionsListener {
558+
override fun onAddImageClick() { }
559+
override fun onRemoveImage(uri: Uri) { }
560+
}
546561
)
547562
}
548563
}

WordPress/src/main/java/org/wordpress/android/support/he/ui/HEConversationReplyBottomSheet.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,8 @@ fun HEConversationReplyBottomSheet(
4343
onDismiss: (currentMessage: String, currentIncludeAppLogs: Boolean) -> Unit,
4444
onSend: (String, Boolean) -> Unit,
4545
onMessageSentSuccessfully: () -> Unit,
46-
onAddImageClick: () -> Unit = {},
4746
attachments: List<Uri> = emptyList(),
48-
onRemoveImage: (Uri) -> Unit = {}
47+
attachmentActionsListener: AttachmentActionsListener
4948
) {
5049
var messageText by remember { mutableStateOf(initialMessageText) }
5150
var includeAppLogs by remember { mutableStateOf(initialIncludeAppLogs) }
@@ -131,10 +130,7 @@ fun HEConversationReplyBottomSheet(
131130
onIncludeAppLogsChanged = { checked -> includeAppLogs = checked },
132131
enabled = !isSending,
133132
attachments = attachments,
134-
attachmentActionsListener = object : AttachmentActionsListener {
135-
override fun onAddImageClick() = onAddImageClick()
136-
override fun onRemoveImage(uri: Uri) = onRemoveImage(uri)
137-
}
133+
attachmentActionsListener = attachmentActionsListener
138134
)
139135
}
140136
}

WordPress/src/main/java/org/wordpress/android/support/he/ui/HENewTicketScreen.kt

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,8 @@ fun HENewTicketScreen(
7474
) -> Unit,
7575
userInfo: UserInfo,
7676
isSendingNewConversation: Boolean = false,
77-
onAddImageClick: () -> Unit = { },
7877
attachments: List<Uri> = emptyList(),
79-
onRemoveImage: (Uri) -> Unit = { }
78+
attachmentActionsListener: AttachmentActionsListener,
8079
) {
8180
var selectedCategory by remember { mutableStateOf<SupportCategory?>(null) }
8281
var subject by remember { mutableStateOf("") }
@@ -199,10 +198,7 @@ fun HENewTicketScreen(
199198
onMessageChanged = { message -> messageText = message },
200199
onIncludeAppLogsChanged = { checked -> includeAppLogs = checked },
201200
attachments = attachments,
202-
attachmentActionsListener = object : AttachmentActionsListener {
203-
override fun onAddImageClick() = onAddImageClick()
204-
override fun onRemoveImage(uri: Uri) = onRemoveImage(uri)
205-
}
201+
attachmentActionsListener = attachmentActionsListener
206202
)
207203

208204
Spacer(modifier = Modifier.height(32.dp))
@@ -428,7 +424,11 @@ private fun HENewTicketScreenPreview() {
428424
snackbarHostState = snackbarHostState,
429425
onBackClick = { },
430426
onSubmit = { _, _, _, _-> },
431-
userInfo = UserInfo("Test user", "[email protected]", null)
427+
userInfo = UserInfo("Test user", "[email protected]", null),
428+
attachmentActionsListener = object : AttachmentActionsListener {
429+
override fun onAddImageClick() { }
430+
override fun onRemoveImage(uri: Uri) { }
431+
}
432432
)
433433
}
434434
}
@@ -442,7 +442,11 @@ private fun HENewTicketScreenPreviewDark() {
442442
snackbarHostState = snackbarHostState,
443443
onBackClick = { },
444444
onSubmit = { _, _, _, _ -> },
445-
userInfo = UserInfo("Test user", "[email protected]", null)
445+
userInfo = UserInfo("Test user", "[email protected]", null),
446+
attachmentActionsListener = object : AttachmentActionsListener {
447+
override fun onAddImageClick() { }
448+
override fun onRemoveImage(uri: Uri) { }
449+
}
446450
)
447451
}
448452
}
@@ -456,7 +460,11 @@ private fun HENewTicketScreenWordPressPreview() {
456460
snackbarHostState = snackbarHostState,
457461
onBackClick = { },
458462
onSubmit = { _, _, _, _ -> },
459-
userInfo = UserInfo("Test user", "[email protected]", null)
463+
userInfo = UserInfo("Test user", "[email protected]", null),
464+
attachmentActionsListener = object : AttachmentActionsListener {
465+
override fun onAddImageClick() { }
466+
override fun onRemoveImage(uri: Uri) { }
467+
}
460468
)
461469
}
462470
}
@@ -470,7 +478,11 @@ private fun HENewTicketScreenPreviewWordPressDark() {
470478
snackbarHostState = snackbarHostState,
471479
onBackClick = { },
472480
onSubmit = { _, _, _, _ -> },
473-
userInfo = UserInfo("Test user", "[email protected]", null)
481+
userInfo = UserInfo("Test user", "[email protected]", null),
482+
attachmentActionsListener = object : AttachmentActionsListener {
483+
override fun onAddImageClick() { }
484+
override fun onRemoveImage(uri: Uri) { }
485+
}
474486
)
475487
}
476488
}

WordPress/src/main/java/org/wordpress/android/support/he/ui/HESupportActivity.kt

Lines changed: 59 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package org.wordpress.android.support.he.ui
22

33
import android.content.Context
44
import android.content.Intent
5+
import android.net.Uri
56
import android.os.Build
67
import androidx.core.net.toUri
78
import android.os.Bundle
@@ -185,32 +186,35 @@ class HESupportActivity : AppCompatActivity() {
185186
)
186187
},
187188
onClearMessageSendResult = { viewModel.clearMessageSendResult() },
188-
onAddImageClick = {
189-
val mediaPickerSetup = MediaPickerSetup(
190-
primaryDataSource = MediaPickerSetup.DataSource.DEVICE,
191-
availableDataSources = setOf(),
192-
canMultiselect = true,
193-
requiresPhotosVideosPermissions = true,
194-
requiresMusicAudioPermissions = false,
195-
allowedTypes = setOf(MediaType.IMAGE),
196-
cameraSetup = MediaPickerSetup.CameraSetup.HIDDEN,
197-
systemPickerEnabled = true,
198-
editingEnabled = true,
199-
queueResults = false,
200-
defaultSearchView = false,
201-
title = R.string.photo_picker_title
202-
)
203-
val intent = org.wordpress.android.ui.mediapicker.MediaPickerActivity.buildIntent(
204-
this@HESupportActivity,
205-
mediaPickerSetup,
206-
null,
207-
null
208-
)
209-
photoPickerLauncher.launch(intent)
210-
},
211189
attachments = attachments,
212-
onRemoveImage = { imageuri ->
213-
viewModel.removeAttachment(imageuri)
190+
attachmentActionsListener = object : org.wordpress.android.support.he.util.AttachmentActionsListener {
191+
override fun onAddImageClick() {
192+
val mediaPickerSetup = MediaPickerSetup(
193+
primaryDataSource = MediaPickerSetup.DataSource.DEVICE,
194+
availableDataSources = setOf(),
195+
canMultiselect = true,
196+
requiresPhotosVideosPermissions = true,
197+
requiresMusicAudioPermissions = false,
198+
allowedTypes = setOf(MediaType.IMAGE),
199+
cameraSetup = MediaPickerSetup.CameraSetup.HIDDEN,
200+
systemPickerEnabled = true,
201+
editingEnabled = true,
202+
queueResults = false,
203+
defaultSearchView = false,
204+
title = R.string.photo_picker_title
205+
)
206+
val intent = org.wordpress.android.ui.mediapicker.MediaPickerActivity.buildIntent(
207+
this@HESupportActivity,
208+
mediaPickerSetup,
209+
null,
210+
null
211+
)
212+
photoPickerLauncher.launch(intent)
213+
}
214+
215+
override fun onRemoveImage(uri: Uri) {
216+
viewModel.removeAttachment(uri)
217+
}
214218
},
215219
onDownloadAttachment = { attachment ->
216220
// Show loading snackbar
@@ -254,34 +258,37 @@ class HESupportActivity : AppCompatActivity() {
254258
},
255259
userInfo = userInfo,
256260
isSendingNewConversation = isSendingNewConversation,
257-
onAddImageClick = {
258-
val mediaPickerSetup = MediaPickerSetup(
259-
primaryDataSource = MediaPickerSetup.DataSource.DEVICE,
260-
availableDataSources = setOf(),
261-
canMultiselect = true,
262-
requiresPhotosVideosPermissions = true,
263-
requiresMusicAudioPermissions = false,
264-
allowedTypes = setOf(MediaType.IMAGE),
265-
cameraSetup = MediaPickerSetup.CameraSetup.HIDDEN,
266-
systemPickerEnabled = true,
267-
editingEnabled = true,
268-
queueResults = false,
269-
defaultSearchView = false,
270-
title = R.string.photo_picker_title
271-
)
272-
val intent = org.wordpress.android.ui.mediapicker.MediaPickerActivity.buildIntent(
273-
this@HESupportActivity,
274-
mediaPickerSetup,
275-
null,
276-
null
277-
)
278-
photoPickerLauncher.launch(intent)
279-
},
280261
attachments = attachments,
281-
onRemoveImage = { imageUri ->
282-
viewModel.removeAttachment(imageUri)
283-
},
284-
)
262+
attachmentActionsListener = object : org.wordpress.android.support.he.util.AttachmentActionsListener {
263+
override fun onAddImageClick() {
264+
val mediaPickerSetup = MediaPickerSetup(
265+
primaryDataSource = MediaPickerSetup.DataSource.DEVICE,
266+
availableDataSources = setOf(),
267+
canMultiselect = true,
268+
requiresPhotosVideosPermissions = true,
269+
requiresMusicAudioPermissions = false,
270+
allowedTypes = setOf(MediaType.IMAGE),
271+
cameraSetup = MediaPickerSetup.CameraSetup.HIDDEN,
272+
systemPickerEnabled = true,
273+
editingEnabled = true,
274+
queueResults = false,
275+
defaultSearchView = false,
276+
title = R.string.photo_picker_title
277+
)
278+
val intent = org.wordpress.android.ui.mediapicker.MediaPickerActivity.buildIntent(
279+
this@HESupportActivity,
280+
mediaPickerSetup,
281+
null,
282+
null
283+
)
284+
photoPickerLauncher.launch(intent)
285+
}
286+
287+
override fun onRemoveImage(uri: Uri) {
288+
viewModel.removeAttachment(uri)
289+
}
290+
}
291+
)
285292
}
286293
}
287294
}

0 commit comments

Comments
 (0)