1
1
// ignore_for_file: unused_import
2
2
import 'dart:io' ;
3
- import 'package:flutter/services.dart' ;
4
- import '../config/build_config.dart' ;
5
3
6
4
// 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
8
7
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
10
10
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' ;
11
14
12
15
/// Installation status - abstraction to avoid Git dependency issues
13
16
enum InstallStatus {
@@ -30,14 +33,16 @@ class AndroidPackageService {
30
33
if (! BuildConfig .enableSelfUpdate) {
31
34
throw UnsupportedError ('APK installation is disabled for F-Droid builds' );
32
35
}
33
-
36
+
34
37
if (! Platform .isAndroid) {
35
38
throw UnsupportedError ('APK installation is only supported on Android' );
36
39
}
37
40
38
41
try {
39
42
// 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
+ );
41
46
} catch (e) {
42
47
throw Exception ('Failed to install APK: $e ' );
43
48
}
@@ -48,10 +53,10 @@ class AndroidPackageService {
48
53
if (! BuildConfig .enableSelfUpdate) {
49
54
return InstallStatus .failure;
50
55
}
51
-
56
+
52
57
if (statusCode == null ) return InstallStatus .unknown;
53
58
if (statusCode == - 1 ) return InstallStatus .pending;
54
-
59
+
55
60
try {
56
61
// Map the status codes from android_package_installer
57
62
// This is a simplified version to avoid direct dependency
@@ -85,7 +90,7 @@ class AndroidPackageService {
85
90
if (! BuildConfig .enableSelfUpdate) {
86
91
return false ;
87
92
}
88
-
93
+
89
94
if (! Platform .isAndroid) {
90
95
return false ;
91
96
}
@@ -114,4 +119,4 @@ class AndroidPackageService {
114
119
return 'unknown' ;
115
120
}
116
121
}
117
- }
122
+ }
0 commit comments