minor cleanup, moving some code in separate functions
This commit is contained in:
parent
fd34074a48
commit
efee783e1f
|
@ -455,6 +455,30 @@ class PhotoFragment : ViewPagerFragment() {
|
|||
val sideWidth = screenWidth / 2 - itemWidth / 2
|
||||
val fakeItemsCnt = ceil(sideWidth / itemWidth.toDouble()).toInt()
|
||||
|
||||
val paths = fillPhotoPaths(files, fakeItemsCnt)
|
||||
var curWidth = itemWidth
|
||||
while (curWidth < screenWidth) {
|
||||
curWidth += itemWidth
|
||||
}
|
||||
|
||||
val sideElementWidth = curWidth - screenWidth
|
||||
val adapter = PortraitPhotosAdapter(context!!, paths, sideElementWidth) { position, x ->
|
||||
mView.photo_portrait_stripe.smoothScrollBy((x + itemWidth / 2) - screenWidth / 2, 0)
|
||||
}
|
||||
|
||||
mView.photo_portrait_stripe.adapter = adapter
|
||||
setupStripeBottomMargin()
|
||||
|
||||
val coverIndex = getCoverImageIndex(paths)
|
||||
mView.photo_portrait_stripe.onGlobalLayout {
|
||||
mView.photo_portrait_stripe.scrollBy((coverIndex - fakeItemsCnt) * itemWidth, 0)
|
||||
adapter.setCurrentPhoto(coverIndex)
|
||||
mView.photo_portrait_stripe_wrapper.beVisible()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun fillPhotoPaths(files: ArrayList<File>, fakeItemsCnt: Int): ArrayList<String> {
|
||||
val paths = ArrayList<String>()
|
||||
for (i in 0 until fakeItemsCnt) {
|
||||
paths.add("")
|
||||
|
@ -467,25 +491,18 @@ class PhotoFragment : ViewPagerFragment() {
|
|||
for (i in 0 until fakeItemsCnt) {
|
||||
paths.add("")
|
||||
}
|
||||
|
||||
var curWidth = itemWidth
|
||||
while (curWidth < screenWidth) {
|
||||
curWidth += itemWidth
|
||||
return paths
|
||||
}
|
||||
|
||||
val sideElementWidth = curWidth - screenWidth
|
||||
val adapter = PortraitPhotosAdapter(context!!, paths, sideElementWidth) { position, x ->
|
||||
mView.photo_portrait_stripe.smoothScrollBy((x + itemWidth / 2) - screenWidth / 2, 0)
|
||||
}
|
||||
|
||||
mView.photo_portrait_stripe.adapter = adapter
|
||||
|
||||
private fun setupStripeBottomMargin() {
|
||||
var bottomMargin = context!!.navigationBarHeight + context!!.resources.getDimension(R.dimen.normal_margin).toInt()
|
||||
if (context!!.config.bottomActions) {
|
||||
bottomMargin += context!!.resources.getDimension(R.dimen.bottom_actions_height).toInt()
|
||||
}
|
||||
(mView.photo_portrait_stripe_wrapper.layoutParams as RelativeLayout.LayoutParams).bottomMargin = bottomMargin
|
||||
}
|
||||
|
||||
private fun getCoverImageIndex(paths: ArrayList<String>): Int {
|
||||
var coverIndex = -1
|
||||
paths.forEachIndexed { index, path ->
|
||||
if (path.contains("cover", true)) {
|
||||
|
@ -500,13 +517,7 @@ class PhotoFragment : ViewPagerFragment() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
mView.photo_portrait_stripe.onGlobalLayout {
|
||||
mView.photo_portrait_stripe.scrollBy((coverIndex - fakeItemsCnt) * itemWidth, 0)
|
||||
adapter.setCurrentPhoto(coverIndex)
|
||||
mView.photo_portrait_stripe_wrapper.beVisible()
|
||||
}
|
||||
}
|
||||
return coverIndex
|
||||
}
|
||||
|
||||
private fun openPanorama() {
|
||||
|
|
Loading…
Reference in New Issue