Fix SwipeRefresh initial position in MangaController (#6211)

* Lower position of swipe refresh

* Tweak existing code that sets swipe refresh position
This commit is contained in:
Andreas 2021-11-07 17:58:45 +01:00 committed by GitHub
parent d2fc6d9f44
commit 78de11a9e3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -18,6 +18,7 @@ import androidx.annotation.FloatRange
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode import androidx.appcompat.view.ActionMode
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.core.view.doOnLayout import androidx.core.view.doOnLayout
import androidx.core.view.isVisible import androidx.core.view.isVisible
@ -291,19 +292,15 @@ class MangaController :
} }
} }
binding.swipeRefresh.doOnLayout { swipeRefresh -> ViewCompat.setOnApplyWindowInsetsListener(binding.swipeRefresh) { swipeRefresh, windowInsets ->
swipeRefresh as SwipeRefreshLayout swipeRefresh as SwipeRefreshLayout
swipeRefresh.setOnApplyWindowInsetsListener { _, windowInsets -> val insets = windowInsets.getInsets(WindowInsetsCompat.Type.statusBars())
val topStatusBarInset = WindowInsetsCompat.toWindowInsetsCompat(windowInsets)
.getInsets(WindowInsetsCompat.Type.statusBars())
.top
swipeRefresh.isRefreshing = false swipeRefresh.isRefreshing = false
swipeRefresh.setProgressViewEndTarget(false, getMainAppBarHeight() + topStatusBarInset) swipeRefresh.setProgressViewEndTarget(false, getMainAppBarHeight() + insets.top)
updateRefreshing() updateRefreshing()
windowInsets windowInsets
} }
} }
}
// Tablet layout // Tablet layout
binding.infoRecycler?.adapter = mangaInfoAdapter binding.infoRecycler?.adapter = mangaInfoAdapter