setup deep zoomable images only when appropriate

This commit is contained in:
tibbi 2018-08-08 16:59:27 +02:00
parent 458686865b
commit b58f808068

View file

@ -255,10 +255,18 @@ class PhotoFragment : ViewPagerFragment() {
} }
private fun loadBitmap(degrees: Int = 0) { private fun loadBitmap(degrees: Int = 0) {
var targetWidth = ViewPagerActivity.screenWidth
var targetHeight = ViewPagerActivity.screenHeight
if (context?.config?.allowZoomingImages == true) {
targetWidth = (targetWidth * 0.8).toInt()
targetHeight = (targetHeight * 0.8).toInt()
}
val picasso = Picasso.get() val picasso = Picasso.get()
.load(File(medium.path)) .load(File(medium.path))
.centerInside() .centerInside()
.resize(ViewPagerActivity.screenWidth, ViewPagerActivity.screenHeight) .resize(targetWidth, targetHeight)
if (degrees != 0) { if (degrees != 0) {
picasso.rotate(degrees.toFloat()) picasso.rotate(degrees.toFloat())
@ -266,7 +274,7 @@ class PhotoFragment : ViewPagerFragment() {
picasso.into(view.photo_view, object : Callback { picasso.into(view.photo_view, object : Callback {
override fun onSuccess() { override fun onSuccess() {
view.photo_view.isZoomable = degrees != 0 view.photo_view.isZoomable = degrees != 0 || context?.config?.allowZoomingImages == false
if (isFragmentVisible && degrees == 0) { if (isFragmentVisible && degrees == 0) {
scheduleZoomableView() scheduleZoomableView()
} }
@ -286,7 +294,7 @@ class PhotoFragment : ViewPagerFragment() {
private fun scheduleZoomableView() { private fun scheduleZoomableView() {
loadZoomableViewHandler.removeCallbacksAndMessages(null) loadZoomableViewHandler.removeCallbacksAndMessages(null)
loadZoomableViewHandler.postDelayed({ loadZoomableViewHandler.postDelayed({
if (isFragmentVisible && medium.isImage() && view.subsampling_view.isGone()) { if (isFragmentVisible && context?.config?.allowZoomingImages == true && medium.isImage() && view.subsampling_view.isGone()) {
addZoomableView() addZoomableView()
} }
}, ZOOMABLE_VIEW_LOAD_DELAY) }, ZOOMABLE_VIEW_LOAD_DELAY)