From 809d9b81a2f13d3ee1ad48438c861eb5975b9fe0 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Oct 2017 12:27:26 +0100 Subject: [PATCH] some corrections to loading gifs --- .../gallery/activities/PhotoVideoActivity.kt | 1 - .../gallery/fragments/PhotoFragment.kt | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt index 9867df395..cbea2e3a8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PhotoVideoActivity.kt @@ -28,7 +28,6 @@ import com.simplemobiletools.gallery.models.Medium import kotlinx.android.synthetic.main.fragment_holder.* import java.io.File - open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentListener { private var mMedium: Medium? = null private var mIsFullScreen = false diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt index 4bb52fdb1..5852698d2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/fragments/PhotoFragment.kt @@ -24,6 +24,7 @@ import com.davemorrissey.labs.subscaleview.ImageSource import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.gallery.R +import com.simplemobiletools.gallery.activities.PhotoActivity import com.simplemobiletools.gallery.activities.ViewPagerActivity import com.simplemobiletools.gallery.extensions.* import com.simplemobiletools.gallery.helpers.GlideRotateTransformation @@ -48,10 +49,14 @@ class PhotoFragment : ViewPagerFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { view = inflater.inflate(R.layout.pager_photo_item, container, false) as ViewGroup + if (!isFragmentVisible && activity is PhotoActivity) { + isFragmentVisible = true + } + medium = arguments.getSerializable(MEDIUM) as Medium if (medium.path.startsWith("content://")) { val originalPath = medium.path - medium.path = context.getRealPathFromURI(Uri.parse(originalPath)) ?: "" + medium.path = context.getRealPathFromURI(Uri.parse(originalPath)) ?: medium.path if (medium.path.isEmpty()) { var out: FileOutputStream? = null @@ -155,7 +160,12 @@ class PhotoFragment : ViewPagerFragment() { private fun loadImage() { if (medium.isGif()) { - gifDrawable = GifDrawable(medium.path) + gifDrawable = if (medium.path.startsWith("content://") || medium.path.startsWith("file://")) { + GifDrawable(context.contentResolver, Uri.parse(medium.path)) + } else { + GifDrawable(medium.path) + } + if (!isFragmentVisible) { gifDrawable!!.stop() }