Merge pull request #1800 from ImranR98/dev

- GitLab bugfix for some APK URLs (#1790)
- Fix Uptodown - was completely broken (#1796)
- Slight XAPK support improvement + BG install bugfix
This commit is contained in:
Imran
2024-08-19 22:55:37 -04:00
committed by GitHub
6 changed files with 107 additions and 75 deletions

View File

@@ -202,7 +202,7 @@ class GitLab extends AppSource {
} }
finalResult.apkUrls = finalResult.apkUrls.map((apkUrl) { finalResult.apkUrls = finalResult.apkUrls.map((apkUrl) {
if (RegExp('^$standardUrl/-/jobs/[0-9]+/artifacts/file/[^/]+\$') if (RegExp('^$standardUrl/-/jobs/[0-9]+/artifacts/file/[^/]+')
.hasMatch(apkUrl.value)) { .hasMatch(apkUrl.value)) {
return MapEntry( return MapEntry(
apkUrl.key, apkUrl.value.replaceFirst('/file/', '/raw/')); apkUrl.key, apkUrl.value.replaceFirst('/file/', '/raw/'));

View File

@@ -10,6 +10,7 @@ class Uptodown extends AppSource {
allowSubDomains = true; allowSubDomains = true;
naiveStandardVersionDetection = true; naiveStandardVersionDetection = true;
showReleaseDateAsVersionToggle = true; showReleaseDateAsVersionToggle = true;
urlsAlwaysHaveExtension = true;
} }
@override @override
@@ -39,20 +40,29 @@ class Uptodown extends AppSource {
} }
var html = parse(res.body); var html = parse(res.body);
String? version = html.querySelector('div.version')?.innerHtml; String? version = html.querySelector('div.version')?.innerHtml;
String? apkUrl =
'${standardUrl.split('/').reversed.toList().sublist(1).reversed.join('/')}/post-download';
String? name = html.querySelector('#detail-app-name')?.innerHtml.trim(); String? name = html.querySelector('#detail-app-name')?.innerHtml.trim();
String? author = html.querySelector('#author-link')?.innerHtml.trim(); String? author = html.querySelector('#author-link')?.innerHtml.trim();
var detailElements = html.querySelectorAll('#technical-information td'); var detailElements = html.querySelectorAll('#technical-information td');
String? appId = (detailElements.elementAtOrNull(2))?.innerHtml.trim(); String? appId = (detailElements.elementAtOrNull(2))?.innerHtml.trim();
String? dateStr = (detailElements.elementAtOrNull(29))?.innerHtml.trim(); String? dateStr = (detailElements.elementAtOrNull(29))?.innerHtml.trim();
String? fileId =
html.querySelector('#detail-app-name')?.attributes['data-file-id'];
String? extension = html
.querySelectorAll('td')
.where((e) => e.text.toLowerCase().trim() == 'file type')
.firstOrNull
?.nextElementSibling
?.text
.toLowerCase()
.trim();
return Map.fromEntries([ return Map.fromEntries([
MapEntry('version', version), MapEntry('version', version),
MapEntry('apkUrl', apkUrl),
MapEntry('appId', appId), MapEntry('appId', appId),
MapEntry('name', name), MapEntry('name', name),
MapEntry('author', author), MapEntry('author', author),
MapEntry('dateStr', dateStr) MapEntry('dateStr', dateStr),
MapEntry('fileId', fileId),
MapEntry('extension', extension)
]); ]);
} }
@@ -64,14 +74,16 @@ class Uptodown extends AppSource {
var appDetails = var appDetails =
await getAppDetailsFromPage(standardUrl, additionalSettings); await getAppDetailsFromPage(standardUrl, additionalSettings);
var version = appDetails['version']; var version = appDetails['version'];
var apkUrl = appDetails['apkUrl'];
var appId = appDetails['appId']; var appId = appDetails['appId'];
var fileId = appDetails['fileId'];
var extension = appDetails['extension'];
if (version == null) { if (version == null) {
throw NoVersionError(); throw NoVersionError();
} }
if (apkUrl == null) { if (fileId == null) {
throw NoAPKError(); throw NoAPKError();
} }
var apkUrl = '$standardUrl/$fileId-x';
if (appId == null) { if (appId == null) {
throw NoReleasesError(); throw NoReleasesError();
} }
@@ -82,8 +94,8 @@ class Uptodown extends AppSource {
if (dateStr != null) { if (dateStr != null) {
relDate = parseDateTimeMMMddCommayyyy(dateStr); relDate = parseDateTimeMMMddCommayyyy(dateStr);
} }
return APKDetails( return APKDetails(version, [MapEntry('$appId.$extension', apkUrl)],
version, getApkUrlsFromUrls([apkUrl]), AppNames(author, appName), AppNames(author, appName),
releaseDate: relDate); releaseDate: relDate);
} }
@@ -96,7 +108,7 @@ class Uptodown extends AppSource {
} }
var html = parse(res.body); var html = parse(res.body);
var finalUrlKey = var finalUrlKey =
html.querySelector('.post-download')?.attributes['data-url']; html.querySelector('#detail-download-button')?.attributes['data-url'];
if (finalUrlKey == null) { if (finalUrlKey == null) {
throw NoAPKError(); throw NoAPKError();
} }

View File

@@ -225,7 +225,9 @@ Future<File> downloadFile(String url, String fileName, bool fileNameHasExt,
ext != 'apk') { ext != 'apk') {
ext = 'apk'; ext = 'apk';
} }
fileName = fileName.split('/').last; // Ensure the fileName is a file name fileName = fileNameHasExt
? fileName
: fileName.split('/').last; // Ensure the fileName is a file name
File downloadedFile = File('$destDir/$fileName.$ext'); File downloadedFile = File('$destDir/$fileName.$ext');
if (fileNameHasExt) { if (fileNameHasExt) {
// If the user says the filename already has an ext, ignore whatever you inferred from above // If the user says the filename already has an ext, ignore whatever you inferred from above
@@ -447,11 +449,15 @@ class AppsProvider with ChangeNotifier {
notificationsProvider?.cancel(notif.id); notificationsProvider?.cancel(notif.id);
int? prevProg; int? prevProg;
var fileNameNoExt = '${app.id}-${downloadUrl.hashCode}'; var fileNameNoExt = '${app.id}-${downloadUrl.hashCode}';
if (source.urlsAlwaysHaveExtension) {
fileNameNoExt =
'$fileNameNoExt.${app.apkUrls[app.preferredApkIndex].key.split('.').last}';
}
var headers = await source.getRequestHeaders(app.additionalSettings, var headers = await source.getRequestHeaders(app.additionalSettings,
forAPKDownload: true); forAPKDownload: true);
var downloadedFile = await downloadFileWithRetry( var downloadedFile = await downloadFileWithRetry(
downloadUrl, fileNameNoExt, false, headers: headers, downloadUrl, fileNameNoExt, source.urlsAlwaysHaveExtension,
(double? progress) { headers: headers, (double? progress) {
int? prog = progress?.ceil(); int? prog = progress?.ceil();
if (apps[app.id] != null) { if (apps[app.id] != null) {
apps[app.id]!.downloadProgress = progress; apps[app.id]!.downloadProgress = progress;
@@ -485,8 +491,17 @@ class AppsProvider with ChangeNotifier {
.listSync() .listSync()
.where((e) => e.path.toLowerCase().endsWith('.apk')) .where((e) => e.path.toLowerCase().endsWith('.apk'))
.toList(); .toList();
newInfo = for (var i = 0; i < apks.length; i++) {
await pm.getPackageArchiveInfo(archiveFilePath: apks.first.path); try {
newInfo = await pm.getPackageArchiveInfo(
archiveFilePath: apks.first.path);
break;
} catch (e) {
if (i == apks.length - 1) {
rethrow;
}
}
}
} }
if (newInfo == null) { if (newInfo == null) {
downloadedFile.delete(); downloadedFile.delete();
@@ -844,7 +859,11 @@ class AppsProvider with ChangeNotifier {
if (needBGWorkaround) { if (needBGWorkaround) {
// ignore: use_build_context_synchronously // ignore: use_build_context_synchronously
installApk(downloadedFile, contextIfNewInstall, installApk(downloadedFile, contextIfNewInstall,
needsBGWorkaround: true); needsBGWorkaround: true,
shizukuPretendToBeGooglePlay: apps[id]!
.app
.additionalSettings['shizukuPretendToBeGooglePlay'] ==
true);
} else { } else {
// ignore: use_build_context_synchronously // ignore: use_build_context_synchronously
sayInstalled = await installApk(downloadedFile, contextIfNewInstall, sayInstalled = await installApk(downloadedFile, contextIfNewInstall,

View File

@@ -412,6 +412,7 @@ abstract class AppSource {
bool showReleaseDateAsVersionToggle = false; bool showReleaseDateAsVersionToggle = false;
bool versionDetectionDisallowed = false; bool versionDetectionDisallowed = false;
List<String> excludeCommonSettingKeys = []; List<String> excludeCommonSettingKeys = [];
bool urlsAlwaysHaveExtension = false;
AppSource() { AppSource() {
name = runtimeType.toString(); name = runtimeType.toString();

View File

@@ -47,10 +47,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: app_links name: app_links
sha256: ae5f9a1b7d40d26178f605414be81ed4260350b4fae8259fe5ca4f89fe70c4af sha256: "4acba851087b25136e8f6e32a53bd4536eb3bec69947ddb66e7b9a5792ceb0c7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.4" version: "6.2.0"
app_links_linux: app_links_linux:
dependency: transitive dependency: transitive
description: description:
@@ -159,10 +159,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: connectivity_plus name: connectivity_plus
sha256: "3e7d1d9dbae40ae82cbe6c23c518f0c4ffe32764ee9749b9a99d32cbac8734f6" sha256: "2056db5241f96cdc0126bd94459fc4cdc13876753768fc7a31c425e50a7177d0"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.0.4" version: "6.0.5"
connectivity_plus_platform_interface: connectivity_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -183,10 +183,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: crypto name: crypto
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.3" version: "3.0.5"
csslib: csslib:
dependency: transitive dependency: transitive
description: description:
@@ -215,10 +215,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: device_info_plus name: device_info_plus
sha256: "93429694c9253d2871b3af80cf11b3cbb5c65660d402ed7bf69854ce4a089f82" sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.1.1" version: "10.1.2"
device_info_plus_platform_interface: device_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -271,10 +271,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: ffi name: ffi
sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.2" version: "2.1.3"
file: file:
dependency: transitive dependency: transitive
description: description:
@@ -287,10 +287,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: file_picker name: file_picker
sha256: "825aec673606875c33cd8d3c4083f1a3c3999015a84178b317b7ef396b7384f3" sha256: "167bb619cdddaa10ef2907609feb8a79c16dfa479d3afaf960f8e223f754bf12"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.0.7" version: "8.1.2"
fixnum: fixnum:
dependency: transitive dependency: transitive
description: description:
@@ -332,10 +332,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_fgbg name: flutter_fgbg
sha256: "5e61a2ff2e2e83614ae7690bea3dfa74bbd91b5c083e81ce07692411ce65e3d7" sha256: e02ad0738ba5fc7f331b62acb0d74aa540626a6441ae18fad685faa5ac4ad7a5
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.0" version: "0.6.0"
flutter_keyboard_visibility: flutter_keyboard_visibility:
dependency: transitive dependency: transitive
description: description:
@@ -404,10 +404,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_local_notifications name: flutter_local_notifications
sha256: dd6676d8c2926537eccdf9f72128bbb2a9d0814689527b17f92c248ff192eaf3 sha256: c500d5d9e7e553f06b61877ca6b9c8b92c570a4c8db371038702e8ce57f8a50f
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "17.2.1+2" version: "17.2.2"
flutter_local_notifications_linux: flutter_local_notifications_linux:
dependency: transitive dependency: transitive
description: description:
@@ -433,10 +433,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_markdown name: flutter_markdown
sha256: "2e8a801b1ded5ea001a4529c97b1f213dcb11c6b20668e081cafb23468593514" sha256: a23c41ee57573e62fc2190a1f36a0480c4d90bde3a8a8d7126e5d5992fb53fb7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.3" version: "0.7.3+1"
flutter_plugin_android_lifecycle: flutter_plugin_android_lifecycle:
dependency: transitive dependency: transitive
description: description:
@@ -467,10 +467,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: fluttertoast name: fluttertoast
sha256: "7eae679e596a44fdf761853a706f74979f8dd3cd92cf4e23cae161fda091b847" sha256: "95f349437aeebe524ef7d6c9bde3e6b4772717cf46a0eb6a3ceaddc740b297cc"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.2.6" version: "8.2.8"
fraction: fraction:
dependency: transitive dependency: transitive
description: description:
@@ -651,10 +651,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: "490539678396d4c3c0b06efdaab75ae60675c3e0c66f72bc04c2e2c1e0e2abeb" sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.9" version: "2.2.10"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
@@ -699,10 +699,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_android name: permission_handler_android
sha256: eaf2a1ec4472775451e88ca6a7b86559ef2f1d1ed903942ed135e38ea0097dca sha256: "76e4ab092c1b240d31177bb64d2b0bea43f43d0e23541ec866151b9f7b2490fa"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "12.0.8" version: "12.0.12"
permission_handler_apple: permission_handler_apple:
dependency: transitive dependency: transitive
description: description:
@@ -715,10 +715,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_html name: permission_handler_html
sha256: "6cac773d389e045a8d4f85418d07ad58ef9e42a56e063629ce14c4c26344de24" sha256: d220eb8476b466d58b161e10b3001d93999010a26228a3fb89c4280db1249546
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.2" version: "0.1.3+1"
permission_handler_platform_interface: permission_handler_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -803,10 +803,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: share_plus name: share_plus
sha256: "59dfd53f497340a0c3a81909b220cfdb9b8973a91055c4e5ab9b9b9ad7c513c0" sha256: "468c43f285207c84bcabf5737f33b914ceb8eb38398b91e5e3ad1698d1b72a52"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.0" version: "10.0.2"
share_plus_platform_interface: share_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -819,34 +819,34 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: shared_preferences name: shared_preferences
sha256: c272f9cabca5a81adc9b0894381e9c1def363e980f960fa903c604c471b22f68 sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.1" version: "2.3.2"
shared_preferences_android: shared_preferences_android:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_android name: shared_preferences_android
sha256: "041be4d9d2dc6079cf342bc8b761b03787e3b71192d658220a56cac9c04a0294" sha256: a7e8467e9181cef109f601e3f65765685786c1a738a83d7fbbde377589c0d974
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.0" version: "2.3.1"
shared_preferences_foundation: shared_preferences_foundation:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_foundation name: shared_preferences_foundation
sha256: "671e7a931f55a08aa45be2a13fe7247f2a41237897df434b30d2012388191833" sha256: c4b35f6cb8f63c147312c054ce7c2254c8066745125264f0c88739c417fc9d9f
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.0" version: "2.5.2"
shared_preferences_linux: shared_preferences_linux:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_linux name: shared_preferences_linux
sha256: "2ba0510d3017f91655b7543e9ee46d48619de2a2af38e5c790423f7007c7ccc1" sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.0" version: "2.4.1"
shared_preferences_platform_interface: shared_preferences_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -859,18 +859,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_web name: shared_preferences_web
sha256: "59dc807b94d29d52ddbb1b3c0d3b9d0a67fc535a64e62a5542c8db0513fcb6c2" sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.1" version: "2.4.2"
shared_preferences_windows: shared_preferences_windows:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_windows name: shared_preferences_windows
sha256: "398084b47b7f92110683cac45c6dc4aae853db47e470e5ddcd52cab7f7196ab2" sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.0" version: "2.4.1"
shared_storage: shared_storage:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -884,7 +884,7 @@ packages:
description: description:
path: "." path: "."
ref: master ref: master
resolved-ref: "25acc02612c2e0fcae40d312e047ac48106f8f6b" resolved-ref: "2250b63fddd8a9d52cfcf461bcfe4d7cfd82eaf8"
url: "https://github.com/re7gog/shizuku_apk_installer" url: "https://github.com/re7gog/shizuku_apk_installer"
source: git source: git
version: "0.0.1" version: "0.0.1"
@@ -921,10 +921,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: sqflite_common name: sqflite_common
sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" sha256: "7b41b6c3507854a159e24ae90a8e3e9cc01eb26a477c118d6dca065b5f55453e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.4" version: "2.5.4+2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@@ -953,10 +953,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: synchronized name: synchronized
sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" sha256: a824e842b8a054f91a728b783c177c1e4731f6b124f9192468457a8913371255
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.0+1" version: "3.2.0"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@@ -1001,10 +1001,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_android name: url_launcher_android
sha256: "94d8ad05f44c6d4e2ffe5567ab4d741b82d62e3c8e288cc1fcea45965edf47c9" sha256: f0c73347dfcfa5b3db8bc06e1502668265d39c08f310c29bff4e28eea9699f79
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.8" version: "6.3.9"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@@ -1017,10 +1017,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_linux name: url_launcher_linux
sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "3.2.0"
url_launcher_macos: url_launcher_macos:
dependency: transitive dependency: transitive
description: description:
@@ -1081,10 +1081,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: web name: web
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1" version: "1.0.0"
webview_flutter: webview_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -1113,18 +1113,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_wkwebview name: webview_flutter_wkwebview
sha256: "9c62cc46fa4f2d41e10ab81014c1de470a6c6f26051a2de32111b2ee55287feb" sha256: "1942a12224ab31e9508cf00c0c6347b931b023b8a4f0811e5dec3b06f94f117d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.14.0" version: "3.15.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9" sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.5.3" version: "5.5.4"
win32_registry: win32_registry:
dependency: transitive dependency: transitive
description: description:
@@ -1158,5 +1158,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">=3.4.0 <4.0.0" dart: ">=3.5.0 <4.0.0"
flutter: ">=3.22.0" flutter: ">=3.24.0"

View File

@@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 1.1.19+2276 version: 1.1.20+2277
environment: environment:
sdk: '>=3.0.0 <4.0.0' sdk: '>=3.0.0 <4.0.0'
@@ -37,7 +37,7 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.5 cupertino_icons: ^1.0.5
path_provider: ^2.0.11 path_provider: ^2.0.11
flutter_fgbg: ^0.4.0 flutter_fgbg: ^0.6.0
flutter_local_notifications: ^17.0.0 flutter_local_notifications: ^17.0.0
provider: ^6.0.3 provider: ^6.0.3
http: ^1.0.0 http: ^1.0.0