diff options
author | Allan Wang <me@allanwang.ca> | 2017-10-24 23:29:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-24 23:29:55 -0400 |
commit | c2ca9066c6fd760bd6ef5d2f8f0530a89bfa7b66 (patch) | |
tree | a54665bb873b650b8f6f03b76cd59456ef79e296 /app/src/main/kotlin/com/pitchedapps/frost/activities | |
parent | 64dbf74b7a44a25f41ed7ff2ebfa11db0bc91769 (diff) | |
download | frost-c2ca9066c6fd760bd6ef5d2f8f0530a89bfa7b66.tar.gz frost-c2ca9066c6fd760bd6ef5d2f8f0530a89bfa7b66.tar.bz2 frost-c2ca9066c6fd760bd6ef5d2f8f0530a89bfa7b66.zip |
WIP: Feature/pip video 2 (#405)
* Add dependency
* Test new video view
* Add initial video bindings
* Implement drag to dismiss
* Begin initial integration
* Fix typo
* Fix up url formatter
* Update changelog
* Create first fully integrated video build
* Update translations
* Update translations 2
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt | 23 | ||||
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/activities/VideoActivity.kt | 33 |
2 files changed, 53 insertions, 3 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt index 1a96601d..b6232272 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt @@ -59,6 +59,7 @@ import com.pitchedapps.frost.utils.iab.FrostBilling import com.pitchedapps.frost.utils.iab.IabMain import com.pitchedapps.frost.utils.iab.IS_FROST_PRO import com.pitchedapps.frost.views.BadgedIcon +import com.pitchedapps.frost.views.FrostVideoViewer import com.pitchedapps.frost.views.FrostViewPager import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable @@ -80,6 +81,7 @@ class MainActivity : BaseActivity(), val tabs: TabLayout by bindView(R.id.tabs) val appBar: AppBarLayout by bindView(R.id.appbar) val coordinator: CoordinatorLayout by bindView(R.id.main_content) + var videoViewer: FrostVideoViewer? = null lateinit var drawer: Drawer lateinit var drawerHeader: AccountHeader var webFragmentObservable = PublishSubject.create<Int>()!! @@ -157,9 +159,18 @@ class MainActivity : BaseActivity(), setFrostColors(toolbar, themeWindow = false, headers = arrayOf(appBar), backgrounds = arrayOf(viewPager)) tabs.setBackgroundColor(Prefs.mainActivityLayout.backgroundColor()) onCreateBilling() -// setNetworkObserver { connectivity -> -// shouldLoadImages = !connectivity.isRoaming -// } + } + + fun showVideo(url: String) { + if (videoViewer != null) { + videoViewer?.setVideo(url) + } else { + val viewer = FrostVideoViewer.showVideo(coordinator.parentViewGroup, url) { + L.d("Video view released") + videoViewer = null + } + videoViewer = viewer + } } fun tabsForEachView(action: (position: Int, view: BadgedIcon) -> Unit) { @@ -420,12 +431,18 @@ class MainActivity : BaseActivity(), super.onStart() } + override fun onStop() { + videoViewer?.pause() + super.onStop() + } + override fun onDestroy() { onDestroyBilling() super.onDestroy() } override fun onBackPressed() { + if (videoViewer?.onBackPressed() == true) return if (searchView?.onBackPressed() == true) return if (currentFragment.onBackPressed()) return super.onBackPressed() diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/VideoActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/VideoActivity.kt new file mode 100644 index 00000000..5943c73c --- /dev/null +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/VideoActivity.kt @@ -0,0 +1,33 @@ +package com.pitchedapps.frost.activities + +import android.os.Bundle +import android.view.ViewGroup +import ca.allanwang.kau.internal.KauBaseActivity +import ca.allanwang.kau.utils.bindView +import com.pitchedapps.frost.R +import com.pitchedapps.frost.utils.L +import com.pitchedapps.frost.views.FrostVideoView + +/** + * Created by Allan Wang on 2017-06-01. + */ +class VideoActivity : KauBaseActivity() { + + val container: ViewGroup by bindView(R.id.video_container) + val video: FrostVideoView by bindView(R.id.video) + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.view_video) + container.setOnTouchListener { _, event -> + val y = video.shouldParentAcceptTouch(event) + L.d("Video SPAT $y") + y + } + } + + override fun onStop() { + video.pause() + super.onStop() + } +}
\ No newline at end of file |