1
0
Fork 0

Closes #266 - Integrate feature-downloads component

master
Christian Sadilek 2019-01-28 16:26:28 -05:00 committed by Colin Lee
parent 0e3965632a
commit 8ac32ee988
4 changed files with 31 additions and 1 deletions

View File

@ -94,6 +94,7 @@ dependencies {
implementation Deps.mozilla_browser_toolbar
implementation Deps.mozilla_feature_awesomebar
implementation Deps.mozilla_feature_downloads
implementation Deps.mozilla_feature_intent
implementation Deps.mozilla_feature_session
implementation Deps.mozilla_feature_toolbar

View File

@ -2,6 +2,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mozilla.fenix">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"

View File

@ -12,6 +12,7 @@ import android.view.ViewGroup
import android.view.accessibility.AccessibilityManager
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.fragment_browser.*
import mozilla.components.feature.downloads.DownloadsFeature
import mozilla.components.feature.session.SessionFeature
import mozilla.components.feature.session.SessionUseCases
import mozilla.components.support.ktx.android.arch.lifecycle.addObservers
@ -22,6 +23,7 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
class BrowserFragment : Fragment() {
private lateinit var downloadsFeature: DownloadsFeature
private lateinit var sessionFeature: SessionFeature
override fun onCreateView(
@ -42,6 +44,15 @@ class BrowserFragment : Fragment() {
val sessionManager = requireComponents.core.sessionManager
downloadsFeature = DownloadsFeature(
requireContext(),
sessionManager = sessionManager,
fragmentManager = childFragmentManager,
onNeedToRequestPermissions = { permissions ->
requestPermissions(permissions, REQUEST_CODE_DOWNLOAD_PERMISSIONS)
}
)
sessionFeature = SessionFeature(
sessionManager,
SessionUseCases(sessionManager),
@ -65,5 +76,20 @@ class BrowserFragment : Fragment() {
val layoutParams = toolbar.layoutParams as CoordinatorLayout.LayoutParams
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
}
}

View File

@ -13,7 +13,7 @@ private object Versions {
const val androidx_appcompat = "1.0.2"
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 test_tools = "1.0.2"