Skip to content

Commit e500f7f

Browse files
authored
Merge pull request #9084 from wordpress-mobile/issue/dialog-holder-ui-string
Update DialogHolder to use UiString
2 parents d724c78 + f95969c commit e500f7f

File tree

3 files changed

+30
-22
lines changed

3 files changed

+30
-22
lines changed

WordPress/src/main/java/org/wordpress/android/ui/posts/PostListFragment.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import org.wordpress.android.ui.posts.adapters.PostListAdapter
2929
import org.wordpress.android.ui.prefs.AppPrefs
3030
import org.wordpress.android.ui.uploads.UploadService
3131
import org.wordpress.android.ui.uploads.UploadUtils
32+
import org.wordpress.android.ui.utils.UiHelpers
3233
import org.wordpress.android.util.AccessibilityUtils
3334
import org.wordpress.android.util.AniUtils
3435
import org.wordpress.android.util.DisplayUtils
@@ -53,6 +54,7 @@ import javax.inject.Inject
5354
class PostListFragment : Fragment() {
5455
@Inject internal lateinit var imageManager: ImageManager
5556
@Inject internal lateinit var viewModelFactory: ViewModelProvider.Factory
57+
@Inject internal lateinit var uiHelpers: UiHelpers
5658
private lateinit var viewModel: PostListViewModel
5759

5860
private var swipeToRefreshHelper: SwipeToRefreshHelper? = null
@@ -143,7 +145,8 @@ class PostListFragment : Fragment() {
143145
it?.let { snackbarHolder -> showSnackbar(snackbarHolder) }
144146
})
145147
viewModel.dialogAction.observe(this, Observer {
146-
it?.show(nonNullActivity, requireNotNull(fragmentManager) { "FragmentManager can't be null at this point" })
148+
val fragmentManager = requireNotNull(fragmentManager) { "FragmentManager can't be null at this point" }
149+
it?.show(nonNullActivity, fragmentManager, uiHelpers)
147150
})
148151
}
149152

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
11
package org.wordpress.android.viewmodel.helpers
22

33
import android.content.Context
4-
import android.support.annotation.StringRes
54
import android.support.v4.app.FragmentManager
65
import org.wordpress.android.ui.posts.BasicFragmentDialog
6+
import org.wordpress.android.ui.utils.UiHelpers
7+
import org.wordpress.android.ui.utils.UiString
78

89
class DialogHolder(
9-
val tag: String,
10-
@StringRes val titleRes: Int,
11-
@StringRes val messageRes: Int,
12-
@StringRes val positiveButtonTextRes: Int,
13-
@StringRes val negativeButtonTextRes: Int
10+
private val tag: String,
11+
private val title: UiString,
12+
private val message: UiString,
13+
private val positiveButton: UiString,
14+
private val negativeButton: UiString
1415
) {
15-
fun show(context: Context, fragmentManager: FragmentManager) {
16+
fun show(context: Context, fragmentManager: FragmentManager, uiHelpers: UiHelpers) {
1617
val dialog = BasicFragmentDialog()
17-
dialog.initialize(tag,
18-
context.getString(titleRes),
19-
context.getString(messageRes),
20-
context.getString(positiveButtonTextRes),
21-
context.getString(negativeButtonTextRes),
22-
null)
18+
dialog.initialize(
19+
tag = tag,
20+
title = uiHelpers.getTextOfUiString(context, title),
21+
message = uiHelpers.getTextOfUiString(context, message),
22+
positiveButtonLabel = uiHelpers.getTextOfUiString(context, positiveButton),
23+
negativeButtonLabel = uiHelpers.getTextOfUiString(context, negativeButton),
24+
cancelButtonLabel = null
25+
)
2326
dialog.show(fragmentManager, tag)
2427
}
2528
}

WordPress/src/main/java/org/wordpress/android/viewmodel/posts/PostListViewModel.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import org.greenrobot.eventbus.Subscribe
1515
import org.greenrobot.eventbus.ThreadMode
1616
import org.wordpress.android.BuildConfig
1717
import org.wordpress.android.R
18+
import org.wordpress.android.R.string
1819
import org.wordpress.android.analytics.AnalyticsTracker
1920
import org.wordpress.android.fluxc.Dispatcher
2021
import org.wordpress.android.fluxc.generated.MediaActionBuilder
@@ -63,6 +64,7 @@ import org.wordpress.android.ui.reader.utils.ReaderImageScanner
6364
import org.wordpress.android.ui.uploads.PostEvents
6465
import org.wordpress.android.ui.uploads.UploadService
6566
import org.wordpress.android.ui.uploads.VideoOptimizer
67+
import org.wordpress.android.ui.utils.UiString.UiStringRes
6668
import org.wordpress.android.util.AppLog
6769
import org.wordpress.android.util.AppLog.T
6870
import org.wordpress.android.util.SiteUtils
@@ -294,10 +296,10 @@ class PostListViewModel @Inject constructor(
294296
}
295297
val dialogHolder = DialogHolder(
296298
tag = CONFIRM_DELETE_POST_DIALOG_TAG,
297-
titleRes = R.string.delete_post,
298-
messageRes = messageRes,
299-
positiveButtonTextRes = R.string.delete,
300-
negativeButtonTextRes = R.string.cancel
299+
title = UiStringRes(R.string.delete_post),
300+
message = UiStringRes(messageRes),
301+
positiveButton = UiStringRes(R.string.delete),
302+
negativeButton = UiStringRes(R.string.cancel)
301303
)
302304
localPostIdForTrashDialog = post.id
303305
_dialogAction.postValue(dialogHolder)
@@ -313,10 +315,10 @@ class PostListViewModel @Inject constructor(
313315
}
314316
val dialogHolder = DialogHolder(
315317
tag = CONFIRM_PUBLISH_POST_DIALOG_TAG,
316-
titleRes = R.string.dialog_confirm_publish_title,
317-
messageRes = R.string.dialog_confirm_publish_message_post,
318-
positiveButtonTextRes = R.string.dialog_confirm_publish_yes,
319-
negativeButtonTextRes = R.string.cancel
318+
title = UiStringRes(R.string.dialog_confirm_publish_title),
319+
message = UiStringRes(string.dialog_confirm_publish_message_post),
320+
positiveButton = UiStringRes(R.string.dialog_confirm_publish_yes),
321+
negativeButton = UiStringRes(R.string.cancel)
320322
)
321323
localPostIdForPublishDialog = post.id
322324
_dialogAction.postValue(dialogHolder)

0 commit comments

Comments
 (0)