diff options
author | Allan Wang <me@allanwang.ca> | 2017-11-12 02:48:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-12 02:48:36 -0500 |
commit | 2b51bc4bfa86863ed14b550fe3281840587ab038 (patch) | |
tree | 0fd7276e326ed0901b1af980d07d57f3bbb7d7eb /app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt | |
parent | ec7fdc2521463d0a773bb9d0be454f3b2a60eee3 (diff) | |
download | frost-2b51bc4bfa86863ed14b550fe3281840587ab038.tar.gz frost-2b51bc4bfa86863ed14b550fe3281840587ab038.tar.bz2 frost-2b51bc4bfa86863ed14b550fe3281840587ab038.zip |
enhancement/video-player (#480)v1.6.3
* Add toolbar visibility toggle and draw it over viewer
* Set contract bindings once available
* Fix video url param error and prepare progressanimator
* Add gif support and better transitions
* Interface a lot of things
* Reorder back press
* Clean up files and fix selector
* Add gif support
* Redraw bounds when necessary
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt index ddb42d72..ab08981f 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseActivity.kt @@ -1,10 +1,12 @@ package com.pitchedapps.frost.activities +import android.content.res.Configuration import android.os.Bundle import ca.allanwang.kau.internal.KauBaseActivity import com.github.pwittchen.reactivenetwork.library.rx2.Connectivity import com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork import com.pitchedapps.frost.R +import com.pitchedapps.frost.contracts.VideoViewerContract import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.Prefs import com.pitchedapps.frost.utils.materialDialogThemed @@ -18,7 +20,10 @@ import io.reactivex.schedulers.Schedulers */ abstract class BaseActivity : KauBaseActivity() { override fun onBackPressed() { - if (isTaskRoot && Prefs.exitConfirmation) { + if (this is MainActivity && searchView?.onBackPressed() == true) return + if (this is VideoViewerContract && videoOnBackPress()) return + if (this is MainActivity && currentFragment.onBackPressed()) return + if (this !is WebOverlayActivityBase && isTaskRoot && Prefs.exitConfirmation) { materialDialogThemed { title(R.string.kau_exit) content(R.string.kau_exit_confirmation) @@ -27,12 +32,14 @@ abstract class BaseActivity : KauBaseActivity() { onPositive { _, _ -> super.onBackPressed() } checkBoxPromptRes(R.string.kau_do_not_show_again, false, { _, b -> Prefs.exitConfirmation = !b }) } - } else super.onBackPressed() + return + } + super.onBackPressed() } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setFrostTheme() + if (this !is WebOverlayActivityBase) setFrostTheme() } private var networkDisposable: Disposable? = null @@ -47,8 +54,7 @@ abstract class BaseActivity : KauBaseActivity() { networkDisposable = ReactiveNetwork.observeNetworkConnectivity(applicationContext) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe { - connectivity: Connectivity -> + .subscribe { connectivity: Connectivity -> connectivity.apply { L.d("Network connectivity changed: isAvailable: $isAvailable isRoaming: $isRoaming") consumer(connectivity) @@ -64,12 +70,23 @@ abstract class BaseActivity : KauBaseActivity() { override fun onResume() { super.onResume() - disposeNetworkConnectivity() - observeNetworkConnectivity() +// disposeNetworkConnectivity() +// observeNetworkConnectivity() } override fun onPause() { super.onPause() - disposeNetworkConnectivity() +// disposeNetworkConnectivity() + } + + + override fun onStop() { + if (this is VideoViewerContract) videoOnStop() + super.onStop() + } + + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + if (this is VideoViewerContract) videoViewer?.updateLocation() } }
\ No newline at end of file |