Merge branch 'master' into zaps

This commit is contained in:
franzap
2024-12-31 18:08:45 -03:00
10 changed files with 94 additions and 108 deletions
+3
View File
@@ -1,3 +1,6 @@
.fvmrc
.vscode/settings.json
# Miscellaneous
*.class
*.log
-11
View File
@@ -1,11 +0,0 @@
{
"dart.flutterSdkPath": "~/fvm/default",
// Remove .fvm files from search
"search.exclude": {
"**/.fvm": true
},
// Remove from file watching
"files.watcherExclude": {
"**/.fvm": true
}
}
+5 -1
View File
@@ -1,6 +1,7 @@
plugins {
id "com.android.application"
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
@@ -39,7 +40,7 @@ android {
}
kotlinOptions {
jvmTarget = '21'
jvmTarget = JavaVersion.VERSION_1_8
}
sourceSets {
@@ -69,7 +70,10 @@ android {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
<<<<<<< HEAD
=======
>>>>>>> master
}
}
}
+10
View File
@@ -24,6 +24,7 @@
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
@@ -39,6 +40,15 @@
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="zapstore" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="zapstore.dev" />
<data android:pathPrefix="/download"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
+5 -2
View File
@@ -18,11 +18,12 @@ subprojects {
}
}
// Used for plugins that do not specify their own namespace
// https://discuss.gradle.org/t/flutter-not-able-to-migrate-to-gradle-8/46937/7
subprojects {
afterEvaluate { project ->
if (project.hasProperty('android')) {
project.android {
// compileSdkVersion 34
if (namespace == null) {
namespace project.group
}
@@ -31,7 +32,6 @@ subprojects {
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
@@ -44,6 +44,9 @@ tasks.register("clean", Delete) {
delete rootProject.buildDir
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:-options"
}
ext {
compileSdkVersion = 34
-21
View File
@@ -2,7 +2,6 @@ import 'dart:async';
import 'dart:io';
import 'dart:isolate';
import 'package:android_package_manager/android_package_manager.dart';
import 'package:async/async.dart';
import 'package:background_downloader/background_downloader.dart';
import 'package:collection/collection.dart';
@@ -189,26 +188,6 @@ class App extends base.App with DataModelMixin<App> {
}
}
}
Future<bool?> packageCertificateMatches() async {
if (latestMetadata!.apkSignatureHash == null) return null;
final flags = PackageInfoFlags(
{PMFlag.getPermissions, PMFlag.getSigningCertificates},
);
final i = await packageManager.getPackageInfo(
packageName: identifier, flags: flags);
if (i == null) {
return null;
}
final bytes = i.signingInfo!.signingCertificateHistory!.first;
final installedApkSigHash = sha256.convert(bytes).toString().toLowerCase();
final metadataSigHashes =
latestMetadata?.event.getTagSet('apk_signature_hash') ?? {};
return metadataSigHashes
.any((msh) => msh.toLowerCase() == installedApkSigHash);
}
}
mixin AppAdapter on Adapter<App> {
+12 -6
View File
@@ -60,18 +60,24 @@ final appInitializer = FutureProvider<void>((ref) async {
// Handle deep links
final appLinksSub = appLinks.uriLinkStream.listen((uri) async {
if (uri.scheme == 'zapstore') {
String? appId;
if (uri.scheme == 'https' && uri.hasFragment) {
appId = uri.fragment;
} else if (uri.scheme == 'zapstore') {
appId = uri.host;
}
if (appId != null) {
final adapter = ref.apps.appAdapter;
final apps = adapter.findWhereIdentifierInLocal({uri.host});
final apps = adapter.findWhereIdentifierInLocal({appId});
// Filter by signer npub, if present, otherwise pick first
final appSignerNpub = uri.queryParameters['signer'];
var app =
var goToApp =
apps.firstWhereOrNull((a) => a.signer.value?.npub == appSignerNpub);
if (appSignerNpub == null) {
app = apps.first;
goToApp = apps.first;
}
if (app != null) {
appRouter.go('/details', extra: app);
if (goToApp != null) {
appRouter.go('/details', extra: goToApp);
} else {
appRouter.go('/');
}
+1 -1
View File
@@ -1,7 +1,7 @@
import Cocoa
import FlutterMacOS
@NSApplicationMain
@main
class AppDelegate: FlutterAppDelegate {
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
+56 -64
View File
@@ -34,10 +34,10 @@ packages:
dependency: "direct main"
description:
name: app_links
sha256: ad1a6d598e7e39b46a34f746f9a8b011ee147e4c275d407fa457e7a62f84dd99
sha256: "433df2e61b10519407475d7f69e470789d23d593f28224c38ba1068597be7950"
url: "https://pub.dev"
source: hosted
version: "6.3.2"
version: "6.3.3"
app_links_linux:
dependency: transitive
description:
@@ -66,10 +66,10 @@ packages:
dependency: transitive
description:
name: archive
sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a"
url: "https://pub.dev"
source: hosted
version: "3.6.1"
version: "4.0.2"
args:
dependency: transitive
description:
@@ -106,10 +106,10 @@ packages:
dependency: "direct main"
description:
name: background_downloader
sha256: "7c65a999544b40668000aac6379854b890f0ef367b9fbd29d959fd1e242dda14"
sha256: "8178f005574922941034b4a95c0721bc1ecdc4c9f040e310b108bc3d59a5e919"
url: "https://pub.dev"
source: hosted
version: "8.8.0"
version: "8.8.1"
badges:
dependency: "direct main"
description:
@@ -202,10 +202,10 @@ packages:
dependency: transitive
description:
name: built_value
sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb
sha256: "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2"
url: "https://pub.dev"
source: hosted
version: "8.9.2"
version: "8.9.3"
cached_network_image:
dependency: "direct main"
description:
@@ -314,18 +314,18 @@ packages:
dependency: "direct main"
description:
name: device_info_plus
sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074
sha256: "4fa68e53e26ab17b70ca39f072c285562cfc1589df5bb1e9295db90f6645f431"
url: "https://pub.dev"
source: hosted
version: "10.1.2"
version: "11.2.0"
device_info_plus_platform_interface:
dependency: transitive
description:
name: device_info_plus_platform_interface
sha256: "282d3cf731045a2feb66abfe61bbc40870ae50a3ed10a4d3d217556c35c8c2ba"
sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2"
url: "https://pub.dev"
source: hosted
version: "7.0.1"
version: "7.0.2"
easy_image_viewer:
dependency: "direct main"
description:
@@ -416,10 +416,10 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c"
sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1"
url: "https://pub.dev"
source: hosted
version: "4.0.0"
version: "5.0.0"
flutter_markdown:
dependency: "direct main"
description:
@@ -594,10 +594,10 @@ packages:
dependency: transitive
description:
name: http_multi_server
sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
url: "https://pub.dev"
source: hosted
version: "3.2.1"
version: "3.2.2"
http_parser:
dependency: transitive
description:
@@ -626,10 +626,10 @@ packages:
dependency: transitive
description:
name: image
sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d
sha256: "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6"
url: "https://pub.dev"
source: hosted
version: "4.3.0"
version: "4.5.2"
inflection3:
dependency: transitive
description:
@@ -658,18 +658,10 @@ packages:
dependency: transitive
description:
name: io
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
url: "https://pub.dev"
source: hosted
version: "1.0.4"
isar:
dependency: transitive
description:
name: isar
sha256: ebf74d87c400bd9f7da14acb31932b50c2407edbbd40930da3a6c2a8143f85a8
url: "https://pub.dev"
source: hosted
version: "4.0.0-dev.14"
version: "1.0.5"
js:
dependency: transitive
description:
@@ -722,18 +714,10 @@ packages:
dependency: transitive
description:
name: lints
sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235"
sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413"
url: "https://pub.dev"
source: hosted
version: "4.0.0"
logger:
dependency: transitive
description:
name: logger
sha256: be4b23575aac7ebf01f225a241eb7f6b5641eeaf43c6a8613510fc2f8cf187d1
url: "https://pub.dev"
source: hosted
version: "2.5.0"
version: "5.0.0"
logging:
dependency: transitive
description:
@@ -819,10 +803,10 @@ packages:
dependency: transitive
description:
name: package_config
sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
path:
dependency: "direct main"
description:
@@ -843,10 +827,10 @@ packages:
dependency: transitive
description:
name: path_provider_android
sha256: "8c4967f8b7cb46dc914e178daa29813d83ae502e0529d7b0478330616a691ef7"
sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2"
url: "https://pub.dev"
source: hosted
version: "2.2.14"
version: "2.2.15"
path_provider_foundation:
dependency: transitive
description:
@@ -983,22 +967,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.5.1"
posix:
dependency: transitive
description:
name: posix
sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
url: "https://pub.dev"
source: hosted
version: "6.0.1"
pub_semver:
dependency: transitive
description:
name: pub_semver
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd"
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.1.5"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8
sha256: "81876843eb50dc2e1e5b151792c9a985c5ed2536914115ed04e9c8528f6647b0"
url: "https://pub.dev"
source: hosted
version: "1.3.0"
version: "1.4.0"
purplebase:
dependency: "direct main"
description:
@@ -1042,26 +1034,26 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82"
sha256: "3c7e73920c694a436afaf65ab60ce3453d91f84208d761fbd83fc21182134d93"
url: "https://pub.dev"
source: hosted
version: "2.3.3"
version: "2.3.4"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
sha256: "7f172d1b06de5da47b6264c2692ee2ead20bbbc246690427cdb4fc301cd0c549"
sha256: "02a7d8a9ef346c9af715811b01fbd8e27845ad2c41148eefd31321471b41863d"
url: "https://pub.dev"
source: hosted
version: "2.3.4"
version: "2.4.0"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d"
sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
url: "https://pub.dev"
source: hosted
version: "2.5.3"
version: "2.5.4"
shared_preferences_linux:
dependency: transitive
description:
@@ -1144,10 +1136,10 @@ packages:
dependency: transitive
description:
name: source_helper
sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c"
url: "https://pub.dev"
source: hosted
version: "1.3.4"
version: "1.3.5"
source_span:
dependency: transitive
description:
@@ -1216,10 +1208,10 @@ packages:
dependency: "direct main"
description:
name: sqlite3_flutter_libs
sha256: "636b0fe8a2de894e5455572f6cbbc458f4ffecfe9f860b79439e27041ea4f0b9"
sha256: "73016db8419f019e807b7a5e5fbf2a7bd45c165fed403b8e7681230f3a102785"
url: "https://pub.dev"
source: hosted
version: "0.5.27"
version: "0.5.28"
stack_trace:
dependency: transitive
description:
@@ -1248,10 +1240,10 @@ packages:
dependency: transitive
description:
name: stream_transform
sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
string_scanner:
dependency: transitive
description:
@@ -1296,10 +1288,10 @@ packages:
dependency: transitive
description:
name: timing
sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
version: "1.0.2"
toastification:
dependency: "direct main"
description:
@@ -1416,10 +1408,10 @@ packages:
dependency: transitive
description:
name: watcher
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
version: "1.1.1"
web:
dependency: transitive
description:
@@ -1488,10 +1480,10 @@ packages:
dependency: transitive
description:
name: yaml
sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
url: "https://pub.dev"
source: hosted
version: "3.1.2"
version: "3.1.3"
sdks:
dart: ">=3.5.0 <4.0.0"
flutter: ">=3.24.0"
+2 -2
View File
@@ -33,7 +33,7 @@ dependencies:
gap: ^3.0.1
auto_size_text: ^3.0.0
intl: ^0.18.1
device_info_plus: ^10.1.0
device_info_plus: ^11.2.0
flutter_layout_grid: ^2.0.6
signer_plugin: ^1.0.0
skeletonizer: ^1.1.2+1
@@ -79,7 +79,7 @@ dev_dependencies:
flutter_test:
sdk: flutter
json_serializable: ^6.7.1
flutter_lints: ^4.0.0
flutter_lints: ^5.0.0
icons_launcher: ^3.0.0
flutter: