diff --git a/components/commons/pubspec.lock b/components/commons/pubspec.lock deleted file mode 100644 index eec05bd0..00000000 --- a/components/commons/pubspec.lock +++ /dev/null @@ -1,445 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 - url: "https://pub.dev" - source: hosted - version: "64.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" - url: "https://pub.dev" - source: hosted - version: "6.2.0" - archive: - dependency: "direct main" - description: - name: archive - sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a" - url: "https://pub.dev" - source: hosted - version: "3.3.7" - args: - dependency: transitive - description: - name: args - sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440" - url: "https://pub.dev" - source: hosted - version: "2.4.0" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 - url: "https://pub.dev" - source: hosted - version: "1.17.2" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" - url: "https://pub.dev" - source: hosted - version: "1.6.3" - crypto: - dependency: "direct main" - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - dartx: - dependency: "direct main" - description: - name: dartx - sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - dfunc: - dependency: "direct main" - description: - name: dfunc - sha256: "5a8d6afe681ea5db8047dc7fc0d5035b66f77ed71721165b3ac588eaeb59a6ef" - url: "https://pub.dev" - source: hosted - version: "0.9.0" - file: - dependency: transitive - description: - name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - fimber: - dependency: "direct main" - description: - name: fimber - sha256: "42fcfa33acd43556c1e7ebfc12c2b03893418bc04a07931368c3573e228af2f0" - url: "https://pub.dev" - source: hosted - version: "0.7.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - glob: - dependency: transitive - description: - name: glob - sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - io: - dependency: transitive - description: - name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - lints: - dependency: "direct dev" - description: - name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - logging: - dependency: transitive - description: - name: logging - sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d" - url: "https://pub.dev" - source: hosted - version: "1.1.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - meta: - dependency: transitive - description: - name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - mime: - dependency: transitive - description: - name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.dev" - source: hosted - version: "1.0.4" - node_preamble: - dependency: transitive - description: - name: node_preamble - sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" - url: "https://pub.dev" - source: hosted - version: "2.0.2" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path: - dependency: "direct main" - description: - name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" - url: "https://pub.dev" - source: hosted - version: "1.8.3" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.dev" - source: hosted - version: "3.7.3" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "307de764d305289ff24ad257ad5c5793ce56d04947599ad68b3baa124105fc17" - url: "https://pub.dev" - source: hosted - version: "2.1.3" - shelf: - dependency: transitive - description: - name: shelf - sha256: c24a96135a2ccd62c64b69315a14adc5c3419df63b4d7c05832a346fdb73682c - url: "https://pub.dev" - source: hosted - version: "1.4.0" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - sha256: aef74dc9195746a384843102142ab65b6a4735bb3beea791e63527b88cc83306 - url: "https://pub.dev" - source: hosted - version: "3.0.1" - shelf_static: - dependency: transitive - description: - name: shelf_static - sha256: e792b76b96a36d4a41b819da593aff4bdd413576b3ba6150df5d8d9996d2e74c - url: "https://pub.dev" - source: hosted - version: "1.1.1" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: a988c0e8d8ffbdb8a28aa7ec8e449c260f3deb808781fe1284d22c5bba7156e8 - url: "https://pub.dev" - source: hosted - version: "1.0.3" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" - url: "https://pub.dev" - source: hosted - version: "0.10.12" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 - url: "https://pub.dev" - source: hosted - version: "1.11.0" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test: - dependency: "direct dev" - description: - name: test - sha256: "694c108e13c6b35b15fcb0f8f03eddf8373f93b044c9497b5e81ce09f7381bda" - url: "https://pub.dev" - source: hosted - version: "1.25.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" - url: "https://pub.dev" - source: hosted - version: "0.7.0" - test_core: - dependency: transitive - description: - name: test_core - sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" - url: "https://pub.dev" - source: hosted - version: "0.6.0" - time: - dependency: transitive - description: - name: time - sha256: "83427e11d9072e038364a5e4da559e85869b227cf699a541be0da74f14140124" - url: "https://pub.dev" - source: hosted - version: "2.1.3" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - universal_io: - dependency: "direct main" - description: - name: universal_io - sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad" - url: "https://pub.dev" - source: hosted - version: "2.2.2" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "518254c0d3ee20667a1feef39eefe037df87439851e4b3cb277e5b3f37afa2f0" - url: "https://pub.dev" - source: hosted - version: "11.4.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" - url: "https://pub.dev" - source: hosted - version: "1.0.2" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b - url: "https://pub.dev" - source: hosted - version: "2.4.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" - url: "https://pub.dev" - source: hosted - version: "3.1.1" -sdks: - dart: ">=3.0.0 <4.0.0" diff --git a/components/commons/pubspec.yaml b/components/commons/pubspec.yaml index 61355144..a4de251a 100644 --- a/components/commons/pubspec.yaml +++ b/components/commons/pubspec.yaml @@ -8,7 +8,7 @@ environment: sdk: '>=3.0.0 <4.0.0' dependencies: - archive: ^3.3.7 + archive: ^3.4.10 crypto: ^3.0.3 dartx: ^1.2.0 dfunc: ^0.9.0 diff --git a/components/lcp/lib/license/license.dart b/components/lcp/lib/license/license.dart index 06d1e4f0..3315cc24 100644 --- a/components/lcp/lib/license/license.dart +++ b/components/lcp/lib/license/license.dart @@ -226,7 +226,7 @@ class License implements LcpLicense { _validateStatusDocument(await data); - return Try.success(_documents.license.rights.end); + return Try.success(_documents.license.rights?.end); // } on CancellationException { // // Passthrough for cancelled coroutines // rethrow; diff --git a/components/lcp/lib/license/license_validation.dart b/components/lcp/lib/license/license_validation.dart index 82207998..581c24cf 100644 --- a/components/lcp/lib/license/license_validation.dart +++ b/components/lcp/lib/license/license_validation.dart @@ -125,14 +125,11 @@ class LicenseValidation { void validate(LicenseValidationDocument document, Observer completion) { LVEvent event; - switch (document.runtimeType) { - case LicenseValidationLicenseDocument: + if (document is LicenseValidationLicenseDocument) { event = RetrievedLicenseDataEvent(document.data); - break; - case LicenseValidationStatusDocument: + } else if (document is LicenseValidationStatusDocument) { event = RetrievedStatusDataEvent(document.data); - break; - default: + } else { throw LcpException.unknown; } _log("validate $event"); @@ -158,52 +155,41 @@ class LicenseValidation { Future _handle(LVState state) async { _log("state: ${state.runtimeType}"); try { - switch (state.runtimeType) { - case StartState: + if (state is StartState) { _notifyObservers(null, null); - break; - case ValidateLicenseState: - _validateLicense((state as ValidateLicenseState).data); - break; - case FetchStatusState: - await _fetchStatus((state as FetchStatusState).license); - break; - case ValidateStatusState: - _validateStatus((state as ValidateStatusState).data); - break; - case FetchLicenseState: - await _fetchLicense((state as FetchLicenseState).status); - break; - case CheckLicenseStatusState: - CheckLicenseStatusState checkLicenseStatusState = - state as CheckLicenseStatusState; - _checkLicenseStatus( - checkLicenseStatusState.license, checkLicenseStatusState.status); - break; - case RetrievePassphraseState: - await _requestPassphrase((state as RetrievePassphraseState).license); - break; - case ValidateIntegrityState: - ValidateIntegrityState validateIntegrityState = - state as ValidateIntegrityState; - await _validateIntegrity(validateIntegrityState.license, - validateIntegrityState.passphrase); - break; - case RegisterDeviceState: - RegisterDeviceState registerDeviceState = - state as RegisterDeviceState; - await _registerDevice( - registerDeviceState.documents.license, registerDeviceState.link); - break; - case ValidState: - _notifyObservers((state as ValidState).documents, null); - break; - case FailureState: - _notifyObservers(null, (state as FailureState).error); - break; - case CancelledState: + } + else if (state is ValidateLicenseState) { + _validateLicense(state.data); + } + else if (state is FetchStatusState) { + await _fetchStatus(state.license); + } + else if (state is ValidateStatusState) { + _validateStatus(state.data); + } + else if (state is FetchLicenseState) { + await _fetchLicense(state.status); + } + else if (state is CheckLicenseStatusState) { + _checkLicenseStatus(state.license, state.status); + } + else if (state is RetrievePassphraseState) { + await _requestPassphrase(state.license); + } + else if (state is ValidateIntegrityState) { + await _validateIntegrity(state.license, state.passphrase); + } + else if (state is RegisterDeviceState) { + await _registerDevice(state.documents.license, state.link); + } + else if (state is ValidState) { + _notifyObservers(state.documents, null); + } + else if (state is FailureState) { + _notifyObservers(null, state.error); + } + else if (state is CancelledState) { _notifyObservers(null, null); - break; } } on Exception catch (error, stacktrace) { _log("LicenseValidation._handle ERROR: $state", @@ -277,8 +263,8 @@ class LicenseValidation { void _checkLicenseStatus(LicenseDocument license, StatusDocument? status) { LicenseStatus? error; DateTime now = DateTime.now(); - DateTime start = license.rights.start ?? now; - DateTime end = license.rights.end ?? now; + DateTime start = license.rights?.start ?? now; + DateTime end = license.rights?.end ?? now; if (start.isAfter(now) || now.isAfter(end)) { if (status != null) { DateTime? date = status.statusUpdated; diff --git a/components/lcp/lib/license/license_validation_state_machine.dart b/components/lcp/lib/license/license_validation_state_machine.dart index f299c350..671324c4 100644 --- a/components/lcp/lib/license/license_validation_state_machine.dart +++ b/components/lcp/lib/license/license_validation_state_machine.dart @@ -161,13 +161,12 @@ class LicenseValidationStateMachine { }) ..state((b) {}) ..onTransition((t) { - switch(t.value) { - case Valid: + if (t.value is Valid) { _log("validTransition: ${t.value}"); licenseValidation.state = t.value.toState; - case Invalid: - _log("invalidTransition: ${t.value}"); } - }); + else if (t.value is Invalid) { + _log("invalidTransition: ${t.value}"); + }}); }); } diff --git a/components/lcp/lib/license/model/license_document.dart b/components/lcp/lib/license/model/license_document.dart index 2392a56a..e414cf51 100644 --- a/components/lcp/lib/license/model/license_document.dart +++ b/components/lcp/lib/license/model/license_document.dart @@ -45,7 +45,7 @@ class LicenseDocument { /// Used to associate the License Document with resources that are not /// locally available. final Links _links; - final Rights rights; + final Rights? rights; /// The user owning the License. final User user; @@ -122,9 +122,8 @@ class LicenseDocument { throw Exception( LcpError.errorDescription(LcpErrorCase.publicationLinkNotFound)); } - // TODO What to do if user or rights is null? Can it happen? return LicenseDocument._(id, issued, updated, provider, encryption, links, - rights!, user!, signature, jsonObject, text, data); + rights, user!, signature, jsonObject, text, data); } /// Returns the first link containing the given rel. diff --git a/components/lcp/lib/material_renew_listener.dart b/components/lcp/lib/material_renew_listener.dart index 4c09bc7f..b5c79446 100644 --- a/components/lcp/lib/material_renew_listener.dart +++ b/components/lcp/lib/material_renew_listener.dart @@ -25,7 +25,7 @@ class MaterialRenewListener implements RenewListener { if (license == null) { return DateTime.now(); } - DateTime start = (license!.license.rights.end ?? DateTime.now()); + DateTime start = (license!.license.rights?.end ?? DateTime.now()); DateTime end = maximumDate ?? DateTime.now().add(const Duration(days: 365)); return await showDatePicker( context: context, diff --git a/components/lcp/lib/persistence/licenses.dart b/components/lcp/lib/persistence/licenses.dart index 71a60fa4..0236b074 100644 --- a/components/lcp/lib/persistence/licenses.dart +++ b/components/lcp/lib/persistence/licenses.dart @@ -111,8 +111,8 @@ class Licenses implements DeviceRepository, LicensesRepository { LicensesTable.name, { LicensesTable.id: license.id, - LicensesTable.printsleft: license.rights.print, - LicensesTable.copiesleft: license.rights.copy, + LicensesTable.printsleft: license.rights?.print, + LicensesTable.copiesleft: license.rights?.copy, }, conflictAlgorithm: ConflictAlgorithm.replace); } diff --git a/components/lcp/pubspec.yaml b/components/lcp/pubspec.yaml index ea581117..473a8b4b 100644 --- a/components/lcp/pubspec.yaml +++ b/components/lcp/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: none environment: sdk: '>=3.0.0 <4.0.0' - flutter: '>=3.3.0' + flutter: '>=3.10.0' dependencies: flutter: @@ -15,11 +15,11 @@ dependencies: dartx: ^1.2.0 device_info_plus: ^9.1.1 dfunc: ^0.9.0 - ffi: ^2.1.0 + ffi: 2.1.0 fimber: ^0.7.0 - flutter_archive: ^5.0.0 + flutter_archive: ^6.0.0 mno_fsm: ^0.2.3 - path_provider: ^2.1.1 + path_provider: ^2.1.2 shared_preferences: ^2.2.2 sqflite: ^2.3.0 universal_io: ^2.2.2 @@ -32,12 +32,12 @@ dependencies: path: ../shared dependency_overrides: - intl: ^0.18.1 # multiple_localization 0.3.0 requires intl 0.17.0 + intl: ^0.19.0 # multiple_localization 0.3.0 requires intl 0.17.0 meta: ^1.11.0 # mno_shared 0.1.3 requires meta 1.9.1 collection: ^1.18.0 # universal_io 2.2.1 requires it dev_dependencies: - test: ^1.24.9 + test: ^1.25.1 lints: ^3.0.0 assets: diff --git a/components/navigator/pubspec.yaml b/components/navigator/pubspec.yaml index 5d0a43f0..07e1d572 100644 --- a/components/navigator/pubspec.yaml +++ b/components/navigator/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: none environment: sdk: '>=3.0.0 <4.0.0' - flutter: '>=3.3.0' + flutter: '>=3.10.0' dependencies: flutter: diff --git a/components/server/lib/src/blocs/server/handlers/fetcher_request_handler.dart b/components/server/lib/src/blocs/server/handlers/fetcher_request_handler.dart index d294a151..d6bf24bb 100644 --- a/components/server/lib/src/blocs/server/handlers/fetcher_request_handler.dart +++ b/components/server/lib/src/blocs/server/handlers/fetcher_request_handler.dart @@ -19,8 +19,8 @@ class FetcherRequestHandler extends RequestHandler { /// /// A [transformData] parameter is optional. FetcherRequestHandler(this.publication, this.viewportWidthGetter, - {List googleFonts = const []}) - : _htmlInjector = HtmlInjector(publication, viewportWidthGetter, + {List googleFonts = const [], HtmlInjector? htmlInjector}) + : _htmlInjector = htmlInjector ?? HtmlInjector(publication, viewportWidthGetter, googleFonts: googleFonts); Fetcher get _fetcher => publication.fetcher; diff --git a/components/server/pubspec.yaml b/components/server/pubspec.yaml index ad1dcf95..749c4e0c 100644 --- a/components/server/pubspec.yaml +++ b/components/server/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: none environment: sdk: '>=3.0.0 <4.0.0' - flutter: '>=3.3.0' + flutter: '>=3.10.0' dependencies: flutter: diff --git a/demo-app/android/app/build.gradle b/demo-app/android/app/build.gradle index be6d9c1c..195c27f5 100644 --- a/demo-app/android/app/build.gradle +++ b/demo-app/android/app/build.gradle @@ -26,6 +26,8 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { + namespace "com.mantano.iridium.app" + compileSdkVersion 34 sourceSets { @@ -38,9 +40,9 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.mantano.iridium.IridiumApp" + applicationId "com.mantano.iridium.app" minSdkVersion 23 - targetSdkVersion 33 + targetSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/demo-app/pubspec.yaml b/demo-app/pubspec.yaml index 846411c8..b719fbf6 100644 --- a/demo-app/pubspec.yaml +++ b/demo-app/pubspec.yaml @@ -17,7 +17,7 @@ publish_to: none environment: sdk: '>=2.18.0 <4.0.0' - flutter: '>=3.3.0' + flutter: '>=3.10.0' dependencies: flutter: diff --git a/reader_widget/example/lib/main.dart b/reader_widget/example/lib/main.dart index 9bd6fb22..3769b2f6 100644 --- a/reader_widget/example/lib/main.dart +++ b/reader_widget/example/lib/main.dart @@ -2,8 +2,8 @@ import 'package:example/utils/utils.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_fimber/flutter_fimber.dart'; +import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:iridium_reader_widget/views/viewers/epub_screen.dart'; -import 'package:mno_webview/webview.dart'; import 'package:universal_io/io.dart' hide Link; Future main() async { diff --git a/reader_widget/example/pubspec.yaml b/reader_widget/example/pubspec.yaml index b0809687..ccb5202b 100644 --- a/reader_widget/example/pubspec.yaml +++ b/reader_widget/example/pubspec.yaml @@ -19,7 +19,7 @@ version: 1.0.0+1 environment: sdk: ">=3.0.0 <4.0.0" - flutter: '>=3.3.0' + flutter: '>=3.10.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/reader_widget/pubspec.lock b/reader_widget/pubspec.lock deleted file mode 100644 index a4f6dac0..00000000 --- a/reader_widget/pubspec.lock +++ /dev/null @@ -1,580 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - archive: - dependency: transitive - description: - name: archive - sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a" - url: "https://pub.dev" - source: hosted - version: "3.3.7" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - bloc: - dependency: transitive - description: - name: bloc - sha256: "3820f15f502372d979121de1f6b97bfcf1630ebff8fe1d52fb2b0bfa49be5b49" - url: "https://pub.dev" - source: hosted - version: "8.1.2" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: "direct overridden" - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - dartx: - dependency: "direct main" - description: - name: dartx - sha256: "45d7176701f16c5a5e00a4798791c1964bc231491b879369c818dd9a9c764871" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - dfunc: - dependency: "direct main" - description: - name: dfunc - sha256: "5a8d6afe681ea5db8047dc7fc0d5035b66f77ed71721165b3ac588eaeb59a6ef" - url: "https://pub.dev" - source: hosted - version: "0.9.0" - equatable: - dependency: transitive - description: - name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 - url: "https://pub.dev" - source: hosted - version: "2.0.5" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 - url: "https://pub.dev" - source: hosted - version: "2.0.1" - file: - dependency: transitive - description: - name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - fimber: - dependency: "direct main" - description: - name: fimber - sha256: "1415768ddd9fd66f134dbc53f731107554c98175a63d4e93234478a113ffabb8" - url: "https://pub.dev" - source: hosted - version: "0.6.6" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_bloc: - dependency: "direct main" - description: - name: flutter_bloc - sha256: e74efb89ee6945bcbce74a5b3a5a3376b088e5f21f55c263fc38cbdc6237faae - url: "https://pub.dev" - source: hosted - version: "8.1.3" - flutter_fimber: - dependency: "direct main" - description: - name: flutter_fimber - sha256: "6b8ba81faca9c786573c3c7e4c94341b890e594803dc433ae57243a7355c917f" - url: "https://pub.dev" - source: hosted - version: "0.6.5" - flutter_inappwebview: - dependency: "direct main" - description: - name: flutter_inappwebview - sha256: fad1f2740ff4b5b7da378a639f54beeb9d787b6339c89a9de00494d92372c0bb - url: "https://pub.dev" - source: hosted - version: "6.0.0-beta.24+1" - flutter_inappwebview_internal_annotations: - dependency: transitive - description: - name: flutter_inappwebview_internal_annotations - sha256: "064a8ccbc76217dcd3b0fd6c6ea6f549e69b2849a0233b5bb46af9632c3ce2ff" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c - url: "https://pub.dev" - source: hosted - version: "2.0.1" - flutter_spinkit: - dependency: "direct main" - description: - name: flutter_spinkit - sha256: b39c753e909d4796906c5696a14daf33639a76e017136c8d82bf3e620ce5bb8e - url: "https://pub.dev" - source: hosted - version: "5.2.0" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_xlider: - dependency: "direct main" - description: - path: "." - ref: master - resolved-ref: ef4a358f84bb6a6119b213fef6f759f22246c882 - url: "https://github.com/Ali-Azmoud/flutter_xlider.git" - source: git - version: "3.4.0" - fluttertoast: - dependency: "direct main" - description: - name: fluttertoast - sha256: "2f9c4d3f4836421f7067a28f8939814597b27614e021da9d63e5d3fb6e212d25" - url: "https://pub.dev" - source: hosted - version: "8.2.1" - http: - dependency: transitive - description: - name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" - url: "https://pub.dev" - source: hosted - version: "0.13.6" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - image: - dependency: transitive - description: - name: image - sha256: a72242c9a0ffb65d03de1b7113bc4e189686fc07c7147b8b41811d0dd0e0d9bf - url: "https://pub.dev" - source: hosted - version: "4.0.17" - intl: - dependency: transitive - description: - name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" - url: "https://pub.dev" - source: hosted - version: "0.18.1" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - lints: - dependency: transitive - description: - name: lints - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" - url: "https://pub.dev" - source: hosted - version: "2.0.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" - url: "https://pub.dev" - source: hosted - version: "0.12.15" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 - url: "https://pub.dev" - source: hosted - version: "0.2.0" - meta: - dependency: transitive - description: - name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - mno_commons: - dependency: "direct main" - description: - path: "../components/commons" - relative: true - source: path - version: "0.1.2" - mno_navigator: - dependency: "direct main" - description: - path: "../components/navigator" - relative: true - source: path - version: "0.1.0" - mno_opds: - dependency: "direct main" - description: - path: "../components/opds" - relative: true - source: path - version: "0.1.1" - mno_server: - dependency: "direct main" - description: - path: "../components/server" - relative: true - source: path - version: "0.1.0" - mno_shared: - dependency: "direct main" - description: - path: "../components/shared" - relative: true - source: path - version: "0.1.3" - mno_streamer: - dependency: "direct main" - description: - path: "../components/streamer" - relative: true - source: path - version: "0.1.1" - mno_webview: - dependency: "direct main" - description: - path: "../components/webview" - relative: true - source: path - version: "0.0.1" - nested: - dependency: transitive - description: - name: nested - sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - path: - dependency: transitive - description: - name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" - url: "https://pub.dev" - source: hosted - version: "1.8.3" - path_provider: - dependency: "direct main" - description: - name: path_provider - sha256: "909b84830485dbcd0308edf6f7368bc8fd76afa26a270420f34cabea2a6467a0" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - sha256: "5d44fc3314d969b84816b569070d7ace0f1dea04bd94a83f74c4829615d22ad8" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path_provider_foundation: - dependency: transitive - description: - name: path_provider_foundation - sha256: "1b744d3d774e5a879bb76d6cd1ecee2ba2c6960c03b1020cd35212f6aa267ac5" - url: "https://pub.dev" - source: hosted - version: "2.3.0" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: ba2b77f0c52a33db09fc8caf85b12df691bf28d983e84cf87ff6d693cfa007b3 - url: "https://pub.dev" - source: hosted - version: "2.2.0" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: bced5679c7df11190e1ddc35f3222c858f328fff85c3942e46e7f5589bf9eb84 - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: ee0e0d164516b90ae1f970bdf29f726f1aa730d7cfc449ecc74c495378b705da - url: "https://pub.dev" - source: hosted - version: "2.2.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 - url: "https://pub.dev" - source: hosted - version: "5.4.0" - photo_view: - dependency: transitive - description: - name: photo_view - sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb" - url: "https://pub.dev" - source: hosted - version: "0.14.0" - platform: - dependency: transitive - description: - name: platform - sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" - url: "https://pub.dev" - source: hosted - version: "3.1.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a - url: "https://pub.dev" - source: hosted - version: "2.1.3" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: db7306cf0249f838d1a24af52b5a5887c5bf7f31d8bb4e827d071dc0939ad346 - url: "https://pub.dev" - source: hosted - version: "3.6.2" - preload_page_view: - dependency: transitive - description: - name: preload_page_view - sha256: "488a10c158c5c2e9ba9d77e5dbc09b1e49e37a20df2301e5ba02992eac802b7a" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - process: - dependency: transitive - description: - name: process - sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" - url: "https://pub.dev" - source: hosted - version: "4.2.4" - provider: - dependency: transitive - description: - name: provider - sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f - url: "https://pub.dev" - source: hosted - version: "6.0.5" - rxdart: - dependency: transitive - description: - name: rxdart - sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" - url: "https://pub.dev" - source: hosted - version: "0.27.7" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 - url: "https://pub.dev" - source: hosted - version: "1.9.1" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 - url: "https://pub.dev" - source: hosted - version: "1.11.0" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb - url: "https://pub.dev" - source: hosted - version: "0.5.1" - time: - dependency: transitive - description: - name: time - sha256: "83427e11d9072e038364a5e4da559e85869b227cf699a541be0da74f14140124" - url: "https://pub.dev" - source: hosted - version: "2.1.3" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - universal_io: - dependency: transitive - description: - name: universal_io - sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad" - url: "https://pub.dev" - source: hosted - version: "2.2.2" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - win32: - dependency: transitive - description: - name: win32 - sha256: c9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46 - url: "https://pub.dev" - source: hosted - version: "3.1.3" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: bd512f03919aac5f1313eb8249f223bacf4927031bf60b02601f81f687689e86 - url: "https://pub.dev" - source: hosted - version: "0.2.0+3" - xml: - dependency: transitive - description: - name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" - url: "https://pub.dev" - source: hosted - version: "6.3.0" -sdks: - dart: ">=3.0.0 <4.0.0" - flutter: ">=3.7.0" diff --git a/reader_widget/pubspec.yaml b/reader_widget/pubspec.yaml index 1b002c88..b733b7c1 100644 --- a/reader_widget/pubspec.yaml +++ b/reader_widget/pubspec.yaml @@ -6,7 +6,7 @@ homepage: https://iridium.rocks environment: sdk: ">=3.0.0 <4.0.0" - flutter: ">=3.7.0" + flutter: ">=3.10.0" dependencies: flutter: