mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 10:37:11 -04:00 
			
		
		
		
	* feat: ios background sync # Conflicts: # mobile/ios/Runner/Info.plist * feat: Android sync * add local sync worker and rename stuff * group upload notifications * uncomment onresume beta handling * rename methods --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:pigeon/pigeon.dart';
 | |
| 
 | |
| @ConfigurePigeon(
 | |
|   PigeonOptions(
 | |
|     dartOut: 'lib/platform/background_worker_api.g.dart',
 | |
|     swiftOut: 'ios/Runner/Background/BackgroundWorker.g.swift',
 | |
|     swiftOptions: SwiftOptions(includeErrorClass: false),
 | |
|     kotlinOut: 'android/app/src/main/kotlin/app/alextran/immich/background/BackgroundWorker.g.kt',
 | |
|     kotlinOptions: KotlinOptions(package: 'app.alextran.immich.background'),
 | |
|     dartOptions: DartOptions(),
 | |
|     dartPackageName: 'immich_mobile',
 | |
|   ),
 | |
| )
 | |
| @HostApi()
 | |
| abstract class BackgroundWorkerFgHostApi {
 | |
|   void enableSyncWorker();
 | |
| 
 | |
|   // Enables the background upload service with the given callback handle
 | |
|   void enableUploadWorker(int callbackHandle);
 | |
| 
 | |
|   // Disables the background upload service
 | |
|   void disableUploadWorker();
 | |
| }
 | |
| 
 | |
| @HostApi()
 | |
| abstract class BackgroundWorkerBgHostApi {
 | |
|   // Called from the background flutter engine when it has bootstrapped and established the
 | |
|   // required platform channels to notify the native side to start the background upload
 | |
|   void onInitialized();
 | |
| }
 | |
| 
 | |
| @FlutterApi()
 | |
| abstract class BackgroundWorkerFlutterApi {
 | |
|   // Android & iOS: Called when the local sync is triggered
 | |
|   @async
 | |
|   void onLocalSync(int? maxSeconds);
 | |
| 
 | |
|   // iOS Only: Called when the iOS background upload is triggered
 | |
|   @async
 | |
|   void onIosUpload(bool isRefresh, int? maxSeconds);
 | |
| 
 | |
|   // Android Only: Called when the Android background upload is triggered
 | |
|   @async
 | |
|   void onAndroidUpload();
 | |
| 
 | |
|   @async
 | |
|   void cancel();
 | |
| }
 |