Closes #265: Integrate feature-prompts component
parent
c78f299390
commit
614374942a
|
@ -114,6 +114,7 @@ dependencies {
|
||||||
implementation Deps.mozilla_feature_awesomebar
|
implementation Deps.mozilla_feature_awesomebar
|
||||||
implementation Deps.mozilla_feature_downloads
|
implementation Deps.mozilla_feature_downloads
|
||||||
implementation Deps.mozilla_feature_intent
|
implementation Deps.mozilla_feature_intent
|
||||||
|
implementation Deps.mozilla_feature_prompts
|
||||||
implementation Deps.mozilla_feature_session
|
implementation Deps.mozilla_feature_session
|
||||||
implementation Deps.mozilla_feature_toolbar
|
implementation Deps.mozilla_feature_toolbar
|
||||||
implementation Deps.mozilla_feature_tabs
|
implementation Deps.mozilla_feature_tabs
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
xmlns:tools="http://schemas.android.com/tools" package="org.mozilla.fenix">
|
xmlns:tools="http://schemas.android.com/tools" package="org.mozilla.fenix">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
|
|
|
@ -6,6 +6,7 @@ package org.mozilla.fenix.browser
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.transition.TransitionInflater
|
import android.transition.TransitionInflater
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
@ -22,10 +23,12 @@ import mozilla.components.support.ktx.android.arch.lifecycle.addObservers
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.components.toolbar.ToolbarIntegration
|
import org.mozilla.fenix.components.toolbar.ToolbarIntegration
|
||||||
import org.mozilla.fenix.ext.requireComponents
|
import org.mozilla.fenix.ext.requireComponents
|
||||||
|
import mozilla.components.feature.prompts.PromptFeature
|
||||||
|
|
||||||
class BrowserFragment : Fragment() {
|
class BrowserFragment : Fragment() {
|
||||||
|
|
||||||
private lateinit var downloadsFeature: DownloadsFeature
|
private lateinit var downloadsFeature: DownloadsFeature
|
||||||
|
private lateinit var promptsFeature: PromptFeature
|
||||||
private lateinit var sessionFeature: SessionFeature
|
private lateinit var sessionFeature: SessionFeature
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
|
@ -57,6 +60,15 @@ class BrowserFragment : Fragment() {
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
promptsFeature = PromptFeature(
|
||||||
|
fragment = this,
|
||||||
|
sessionManager = sessionManager,
|
||||||
|
fragmentManager = requireFragmentManager(),
|
||||||
|
onNeedToRequestPermissions = { permissions ->
|
||||||
|
requestPermissions(permissions, REQUEST_CODE_PROMPT_PERMISSIONS)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
sessionFeature = SessionFeature(
|
sessionFeature = SessionFeature(
|
||||||
sessionManager,
|
sessionManager,
|
||||||
SessionUseCases(sessionManager),
|
SessionUseCases(sessionManager),
|
||||||
|
@ -72,6 +84,7 @@ class BrowserFragment : Fragment() {
|
||||||
|
|
||||||
lifecycle.addObservers(
|
lifecycle.addObservers(
|
||||||
downloadsFeature,
|
downloadsFeature,
|
||||||
|
promptsFeature,
|
||||||
sessionFeature,
|
sessionFeature,
|
||||||
ToolbarIntegration(requireContext(),
|
ToolbarIntegration(requireContext(),
|
||||||
toolbar,
|
toolbar,
|
||||||
|
@ -83,10 +96,16 @@ class BrowserFragment : Fragment() {
|
||||||
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
|
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
|
||||||
when (requestCode) {
|
when (requestCode) {
|
||||||
REQUEST_CODE_DOWNLOAD_PERMISSIONS -> downloadsFeature.onPermissionsResult(permissions, grantResults)
|
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 {
|
companion object {
|
||||||
private const val REQUEST_CODE_DOWNLOAD_PERMISSIONS = 1
|
private const val REQUEST_CODE_DOWNLOAD_PERMISSIONS = 1
|
||||||
|
private const val REQUEST_CODE_PROMPT_PERMISSIONS = 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue