From a8499197996aba39bb73c1ed9dd772552e3588b5 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sat, 15 Jun 2024 01:18:50 -0400 Subject: [PATCH 1/5] Add a scrollbar to the apps page --- lib/pages/apps.dart | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/pages/apps.dart b/lib/pages/apps.dart index 0485a15..23ffb1c 100644 --- a/lib/pages/apps.dart +++ b/lib/pages/apps.dart @@ -143,11 +143,14 @@ class AppsPageState extends State { final GlobalKey _refreshIndicatorKey = GlobalKey(); + late final ScrollController scrollController = ScrollController(); + + var sourceProvider = SourceProvider(); + @override Widget build(BuildContext context) { var appsProvider = context.watch(); var settingsProvider = context.watch(); - var sourceProvider = SourceProvider(); var listedApps = appsProvider.getAppValues().toList(); refresh() { @@ -1098,11 +1101,16 @@ class AppsPageState extends State { body: RefreshIndicator( key: _refreshIndicatorKey, onRefresh: refresh, - child: CustomScrollView(slivers: [ - CustomAppBar(title: tr('appsString')), - ...getLoadingWidgets(), - getDisplayedList() - ])), + child: Scrollbar( + interactive: true, + controller: scrollController, + child: CustomScrollView( + controller: scrollController, + slivers: [ + CustomAppBar(title: tr('appsString')), + ...getLoadingWidgets(), + getDisplayedList() + ]))), persistentFooterButtons: appsProvider.apps.isEmpty ? null : [ From 86d29b163ce6c34ef2bcf3994a8e09312814a22b Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sat, 15 Jun 2024 01:19:06 -0400 Subject: [PATCH 2/5] Update packages, increment version --- pubspec.lock | 56 ++++++++++++++++++++++++++-------------------------- pubspec.yaml | 2 +- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 37b4d9d..1218dfc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -55,10 +55,10 @@ packages: dependency: transitive description: name: archive - sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.6.0" + version: "3.6.1" args: dependency: transitive description: @@ -79,10 +79,10 @@ packages: dependency: "direct main" description: name: background_fetch - sha256: "2fe367c9be0e256dadb75b8b637b0b58a2a2d2317b7c8420bb1ae8b41e23fde3" + sha256: b5c298c911bc2ce41152668bc72eb0488f0665d75bc6d1e69e7d8367763eddcd url: "https://pub.dev" source: hosted - version: "1.3.4" + version: "1.3.5" boolean_selector: dependency: transitive description: @@ -263,10 +263,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: "29c90806ac5f5fb896547720b73b17ee9aed9bba540dc5d91fe29f8c5745b10a" + sha256: "2ca051989f69d1b2ca012b2cf3ccf78c70d40144f0861ff2c063493f7c8c3d45" url: "https://pub.dev" source: hosted - version: "8.0.3" + version: "8.0.5" fixnum: dependency: transitive description: @@ -361,18 +361,18 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: "9921f9deda326f8a885e202b1e35237eadfc1345239a0f6f0f1ff287e047547f" + sha256: ff76a9300a06ad1f2b394e54c0b4beaaf6a95f95c98540c918b870221499bb10 url: "https://pub.dev" source: hosted - version: "0.7.1" + version: "0.7.2" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" + sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e url: "https://pub.dev" source: hosted - version: "2.0.19" + version: "2.0.20" flutter_test: dependency: "direct dev" description: flutter @@ -387,10 +387,10 @@ packages: dependency: "direct main" description: name: fluttertoast - sha256: "81b68579e23fcbcada2db3d50302813d2371664afe6165bc78148050ab94bf66" + sha256: "7eae679e596a44fdf761853a706f74979f8dd3cd92cf4e23cae161fda091b847" url: "https://pub.dev" source: hosted - version: "8.2.5" + version: "8.2.6" fraction: dependency: transitive description: @@ -571,10 +571,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d + sha256: "9c96da072b421e98183f9ea7464898428e764bc0ce5567f27ec8693442e72514" url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.5" path_provider_foundation: dependency: transitive description: @@ -619,18 +619,18 @@ packages: dependency: transitive description: name: permission_handler_android - sha256: "8bb852cd759488893805c3161d0b2b5db55db52f773dbb014420b304055ba2c5" + sha256: b29a799ca03be9f999aa6c39f7de5209482d638e6f857f6b93b0875c618b7e54 url: "https://pub.dev" source: hosted - version: "12.0.6" + version: "12.0.7" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662 + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 url: "https://pub.dev" source: hosted - version: "9.4.4" + version: "9.4.5" permission_handler_html: dependency: transitive description: @@ -667,10 +667,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -715,10 +715,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" + sha256: "93d0ec9dd902d85f326068e6a899487d1f65ffcd5798721a95330b26c8131577" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.3" shared_preferences_foundation: dependency: transitive description: @@ -881,18 +881,18 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.6" + version: "6.3.0" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" + sha256: ceb2625f0c24ade6ef6778d1de0b2e44f2db71fded235eb52295247feba8c5cf url: "https://pub.dev" source: hosted - version: "6.3.2" + version: "6.3.3" url_launcher_ios: dependency: transitive description: @@ -985,10 +985,10 @@ packages: dependency: transitive description: name: webview_flutter_android - sha256: "2282ba2320af34b2bd5320156c664d73f3f022341ed78847bc87723bf88c142f" + sha256: f42447ca49523f11d8f70abea55ea211b3cafe172dd7a0e7ac007bb35dd356dc url: "https://pub.dev" source: hosted - version: "3.16.2" + version: "3.16.4" webview_flutter_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index a477eaf..3489b98 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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 # 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. -version: 1.1.10+2267 +version: 1.1.11+2268 environment: sdk: '>=3.0.0 <4.0.0' From ebc46bfd3fd931021a51ba2bd268b5957c5b9d67 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sat, 15 Jun 2024 01:19:33 -0400 Subject: [PATCH 3/5] Update Flutter submodule --- .flutter | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.flutter b/.flutter index a14f74f..761747b 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit a14f74ff3a1cbd521163c5f03d68113d50af93d3 +Subproject commit 761747bfc538b5af34aa0d3fac380f1bc331ec49 From 875868af47f6936277f71962062993fefdfbb62e Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sat, 15 Jun 2024 01:21:31 -0400 Subject: [PATCH 4/5] Added DA to the language menu --- lib/main.dart | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index d6c47b8..d323da2 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -40,6 +40,7 @@ List> supportedLocales = const [ MapEntry(Locale('vi'), 'Tiếng Việt'), MapEntry(Locale('tr'), 'Türkçe'), MapEntry(Locale('uk'), 'Українська'), + MapEntry(Locale('da'), 'Dansk'), ]; const fallbackLocale = Locale('en'); const localeDir = 'assets/translations'; @@ -212,20 +213,23 @@ class _ObtainiumState extends State { // Decide on a colour/brightness scheme based on OS and user settings ColorScheme lightColorScheme; ColorScheme darkColorScheme; - if (lightDynamic != null && darkDynamic != null && settingsProvider.useMaterialYou) { + if (lightDynamic != null && + darkDynamic != null && + settingsProvider.useMaterialYou) { lightColorScheme = lightDynamic.harmonized(); darkColorScheme = darkDynamic.harmonized(); } else { - lightColorScheme = ColorScheme.fromSeed(seedColor: settingsProvider.themeColor); + lightColorScheme = + ColorScheme.fromSeed(seedColor: settingsProvider.themeColor); darkColorScheme = ColorScheme.fromSeed( - seedColor: settingsProvider.themeColor, brightness: Brightness.dark); + seedColor: settingsProvider.themeColor, + brightness: Brightness.dark); } // set the background and surface colors to pure black in the amoled theme if (settingsProvider.useBlackTheme) { - darkColorScheme = darkColorScheme - .copyWith(surface: Colors.black) - .harmonized(); + darkColorScheme = + darkColorScheme.copyWith(surface: Colors.black).harmonized(); } if (settingsProvider.useSystemFont) NativeFeatures.loadSystemFont(); From f5769b85fe94d776f787d0732438059c43586210 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sat, 15 Jun 2024 01:58:07 -0400 Subject: [PATCH 5/5] Add release date extraction for track-only GitLab and Codeberg apps (#1664) --- lib/app_sources/github.dart | 4 +++- lib/app_sources/gitlab.dart | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/app_sources/github.dart b/lib/app_sources/github.dart index d5165a2..546cf1d 100644 --- a/lib/app_sources/github.dart +++ b/lib/app_sources/github.dart @@ -285,7 +285,9 @@ class GitHub extends AppSource { DateTime? getPublishDateFromRelease(dynamic rel) => rel?['published_at'] != null ? DateTime.parse(rel['published_at']) - : null; + : rel?['commit']?['created'] != null + ? DateTime.parse(rel['commit']['created']) + : null; DateTime? getNewestAssetDateFromRelease(dynamic rel) { var t = (rel['assets'] as List?) ?.map((e) { diff --git a/lib/app_sources/gitlab.dart b/lib/app_sources/gitlab.dart index 7383f66..f49545a 100644 --- a/lib/app_sources/gitlab.dart +++ b/lib/app_sources/gitlab.dart @@ -161,7 +161,8 @@ class GitLab extends AppSource { .toList(); var apkUrlsSet = apkUrlsFromAssets.toSet(); apkUrlsSet.addAll(uploadedAPKsFromDescription); - var releaseDateString = e['released_at'] ?? e['created_at']; + var releaseDateString = + e['released_at'] ?? e['created_at'] ?? e['commit']?['created_at']; DateTime? releaseDate = releaseDateString != null ? DateTime.parse(releaseDateString) : null; return APKDetails(