diff options
author | Allan Wang <me@allanwang.ca> | 2017-11-12 04:03:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-12 04:03:41 -0500 |
commit | 4aed05a8923a7f76799bbaa254f407f7e11fef0b (patch) | |
tree | badd20ad111989ce7bbeed3f7e9ed8df47b94331 /app/src/main/kotlin/com/pitchedapps/frost/contracts/VideoViewHolder.kt | |
parent | 2b51bc4bfa86863ed14b550fe3281840587ab038 (diff) | |
download | frost-4aed05a8923a7f76799bbaa254f407f7e11fef0b.tar.gz frost-4aed05a8923a7f76799bbaa254f407f7e11fef0b.tar.bz2 frost-4aed05a8923a7f76799bbaa254f407f7e11fef0b.zip |
Translations (#482)
* Update translators
* Remove translation for some other texts
* Update kau
* Fix build and optimize
* Add translations
* Update readme and changelog
* Clean unnecessary strings
* Fix translations
* Add korean translations for kau
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/contracts/VideoViewHolder.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/contracts/VideoViewHolder.kt | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/contracts/VideoViewHolder.kt b/app/src/main/kotlin/com/pitchedapps/frost/contracts/VideoViewHolder.kt new file mode 100644 index 00000000..6440cbb2 --- /dev/null +++ b/app/src/main/kotlin/com/pitchedapps/frost/contracts/VideoViewHolder.kt @@ -0,0 +1,54 @@ +package com.pitchedapps.frost.contracts + +import android.app.Activity +import android.widget.FrameLayout +import ca.allanwang.kau.utils.inflate +import com.pitchedapps.frost.R +import com.pitchedapps.frost.utils.L +import com.pitchedapps.frost.views.FrostVideoContainerContract +import com.pitchedapps.frost.views.FrostVideoViewer + +/** + * Created by Allan Wang on 2017-11-10. + */ +interface VideoViewHolder : FrameWrapper, FrostVideoContainerContract { + + var videoViewer: FrostVideoViewer? + + fun showVideo(url: String) + = showVideo(url, false) + + /** + * Create new viewer and reuse existing one + * The url will be formatted upon loading + */ + fun showVideo(url: String, repeat: Boolean) { + if (videoViewer != null) + videoViewer?.setVideo(url, repeat) + else + videoViewer = FrostVideoViewer.showVideo(url, repeat, this) + } + + fun videoOnStop() = videoViewer?.pause() + + fun videoOnBackPress() = videoViewer?.onBackPressed() ?: false + + override val videoContainer: FrameLayout + get() = frameWrapper + + override fun onVideoFinished() { + L.d("Video view released") + videoViewer = null + } +} + +interface FrameWrapper { + + val frameWrapper: FrameLayout + + fun Activity.setFrameContentView(layoutRes: Int) { + setContentView(R.layout.activity_frame_wrapper) + frameWrapper.inflate(layoutRes, true) + } + +} |