update to gecko 150.0
This commit is contained in:
@@ -3,7 +3,7 @@ version = "1.0-SNAPSHOT"
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = "2.3.10"
|
ext.kotlin_version = "2.3.10"
|
||||||
ext.mozillaComponentsVersion = '149.0'
|
ext.mozillaComponentsVersion = '150.0'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
|
|||||||
+8
@@ -12,6 +12,7 @@ import android.content.Intent
|
|||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Environment
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
@@ -64,6 +65,7 @@ import mozilla.components.support.base.log.logger.Logger
|
|||||||
import mozilla.components.support.ktx.android.view.enterImmersiveMode
|
import mozilla.components.support.ktx.android.view.enterImmersiveMode
|
||||||
import mozilla.components.support.ktx.android.view.exitImmersiveMode
|
import mozilla.components.support.ktx.android.view.exitImmersiveMode
|
||||||
import mozilla.components.support.locale.ActivityContextWrapper
|
import mozilla.components.support.locale.ActivityContextWrapper
|
||||||
|
import mozilla.components.support.utils.DefaultDownloadFileUtils
|
||||||
import mozilla.components.support.webextensions.WebExtensionPopupObserver
|
import mozilla.components.support.webextensions.WebExtensionPopupObserver
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -299,6 +301,12 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
|
|||||||
onDownloadStopped = { download, id, status ->
|
onDownloadStopped = { download, id, status ->
|
||||||
Logger.debug("Download done. ID#$id $download with status $status")
|
Logger.debug("Download done. ID#$id $download with status $status")
|
||||||
},
|
},
|
||||||
|
downloadFileUtils = DefaultDownloadFileUtils(
|
||||||
|
context = components.profileApplicationContext,
|
||||||
|
downloadLocation = {
|
||||||
|
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path
|
||||||
|
},
|
||||||
|
),
|
||||||
downloadManager = FetchDownloadManager(
|
downloadManager = FetchDownloadManager(
|
||||||
components.profileApplicationContext,
|
components.profileApplicationContext,
|
||||||
components.core.store,
|
components.core.store,
|
||||||
|
|||||||
+9
@@ -8,6 +8,7 @@ package eu.weblibre.flutter_mozilla_components
|
|||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.os.Environment
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@@ -15,6 +16,7 @@ import android.widget.ImageButton
|
|||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import android.widget.PopupWindow
|
import android.widget.PopupWindow
|
||||||
import androidx.annotation.CallSuper
|
import androidx.annotation.CallSuper
|
||||||
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.google.android.material.appbar.AppBarLayout
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
import com.google.android.material.color.MaterialColors
|
import com.google.android.material.color.MaterialColors
|
||||||
import com.google.android.material.materialswitch.MaterialSwitch
|
import com.google.android.material.materialswitch.MaterialSwitch
|
||||||
@@ -88,10 +90,16 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler
|
|||||||
ContextMenuCandidate.createSaveImageCandidate(
|
ContextMenuCandidate.createSaveImageCandidate(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
components.useCases.contextMenuUseCases,
|
components.useCases.contextMenuUseCases,
|
||||||
|
downloadsLocation = {
|
||||||
|
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path
|
||||||
|
},
|
||||||
),
|
),
|
||||||
ContextMenuCandidate.createSaveVideoAudioCandidate(
|
ContextMenuCandidate.createSaveVideoAudioCandidate(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
components.useCases.contextMenuUseCases,
|
components.useCases.contextMenuUseCases,
|
||||||
|
downloadsLocation = {
|
||||||
|
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path
|
||||||
|
},
|
||||||
),
|
),
|
||||||
ContextMenuCandidate.createCopyImageLocationCandidate(requireContext(), view),
|
ContextMenuCandidate.createCopyImageLocationCandidate(requireContext(), view),
|
||||||
)
|
)
|
||||||
@@ -330,6 +338,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler
|
|||||||
customTabsStore = components.core.customTabsStore,
|
customTabsStore = components.core.customTabsStore,
|
||||||
tabId = sessionId,
|
tabId = sessionId,
|
||||||
manifest = manifest,
|
manifest = manifest,
|
||||||
|
scope = viewLifecycleOwner.lifecycleScope,
|
||||||
) { toolbarVisible ->
|
) { toolbarVisible ->
|
||||||
Logger.debug("Custom tab toolbar visibility: $toolbarVisible")
|
Logger.debug("Custom tab toolbar visibility: $toolbarVisible")
|
||||||
},
|
},
|
||||||
|
|||||||
+7
@@ -26,6 +26,7 @@ import mozilla.components.feature.downloads.manager.FetchDownloadManager
|
|||||||
import mozilla.components.feature.prompts.PromptFeature
|
import mozilla.components.feature.prompts.PromptFeature
|
||||||
import mozilla.components.support.base.feature.UserInteractionHandler
|
import mozilla.components.support.base.feature.UserInteractionHandler
|
||||||
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
|
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
|
||||||
|
import mozilla.components.support.utils.DefaultDownloadFileUtils
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides shared functionality to fragments for add-on popups and settings.
|
* Provides shared functionality to fragments for add-on popups and settings.
|
||||||
@@ -71,6 +72,12 @@ abstract class AddonPopupBaseFragment : Fragment(), EngineSession.Observer, User
|
|||||||
useCases = components.useCases.downloadsUseCases,
|
useCases = components.useCases.downloadsUseCases,
|
||||||
fragmentManager = childFragmentManager,
|
fragmentManager = childFragmentManager,
|
||||||
tabId = it.id,
|
tabId = it.id,
|
||||||
|
downloadFileUtils = DefaultDownloadFileUtils(
|
||||||
|
context = components.profileApplicationContext,
|
||||||
|
downloadLocation = {
|
||||||
|
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path
|
||||||
|
},
|
||||||
|
),
|
||||||
downloadManager = FetchDownloadManager(
|
downloadManager = FetchDownloadManager(
|
||||||
requireContext().applicationContext,
|
requireContext().applicationContext,
|
||||||
components.core.store,
|
components.core.store,
|
||||||
|
|||||||
+1
-1
@@ -322,7 +322,7 @@ class WebExtensionPromptFeature(
|
|||||||
}
|
}
|
||||||
|
|
||||||
is WebExtensionInstallException.SoftBlocked -> {
|
is WebExtensionInstallException.SoftBlocked -> {
|
||||||
context.getString(MozComp.string.mozac_feature_addons_soft_blocked_1, addonName)
|
context.getString(MozComp.string.mozac_feature_addons_soft_blocked_2, addonName)
|
||||||
}
|
}
|
||||||
|
|
||||||
is WebExtensionInstallException.UserCancelled -> {
|
is WebExtensionInstallException.UserCancelled -> {
|
||||||
|
|||||||
-1
@@ -58,7 +58,6 @@ class GeckoDownloadsApiImpl : GeckoDownloadsApi {
|
|||||||
currentBytesCopied = currentBytesCopied ?: 0L,
|
currentBytesCopied = currentBytesCopied ?: 0L,
|
||||||
status = status?.toMozillaStatus() ?: mozilla.components.browser.state.state.content.DownloadState.Status.INITIATED,
|
status = status?.toMozillaStatus() ?: mozilla.components.browser.state.state.content.DownloadState.Status.INITIATED,
|
||||||
userAgent = userAgent,
|
userAgent = userAgent,
|
||||||
destinationDirectory = destinationDirectory ?: Environment.DIRECTORY_DOWNLOADS,
|
|
||||||
directoryPath = directoryPath ?: Environment.getExternalStoragePublicDirectory(
|
directoryPath = directoryPath ?: Environment.getExternalStoragePublicDirectory(
|
||||||
destinationDirectory ?: Environment.DIRECTORY_DOWNLOADS
|
destinationDirectory ?: Environment.DIRECTORY_DOWNLOADS
|
||||||
).path,
|
).path,
|
||||||
|
|||||||
+13
-1
@@ -8,6 +8,7 @@ package eu.weblibre.flutter_mozilla_components.components
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
|
import android.os.Environment
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import eu.weblibre.flutter_mozilla_components.Components
|
import eu.weblibre.flutter_mozilla_components.Components
|
||||||
@@ -72,6 +73,7 @@ import mozilla.components.support.base.worker.Frequency
|
|||||||
import org.mozilla.geckoview.GeckoRuntime
|
import org.mozilla.geckoview.GeckoRuntime
|
||||||
import kotlinx.coroutines.MainScope
|
import kotlinx.coroutines.MainScope
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
import mozilla.components.support.utils.DefaultDownloadFileUtils
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
private const val AMO_COLLECTION_MAX_CACHE_AGE = 24 * 60L
|
private const val AMO_COLLECTION_MAX_CACHE_AGE = 24 * 60L
|
||||||
@@ -205,7 +207,17 @@ class Core(
|
|||||||
middleware = listOf(
|
middleware = listOf(
|
||||||
HistoryMetadataMiddleware(historyMetadataService),
|
HistoryMetadataMiddleware(historyMetadataService),
|
||||||
FlutterEventMiddleware(flutterEvents),
|
FlutterEventMiddleware(flutterEvents),
|
||||||
DownloadMiddleware(context, DownloadService::class.java, { false }),
|
DownloadMiddleware(
|
||||||
|
applicationContext = context,
|
||||||
|
downloadServiceClass = DownloadService::class.java,
|
||||||
|
deleteFileFromStorage = { false },
|
||||||
|
downloadFileUtils = DefaultDownloadFileUtils(
|
||||||
|
context = context,
|
||||||
|
downloadLocation = {
|
||||||
|
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
ThumbnailsMiddleware(thumbnailStorage),
|
ThumbnailsMiddleware(thumbnailStorage),
|
||||||
ReaderViewMiddleware(),
|
ReaderViewMiddleware(),
|
||||||
UndoMiddleware(),
|
UndoMiddleware(),
|
||||||
|
|||||||
+13
-1
@@ -5,6 +5,7 @@
|
|||||||
package eu.weblibre.flutter_mozilla_components.components
|
package eu.weblibre.flutter_mozilla_components.components
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.os.Environment
|
||||||
import mozilla.components.browser.state.store.BrowserStore
|
import mozilla.components.browser.state.store.BrowserStore
|
||||||
import mozilla.components.concept.engine.Engine
|
import mozilla.components.concept.engine.Engine
|
||||||
import mozilla.components.feature.app.links.AppLinksUseCases
|
import mozilla.components.feature.app.links.AppLinksUseCases
|
||||||
@@ -17,6 +18,7 @@ import mozilla.components.feature.pwa.WebAppShortcutManager
|
|||||||
import mozilla.components.feature.pwa.WebAppUseCases
|
import mozilla.components.feature.pwa.WebAppUseCases
|
||||||
import mozilla.components.feature.tabs.CustomTabsUseCases
|
import mozilla.components.feature.tabs.CustomTabsUseCases
|
||||||
import mozilla.components.feature.tabs.TabsUseCases
|
import mozilla.components.feature.tabs.TabsUseCases
|
||||||
|
import mozilla.components.support.utils.DefaultDownloadFileUtils
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Component group for all use cases. Use cases are provided by feature
|
* Component group for all use cases. Use cases are provided by feature
|
||||||
@@ -46,7 +48,17 @@ class UseCases(
|
|||||||
/**
|
/**
|
||||||
* Use cases related to the downloads feature.
|
* Use cases related to the downloads feature.
|
||||||
*/
|
*/
|
||||||
val downloadsUseCases: DownloadsUseCases by lazy { DownloadsUseCases(store, context) }
|
val downloadsUseCases: DownloadsUseCases by lazy {
|
||||||
|
DownloadsUseCases(
|
||||||
|
store = store,
|
||||||
|
downloadFileUtils = DefaultDownloadFileUtils(
|
||||||
|
context = context,
|
||||||
|
downloadLocation = {
|
||||||
|
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use cases related to the context menu feature.
|
* Use cases related to the context menu feature.
|
||||||
|
|||||||
+8
@@ -14,6 +14,8 @@ import mozilla.components.feature.downloads.DefaultPackageNameProvider
|
|||||||
import mozilla.components.feature.downloads.DownloadEstimator
|
import mozilla.components.feature.downloads.DownloadEstimator
|
||||||
import mozilla.components.feature.downloads.FileSizeFormatter
|
import mozilla.components.feature.downloads.FileSizeFormatter
|
||||||
import mozilla.components.feature.downloads.PackageNameProvider
|
import mozilla.components.feature.downloads.PackageNameProvider
|
||||||
|
import mozilla.components.feature.downloads.filewriter.DefaultDownloadFileWriter
|
||||||
|
import mozilla.components.feature.downloads.filewriter.DownloadFileWriter
|
||||||
import mozilla.components.support.base.android.NotificationsDelegate
|
import mozilla.components.support.base.android.NotificationsDelegate
|
||||||
import mozilla.components.support.utils.DefaultDownloadFileUtils
|
import mozilla.components.support.utils.DefaultDownloadFileUtils
|
||||||
import mozilla.components.support.utils.DownloadFileUtils
|
import mozilla.components.support.utils.DownloadFileUtils
|
||||||
@@ -41,4 +43,10 @@ class DownloadService : AbstractFetchDownloadService() {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
override val downloadFileWriter: DownloadFileWriter by lazy {
|
||||||
|
DefaultDownloadFileWriter(
|
||||||
|
context = applicationContext,
|
||||||
|
downloadFileUtils = downloadFileUtils,
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user