From 1e582a31a92ac299db06f32e34be9f0ae6a5120b Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sun, 4 Aug 2019 23:58:07 -0700 Subject: Add fab auto refresh --- .../frost/activities/BaseMainActivity.kt | 26 +++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt index 2e7c16df..05321b69 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt @@ -88,6 +88,7 @@ import com.pitchedapps.frost.utils.EXTRA_COOKIES import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.MAIN_TIMEOUT_DURATION import com.pitchedapps.frost.utils.Prefs +import com.pitchedapps.frost.utils.REQUEST_FAB import com.pitchedapps.frost.utils.REQUEST_NAV import com.pitchedapps.frost.utils.REQUEST_REFRESH import com.pitchedapps.frost.utils.REQUEST_RESTART @@ -458,6 +459,9 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract, override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (onActivityResultWeb(requestCode, resultCode, data)) return super.onActivityResult(requestCode, resultCode, data) + + fun hasRequest(flag: Int) = resultCode and flag > 0 + if (requestCode == ACTIVITY_SETTINGS) { if (resultCode and REQUEST_RESTART_APPLICATION > 0) { //completely restart application L.d { "Restart Application Requested" } @@ -474,10 +478,21 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract, /* * These results can be stacked */ - if (resultCode and REQUEST_REFRESH > 0) fragmentChannel.offer(REQUEST_REFRESH) - if (resultCode and REQUEST_NAV > 0) frostNavigationBar() - if (resultCode and REQUEST_TEXT_ZOOM > 0) fragmentChannel.offer(REQUEST_TEXT_ZOOM) - if (resultCode and REQUEST_SEARCH > 0) invalidateOptionsMenu() + if (hasRequest(REQUEST_REFRESH)) { + fragmentChannel.offer(REQUEST_REFRESH) + } + if (hasRequest(REQUEST_NAV)) { + frostNavigationBar() + } + if (hasRequest(REQUEST_TEXT_ZOOM)) { + fragmentChannel.offer(REQUEST_TEXT_ZOOM) + } + if (hasRequest(REQUEST_SEARCH)) { + invalidateOptionsMenu() + } + if (hasRequest(REQUEST_FAB)) { + fragmentChannel.offer(lastPosition) + } } } @@ -579,8 +594,9 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract, viewPager.setCurrentItem(0, false) viewPager.offscreenPageLimit = pages.size viewPager.post { - if (!fragmentChannel.isClosedForSend) + if (!fragmentChannel.isClosedForSend) { fragmentChannel.offer(0) + } } //trigger hook so title is set } -- cgit v1.2.3