Closes #266 - Integrate feature-downloads component
parent
0e3965632a
commit
8ac32ee988
|
@ -94,6 +94,7 @@ dependencies {
|
||||||
implementation Deps.mozilla_browser_toolbar
|
implementation Deps.mozilla_browser_toolbar
|
||||||
|
|
||||||
implementation Deps.mozilla_feature_awesomebar
|
implementation Deps.mozilla_feature_awesomebar
|
||||||
|
implementation Deps.mozilla_feature_downloads
|
||||||
implementation Deps.mozilla_feature_intent
|
implementation Deps.mozilla_feature_intent
|
||||||
implementation Deps.mozilla_feature_session
|
implementation Deps.mozilla_feature_session
|
||||||
implementation Deps.mozilla_feature_toolbar
|
implementation Deps.mozilla_feature_toolbar
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="org.mozilla.fenix">
|
package="org.mozilla.fenix">
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
|
|
@ -12,6 +12,7 @@ import android.view.ViewGroup
|
||||||
import android.view.accessibility.AccessibilityManager
|
import android.view.accessibility.AccessibilityManager
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import kotlinx.android.synthetic.main.fragment_browser.*
|
import kotlinx.android.synthetic.main.fragment_browser.*
|
||||||
|
import mozilla.components.feature.downloads.DownloadsFeature
|
||||||
import mozilla.components.feature.session.SessionFeature
|
import mozilla.components.feature.session.SessionFeature
|
||||||
import mozilla.components.feature.session.SessionUseCases
|
import mozilla.components.feature.session.SessionUseCases
|
||||||
import mozilla.components.support.ktx.android.arch.lifecycle.addObservers
|
import mozilla.components.support.ktx.android.arch.lifecycle.addObservers
|
||||||
|
@ -22,6 +23,7 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
|
|
||||||
class BrowserFragment : Fragment() {
|
class BrowserFragment : Fragment() {
|
||||||
|
|
||||||
|
private lateinit var downloadsFeature: DownloadsFeature
|
||||||
private lateinit var sessionFeature: SessionFeature
|
private lateinit var sessionFeature: SessionFeature
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
|
@ -42,6 +44,15 @@ class BrowserFragment : Fragment() {
|
||||||
|
|
||||||
val sessionManager = requireComponents.core.sessionManager
|
val sessionManager = requireComponents.core.sessionManager
|
||||||
|
|
||||||
|
downloadsFeature = DownloadsFeature(
|
||||||
|
requireContext(),
|
||||||
|
sessionManager = sessionManager,
|
||||||
|
fragmentManager = childFragmentManager,
|
||||||
|
onNeedToRequestPermissions = { permissions ->
|
||||||
|
requestPermissions(permissions, REQUEST_CODE_DOWNLOAD_PERMISSIONS)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
sessionFeature = SessionFeature(
|
sessionFeature = SessionFeature(
|
||||||
sessionManager,
|
sessionManager,
|
||||||
SessionUseCases(sessionManager),
|
SessionUseCases(sessionManager),
|
||||||
|
@ -65,5 +76,20 @@ class BrowserFragment : Fragment() {
|
||||||
val layoutParams = toolbar.layoutParams as CoordinatorLayout.LayoutParams
|
val layoutParams = toolbar.layoutParams as CoordinatorLayout.LayoutParams
|
||||||
layoutParams.behavior = null
|
layoutParams.behavior = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lifecycle.addObservers(
|
||||||
|
downloadsFeature,
|
||||||
|
sessionFeature
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
|
||||||
|
when (requestCode) {
|
||||||
|
REQUEST_CODE_DOWNLOAD_PERMISSIONS -> downloadsFeature.onPermissionsResult(permissions, grantResults)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val REQUEST_CODE_DOWNLOAD_PERMISSIONS = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ private object Versions {
|
||||||
const val androidx_appcompat = "1.0.2"
|
const val androidx_appcompat = "1.0.2"
|
||||||
const val androidx_constraint_layout = "2.0.0-alpha3"
|
const val androidx_constraint_layout = "2.0.0-alpha3"
|
||||||
|
|
||||||
const val mozilla_android_components = "0.40.0-SNAPSHOT"
|
const val mozilla_android_components = "0.41.0-SNAPSHOT"
|
||||||
|
|
||||||
const val junit = "4.12"
|
const val junit = "4.12"
|
||||||
const val test_tools = "1.0.2"
|
const val test_tools = "1.0.2"
|
||||||
|
|
Loading…
Reference in New Issue