@@ -34,6 +34,8 @@ import org.wordpress.android.ui.LocaleAwareActivity
34
34
import org.wordpress.android.ui.PagePostCreationSourcesDetail.STORY_FROM_POSTS_LIST
35
35
import org.wordpress.android.ui.RequestCodes
36
36
import org.wordpress.android.ui.ScrollableViewInitializedListener
37
+ import org.wordpress.android.ui.bloggingreminders.BloggingReminderUtils.observeBottomSheet
38
+ import org.wordpress.android.ui.bloggingreminders.BloggingRemindersViewModel
37
39
import org.wordpress.android.ui.main.MainActionListItem.ActionType
38
40
import org.wordpress.android.ui.notifications.SystemNotificationsTracker
39
41
import org.wordpress.android.ui.pages.SnackbarMessageHolder
@@ -85,6 +87,7 @@ class PostsListActivity : LocaleAwareActivity(),
85
87
@Inject internal lateinit var editPostRepository: EditPostRepository
86
88
@Inject internal lateinit var mediaPickerLauncher: MediaPickerLauncher
87
89
@Inject internal lateinit var storiesMediaPickerResultHandler: StoriesMediaPickerResultHandler
90
+ @Inject internal lateinit var bloggingRemindersViewModel: BloggingRemindersViewModel
88
91
89
92
private lateinit var site: SiteModel
90
93
private lateinit var binding: PostListActivityBinding
@@ -164,6 +167,7 @@ class PostsListActivity : LocaleAwareActivity(),
164
167
setupActionBar()
165
168
setupContent()
166
169
initViewModel(initPreviewState, currentBottomSheetPostId)
170
+ initBloggingReminders()
167
171
initCreateMenuViewModel()
168
172
loadIntentData(intent)
169
173
}
@@ -324,6 +328,26 @@ class PostsListActivity : LocaleAwareActivity(),
324
328
setupFabEvents()
325
329
}
326
330
331
+ private fun initBloggingReminders () {
332
+ bloggingRemindersViewModel = ViewModelProvider (
333
+ this ,
334
+ viewModelFactory
335
+ ).get(BloggingRemindersViewModel ::class .java)
336
+
337
+ observeBottomSheet(
338
+ bloggingRemindersViewModel.isBottomSheetShowing,
339
+ this ,
340
+ BLOGGING_REMINDERS_FRAGMENT_TAG ,
341
+ {
342
+ if (! this .isFinishing) {
343
+ this .supportFragmentManager
344
+ } else {
345
+ null
346
+ }
347
+ }
348
+ )
349
+ }
350
+
327
351
private fun setupActions () {
328
352
viewModel.dialogAction.observe(this @PostsListActivity, {
329
353
it?.show(this @PostsListActivity, supportFragmentManager, uiHelpers)
@@ -438,6 +462,10 @@ class PostsListActivity : LocaleAwareActivity(),
438
462
}
439
463
440
464
viewModel.handleEditPostResult(data)
465
+ bloggingRemindersViewModel.onPostCreated(
466
+ site.id,
467
+ data?.getBooleanExtra(EditPostActivity .EXTRA_IS_NEW_POST , false )
468
+ )
441
469
} else if (requestCode == RequestCodes .REMOTE_PREVIEW_POST ) {
442
470
viewModel.handleRemotePreviewClosing()
443
471
} else if (requestCode == RequestCodes .PHOTO_PICKER &&
@@ -601,6 +629,8 @@ class PostsListActivity : LocaleAwareActivity(),
601
629
}
602
630
603
631
companion object {
632
+ private const val BLOGGING_REMINDERS_FRAGMENT_TAG = " blogging_reminders_fragment_tag"
633
+
604
634
@JvmStatic
605
635
fun buildIntent (context : Context , site : SiteModel ): Intent {
606
636
val intent = Intent (context, PostsListActivity ::class .java)
0 commit comments