diff --git a/app/build.gradle b/app/build.gradle index 3769b8d2e..f9d10146b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -114,6 +114,7 @@ dependencies { implementation Deps.mozilla_feature_awesomebar implementation Deps.mozilla_feature_downloads implementation Deps.mozilla_feature_intent + implementation Deps.mozilla_feature_prompts implementation Deps.mozilla_feature_session implementation Deps.mozilla_feature_toolbar implementation Deps.mozilla_feature_tabs diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7395fb4b3..530aae8e8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" package="org.mozilla.fenix"> + + requestPermissions(permissions, REQUEST_CODE_PROMPT_PERMISSIONS) + } + ) + sessionFeature = SessionFeature( sessionManager, SessionUseCases(sessionManager), @@ -72,6 +84,7 @@ class BrowserFragment : Fragment() { lifecycle.addObservers( downloadsFeature, + promptsFeature, sessionFeature, ToolbarIntegration(requireContext(), toolbar, @@ -83,10 +96,16 @@ class BrowserFragment : Fragment() { override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { when (requestCode) { REQUEST_CODE_DOWNLOAD_PERMISSIONS -> downloadsFeature.onPermissionsResult(permissions, grantResults) + REQUEST_CODE_PROMPT_PERMISSIONS -> promptsFeature.onPermissionsResult(permissions, grantResults) } } + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + promptsFeature.onActivityResult(requestCode, resultCode, data) + } + companion object { private const val REQUEST_CODE_DOWNLOAD_PERMISSIONS = 1 + private const val REQUEST_CODE_PROMPT_PERMISSIONS = 2 } }