aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-11-12 02:48:36 -0500
committerGitHub <noreply@github.com>2017-11-12 02:48:36 -0500
commit2b51bc4bfa86863ed14b550fe3281840587ab038 (patch)
tree0fd7276e326ed0901b1af980d07d57f3bbb7d7eb /app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
parentec7fdc2521463d0a773bb9d0be454f3b2a60eee3 (diff)
downloadfrost-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/MainActivity.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt50
1 files changed, 8 insertions, 42 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 2f4bd2e1..d4c30547 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt
@@ -5,7 +5,6 @@ import android.app.AlarmManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
-import android.content.res.Configuration
import android.graphics.PointF
import android.graphics.drawable.ColorDrawable
import android.net.Uri
@@ -48,6 +47,7 @@ import com.pitchedapps.frost.R
import com.pitchedapps.frost.contracts.ActivityWebContract
import com.pitchedapps.frost.contracts.FileChooserContract
import com.pitchedapps.frost.contracts.FileChooserDelegate
+import com.pitchedapps.frost.contracts.VideoViewerContract
import com.pitchedapps.frost.dbflow.loadFbCookie
import com.pitchedapps.frost.dbflow.loadFbTabs
import com.pitchedapps.frost.enums.MainActivityLayout
@@ -63,7 +63,6 @@ import com.pitchedapps.frost.utils.iab.FrostBilling
import com.pitchedapps.frost.utils.iab.IS_FROST_PRO
import com.pitchedapps.frost.utils.iab.IabMain
import com.pitchedapps.frost.views.BadgedIcon
-import com.pitchedapps.frost.views.FrostVideoContainerContract
import com.pitchedapps.frost.views.FrostVideoViewer
import com.pitchedapps.frost.views.FrostViewPager
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -77,18 +76,18 @@ import java.util.concurrent.TimeUnit
class MainActivity : BaseActivity(),
ActivityWebContract, FileChooserContract by FileChooserDelegate(),
- FrostVideoContainerContract,
+ VideoViewerContract,
FrostBilling by IabMain() {
lateinit var adapter: SectionsPagerAdapter
- val frameWrapper: FrameLayout by bindView(R.id.frame_wrapper)
+ override val frameWrapper: FrameLayout by bindView(R.id.frame_wrapper)
val toolbar: Toolbar by bindView(R.id.toolbar)
val viewPager: FrostViewPager by bindView(R.id.container)
val fab: FloatingActionButton by bindView(R.id.fab)
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
+ override var videoViewer: FrostVideoViewer? = null
lateinit var drawer: Drawer
lateinit var drawerHeader: AccountHeader
var webFragmentObservable = PublishSubject.create<Int>()!!
@@ -130,8 +129,7 @@ class MainActivity : BaseActivity(),
"Frost id" to Prefs.frostId)
}
}
- setContentView(R.layout.activity_frame_wrapper)
- frameWrapper.inflate(Prefs.mainActivityLayout.layoutRes, true)
+ setFrameContentView(Prefs.mainActivityLayout.layoutRes)
setSupportActionBar(toolbar)
adapter = SectionsPagerAdapter(supportFragmentManager, loadFbTabs())
viewPager.adapter = adapter
@@ -147,7 +145,7 @@ class MainActivity : BaseActivity(),
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels)
- val delta: Float by lazy { positionOffset * (255 - 128).toFloat() }
+ val delta = positionOffset * (255 - 128).toFloat()
tabsForEachView { tabPosition, view ->
view.setAllAlpha(when (tabPosition) {
position -> 255.0f - delta
@@ -169,14 +167,6 @@ class MainActivity : BaseActivity(),
onCreateBilling()
}
- fun showVideo(url: String) {
- if (videoViewer != null) {
- videoViewer?.setVideo(url)
- } else {
- videoViewer = FrostVideoViewer.showVideo(url, this)
- }
- }
-
fun tabsForEachView(action: (position: Int, view: BadgedIcon) -> Unit) {
(0 until tabs.tabCount).asSequence().forEach { i ->
action(i, tabs.getTabAt(i)!!.customView as BadgedIcon)
@@ -312,7 +302,7 @@ class MainActivity : BaseActivity(),
}
}
- fun Builder.primaryFrostItem(item: FbItem) = this.primaryItem(item.titleId) {
+ private fun Builder.primaryFrostItem(item: FbItem) = this.primaryItem(item.titleId) {
iicon = item.icon
iconColor = Prefs.textColor.toLong()
textColor = Prefs.textColor.toLong()
@@ -331,7 +321,7 @@ class MainActivity : BaseActivity(),
}
}
- fun Builder.secondaryFrostItem(@StringRes title: Int, onClick: () -> Unit) = this.secondaryItem(title) {
+ private fun Builder.secondaryFrostItem(@StringRes title: Int, onClick: () -> Unit) = this.secondaryItem(title) {
textColor = Prefs.textColor.toLong()
selectedIconColor = Prefs.textColor.toLong()
selectedTextColor = Prefs.textColor.toLong()
@@ -436,23 +426,11 @@ 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()
- }
-
inline val currentFragment
get() = supportFragmentManager.findFragmentByTag("android:switcher:${R.id.container}:${viewPager.currentItem}") as WebFragment
@@ -489,16 +467,4 @@ class MainActivity : BaseActivity(),
else
PointF(0f, 0f)
- override val videoContainer: FrameLayout
- get() = frameWrapper
-
- override fun onVideoFinished() {
- L.d("Video view released")
- videoViewer = null
- }
-
- override fun onConfigurationChanged(newConfig: Configuration) {
- super.onConfigurationChanged(newConfig)
- videoViewer?.updateLocation()
- }
}