From 8a2dfc5778c341375cccfb545ba948c2d0dd3867 Mon Sep 17 00:00:00 2001 From: Mariotaku Lee Date: Fri, 1 Sep 2017 18:17:01 +0800 Subject: [PATCH] improved refresh indicator position --- .../AbsContentRecyclerViewFragment.kt | 12 +++----- .../twidere/fragment/UserFragment.kt | 29 +++++++++++++++---- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt index d92cdfcee..eb0118498 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt @@ -308,19 +308,15 @@ abstract class AbsContentRecyclerViewFragment + insets.getSystemWindowInsets(systemWindowsInsets) val top = insets.systemWindowInsetTop profileContentContainer.setPadding(0, top, 0, 0) profileBannerSpace.statusBarHeight = top @@ -687,6 +690,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener, } profileBannerSpace.toolbarHeight = toolbarHeight } + updateRefreshProgressOffset() return@listener insets } @@ -1342,6 +1346,19 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener, userProfileSwipeLayout.isRefreshing = false } + private fun updateRefreshProgressOffset() { + val insets = this.systemWindowsInsets + if (insets.top == 0 || userProfileSwipeLayout == null || userProfileSwipeLayout.isRefreshing) { + return + } + val progressCircleDiameter = userProfileSwipeLayout.progressCircleDiameter + if (progressCircleDiameter == 0) return + val progressViewStart = 0 - progressCircleDiameter + val progressViewEnd = profileBannerSpace.toolbarHeight + resources.getDimensionPixelSize(R.dimen.element_spacing_normal) + userProfileSwipeLayout.setProgressViewOffset(false, progressViewStart, progressViewEnd) + } + + private fun getFriendship() { val user = user ?: return relationship = null @@ -1350,9 +1367,9 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener, val args = Bundle() args.putParcelable(EXTRA_ACCOUNT_KEY, user.account_key) args.putParcelable(EXTRA_USER, user) - if (!getFriendShipLoaderInitialized) { + if (!friendShipLoaderInitialized) { lm.initLoader(LOADER_ID_FRIENDSHIP, args, friendshipLoaderCallbacks) - getFriendShipLoaderInitialized = true + friendShipLoaderInitialized = true } else { lm.restartLoader(LOADER_ID_FRIENDSHIP, args, friendshipLoaderCallbacks) }