Loading android-components/components/feature/webauthn/src/main/java/mozilla/components/feature/webauthn/WebAuthnFeature.kt +3 −0 Changes for android-components/components/feature/webauthn/src/main/java/mozilla/components/feature/webauthn/WebAuthnFeature.kt: 3 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import mozilla.components.support.base.log.logger.Logger class WebAuthnFeature( private val engine: Engine, private val activity: Activity, private val exitFullScreen: (String?) -> Unit, private val currentTab: () -> String?, ) : LifecycleAwareFeature, ActivityResultHandler, ActivityDelegate { private val logger = Logger("WebAuthnFeature") private var requestCodeCounter = ACTIVITY_REQUEST_CODE Loading Loading @@ -53,6 +55,7 @@ class WebAuthnFeature( override fun startIntentSenderForResult(intent: IntentSender, onResult: (Intent?) -> Unit) { logger.info("Received activity delegate request with code: $requestCodeCounter") exitFullScreen(currentTab()) activity.startIntentSenderForResult(intent, requestCodeCounter, null, 0, 0, 0) callbackRef = onResult } Loading android-components/components/feature/webauthn/src/test/java/mozilla/components/feature/webauthn/WebAuthnFeatureTest.kt +11 −5 Changes for android-components/components/feature/webauthn/src/test/java/mozilla/components/feature/webauthn/WebAuthnFeatureTest.kt: 11 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import org.mockito.Mockito.verify class WebAuthnFeatureTest { private lateinit var engine: Engine private lateinit var activity: Activity private val exitFullScreen: (String?) -> Unit = { _ -> exitFullScreenUseCaseCalled = true } private var exitFullScreenUseCaseCalled = false @Before fun setup() { Loading @@ -31,7 +33,7 @@ class WebAuthnFeatureTest { @Test fun `feature registers itself on start`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() feature.start() Loading @@ -40,7 +42,7 @@ class WebAuthnFeatureTest { @Test fun `feature unregisters itself on stop`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() feature.stop() Loading @@ -49,7 +51,7 @@ class WebAuthnFeatureTest { @Test fun `activity delegate starts intent sender`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() val callback: ((Intent?) -> Unit) = { } val intentSender: IntentSender = mock() Loading @@ -60,7 +62,7 @@ class WebAuthnFeatureTest { @Test fun `callback is invoked`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() var callbackInvoked = false val callback: ((Intent?) -> Unit) = { callbackInvoked = true } val intentSender: IntentSender = mock() Loading @@ -77,10 +79,14 @@ class WebAuthnFeatureTest { @Test fun `feature won't process results with the wrong request code`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() val result = feature.onActivityResult(ACTIVITY_REQUEST_CODE - 5, Intent(), 0) assertFalse(result) } private fun webAuthnFeature(): WebAuthnFeature { return WebAuthnFeature(engine, activity, { exitFullScreen("") }) { "" } } } fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +2 −0 Changes for fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -830,6 +830,8 @@ abstract class BaseBrowserFragment : feature = WebAuthnFeature( engine = requireComponents.core.engine, activity = requireActivity(), exitFullScreen = requireComponents.useCases.sessionUseCases.exitFullscreen::invoke, currentTab = { store.state.selectedTabId }, ), owner = this, view = view, Loading Loading
android-components/components/feature/webauthn/src/main/java/mozilla/components/feature/webauthn/WebAuthnFeature.kt +3 −0 Changes for android-components/components/feature/webauthn/src/main/java/mozilla/components/feature/webauthn/WebAuthnFeature.kt: 3 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ import mozilla.components.support.base.log.logger.Logger class WebAuthnFeature( private val engine: Engine, private val activity: Activity, private val exitFullScreen: (String?) -> Unit, private val currentTab: () -> String?, ) : LifecycleAwareFeature, ActivityResultHandler, ActivityDelegate { private val logger = Logger("WebAuthnFeature") private var requestCodeCounter = ACTIVITY_REQUEST_CODE Loading Loading @@ -53,6 +55,7 @@ class WebAuthnFeature( override fun startIntentSenderForResult(intent: IntentSender, onResult: (Intent?) -> Unit) { logger.info("Received activity delegate request with code: $requestCodeCounter") exitFullScreen(currentTab()) activity.startIntentSenderForResult(intent, requestCodeCounter, null, 0, 0, 0) callbackRef = onResult } Loading
android-components/components/feature/webauthn/src/test/java/mozilla/components/feature/webauthn/WebAuthnFeatureTest.kt +11 −5 Changes for android-components/components/feature/webauthn/src/test/java/mozilla/components/feature/webauthn/WebAuthnFeatureTest.kt: 11 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import org.mockito.Mockito.verify class WebAuthnFeatureTest { private lateinit var engine: Engine private lateinit var activity: Activity private val exitFullScreen: (String?) -> Unit = { _ -> exitFullScreenUseCaseCalled = true } private var exitFullScreenUseCaseCalled = false @Before fun setup() { Loading @@ -31,7 +33,7 @@ class WebAuthnFeatureTest { @Test fun `feature registers itself on start`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() feature.start() Loading @@ -40,7 +42,7 @@ class WebAuthnFeatureTest { @Test fun `feature unregisters itself on stop`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() feature.stop() Loading @@ -49,7 +51,7 @@ class WebAuthnFeatureTest { @Test fun `activity delegate starts intent sender`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() val callback: ((Intent?) -> Unit) = { } val intentSender: IntentSender = mock() Loading @@ -60,7 +62,7 @@ class WebAuthnFeatureTest { @Test fun `callback is invoked`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() var callbackInvoked = false val callback: ((Intent?) -> Unit) = { callbackInvoked = true } val intentSender: IntentSender = mock() Loading @@ -77,10 +79,14 @@ class WebAuthnFeatureTest { @Test fun `feature won't process results with the wrong request code`() { val feature = WebAuthnFeature(engine, activity) val feature = webAuthnFeature() val result = feature.onActivityResult(ACTIVITY_REQUEST_CODE - 5, Intent(), 0) assertFalse(result) } private fun webAuthnFeature(): WebAuthnFeature { return WebAuthnFeature(engine, activity, { exitFullScreen("") }) { "" } } }
fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +2 −0 Changes for fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -830,6 +830,8 @@ abstract class BaseBrowserFragment : feature = WebAuthnFeature( engine = requireComponents.core.engine, activity = requireActivity(), exitFullScreen = requireComponents.useCases.sessionUseCases.exitFullscreen::invoke, currentTab = { store.state.selectedTabId }, ), owner = this, view = view, Loading