Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
65b36f5
added progress bar state
jd-alexander Jan 24, 2020
caa81e8
added upload status tracker
jd-alexander Jan 24, 2020
ef9d573
added progress state to the PageItem model.
jd-alexander Jan 29, 2020
a681bb5
extracted PostListItemProgressBar so it can be shared easily.
jd-alexander Jan 29, 2020
0cbb1ad
Renamed PostItemProgressBar
jd-alexander Jan 29, 2020
53c2ad6
Added critical action tracker for pages.
jd-alexander Jan 29, 2020
3e5b74d
Added helper to determine progress for page items.
jd-alexander Jan 29, 2020
727215d
added progress to all pages.
jd-alexander Jan 29, 2020
964963f
added critical action tracker to pages view model.
jd-alexander Jan 29, 2020
92561a4
added overlay and progress bar to layout.
jd-alexander Jan 29, 2020
515dfb1
attached page progress state to ui
jd-alexander Jan 29, 2020
a0a724b
Removed critical action from PR.
jd-alexander Jan 30, 2020
1c1dedc
refactored progress helper and added progress to search as well.
jd-alexander Jan 30, 2020
0e7dc7a
fixed style errors.
jd-alexander Jan 30, 2020
475a78b
Merge branch 'feature/master-pages-offline-support' into issue/page_p…
jd-alexander Jan 30, 2020
df1e6bb
made tracker injectable.
jd-alexander Jan 31, 2020
49ce8fe
made progress helper injectable
jd-alexander Jan 31, 2020
fbe1fa5
removed unneeded dependencies and injected progress helper
jd-alexander Jan 31, 2020
dc3870d
fixed tests that were failing since progress helper wasn't added.
jd-alexander Jan 31, 2020
e6df8ea
fixed style error
jd-alexander Jan 31, 2020
08a926b
wrote test to verify progress helper behavior.
jd-alexander Jan 31, 2020
b01e72b
fixed line length.
jd-alexander Jan 31, 2020
a6e73c2
removed autoformat.
jd-alexander Jan 31, 2020
d1bc472
invalidate tracker at the appropriate time.
jd-alexander Jan 31, 2020
4814315
made an event listener to clean up the PagesViewModel
jd-alexander Jan 31, 2020
d26b85f
Fixed tests.
jd-alexander Jan 31, 2020
910bb75
removed unneeded lines.
jd-alexander Feb 1, 2020
f3b7a14
removed trailing space.
jd-alexander Feb 1, 2020
2ab3525
add override to change payload so that animation doesnt blink.
jd-alexander Feb 3, 2020
8c95a07
added missing space.
jd-alexander Feb 3, 2020
1534ba5
fixed line length issue.
jd-alexander Feb 3, 2020
34132b1
added comments.
jd-alexander Feb 3, 2020
1b7caf9
added EventBusWrapper instead of using EventBus directly.
jd-alexander Feb 3, 2020
efb20c5
refactored uploadStatusChanged to utilize a strongly typed LocalId
jd-alexander Feb 3, 2020
11fd970
removed needless blank lines.
jd-alexander Feb 3, 2020
a8f5730
resolved other style error.
jd-alexander Feb 3, 2020
e5e52fc
renamed PostListUploadStatusTracker to PostModelUploadStatusTracker
jd-alexander Feb 4, 2020
7b8eadc
renamed PageItemProgressHelper to incl. Upload to make it more specific
jd-alexander Feb 4, 2020
92130c0
Fixed the order of the methods in terms of importance.
jd-alexander Feb 4, 2020
34f91c5
invalidate list for upload status changes instead of doing refresh
jd-alexander Feb 5, 2020
53cd03a
utilized languages features to make pair variables meaningful.
jd-alexander Feb 5, 2020
9daef94
fixed line length issue.
jd-alexander Feb 5, 2020
09ddc74
renamed PostListItemProgressBar to ProgressBarUiState
jd-alexander Feb 5, 2020
b02fc03
removed empty line.
jd-alexander Feb 5, 2020
542fad7
fixed an issue that occurred when doing the renaming; extra state added
jd-alexander Feb 5, 2020
175a7c3
enhanced tests so they only verify one scenario at a time.
jd-alexander Feb 5, 2020
47024f7
Merge branch 'feature/master-pages-offline-support' into issue/page_p…
jd-alexander Feb 5, 2020
dd48620
reverted line changes and attempted fix for constructor declaration.
jd-alexander Feb 6, 2020
7fb606e
do proper checks to ensure right events are being propagated for pages
jd-alexander Feb 6, 2020
08be0df
refactored ProgressHelper function call to include site instead of state
jd-alexander Feb 6, 2020
aecfb9f
refactored tests.
jd-alexander Feb 6, 2020
22525dd
fixed remote auto save issue.
jd-alexander Feb 6, 2020
ebc2cd6
fixed issue when changing page status.
jd-alexander Feb 6, 2020
42faec8
run upload status changes when the page has been refreshed
jd-alexander Feb 6, 2020
23c8df4
removed lifecycle code and did cleanup manually. Code style fixes.
jd-alexander Feb 6, 2020
f162fb5
fixed several style and unit test errors.
jd-alexander Feb 6, 2020
c07f135
fixed test style issues.
jd-alexander Feb 6, 2020
b9803f6
fixed another style issue from ktlint
jd-alexander Feb 6, 2020
4d66519
use the Page type instead of PublishedPage since the type doesn't matter
jd-alexander Feb 7, 2020
10e8897
Revert "run upload status changes when the page has been refreshed"
jd-alexander Feb 7, 2020
1adbfd7
resolved issue that took place during the revert.
jd-alexander Feb 7, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 28 additions & 9 deletions WordPress/src/main/java/org/wordpress/android/ui/pages/PageItem.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import org.wordpress.android.ui.pages.PageItem.Action.VIEW_PAGE
import org.wordpress.android.ui.pages.PageItem.Type.DIVIDER
import org.wordpress.android.ui.pages.PageItem.Type.EMPTY
import org.wordpress.android.ui.pages.PageItem.Type.PAGE
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState
import java.util.Date

