From f3c14a1e5591f9d244c73bc0e53a6e042f5b9a06 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 25 Oct 2017 17:03:07 -0400 Subject: Fix/pip video (#445) * Test frame wrapper * Update padding bounds * Clear toolbar on hide * Optimize * Update changelog * Disable toolbar rather than remove it * Improve controls and fix toolbar issue * Optimize --- .../pitchedapps/frost/activities/MainActivity.kt | 29 +++++++++++++++++----- 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities') 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 a346e809..e37c38e9 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt @@ -5,6 +5,7 @@ import android.app.AlarmManager import android.app.PendingIntent import android.content.Context import android.content.Intent +import android.graphics.PointF import android.graphics.drawable.ColorDrawable import android.net.Uri import android.os.Bundle @@ -23,6 +24,7 @@ import android.view.Menu import android.view.MenuItem import android.webkit.ValueCallback import android.webkit.WebChromeClient +import android.widget.FrameLayout import ca.allanwang.kau.searchview.SearchItem import ca.allanwang.kau.searchview.SearchView import ca.allanwang.kau.searchview.bindSearchView @@ -47,6 +49,7 @@ import com.pitchedapps.frost.contracts.FileChooserContract import com.pitchedapps.frost.contracts.FileChooserDelegate import com.pitchedapps.frost.dbflow.loadFbCookie import com.pitchedapps.frost.dbflow.loadFbTabs +import com.pitchedapps.frost.enums.MainActivityLayout import com.pitchedapps.frost.enums.Theme import com.pitchedapps.frost.facebook.FbCookie import com.pitchedapps.frost.facebook.FbCookie.switchUser @@ -59,6 +62,7 @@ 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 @@ -72,9 +76,11 @@ import java.util.concurrent.TimeUnit class MainActivity : BaseActivity(), ActivityWebContract, FileChooserContract by FileChooserDelegate(), + FrostVideoContainerContract, FrostBilling by IabMain() { lateinit var adapter: SectionsPagerAdapter + 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) @@ -123,7 +129,8 @@ class MainActivity : BaseActivity(), "Frost id" to Prefs.frostId) } } - setContentView(Prefs.mainActivityLayout.layoutRes) + setContentView(R.layout.activity_frame_wrapper) + frameWrapper.inflate(Prefs.mainActivityLayout.layoutRes, true) setSupportActionBar(toolbar) adapter = SectionsPagerAdapter(supportFragmentManager, loadFbTabs()) viewPager.adapter = adapter @@ -165,11 +172,7 @@ class MainActivity : BaseActivity(), if (videoViewer != null) { videoViewer?.setVideo(url) } else { - val viewer = FrostVideoViewer.showVideo(coordinator.parentViewGroup, url) { - L.d("Video view released") - videoViewer = null - } - videoViewer = viewer + videoViewer = FrostVideoViewer.showVideo(url, this) } } @@ -478,4 +481,18 @@ class MainActivity : BaseActivity(), override fun getPageTitle(position: Int): CharSequence = getString(pages[position].titleId) } + override val lowerVideoPadding: PointF + get() = + if (Prefs.mainActivityLayout == MainActivityLayout.BOTTOM_BAR) + PointF(0f, toolbar.height.toFloat()) + else + PointF(0f, 0f) + + override val videoContainer: FrameLayout + get() = frameWrapper + + override fun onVideoFinished() { + L.d("Video view released") + videoViewer = null + } } -- cgit v1.2.3