diff --git a/app/build.gradle b/app/build.gradle index c887590b2..7ea39f01c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -304,6 +304,7 @@ dependencies { implementation Deps.mozilla_feature_customtabs implementation Deps.mozilla_feature_downloads implementation Deps.mozilla_feature_intent + implementation Deps.mozilla_feature_media implementation Deps.mozilla_feature_prompts implementation Deps.mozilla_feature_qr implementation Deps.mozilla_feature_session diff --git a/app/src/main/java/org/mozilla/fenix/components/Core.kt b/app/src/main/java/org/mozilla/fenix/components/Core.kt index af1664639..d81a6e403 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Core.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Core.kt @@ -24,6 +24,7 @@ import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy.Companion.SAFE_BROWSING_ALL import mozilla.components.concept.engine.mediaquery.PreferredColorScheme import mozilla.components.concept.fetch.Client +import mozilla.components.feature.media.RecordingDevicesNotificationFeature import mozilla.components.feature.session.HistoryDelegate import mozilla.components.lib.crash.handler.CrashHandlerService import org.mozilla.fenix.AppRequestInterceptor @@ -105,6 +106,10 @@ class Core(private val context: Context) { // Install the "icons" WebExtension to automatically load icons for every visited website. icons.install(engine, sessionManager) + // Show an ongoing notification when recording devices (camera, microphone) are used by web content + RecordingDevicesNotificationFeature(context, sessionManager) + .enable() + // Restore the previous state. GlobalScope.launch(Dispatchers.Main) { withContext(Dispatchers.IO) { diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 02358acc8..d6002bd56 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -102,6 +102,7 @@ object Deps { const val mozilla_feature_contextmenu = "org.mozilla.components:feature-contextmenu:${Versions.mozilla_android_components}" const val mozilla_feature_customtabs = "org.mozilla.components:feature-customtabs:${Versions.mozilla_android_components}" const val mozilla_feature_intent = "org.mozilla.components:feature-intent:${Versions.mozilla_android_components}" + const val mozilla_feature_media = "org.mozilla.components:feature-media:${Versions.mozilla_android_components}" const val mozilla_feature_qr = "org.mozilla.components:feature-qr:${Versions.mozilla_android_components}" const val mozilla_feature_search = "org.mozilla.components:feature-search:${Versions.mozilla_android_components}" const val mozilla_feature_session = "org.mozilla.components:feature-session:${Versions.mozilla_android_components}"