Skip to content

Commit 3060438

Browse files
committed
Rename WebPipApi to PipController
1 parent 0b2edcb commit 3060438

File tree

8 files changed

+29
-29
lines changed

8 files changed

+29
-29
lines changed

features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPictureEvents.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616

1717
package io.element.android.features.call.impl.pip
1818

19-
import io.element.android.features.call.impl.utils.WebPipApi
19+
import io.element.android.features.call.impl.utils.PipController
2020

2121
sealed interface PictureInPictureEvents {
22-
data class SetupWebPipApi(val webPipApi: WebPipApi) : PictureInPictureEvents
22+
data class SetPipController(val pipController: PipController) : PictureInPictureEvents
2323
data object EnterPictureInPicture : PictureInPictureEvents
2424
data class OnPictureInPictureModeChanged(val isInPip: Boolean) : PictureInPictureEvents
2525
}

features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPicturePresenter.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import androidx.compose.runtime.mutableStateOf
2222
import androidx.compose.runtime.remember
2323
import androidx.compose.runtime.rememberCoroutineScope
2424
import androidx.compose.runtime.setValue
25-
import io.element.android.features.call.impl.utils.WebPipApi
25+
import io.element.android.features.call.impl.utils.PipController
2626
import io.element.android.libraries.architecture.Presenter
2727
import io.element.android.libraries.core.log.logger.LoggerTag
2828
import kotlinx.coroutines.launch
@@ -41,25 +41,25 @@ class PictureInPicturePresenter @Inject constructor(
4141
override fun present(): PictureInPictureState {
4242
val coroutineScope = rememberCoroutineScope()
4343
var isInPictureInPicture by remember { mutableStateOf(false) }
44-
var webPipApi by remember { mutableStateOf<WebPipApi?>(null) }
44+
var pipController by remember { mutableStateOf<PipController?>(null) }
4545

4646
fun handleEvent(event: PictureInPictureEvents) {
4747
when (event) {
48-
is PictureInPictureEvents.SetupWebPipApi -> {
49-
webPipApi = event.webPipApi
48+
is PictureInPictureEvents.SetPipController -> {
49+
pipController = event.pipController
5050
}
5151
PictureInPictureEvents.EnterPictureInPicture -> {
5252
coroutineScope.launch {
53-
switchToPip(webPipApi)
53+
switchToPip(pipController)
5454
}
5555
}
5656
is PictureInPictureEvents.OnPictureInPictureModeChanged -> {
5757
Timber.tag(loggerTag.value).d("onPictureInPictureModeChanged: ${event.isInPip}")
5858
isInPictureInPicture = event.isInPip
5959
if (event.isInPip) {
60-
webPipApi?.enterPip()
60+
pipController?.enterPip()
6161
} else {
62-
webPipApi?.exitPip()
62+
pipController?.exitPip()
6363
}
6464
}
6565
}
@@ -85,12 +85,12 @@ class PictureInPicturePresenter @Inject constructor(
8585
/**
8686
* Enters Picture-in-Picture mode, if allowed by Element Call.
8787
*/
88-
private suspend fun switchToPip(webPipApi: WebPipApi?) {
88+
private suspend fun switchToPip(pipController: PipController?) {
8989
if (isPipSupported) {
90-
if (webPipApi == null) {
90+
if (pipController == null) {
9191
Timber.tag(loggerTag.value).w("webPipApi is not available")
9292
}
93-
if (webPipApi == null || webPipApi.canEnterPip()) {
93+
if (pipController == null || pipController.canEnterPip()) {
9494
Timber.tag(loggerTag.value).d("Switch to PiP mode")
9595
pipActivity?.enterPipMode()
9696
?.also { Timber.tag(loggerTag.value).d("Switch to PiP mode result: $it") }

features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import io.element.android.features.call.impl.pip.PictureInPictureEvents
4040
import io.element.android.features.call.impl.pip.PictureInPictureState
4141
import io.element.android.features.call.impl.pip.PictureInPictureStateProvider
4242
import io.element.android.features.call.impl.pip.aPictureInPictureState
43-
import io.element.android.features.call.impl.utils.WebViewWebPipApi
43+
import io.element.android.features.call.impl.utils.WebViewPipController
4444
import io.element.android.features.call.impl.utils.WebViewWidgetMessageInterceptor
4545
import io.element.android.libraries.architecture.AsyncData
4646
import io.element.android.libraries.designsystem.components.ProgressDialog
@@ -96,9 +96,9 @@ internal fun CallScreenView(
9696
}
9797
CallWebView(
9898
modifier = Modifier
99-
.padding(padding)
100-
.consumeWindowInsets(padding)
101-
.fillMaxSize(),
99+
.padding(padding)
100+
.consumeWindowInsets(padding)
101+
.fillMaxSize(),
102102
url = state.urlState,
103103
userAgent = state.userAgent,
104104
onPermissionsRequest = { request ->
@@ -109,8 +109,8 @@ internal fun CallScreenView(
109109
onWebViewCreate = { webView ->
110110
val interceptor = WebViewWidgetMessageInterceptor(webView)
111111
state.eventSink(CallScreenEvents.SetupMessageChannels(interceptor))
112-
val webPipApi = WebViewWebPipApi(webView)
113-
pipState.eventSink(PictureInPictureEvents.SetupWebPipApi(webPipApi))
112+
val pipController = WebViewPipController(webView)
113+
pipState.eventSink(PictureInPictureEvents.SetPipController(pipController))
114114
}
115115
)
116116
when (state.urlState) {

features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/WebPipApi.kt renamed to features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/PipController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package io.element.android.features.call.impl.utils
1818

19-
interface WebPipApi {
19+
interface PipController {
2020
suspend fun canEnterPip(): Boolean
2121
fun enterPip()
2222
fun exitPip()

features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/WebViewWebPipApi.kt renamed to features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/WebViewPipController.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import android.webkit.WebView
2020
import kotlin.coroutines.resume
2121
import kotlin.coroutines.suspendCoroutine
2222

23-
class WebViewWebPipApi(
23+
class WebViewPipController(
2424
private val webView: WebView,
25-
) : WebPipApi {
25+
) : PipController {
2626
override suspend fun canEnterPip(): Boolean {
2727
return suspendCoroutine { continuation ->
2828
webView.evaluateJavascript("controls.canEnterPip()") { result ->

features/call/impl/src/test/kotlin/io/element/android/features/call/impl/pip/FakeWebPipApi.kt renamed to features/call/impl/src/test/kotlin/io/element/android/features/call/impl/pip/FakePipController.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616

1717
package io.element.android.features.call.impl.pip
1818

19-
import io.element.android.features.call.impl.utils.WebPipApi
19+
import io.element.android.features.call.impl.utils.PipController
2020
import io.element.android.tests.testutils.lambda.lambdaError
2121

22-
class FakeWebPipApi(
22+
class FakePipController(
2323
private val canEnterPipResult: () -> Boolean = { lambdaError() },
2424
private val enterPipResult: () -> Unit = { lambdaError() },
2525
private val exitPipResult: () -> Unit = { lambdaError() },
26-
) : WebPipApi {
26+
) : PipController {
2727
override suspend fun canEnterPip(): Boolean = canEnterPipResult()
2828

2929
override fun enterPip() = enterPipResult()

features/call/impl/src/test/kotlin/io/element/android/features/call/impl/pip/PictureInPicturePresenterTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class PictureInPicturePresenterTest {
9292
presenter.present()
9393
}.test {
9494
val initialState = awaitItem()
95-
initialState.eventSink(PictureInPictureEvents.SetupWebPipApi(FakeWebPipApi(canEnterPipResult = { false })))
95+
initialState.eventSink(PictureInPictureEvents.SetPipController(FakePipController(canEnterPipResult = { false })))
9696
initialState.eventSink(PictureInPictureEvents.EnterPictureInPicture)
9797
handUpResult.assertions().isCalledOnce()
9898
}
@@ -115,8 +115,8 @@ class PictureInPicturePresenterTest {
115115
}.test {
116116
val initialState = awaitItem()
117117
initialState.eventSink(
118-
PictureInPictureEvents.SetupWebPipApi(
119-
FakeWebPipApi(
118+
PictureInPictureEvents.SetPipController(
119+
FakePipController(
120120
canEnterPipResult = { true },
121121
enterPipResult = enterPipResult,
122122
exitPipResult = exitPipResult,

features/call/impl/src/test/kotlin/io/element/android/features/call/impl/ui/CallScreenViewTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class CallScreenViewTest {
5252
eventsRecorder.assertTrue(0) { it is CallScreenEvents.SetupMessageChannels }
5353
eventsRecorder.assertTrue(1) { it == CallScreenEvents.Hangup }
5454
pipEventsRecorder.assertSize(1)
55-
pipEventsRecorder.assertTrue(0) { it is PictureInPictureEvents.SetupWebPipApi }
55+
pipEventsRecorder.assertTrue(0) { it is PictureInPictureEvents.SetPipController }
5656
}
5757

5858
@Test
@@ -72,7 +72,7 @@ class CallScreenViewTest {
7272
eventsRecorder.assertSize(1)
7373
eventsRecorder.assertTrue(0) { it is CallScreenEvents.SetupMessageChannels }
7474
pipEventsRecorder.assertSize(2)
75-
pipEventsRecorder.assertTrue(0) { it is PictureInPictureEvents.SetupWebPipApi }
75+
pipEventsRecorder.assertTrue(0) { it is PictureInPictureEvents.SetPipController }
7676
pipEventsRecorder.assertTrue(1) { it == PictureInPictureEvents.EnterPictureInPicture }
7777
}
7878
}

0 commit comments

Comments
 (0)