sealed class PageItem(open val type: Type) {
Expand All @@ -24,7 +25,9 @@ sealed class PageItem(open val type: Type) {
open var imageUrl: String?,
open val actions: Set<Action>,
open var actionsEnabled: Boolean,
open val tapActionEnabled: Boolean
open val tapActionEnabled: Boolean,
open val progressBarUiState: ProgressBarUiState,
open val showOverlay: Boolean
) : PageItem(PAGE)

data class PublishedPage(
Expand All @@ -34,7 +37,9 @@ sealed class PageItem(open val type: Type) {
override val labels: List<Int> = emptyList(),
override var indent: Int = 0,
override var imageUrl: String? = null,
override var actionsEnabled: Boolean = true
override var actionsEnabled: Boolean = true,
override val progressBarUiState: ProgressBarUiState,
override val showOverlay: Boolean
) : Page(
id = id,
title = title,
Expand All @@ -44,7 +49,9 @@ sealed class PageItem(open val type: Type) {
imageUrl = imageUrl,
actions = setOf(VIEW_PAGE, SET_PARENT, MOVE_TO_DRAFT, MOVE_TO_TRASH),
actionsEnabled = actionsEnabled,
tapActionEnabled = true
tapActionEnabled = true,
progressBarUiState = progressBarUiState,
showOverlay = showOverlay
)

data class DraftPage(
Expand All @@ -53,7 +60,9 @@ sealed class PageItem(open val type: Type) {
override val date: Date,
override val labels: List<Int> = emptyList(),
override var imageUrl: String? = null,
override var actionsEnabled: Boolean = true
override var actionsEnabled: Boolean = true,
override val progressBarUiState: ProgressBarUiState,
override val showOverlay: Boolean
) : Page(
id = id,
title = title,
Expand All @@ -63,7 +72,9 @@ sealed class PageItem(open val type: Type) {
imageUrl = imageUrl,
actions = setOf(VIEW_PAGE, SET_PARENT, PUBLISH_NOW, MOVE_TO_TRASH),
actionsEnabled = actionsEnabled,
tapActionEnabled = true
tapActionEnabled = true,
progressBarUiState = progressBarUiState,
showOverlay = showOverlay
)

data class ScheduledPage(
Expand All @@ -72,7 +83,9 @@ sealed class PageItem(open val type: Type) {
override val date: Date,
override val labels: List<Int> = emptyList(),
override var imageUrl: String? = null,
override var actionsEnabled: Boolean = true
override var actionsEnabled: Boolean = true,
override val progressBarUiState: ProgressBarUiState,
override val showOverlay: Boolean
) : Page(
id = id,
title = title,
Expand All @@ -82,15 +95,19 @@ sealed class PageItem(open val type: Type) {
imageUrl = imageUrl,
actions = setOf(VIEW_PAGE, SET_PARENT, MOVE_TO_DRAFT, MOVE_TO_TRASH),
actionsEnabled = actionsEnabled,
tapActionEnabled = true
tapActionEnabled = true,
progressBarUiState = progressBarUiState,
showOverlay = showOverlay
)

data class TrashedPage(
override val id: Long,
override val title: String,
override val date: Date,
override var imageUrl: String? = null,
override var actionsEnabled: Boolean = true
override var actionsEnabled: Boolean = true,
override val progressBarUiState: ProgressBarUiState,
override val showOverlay: Boolean
) : Page(
id = id,
title = title,
Expand All @@ -100,7 +117,9 @@ sealed class PageItem(open val type: Type) {
imageUrl = imageUrl,
actions = setOf(MOVE_TO_DRAFT, DELETE_PERMANENTLY),
actionsEnabled = actionsEnabled,
tapActionEnabled = false
tapActionEnabled = false,
progressBarUiState = progressBarUiState,
showOverlay = showOverlay
)

data class ParentPage(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.wordpress.android.ui.pages
import androidx.recyclerview.widget.DiffUtil.Callback
import org.wordpress.android.ui.pages.PageItem.Page
import org.wordpress.android.ui.pages.PageItem.ParentPage
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState.Determinate

class PageItemDiffUtil(val items: List<PageItem>, val result: List<PageItem>) : Callback() {
override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean {
Expand All @@ -22,4 +23,25 @@ class PageItemDiffUtil(val items: List<PageItem>, val result: List<PageItem>) :
override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean {
return items[oldItemPosition] == result[newItemPosition]
}

override fun getChangePayload(oldItemPosition: Int, newItemPosition: Int): Any? {
val oldItem = items[oldItemPosition]
val newItem = result[newItemPosition]

if (oldItem is Page && newItem is Page) {
/**
* Suppresses the default animation if the progress has changed to prevent blinking as the upload progresses
*
* We don't need to use the payload in onBindViewHolder unless we want to. Passing a non-null value
* suppresses the default ItemAnimator, which is all we need in this case.
*/
if (oldItem.progressBarUiState is Determinate &&
newItem.progressBarUiState is Determinate &&
(oldItem.progressBarUiState as Determinate).progress !=
(newItem.progressBarUiState as Determinate).progress) {
return true
}
}
return super.getChangePayload(oldItemPosition, newItemPosition)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ import android.graphics.drawable.Drawable
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageButton
import android.widget.ImageView
import android.widget.ImageView.ScaleType
import android.widget.PopupMenu
import android.widget.ProgressBar
import android.widget.RadioButton
import android.widget.TextView
import androidx.annotation.LayoutRes
Expand All @@ -20,14 +22,18 @@ import org.wordpress.android.ui.pages.PageItem.Empty
import org.wordpress.android.ui.pages.PageItem.Page
import org.wordpress.android.ui.pages.PageItem.ParentPage
import org.wordpress.android.ui.reader.utils.ReaderUtils
import org.wordpress.android.util.currentLocale
import org.wordpress.android.ui.utils.UiHelpers
import org.wordpress.android.util.DateTimeUtils
import org.wordpress.android.util.DisplayUtils
import org.wordpress.android.util.ImageUtils
import org.wordpress.android.util.capitalizeWithLocaleWithoutLint
import org.wordpress.android.util.currentLocale
import org.wordpress.android.util.getDrawableFromAttribute
import org.wordpress.android.util.image.ImageManager
import org.wordpress.android.util.image.ImageType
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState.Determinate
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState.Indeterminate
import java.util.Date

sealed class PageItemViewHolder(internal val parent: ViewGroup, @LayoutRes layout: Int) :
Expand All @@ -39,13 +45,16 @@ sealed class PageItemViewHolder(internal val parent: ViewGroup, @LayoutRes layou
private val onMenuAction: (PageItem.Action, Page) -> Boolean,
private val onItemTapped: (Page) -> Unit,
private val imageManager: ImageManager? = null,
private val isSitePhotonCapable: Boolean = false
private val isSitePhotonCapable: Boolean = false,
private val uiHelper: UiHelpers
) : PageItemViewHolder(parentView, R.layout.page_list_item) {
private val pageTitle = itemView.findViewById<TextView>(R.id.page_title)
private val pageMore = itemView.findViewById<ImageButton>(R.id.page_more)
private val time = itemView.findViewById<TextView>(R.id.time_posted)
private val labels = itemView.findViewById<TextView>(R.id.labels)
private val featuredImage = itemView.findViewById<ImageView>(R.id.featured_image)
private val uploadProgressBar: ProgressBar = itemView.findViewById(R.id.upload_progress)
private val disabledOverlay: FrameLayout = itemView.findViewById(R.id.disabled_overlay)
private val pageItemContainer = itemView.findViewById<ViewGroup>(R.id.page_item)
private val pageLayout = itemView.findViewById<ViewGroup>(R.id.page_layout)
private val selectableBackground: Drawable? = parent.context.getDrawableFromAttribute(
Expand Down Expand Up @@ -86,6 +95,20 @@ sealed class PageItemViewHolder(internal val parent: ViewGroup, @LayoutRes layou

setBackground(page.tapActionEnabled)
showFeaturedImage(page.imageUrl)

uiHelper.updateVisibility(disabledOverlay, page.showOverlay)
updateProgressBarState(page.progressBarUiState)
}
}

private fun updateProgressBarState(progressBarUiState: ProgressBarUiState) {
uiHelper.updateVisibility(uploadProgressBar, progressBarUiState.visibility)
when (progressBarUiState) {
Indeterminate -> uploadProgressBar.isIndeterminate = true
is Determinate -> {
uploadProgressBar.isIndeterminate = false
uploadProgressBar.progress = progressBarUiState.progress
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,23 @@ import org.wordpress.android.ui.pages.PageItem.Page
import org.wordpress.android.ui.pages.PageItemViewHolder.EmptyViewHolder
import org.wordpress.android.ui.pages.PageItemViewHolder.PageDividerViewHolder
import org.wordpress.android.ui.pages.PageItemViewHolder.PageViewHolder
import org.wordpress.android.ui.utils.UiHelpers
import org.wordpress.android.util.image.ImageManager

class PageListAdapter(
private val onMenuAction: (PageItem.Action, Page) -> Boolean,
private val onItemTapped: (Page) -> Unit,
private val onEmptyActionButtonTapped: () -> Unit,
private val isSitePhotonCapable: Boolean,
private val imageManager: ImageManager
private val imageManager: ImageManager,
private val uiHelpers: UiHelpers
) : Adapter<PageItemViewHolder>() {
private val items = mutableListOf<PageItem>()

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PageItemViewHolder {
return when (viewType) {
PageItem.Type.PAGE.viewType -> PageViewHolder(parent, onMenuAction, onItemTapped, imageManager,
isSitePhotonCapable)
isSitePhotonCapable, uiHelpers)
PageItem.Type.DIVIDER.viewType -> PageDividerViewHolder(parent)
PageItem.Type.EMPTY.viewType -> EmptyViewHolder(parent, onEmptyActionButtonTapped)
else -> throw Throwable("Unexpected view type")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.pages_list_fragment.*
import org.wordpress.android.R
import org.wordpress.android.WordPress
import org.wordpress.android.ui.utils.UiHelpers
import org.wordpress.android.util.DisplayUtils
import org.wordpress.android.util.image.ImageManager
import org.wordpress.android.viewmodel.pages.PageListViewModel
Expand All @@ -26,6 +27,7 @@ import javax.inject.Inject
class PageListFragment : Fragment() {
@Inject lateinit var viewModelFactory: ViewModelProvider.Factory
@Inject internal lateinit var imageManager: ImageManager
@Inject internal lateinit var uiHelper: UiHelpers
private lateinit var viewModel: PageListViewModel
private var linearLayoutManager: LinearLayoutManager? = null

Expand Down Expand Up @@ -107,7 +109,8 @@ class PageListFragment : Fragment() {
{ page -> viewModel.onItemTapped(page) },
{ viewModel.onEmptyListNewPageButtonTapped() },
isSitePhotonCapable,
imageManager
imageManager,
uiHelper
)
recyclerView.adapter = adapter
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,18 @@ import org.wordpress.android.ui.pages.PageItem.Page
import org.wordpress.android.ui.pages.PageItemViewHolder.EmptyViewHolder
import org.wordpress.android.ui.pages.PageItemViewHolder.PageDividerViewHolder
import org.wordpress.android.ui.pages.PageItemViewHolder.PageViewHolder
import org.wordpress.android.ui.utils.UiHelpers

class PageSearchAdapter(
private val onMenuAction: (PageItem.Action, Page) -> Boolean,
private val onItemTapped: (Page) -> Unit
private val onItemTapped: (Page) -> Unit,
private val uiHelper: UiHelpers
) : Adapter<PageItemViewHolder>() {
private val items = mutableListOf<PageItem>()

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PageItemViewHolder {
return when (viewType) {
PageItem.Type.PAGE.viewType -> PageViewHolder(parent, onMenuAction, onItemTapped)
PageItem.Type.PAGE.viewType -> PageViewHolder(parent, onMenuAction, onItemTapped, uiHelper = uiHelper)
PageItem.Type.DIVIDER.viewType -> PageDividerViewHolder(parent)
PageItem.Type.EMPTY.viewType -> EmptyViewHolder(parent) { }
else -> throw Throwable("Unexpected view type")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.pages_list_fragment.*
import org.wordpress.android.R
import org.wordpress.android.WordPress
import org.wordpress.android.ui.utils.UiHelpers
import org.wordpress.android.util.DisplayUtils
import org.wordpress.android.viewmodel.pages.PagesViewModel
import org.wordpress.android.viewmodel.pages.SearchListViewModel
Expand All @@ -25,6 +26,7 @@ class SearchListFragment : Fragment() {
@Inject lateinit var viewModelFactory: ViewModelProvider.Factory
private lateinit var viewModel: SearchListViewModel
private var linearLayoutManager: LinearLayoutManager? = null
@Inject lateinit var uiHelper: UiHelpers

private val listStateKey = "list_state"

Expand Down Expand Up @@ -86,8 +88,7 @@ class SearchListFragment : Fragment() {
if (recyclerView.adapter == null) {
adapter = PageSearchAdapter(
{ action, page -> viewModel.onMenuAction(action, page) },
{ page -> viewModel.onItemTapped(page) }
)
{ page -> viewModel.onItemTapped(page) }, uiHelper)
recyclerView.adapter = adapter
} else {
adapter = recyclerView.adapter as PageSearchAdapter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ import org.wordpress.android.util.image.ImageType
import org.wordpress.android.viewmodel.posts.PostListItemAction
import org.wordpress.android.viewmodel.posts.PostListItemAction.MoreItem
import org.wordpress.android.viewmodel.posts.PostListItemAction.SingleItem
import org.wordpress.android.viewmodel.posts.PostListItemProgressBar
import org.wordpress.android.viewmodel.posts.PostListItemProgressBar.Determinate
import org.wordpress.android.viewmodel.posts.PostListItemProgressBar.Indeterminate
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState.Determinate
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState.Indeterminate
import org.wordpress.android.viewmodel.posts.PostListItemType.PostListItemUiState
import org.wordpress.android.viewmodel.posts.PostListItemUiStateData
import org.wordpress.android.widgets.PostListButton
Expand Down Expand Up @@ -123,7 +123,7 @@ sealed class PostListItemViewHolder(
uiHelpers.updateVisibility(statusesTextView, data.statuses.isNotEmpty())
updateStatusesLabel(statusesTextView, data.statuses, data.statusesDelimiter, data.statusesColor)
showFeaturedImage(data.imageUrl)
updateProgressBarState(data.progressBarState)
updateProgressBarState(data.progressBarUiState)
uiHelpers.updateVisibility(disabledOverlay, data.showOverlay)
if (data.disableRippleEffect) {
container.background = null
Expand All @@ -149,13 +149,13 @@ sealed class PostListItemViewHolder(
menu.show()
}

private fun updateProgressBarState(progressBarState: PostListItemProgressBar) {
uiHelpers.updateVisibility(uploadProgressBar, progressBarState.visibility)
when (progressBarState) {
private fun updateProgressBarState(progressBarUiState: ProgressBarUiState) {
uiHelpers.updateVisibility(uploadProgressBar, progressBarUiState.visibility)
when (progressBarUiState) {
Indeterminate -> uploadProgressBar.isIndeterminate = true
is Determinate -> {
uploadProgressBar.isIndeterminate = false
uploadProgressBar.progress = progressBarState.progress
uploadProgressBar.progress = progressBarUiState.progress
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ class PostListMainViewModel @Inject constructor(
private val _searchQuery = MutableLiveData<String>()
val searchQuery: LiveData<String> = _searchQuery

private val uploadStatusTracker = PostListUploadStatusTracker(
private val uploadStatusTracker = PostModelUploadStatusTracker(
uploadStore = uploadStore,
uploadActionUseCase = uploadActionUseCase
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ import org.wordpress.android.fluxc.store.UploadStore
import org.wordpress.android.ui.uploads.UploadActionUseCase
import org.wordpress.android.ui.uploads.UploadService
import org.wordpress.android.viewmodel.posts.PostListItemUploadStatus
import javax.inject.Inject

/**
* This is a temporary class to make the PostListViewModel more manageable. Please feel free to refactor it any way
* you see fit.
*/
class PostListUploadStatusTracker(
class PostModelUploadStatusTracker @Inject constructor(
private val uploadStore: UploadStore,
private val uploadActionUseCase: UploadActionUseCase
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import org.wordpress.android.ui.posts.PostListViewLayoutType.STANDARD
import org.wordpress.android.ui.utils.UiHelpers
import org.wordpress.android.util.image.ImageManager
import org.wordpress.android.util.setVisible
import org.wordpress.android.viewmodel.posts.PostListItemProgressBar
import org.wordpress.android.viewmodel.uistate.ProgressBarUiState
import org.wordpress.android.viewmodel.posts.PostListItemType
import org.wordpress.android.viewmodel.posts.PostListItemType.EndListIndicatorItem
import org.wordpress.android.viewmodel.posts.PostListItemType.LoadingItem
Expand Down Expand Up @@ -204,9 +204,9 @@ private val PostListDiffItemCallback = object : DiffUtil.ItemCallback<PostListIt
* We don't need to use the payload in onBindViewHolder unless we want to. Passing a non-null value
* suppresses the default ItemAnimator, which is all we need in this case.
*/
if (oldItem.data.progressBarState is PostListItemProgressBar.Determinate &&
newItem.data.progressBarState is PostListItemProgressBar.Determinate &&
oldItem.data.progressBarState.progress != newItem.data.progressBarState.progress) {
if (oldItem.data.progressBarUiState is ProgressBarUiState.Determinate &&
newItem.data.progressBarUiState is ProgressBarUiState.Determinate &&
oldItem.data.progressBarUiState.progress != newItem.data.progressBarUiState.progress) {
return true
}
}
Expand Down
Loading