Fix warning on onPictureInPictureModeChanged method overriding.

This commit is contained in:
Benoit Marty 2022-07-01 17:02:28 +02:00
parent 944b447d93
commit 397614121c
3 changed files with 14 additions and 11 deletions

View file

@ -22,7 +22,6 @@ import android.app.PictureInPictureParams
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP import android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP
import android.content.res.Configuration
import android.graphics.Color import android.graphics.Color
import android.media.projection.MediaProjection import android.media.projection.MediaProjection
import android.media.projection.MediaProjectionManager import android.media.projection.MediaProjectionManager
@ -35,8 +34,10 @@ import android.view.View
import android.view.WindowManager import android.view.WindowManager
import androidx.activity.result.ActivityResult import androidx.activity.result.ActivityResult
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.core.app.PictureInPictureModeChangedInfo
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.core.util.Consumer
import androidx.core.view.isInvisible import androidx.core.view.isInvisible
import androidx.core.view.isVisible import androidx.core.view.isVisible
import com.airbnb.mvrx.Fail import com.airbnb.mvrx.Fail
@ -128,6 +129,7 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
window.statusBarColor = Color.TRANSPARENT window.statusBarColor = Color.TRANSPARENT
window.navigationBarColor = Color.BLACK window.navigationBarColor = Color.BLACK
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
addOnPictureInPictureModeChangedListener(pictureInPictureModeChangedInfoConsumer)
Timber.tag(loggerTag.value).v("EXTRA_MODE is ${intent.getStringExtra(EXTRA_MODE)}") Timber.tag(loggerTag.value).v("EXTRA_MODE is ${intent.getStringExtra(EXTRA_MODE)}")
if (intent.getStringExtra(EXTRA_MODE) == INCOMING_RINGING) { if (intent.getStringExtra(EXTRA_MODE) == INCOMING_RINGING) {
@ -210,8 +212,10 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && isInPictureInPictureMode return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && isInPictureInPictureMode
} }
override fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean, newConfig: Configuration) = withState(callViewModel) { private val pictureInPictureModeChangedInfoConsumer = Consumer<PictureInPictureModeChangedInfo> {
renderState(it) withState(callViewModel) {
renderState(it)
}
} }
override fun handleMenuItemSelected(item: MenuItem): Boolean { override fun handleMenuItemSelected(item: MenuItem): Boolean {
@ -232,6 +236,7 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
override fun onDestroy() { override fun onDestroy() {
detachRenderersIfNeeded() detachRenderersIfNeeded()
turnScreenOffAndKeyguardOn() turnScreenOffAndKeyguardOn()
removeOnPictureInPictureModeChangedListener(pictureInPictureModeChangedInfoConsumer)
super.onDestroy() super.onDestroy()
} }

View file

@ -19,12 +19,13 @@ package im.vector.app.features.call.conference
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.content.res.Configuration
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.Toast import android.widget.Toast
import androidx.core.app.PictureInPictureModeChangedInfo
import androidx.core.util.Consumer
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.Lifecycle import androidx.lifecycle.Lifecycle
import com.airbnb.mvrx.Fail import com.airbnb.mvrx.Fail
@ -66,6 +67,7 @@ class VectorJitsiActivity : VectorBaseActivity<ActivityJitsiBinding>(), JitsiMee
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
addOnPictureInPictureModeChangedListener(pictureInPictureModeChangedInfoConsumer)
jitsiViewModel.onEach { jitsiViewModel.onEach {
renderState(it) renderState(it)
@ -109,6 +111,7 @@ class VectorJitsiActivity : VectorBaseActivity<ActivityJitsiBinding>(), JitsiMee
ConferenceEventEmitter(this).emitConferenceEnded() ConferenceEventEmitter(this).emitConferenceEnded()
} }
JitsiMeetActivityDelegate.onHostDestroy(this) JitsiMeetActivityDelegate.onHostDestroy(this)
removeOnPictureInPictureModeChangedListener(pictureInPictureModeChangedInfoConsumer)
super.onDestroy() super.onDestroy()
} }
@ -138,13 +141,9 @@ class VectorJitsiActivity : VectorBaseActivity<ActivityJitsiBinding>(), JitsiMee
.show() .show()
} }
override fun onPictureInPictureModeChanged( private val pictureInPictureModeChangedInfoConsumer = Consumer<PictureInPictureModeChangedInfo> {
isInPictureInPictureMode: Boolean,
newConfig: Configuration
) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)
checkIfActivityShouldBeFinished() checkIfActivityShouldBeFinished()
Timber.w("onPictureInPictureModeChanged($isInPictureInPictureMode)") Timber.w("onPictureInPictureModeChanged(${it.isInPictureInPictureMode})")
} }
private fun checkIfActivityShouldBeFinished() { private fun checkIfActivityShouldBeFinished() {

View file

@ -21,7 +21,6 @@ import android.content.Intent
import android.graphics.Typeface import android.graphics.Typeface
import android.util.TypedValue import android.util.TypedValue
import android.view.Menu import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem import android.view.MenuItem
import android.widget.SearchView import android.widget.SearchView
import androidx.core.view.isVisible import androidx.core.view.isVisible