From 2e097c59cb29f344d04ee40d2d4a394cda981b82 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 28 Oct 2018 18:51:27 +0100 Subject: [PATCH] some updates to starting slideshow from the thumbnails screen --- .../gallery/activities/MediaActivity.kt | 8 ++---- .../gallery/activities/ViewPagerActivity.kt | 28 ++++++------------- app/src/main/res/menu/menu_media.xml | 8 +++--- 3 files changed, 15 insertions(+), 29 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt index e92177b03..59cfc4f03 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/MediaActivity.kt @@ -249,9 +249,9 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { R.id.stop_showing_hidden -> tryToggleTemporarilyShowHidden() R.id.increase_column_count -> increaseColumnCount() R.id.reduce_column_count -> reduceColumnCount() + R.id.slideshow -> startSlideshow() R.id.settings -> launchSettings() R.id.about -> launchAbout() - R.id.slideshow -> startSlideshow() else -> return super.onOptionsItemSelected(item) } return true @@ -260,10 +260,8 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener { private fun startSlideshow() { if (mMedia.isNotEmpty()) { Intent(this, ViewPagerActivity::class.java).apply { - val item = mMedia[0] - if (item is Medium) { - putExtra(PATH, item.path) - } + val item = mMedia.firstOrNull { it is Medium } as? Medium ?: return + putExtra(PATH, item.path) putExtra(SHOW_ALL, mShowAll) putExtra(SLIDESHOW_START_ON_ENTER, true) startActivity(this) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt index 97a12f19d..55cc0d488 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/ViewPagerActivity.kt @@ -53,8 +53,6 @@ import java.io.InputStream import java.io.OutputStream import java.util.* -private val SLIDESHOW_INITED_ON_START_KEY = "SLIDESHOW_INITED_ON_START" - class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, ViewPagerFragment.FragmentListener { private var mPath = "" private var mDirectory = "" @@ -70,7 +68,6 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View private var mSlideshowMoveBackwards = false private var mSlideshowMedia = mutableListOf() private var mAreSlideShowMediaVisible = false - private var mSlideshowInitedOnStart = false private var mIsOrientationLocked = false @@ -104,23 +101,6 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } initFavorites() - handleSlideshowRequest(savedInstanceState) - } - - private fun handleSlideshowRequest(state: Bundle?) { - if (intent.getBooleanExtra(SLIDESHOW_START_ON_ENTER, false)) { - if (state == null || !state.getBoolean(SLIDESHOW_INITED_ON_START_KEY, false)) { - mSlideshowHandler.post { - initSlideshow() - } - } - mSlideshowInitedOnStart = true - } - } - - override fun onSaveInstanceState(outState: Bundle) { - super.onSaveInstanceState(outState) - outState.putBoolean(SLIDESHOW_INITED_ON_START_KEY, mSlideshowInitedOnStart) } override fun onResume() { @@ -243,6 +223,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View if (!isDestroyed) { if (mMediaFiles.isNotEmpty()) { gotMedia(mMediaFiles as ArrayList) + checkSlideshowOnEnter() } } } @@ -268,6 +249,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } else { visibility and View.SYSTEM_UI_FLAG_FULLSCREEN != 0 } + view_pager.adapter?.let { (it as MyPagerAdapter).toggleFullscreen(mIsFullScreen) checkSystemUI() @@ -389,6 +371,12 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } } + private fun checkSlideshowOnEnter() { + if (intent.getBooleanExtra(SLIDESHOW_START_ON_ENTER, false)) { + initSlideshow() + } + } + private fun initSlideshow() { SlideshowDialog(this) { startSlideshow() diff --git a/app/src/main/res/menu/menu_media.xml b/app/src/main/res/menu/menu_media.xml index 2d2d30115..4693f03f1 100644 --- a/app/src/main/res/menu/menu_media.xml +++ b/app/src/main/res/menu/menu_media.xml @@ -79,6 +79,10 @@ android:id="@+id/reduce_column_count" android:title="@string/reduce_column_count" app:showAsAction="never"/> + -