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