Skip to content

Commit d78050b

Browse files
committed
fix: ensure APK installation is disabled for F-Droid builds
1 parent c2a737a commit d78050b

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

lib/services/android_package_service.dart

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
// ignore_for_file: unused_import
22
import 'dart:io';
3-
import 'package:flutter/services.dart';
4-
import '../config/build_config.dart';
53

64
// Conditional import for Android package installer - only for non-F-Droid builds
7-
import 'package:android_package_installer/android_package_installer.dart' as apm_installer
5+
import 'package:android_package_installer/android_package_installer.dart'
6+
as apm_installer
87
if (dart.library.js) 'package:android_package_installer/android_package_installer.dart';
9-
import 'package:android_package_manager/android_package_manager.dart' as apm_manager
8+
import 'package:android_package_manager/android_package_manager.dart'
9+
as apm_manager
1010
if (dart.library.js) 'package:android_package_manager/android_package_manager.dart';
11+
import 'package:flutter/services.dart';
12+
13+
import '../config/build_config.dart';
1114

1215
/// Installation status - abstraction to avoid Git dependency issues
1316
enum InstallStatus {
@@ -30,14 +33,16 @@ class AndroidPackageService {
3033
if (!BuildConfig.enableSelfUpdate) {
3134
throw UnsupportedError('APK installation is disabled for F-Droid builds');
3235
}
33-
36+
3437
if (!Platform.isAndroid) {
3538
throw UnsupportedError('APK installation is only supported on Android');
3639
}
3740

3841
try {
3942
// Use the Android package installer for non-F-Droid builds
40-
return await apm_installer.AndroidPackageInstaller.installApk(apkFilePath: path);
43+
return await apm_installer.AndroidPackageInstaller.installApk(
44+
apkFilePath: path,
45+
);
4146
} catch (e) {
4247
throw Exception('Failed to install APK: $e');
4348
}
@@ -48,10 +53,10 @@ class AndroidPackageService {
4853
if (!BuildConfig.enableSelfUpdate) {
4954
return InstallStatus.failure;
5055
}
51-
56+
5257
if (statusCode == null) return InstallStatus.unknown;
5358
if (statusCode == -1) return InstallStatus.pending;
54-
59+
5560
try {
5661
// Map the status codes from android_package_installer
5762
// This is a simplified version to avoid direct dependency
@@ -85,7 +90,7 @@ class AndroidPackageService {
8590
if (!BuildConfig.enableSelfUpdate) {
8691
return false;
8792
}
88-
93+
8994
if (!Platform.isAndroid) {
9095
return false;
9196
}
@@ -114,4 +119,4 @@ class AndroidPackageService {
114119
return 'unknown';
115120
}
116121
}
117-
}
122+
}

0 commit comments

Comments
 (0)