fixed load indicator
This commit is contained in:
parent
ba5da8080e
commit
c1326955a7
|
@ -268,7 +268,7 @@ abstract class AbsActivitiesFragment protected constructor() : AbsContentListRec
|
|||
}
|
||||
}
|
||||
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
if (loader !is IExtendedLoader || loader.isFromUser) {
|
||||
adapter.loadMoreSupportedPosition = if (hasMoreData(data)) ILoadMoreSupportAdapter.END else ILoadMoreSupportAdapter.NONE
|
||||
var pos = -1
|
||||
|
|
|
@ -129,20 +129,26 @@ abstract class AbsContentRecyclerViewFragment<A : LoadMoreSupportAdapter<Recycle
|
|||
}
|
||||
|
||||
override var refreshing: Boolean
|
||||
get () = false
|
||||
set(refreshing) {
|
||||
get () = swipeLayout.isRefreshing
|
||||
set(value) {
|
||||
val currentRefreshing = swipeLayout.isRefreshing
|
||||
if (!currentRefreshing) {
|
||||
updateRefreshProgressOffset()
|
||||
}
|
||||
if (refreshing == currentRefreshing) return
|
||||
val layoutRefreshing = refreshing && adapter?.loadMoreIndicatorPosition != ILoadMoreSupportAdapter.NONE
|
||||
if (value == currentRefreshing) return
|
||||
val layoutRefreshing = value && adapter?.loadMoreIndicatorPosition != ILoadMoreSupportAdapter.NONE
|
||||
swipeLayout.isRefreshing = layoutRefreshing
|
||||
}
|
||||
|
||||
var refreshEnabled: Boolean
|
||||
get() = swipeLayout.isEnabled
|
||||
set(value) {
|
||||
swipeLayout.isEnabled = value
|
||||
}
|
||||
|
||||
override fun onLoadMoreContents(@IndicatorPosition position: Long) {
|
||||
setLoadMoreIndicatorPosition(position)
|
||||
setRefreshEnabled(position == ILoadMoreSupportAdapter.NONE)
|
||||
refreshEnabled = position == ILoadMoreSupportAdapter.NONE
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context?) {
|
||||
|
@ -243,10 +249,6 @@ abstract class AbsContentRecyclerViewFragment<A : LoadMoreSupportAdapter<Recycle
|
|||
adapter?.loadMoreIndicatorPosition = position
|
||||
}
|
||||
|
||||
fun setRefreshEnabled(enabled: Boolean) {
|
||||
swipeLayout.isEnabled = enabled
|
||||
}
|
||||
|
||||
override fun triggerRefresh(): Boolean {
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -252,7 +252,7 @@ abstract class AbsStatusesFragment protected constructor() : AbsContentListRecyc
|
|||
lastReadPositionKey = lastPositionKey
|
||||
}
|
||||
}
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
if (loader !is IExtendedLoader || loader.isFromUser) {
|
||||
if (hasMoreData(data)) {
|
||||
adapter.loadMoreSupportedPosition = ILoadMoreSupportAdapter.END
|
||||
|
|
|
@ -306,7 +306,7 @@ abstract class CursorActivitiesFragment : AbsActivitiesFragment() {
|
|||
refreshing = event.running
|
||||
if (!event.running) {
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.NONE)
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
onLoadingFinished()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.os.Bundle
|
|||
import android.os.Handler
|
||||
import android.support.v4.content.Loader
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.fragment_content_recyclerview.*
|
||||
import org.mariotaku.sqliteqb.library.ArgsArray
|
||||
import org.mariotaku.sqliteqb.library.Columns.Column
|
||||
import org.mariotaku.sqliteqb.library.Expression
|
||||
|
@ -58,6 +59,11 @@ abstract class CursorStatusesFragment : AbsStatusesFragment() {
|
|||
abstract val isFilterEnabled: Boolean
|
||||
abstract val notificationType: Int
|
||||
abstract val contentUri: Uri
|
||||
override var refreshing: Boolean
|
||||
get() = swipeLayout.isRefreshing
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
}
|
||||
|
||||
override fun onStatusesLoaded(loader: Loader<List<ParcelableStatus>?>, data: List<ParcelableStatus>?) {
|
||||
showContentOrError()
|
||||
|
@ -121,7 +127,7 @@ abstract class CursorStatusesFragment : AbsStatusesFragment() {
|
|||
refreshing = event.running
|
||||
if (!event.running) {
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.NONE)
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
showContentOrError()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -96,11 +96,6 @@ class DirectMessagesFragment : AbsContentListRecyclerViewFragment<MessageEntries
|
|||
}
|
||||
}
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
get() {
|
||||
return twitterWrapper.isReceivedDirectMessagesRefreshing || twitterWrapper.isSentDirectMessagesRefreshing
|
||||
}
|
||||
|
||||
override fun handleKeyboardShortcutRepeat(handler: KeyboardShortcutsHandler,
|
||||
keyCode: Int, repeatCount: Int,
|
||||
event: KeyEvent, metaState: Int): Boolean {
|
||||
|
@ -142,7 +137,7 @@ class DirectMessagesFragment : AbsContentListRecyclerViewFragment<MessageEntries
|
|||
adapter.loadMoreSupportedPosition = if (hasMoreData(cursor)) ILoadMoreSupportAdapter.END else ILoadMoreSupportAdapter.NONE
|
||||
val accountIds = accountKeys
|
||||
adapter.setShowAccountsColor(accountIds.size > 1)
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
|
||||
if (accountIds.size > 0) {
|
||||
val errorInfo = ErrorInfoStore.getErrorInfo(context,
|
||||
|
@ -181,7 +176,7 @@ class DirectMessagesFragment : AbsContentListRecyclerViewFragment<MessageEntries
|
|||
if (event.uri == Inbox.CONTENT_URI && !event.running) {
|
||||
refreshing = false
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.NONE)
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -335,7 +330,7 @@ class DirectMessagesFragment : AbsContentListRecyclerViewFragment<MessageEntries
|
|||
private fun loadMoreMessages() {
|
||||
if (refreshing) return
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.END)
|
||||
setRefreshEnabled(false)
|
||||
refreshEnabled = false
|
||||
AsyncTaskUtils.executeTask(object : AsyncTask<Any, Any, Array<RefreshTaskParam>>() {
|
||||
|
||||
override fun doInBackground(vararg params: Any): Array<RefreshTaskParam>? {
|
||||
|
|
|
@ -55,11 +55,6 @@ class HomeTimelineFragment : CursorStatusesFragment() {
|
|||
refreshing = twitter.isHomeTimelineRefreshing
|
||||
}
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
get() {
|
||||
return twitterWrapper.isHomeTimelineRefreshing
|
||||
}
|
||||
|
||||
override fun getStatuses(param: RefreshTaskParam): Boolean {
|
||||
if (!param.hasMaxIds()) return twitterWrapper.refreshAll(param.accountKeys)
|
||||
return twitterWrapper.getHomeTimelineAsync(param)
|
||||
|
|
|
@ -90,7 +90,4 @@ class InteractionsTimelineFragment : CursorActivitiesFragment() {
|
|||
@ReadPositionTag
|
||||
override val readPositionTag: String? = ReadPositionTag.ACTIVITIES_ABOUT_ME
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
get() = false
|
||||
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ class ItemsListFragment : AbsContentListRecyclerViewFragment<VariousItemsAdapter
|
|||
super.onActivityCreated(savedInstanceState)
|
||||
registerForContextMenu(recyclerView)
|
||||
loaderManager.initLoader(0, null, this)
|
||||
setRefreshEnabled(false)
|
||||
refreshEnabled = false
|
||||
showContent()
|
||||
}
|
||||
|
||||
|
@ -107,8 +107,10 @@ class ItemsListFragment : AbsContentListRecyclerViewFragment<VariousItemsAdapter
|
|||
adapter!!.setData(null)
|
||||
}
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
override var refreshing: Boolean
|
||||
get() = false
|
||||
set(value) {
|
||||
}
|
||||
|
||||
override fun onCreateContextMenu(menu: ContextMenu, v: View, menuInfo: ContextMenu.ContextMenuInfo?) {
|
||||
if (!userVisibleHint || menuInfo == null) return
|
||||
|
@ -150,10 +152,10 @@ class ItemsListFragment : AbsContentListRecyclerViewFragment<VariousItemsAdapter
|
|||
return false
|
||||
}
|
||||
|
||||
class ItemsLoader(context: Context, private val mArguments: Bundle) : AsyncTaskLoader<List<*>>(context) {
|
||||
class ItemsLoader(context: Context, private val arguments: Bundle) : AsyncTaskLoader<List<*>>(context) {
|
||||
|
||||
override fun loadInBackground(): List<*> {
|
||||
return mArguments.getParcelableArrayList<Parcelable>(EXTRA_ITEMS)
|
||||
return arguments.getParcelableArrayList<Parcelable>(EXTRA_ITEMS)
|
||||
}
|
||||
|
||||
override fun onStartLoading() {
|
||||
|
|
|
@ -47,11 +47,14 @@ abstract class ParcelableGroupsFragment : AbsContentListRecyclerViewFragment<Par
|
|||
val nextCursor: Long = 0
|
||||
val prevCursor: Long = 0
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoaders()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
}
|
||||
|
||||
override fun onCreateAdapter(context: Context): ParcelableGroupsAdapter {
|
||||
return ParcelableGroupsAdapter(context)
|
||||
|
@ -76,13 +79,13 @@ abstract class ParcelableGroupsFragment : AbsContentListRecyclerViewFragment<Par
|
|||
adapter!!.setData(data)
|
||||
if (loader !is IExtendedLoader || loader.isFromUser) {
|
||||
adapter.loadMoreSupportedPosition = if (hasMoreData(data)) ILoadMoreSupportAdapter.END else ILoadMoreSupportAdapter.NONE
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
}
|
||||
if (loader is IExtendedLoader) {
|
||||
loader.isFromUser = false
|
||||
}
|
||||
showContent()
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
refreshing = false
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.NONE)
|
||||
}
|
||||
|
|
|
@ -126,7 +126,7 @@ abstract class ParcelableStatusesFragment : AbsStatusesFragment() {
|
|||
}
|
||||
|
||||
override fun onStatusesLoaded(loader: Loader<List<ParcelableStatus>?>, data: List<ParcelableStatus>?) {
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
refreshing = false
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.NONE)
|
||||
val adapter = adapter
|
||||
|
@ -197,11 +197,14 @@ abstract class ParcelableStatusesFragment : AbsStatusesFragment() {
|
|||
return true
|
||||
}
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoaders()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
}
|
||||
|
||||
override fun onSaveInstanceState(outState: Bundle?) {
|
||||
super.onSaveInstanceState(outState)
|
||||
|
|
|
@ -78,7 +78,7 @@ abstract class ParcelableUserListsFragment : AbsContentListRecyclerViewFragment<
|
|||
adapter!!.setData(data)
|
||||
if (loader !is IExtendedLoader || loader.isFromUser) {
|
||||
adapter.loadMoreSupportedPosition = if (hasMoreData(data)) ILoadMoreSupportAdapter.END else ILoadMoreSupportAdapter.NONE
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
}
|
||||
if (loader is IExtendedLoader) {
|
||||
loader.isFromUser = false
|
||||
|
@ -88,7 +88,7 @@ abstract class ParcelableUserListsFragment : AbsContentListRecyclerViewFragment<
|
|||
prevCursor = loader.nextCursor
|
||||
}
|
||||
showContent()
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
refreshing = false
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.NONE)
|
||||
}
|
||||
|
|
|
@ -80,11 +80,14 @@ abstract class ParcelableUsersFragment protected constructor() : AbsContentListR
|
|||
super.onStop()
|
||||
}
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoaders()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
}
|
||||
|
||||
override fun onCreateAdapter(context: Context): ParcelableUsersAdapter {
|
||||
val adapter = ParcelableUsersAdapter(context)
|
||||
|
@ -97,13 +100,13 @@ abstract class ParcelableUsersFragment protected constructor() : AbsContentListR
|
|||
adapter.setData(data)
|
||||
if (loader !is IExtendedLoader || loader.isFromUser) {
|
||||
adapter.loadMoreSupportedPosition = if (hasMoreData(data)) ILoadMoreSupportAdapter.END else ILoadMoreSupportAdapter.NONE
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
}
|
||||
if (loader is IExtendedLoader) {
|
||||
loader.isFromUser = false
|
||||
}
|
||||
showContent()
|
||||
setRefreshEnabled(true)
|
||||
refreshEnabled = true
|
||||
refreshing = false
|
||||
setLoadMoreIndicatorPosition(ILoadMoreSupportAdapter.NONE)
|
||||
}
|
||||
|
|
|
@ -34,11 +34,14 @@ class UserMediaTimelineFragment : AbsContentRecyclerViewFragment<StaggeredGridPa
|
|||
layoutManager!!.scrollToPositionWithOffset(position, offset)
|
||||
}
|
||||
|
||||
override var refreshing: Boolean = false
|
||||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoaders()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
}
|
||||
|
||||
|
||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
|
|
Loading…
Reference in New Issue