upgrade deps

This commit is contained in:
Fabian Freund
2025-04-18 21:44:44 +02:00
parent 1e5512eb8e
commit 2063791660
18 changed files with 78 additions and 55 deletions
+1 -4
View File
@@ -1,4 +1 @@
* refactor all providers.dart and split them up * check al sqlite IS with and conditions to match values with and where both params are optional
* check on various occasions if/wehn create new tab and update of current tab isntead
* improve opening speed of website widget
*
+1 -1
View File
@@ -5,7 +5,7 @@ ext {
} }
buildscript { buildscript {
ext.kotlin_version = '1.9.22' ext.kotlin_version = '2.1.20'
} }
allprojects { allprojects {
+2 -2
View File
@@ -18,8 +18,8 @@ pluginManagement {
plugins { plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.7.0" apply false id "com.android.application" version '8.9.1' apply false
id "org.jetbrains.kotlin.android" version "1.9.22" apply false id "org.jetbrains.kotlin.android" version "2.1.20" apply false
} }
include ":app" include ":app"
+27 -11
View File
@@ -7,7 +7,7 @@ environment:
sdk: '>=3.7.0 <4.0.0' sdk: '>=3.7.0 <4.0.0'
dependencies: dependencies:
background_fetch: ^1.3.7 background_fetch: ^1.3.8
collection: ^1.19.1 collection: ^1.19.1
copy_with_extension: ^6.0.1 copy_with_extension: ^6.0.1
crypto: ^3.0.6 crypto: ^3.0.6
@@ -15,7 +15,7 @@ dependencies:
dynamic_color: ^1.7.0 dynamic_color: ^1.7.0
exceptions: ^0.6.1 exceptions: ^0.6.1
fading_scroll: ^0.9.1 fading_scroll: ^0.9.1
fast_equatable: ^1.3.0 fast_equatable: ^1.3.1
flutter: flutter:
sdk: flutter sdk: flutter
flutter_auto_size_text: ^4.1.0 flutter_auto_size_text: ^4.1.0
@@ -26,7 +26,7 @@ dependencies:
path: ../../flutter_chat_ui/packages/flutter_chat_ui path: ../../flutter_chat_ui/packages/flutter_chat_ui
flutter_highlight: ^0.7.0 flutter_highlight: ^0.7.0
flutter_hooks: ^0.21.2 flutter_hooks: ^0.21.2
flutter_markdown: ^0.7.6+2 flutter_markdown: ^0.7.7
flutter_material_design_icons: ^1.1.7447 flutter_material_design_icons: ^1.1.7447
flutter_mozilla_components: flutter_mozilla_components:
path: ../packages/flutter_mozilla_components path: ../packages/flutter_mozilla_components
@@ -39,18 +39,24 @@ dependencies:
ref: web_search ref: web_search
flutter_slidable: ^4.0.0 flutter_slidable: ^4.0.0
flutter_svg: ^2.0.17 flutter_svg: ^2.0.17
go_router: ^14.8.1 go_router: ^15.0.0
google_fonts: ^6.2.1 google_fonts: ^6.2.1
home_widget: ^0.7.0+1 home_widget: ^0.7.0+1
hooks_riverpod: ^2.6.1 hooks_riverpod: ^2.6.1
html: ^0.15.5 html: ^0.15.5+1
http: ^1.3.0 http: ^1.3.0
intl: ^0.19.0 intl: ^0.19.0
json_annotation: ^4.9.0 json_annotation: ^4.9.0
langchain: langchain:
path: ../../langchain_dart/packages/langchain git:
langchain_openai: url: https://github.com/FaFre/langchain_dart.git
path: ../../langchain_dart/packages/langchain_openai ref: static_objectbox
path: packages/langchain
langchain_openai:
git:
url: https://github.com/FaFre/langchain_dart.git
ref: static_objectbox
path: packages/langchain_openai
lexo_rank: lexo_rank:
git: git:
url: https://github.com/FaFre/lexo_rank.git url: https://github.com/FaFre/lexo_rank.git
@@ -62,7 +68,7 @@ dependencies:
path: ^1.9.1 path: ^1.9.1
path_provider: ^2.1.5 path_provider: ^2.1.5
pocketbase: ^0.22.0 pocketbase: ^0.22.0
provider: ^6.1.2 provider: ^6.1.4
riverpod: ^2.6.1 riverpod: ^2.6.1
riverpod_annotation: ^2.6.1 riverpod_annotation: ^2.6.1
rss_dart: ^1.0.12 rss_dart: ^1.0.12
@@ -74,7 +80,7 @@ dependencies:
git: git:
url: https://github.com/FaFre/speech_to_text_google_dialog.git url: https://github.com/FaFre/speech_to_text_google_dialog.git
sqlite3: ^2.7.5 sqlite3: ^2.7.5
sqlite3_flutter_libs: ^0.5.31 sqlite3_flutter_libs: ^0.5.32
sqlite3_vec: sqlite3_vec:
git: https://github.com/FaFre/sqlite3_vec.git git: https://github.com/FaFre/sqlite3_vec.git
text_scroll: ^0.2.0 text_scroll: ^0.2.0
@@ -95,6 +101,16 @@ dependency_overrides:
path: ../../flutter_chat_ui/packages/cross_cache path: ../../flutter_chat_ui/packages/cross_cache
flutter_chat_core: flutter_chat_core:
path: ../../flutter_chat_ui/packages/flutter_chat_core path: ../../flutter_chat_ui/packages/flutter_chat_core
langchain_core:
git:
url: https://github.com/FaFre/langchain_dart.git
ref: static_objectbox
path: packages/langchain_core
tavily_dart:
git:
url: https://github.com/FaFre/langchain_dart.git
ref: static_objectbox
path: packages/tavily_dart
dev_dependencies: dev_dependencies:
build_runner: ^2.4.15 build_runner: ^2.4.15
@@ -105,7 +121,7 @@ dev_dependencies:
fast_equatable_lint: ^0.3.1 fast_equatable_lint: ^0.3.1
flutter_launcher_icons: ^0.14.3 flutter_launcher_icons: ^0.14.3
go_router_builder: ^2.8.2 go_router_builder: ^2.8.2
json_serializable: ^6.9.4 json_serializable: ^6.9.5
lint: ^2.8.0 lint: ^2.8.0
riverpod_generator: ^2.6.4 riverpod_generator: ^2.6.4
riverpod_lint: ^2.6.4 riverpod_lint: ^2.6.4
+11 -1
View File
@@ -1,4 +1,4 @@
# melos_managed_dependency_overrides: flutter_mozilla_components,cross_cache,flutter_chat_core # melos_managed_dependency_overrides: flutter_mozilla_components,cross_cache,flutter_chat_core,langchain_core,tavily_dart
dependency_overrides: dependency_overrides:
flutter_mozilla_components: flutter_mozilla_components:
path: ../packages/flutter_mozilla_components path: ../packages/flutter_mozilla_components
@@ -6,3 +6,13 @@ dependency_overrides:
path: ../../flutter_chat_ui/packages/cross_cache path: ../../flutter_chat_ui/packages/cross_cache
flutter_chat_core: flutter_chat_core:
path: ../../flutter_chat_ui/packages/flutter_chat_core path: ../../flutter_chat_ui/packages/flutter_chat_core
langchain_core:
git:
url: https://github.com/FaFre/langchain_dart.git
ref: static_objectbox
path: packages/langchain_core
tavily_dart:
git:
url: https://github.com/FaFre/langchain_dart.git
ref: static_objectbox
path: packages/tavily_dart
@@ -2,15 +2,15 @@ group = "eu.lensai.flutter_mozilla_components"
version = "1.0-SNAPSHOT" version = "1.0-SNAPSHOT"
buildscript { buildscript {
ext.kotlin_version = "1.9.22" ext.kotlin_version = "2.1.20"
ext.mozillaComponentsVersion = '136.0.20250127162202' ext.mozillaComponentsVersion = '139.0.20250417022706'
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath("com.android.tools.build:gradle:8.7.0") classpath("com.android.tools.build:gradle:8.7.3")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
} }
} }
@@ -135,13 +135,13 @@ dependencies {
implementation "org.mozilla.components:feature-webnotifications:$mozillaComponentsVersion" implementation "org.mozilla.components:feature-webnotifications:$mozillaComponentsVersion"
implementation "org.mozilla.components:ui-widgets:$mozillaComponentsVersion" implementation "org.mozilla.components:ui-widgets:$mozillaComponentsVersion"
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0' implementation 'androidx.coordinatorlayout:coordinatorlayout:1.3.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.preference:preference-ktx:1.2.1' implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.android.material:material:1.12.0'
//https://stackoverflow.com/questions/73782320/onbackinvokedcallback-is-not-enabled-for-the-application-in-set-androidenableo //https://stackoverflow.com/questions/73782320/onbackinvokedcallback-is-not-enabled-for-the-application-in-set-androidenableo
implementation 'androidx.activity:activity-ktx:1.10.0' implementation 'androidx.activity:activity-ktx:1.10.1'
implementation 'androidx.paging:paging-runtime-ktx:3.3.5' implementation 'androidx.paging:paging-runtime-ktx:3.3.6'
testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.jetbrains.kotlin:kotlin-test")
testImplementation("org.mockito:mockito-core:5.15.2") testImplementation("org.mockito:mockito-core:5.15.2")
@@ -22,7 +22,7 @@ import mozilla.components.concept.engine.EngineView
import mozilla.components.feature.app.links.AppLinksFeature import mozilla.components.feature.app.links.AppLinksFeature
import mozilla.components.feature.downloads.DownloadsFeature import mozilla.components.feature.downloads.DownloadsFeature
import mozilla.components.feature.downloads.manager.FetchDownloadManager import mozilla.components.feature.downloads.manager.FetchDownloadManager
import mozilla.components.feature.downloads.temporary.ShareDownloadFeature import mozilla.components.feature.downloads.temporary.ShareResourceFeature
import mozilla.components.feature.media.fullscreen.MediaSessionFullscreenFeature import mozilla.components.feature.media.fullscreen.MediaSessionFullscreenFeature
import mozilla.components.feature.privatemode.feature.SecureWindowFeature import mozilla.components.feature.privatemode.feature.SecureWindowFeature
import mozilla.components.feature.prompts.PromptFeature import mozilla.components.feature.prompts.PromptFeature
@@ -48,7 +48,7 @@ import mozilla.components.support.locale.ActivityContextWrapper
@SuppressWarnings("LargeClass") @SuppressWarnings("LargeClass")
abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, ActivityResultHandler { abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, ActivityResultHandler {
private val sessionFeature = ViewBoundFeatureWrapper<SessionFeature>() private val sessionFeature = ViewBoundFeatureWrapper<SessionFeature>()
private val shareDownloadsFeature = ViewBoundFeatureWrapper<ShareDownloadFeature>() private val shareResourceFeature = ViewBoundFeatureWrapper<ShareResourceFeature>()
private val downloadsFeature = ViewBoundFeatureWrapper<DownloadsFeature>() private val downloadsFeature = ViewBoundFeatureWrapper<DownloadsFeature>()
private val appLinksFeature = ViewBoundFeatureWrapper<AppLinksFeature>() private val appLinksFeature = ViewBoundFeatureWrapper<AppLinksFeature>()
private val promptFeature = ViewBoundFeatureWrapper<PromptFeature>() private val promptFeature = ViewBoundFeatureWrapper<PromptFeature>()
@@ -151,8 +151,8 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Activit
view = view, view = view,
) )
shareDownloadsFeature.set( shareResourceFeature.set(
ShareDownloadFeature( ShareResourceFeature(
context = requireContext().applicationContext, context = requireContext().applicationContext,
httpClient = components.core.client, httpClient = components.core.client,
store = components.core.store, store = components.core.store,
@@ -16,6 +16,8 @@ import eu.lensai.flutter_mozilla_components.pigeons.GeckoTabContentEvents
import eu.lensai.flutter_mozilla_components.pigeons.ReaderViewController import eu.lensai.flutter_mozilla_components.pigeons.ReaderViewController
import mozilla.components.concept.engine.EngineView import mozilla.components.concept.engine.EngineView
import mozilla.components.concept.engine.selection.SelectionActionDelegate import mozilla.components.concept.engine.selection.SelectionActionDelegate
import mozilla.components.feature.downloads.DefaultFileSizeFormatter
import mozilla.components.feature.downloads.FileSizeFormatter
import mozilla.components.support.base.android.NotificationsDelegate import mozilla.components.support.base.android.NotificationsDelegate
class Components(private val context: Context, class Components(private val context: Context,
@@ -42,4 +44,6 @@ class Components(private val context: Context,
notificationManagerCompat, notificationManagerCompat,
) )
} }
val fileSizeFormatter: FileSizeFormatter by lazy { DefaultFileSizeFormatter(context) }
} }
@@ -103,6 +103,7 @@ class WebExtensionPromptFeature(
addon = addon, addon = addon,
promptRequest = promptRequest, promptRequest = promptRequest,
permissions = promptRequest.permissions, permissions = promptRequest.permissions,
origins = promptRequest.origins,
) )
} }
@@ -156,12 +157,14 @@ class WebExtensionPromptFeature(
addon: Addon, addon: Addon,
promptRequest: WebExtensionPromptRequest.AfterInstallation.Permissions, promptRequest: WebExtensionPromptRequest.AfterInstallation.Permissions,
permissions: List<String> = emptyList(), permissions: List<String> = emptyList(),
origins: List<String> = emptyList(),
forOptionalPermissions: Boolean = false, forOptionalPermissions: Boolean = false,
) { ) {
if (!isInstallationInProgress && !hasExistingPermissionDialogFragment()) { if (!isInstallationInProgress && !hasExistingPermissionDialogFragment()) {
val dialog = PermissionsDialogFragment.newInstance( val dialog = PermissionsDialogFragment.newInstance(
addon = addon, addon = addon,
permissions = permissions, permissions = permissions,
origins = origins,
forOptionalPermissions = forOptionalPermissions, forOptionalPermissions = forOptionalPermissions,
onPositiveButtonClicked = { _, privateBrowsingAllowed -> onPositiveButtonClicked = { _, privateBrowsingAllowed ->
handlePermissions( handlePermissions(
@@ -7,7 +7,8 @@ import eu.lensai.flutter_mozilla_components.pigeons.GeckoDownloadsApi
import eu.lensai.flutter_mozilla_components.pigeons.ShareInternetResourceState import eu.lensai.flutter_mozilla_components.pigeons.ShareInternetResourceState
import mozilla.components.browser.state.action.ContentAction import mozilla.components.browser.state.action.ContentAction
import mozilla.components.browser.state.action.CopyInternetResourceAction import mozilla.components.browser.state.action.CopyInternetResourceAction
import mozilla.components.browser.state.action.ShareInternetResourceAction import mozilla.components.browser.state.action.ShareResourceAction
import mozilla.components.browser.state.state.content.ShareResourceState
import java.util.UUID import java.util.UUID
class GeckoDownloadsApiImpl : GeckoDownloadsApi { class GeckoDownloadsApiImpl : GeckoDownloadsApi {
@@ -29,11 +30,11 @@ class GeckoDownloadsApiImpl : GeckoDownloadsApi {
} }
override fun shareInternetResource(tabId: String, state: ShareInternetResourceState) { override fun shareInternetResource(tabId: String, state: ShareInternetResourceState) {
components.core.store.dispatch(ShareInternetResourceAction.AddShareAction(tabId, state.toMozillaShareInternetResourceState())) components.core.store.dispatch(ShareResourceAction.AddShareAction(tabId, state.toMozillaShareInternetResourceState()))
} }
private fun ShareInternetResourceState.toMozillaShareInternetResourceState(): mozilla.components.browser.state.state.content.ShareInternetResourceState { private fun ShareInternetResourceState.toMozillaShareInternetResourceState(): ShareResourceState.InternetResource {
return mozilla.components.browser.state.state.content.ShareInternetResourceState( return ShareResourceState.InternetResource(
url = url, url = url,
contentType = contentType, contentType = contentType,
private = private, private = private,
@@ -42,16 +43,6 @@ class GeckoDownloadsApiImpl : GeckoDownloadsApi {
) )
} }
fun mozilla.components.browser.state.state.content.ShareInternetResourceState.toPigeonShareInternetResourceState(): eu.lensai.flutter_mozilla_components.pigeons.ShareInternetResourceState {
return eu.lensai.flutter_mozilla_components.pigeons.ShareInternetResourceState(
url = url,
contentType = contentType,
private = private,
referrerUrl = referrerUrl
)
}
private fun DownloadState.toMozillaDownloadState(): mozilla.components.browser.state.state.content.DownloadState { private fun DownloadState.toMozillaDownloadState(): mozilla.components.browser.state.state.content.DownloadState {
return mozilla.components.browser.state.state.content.DownloadState( return mozilla.components.browser.state.state.content.DownloadState(
url = url, url = url,
@@ -11,7 +11,7 @@ import mozilla.components.concept.engine.webextension.MessageHandler
import mozilla.components.concept.engine.webextension.Port import mozilla.components.concept.engine.webextension.Port
import mozilla.components.concept.engine.webextension.WebExtensionRuntime import mozilla.components.concept.engine.webextension.WebExtensionRuntime
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.webextensions.WebExtensionController import mozilla.components.support.webextensions.BuiltInWebExtensionController
import org.json.JSONArray import org.json.JSONArray
import org.json.JSONObject import org.json.JSONObject
import org.mozilla.gecko.util.ThreadUtils.runOnUiThread import org.mozilla.gecko.util.ThreadUtils.runOnUiThread
@@ -30,7 +30,7 @@ object BrowserExtensionFeature {
@VisibleForTesting @VisibleForTesting
// This is an internal var to make it mutable for unit testing purposes only // This is an internal var to make it mutable for unit testing purposes only
internal var extensionController = WebExtensionController( internal var extensionController = BuiltInWebExtensionController(
PREF_MANAGER_REPORTER_EXTENSION_ID, PREF_MANAGER_REPORTER_EXTENSION_ID,
PREF_MANAGER_REPORTER_EXTENSION_URL, PREF_MANAGER_REPORTER_EXTENSION_URL,
PREF_MANAGER_REPORTER_MESSAGING_ID PREF_MANAGER_REPORTER_MESSAGING_ID
@@ -10,7 +10,7 @@ import mozilla.components.concept.engine.webextension.MessageHandler
import mozilla.components.concept.engine.webextension.Port import mozilla.components.concept.engine.webextension.Port
import mozilla.components.concept.engine.webextension.WebExtensionRuntime import mozilla.components.concept.engine.webextension.WebExtensionRuntime
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.webextensions.WebExtensionController import mozilla.components.support.webextensions.BuiltInWebExtensionController
import org.json.JSONObject import org.json.JSONObject
object ContainerProxyFeature { object ContainerProxyFeature {
@@ -26,7 +26,7 @@ object ContainerProxyFeature {
@VisibleForTesting @VisibleForTesting
// This is an internal var to make it mutable for unit testing purposes only // This is an internal var to make it mutable for unit testing purposes only
internal var extensionController = WebExtensionController( internal var extensionController = BuiltInWebExtensionController(
CONTAINER_PROXY_REPORTER_EXTENSION_ID, CONTAINER_PROXY_REPORTER_EXTENSION_ID,
CONTAINER_PROXY_REPORTER_EXTENSION_URL, CONTAINER_PROXY_REPORTER_EXTENSION_URL,
CONTAINER_PROXY_REPORTER_MESSAGING_ID, CONTAINER_PROXY_REPORTER_MESSAGING_ID,
@@ -10,7 +10,7 @@ import mozilla.components.concept.engine.webextension.MessageHandler
import mozilla.components.concept.engine.webextension.Port import mozilla.components.concept.engine.webextension.Port
import mozilla.components.concept.engine.webextension.WebExtensionRuntime import mozilla.components.concept.engine.webextension.WebExtensionRuntime
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.webextensions.WebExtensionController import mozilla.components.support.webextensions.BuiltInWebExtensionController
import org.json.JSONObject import org.json.JSONObject
interface ResultConsumer<T> { interface ResultConsumer<T> {
@@ -35,7 +35,7 @@ object CookieManagerFeature {
@VisibleForTesting @VisibleForTesting
// This is an internal var to make it mutable for unit testing purposes only // This is an internal var to make it mutable for unit testing purposes only
internal var extensionController = WebExtensionController( internal var extensionController = BuiltInWebExtensionController(
COOKIE_MANAGER_REPORTER_EXTENSION_ID, COOKIE_MANAGER_REPORTER_EXTENSION_ID,
COOKIE_MANAGER_REPORTER_EXTENSION_URL, COOKIE_MANAGER_REPORTER_EXTENSION_URL,
COOKIE_MANAGER_REPORTER_MESSAGING_ID, COOKIE_MANAGER_REPORTER_MESSAGING_ID,
@@ -10,7 +10,7 @@ import mozilla.components.concept.engine.webextension.MessageHandler
import mozilla.components.concept.engine.webextension.Port import mozilla.components.concept.engine.webextension.Port
import mozilla.components.concept.engine.webextension.WebExtensionRuntime import mozilla.components.concept.engine.webextension.WebExtensionRuntime
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.webextensions.WebExtensionController import mozilla.components.support.webextensions.BuiltInWebExtensionController
import org.json.JSONObject import org.json.JSONObject
object PrefManagerFeature { object PrefManagerFeature {
@@ -26,7 +26,7 @@ object PrefManagerFeature {
@VisibleForTesting @VisibleForTesting
// This is an internal var to make it mutable for unit testing purposes only // This is an internal var to make it mutable for unit testing purposes only
internal var extensionController = WebExtensionController( internal var extensionController = BuiltInWebExtensionController(
PREF_MANAGER_REPORTER_EXTENSION_ID, PREF_MANAGER_REPORTER_EXTENSION_ID,
PREF_MANAGER_REPORTER_EXTENSION_URL, PREF_MANAGER_REPORTER_EXTENSION_URL,
PREF_MANAGER_REPORTER_MESSAGING_ID, PREF_MANAGER_REPORTER_MESSAGING_ID,
@@ -16,7 +16,7 @@ import mozilla.components.support.ktx.android.org.json.tryGetInt
import mozilla.components.support.ktx.android.org.json.tryGetString import mozilla.components.support.ktx.android.org.json.tryGetString
import mozilla.components.support.ktx.kotlinx.coroutines.flow.filterChanged import mozilla.components.support.ktx.kotlinx.coroutines.flow.filterChanged
import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifAnyChanged import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifAnyChanged
import mozilla.components.support.webextensions.WebExtensionController import mozilla.components.support.webextensions.BuiltInWebExtensionController
import org.json.JSONObject import org.json.JSONObject
class ReadabilityExtractFeature( class ReadabilityExtractFeature(
@@ -61,7 +61,7 @@ class ReadabilityExtractFeature(
private var sessionScope: CoroutineScope? = null private var sessionScope: CoroutineScope? = null
private var historyScope: CoroutineScope? = null private var historyScope: CoroutineScope? = null
private var extensionController = WebExtensionController( private var extensionController = BuiltInWebExtensionController(
READER_EXTRACT_EXTENSION_ID, READER_EXTRACT_EXTENSION_ID,
READER_EXTRACT_EXTENSION_URL, READER_EXTRACT_EXTENSION_URL,
READER_EXTRACT_CONTENT_PORT, READER_EXTRACT_CONTENT_PORT,
@@ -3,6 +3,7 @@ package eu.lensai.flutter_mozilla_components.services
import eu.lensai.flutter_mozilla_components.GlobalComponents import eu.lensai.flutter_mozilla_components.GlobalComponents
import mozilla.components.browser.state.store.BrowserStore import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.feature.downloads.AbstractFetchDownloadService import mozilla.components.feature.downloads.AbstractFetchDownloadService
import mozilla.components.feature.downloads.FileSizeFormatter
import mozilla.components.support.base.android.NotificationsDelegate import mozilla.components.support.base.android.NotificationsDelegate
class DownloadService : AbstractFetchDownloadService() { class DownloadService : AbstractFetchDownloadService() {
@@ -13,4 +14,5 @@ class DownloadService : AbstractFetchDownloadService() {
override val httpClient by lazy { components.core.client } override val httpClient by lazy { components.core.client }
override val store: BrowserStore by lazy { components.core.store } override val store: BrowserStore by lazy { components.core.store }
override val notificationsDelegate: NotificationsDelegate by lazy { components.notificationsDelegate } override val notificationsDelegate: NotificationsDelegate by lazy { components.notificationsDelegate }
override val fileSizeFormatter: FileSizeFormatter by lazy { components.fileSizeFormatter }
} }
@@ -19,7 +19,7 @@ pluginManagement {
plugins { plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.7.0" apply false id "com.android.application" version "8.7.0" apply false
id "org.jetbrains.kotlin.android" version "1.9.22" apply false id "org.jetbrains.kotlin.android" version "2.1.20" apply false
} }
include ":app" include ":app"
@@ -16,7 +16,7 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
lint: ^2.8.0 lint: ^2.8.0
pigeon: ^24.2.2 pigeon: ^25.3.1
# For information on the generic Dart part of this file, see the # For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec # following page: https://dart.dev/tools/pub/pubspec