2026-05-22 15:10:11 +03:00
|
|
|
import 'package:pigeon/pigeon.dart';
|
|
|
|
|
|
2026-06-04 17:54:39 +05:30
|
|
|
enum PermissionStatus { granted, denied, permanentlyDenied }
|
|
|
|
|
|
2026-05-22 15:10:11 +03:00
|
|
|
@ConfigurePigeon(
|
|
|
|
|
PigeonOptions(
|
|
|
|
|
dartOut: 'lib/platform/permission_api.g.dart',
|
|
|
|
|
swiftOut: 'ios/Runner/Permission/PermissionApi.g.swift',
|
2026-06-04 17:54:39 +05:30
|
|
|
swiftOptions: SwiftOptions(includeErrorClass: false),
|
2026-05-22 15:10:11 +03:00
|
|
|
kotlinOut: 'android/app/src/main/kotlin/app/alextran/immich/permission/PermissionApi.g.kt',
|
|
|
|
|
kotlinOptions: KotlinOptions(package: 'app.alextran.immich.permission'),
|
|
|
|
|
dartOptions: DartOptions(),
|
|
|
|
|
dartPackageName: 'immich_mobile',
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
@HostApi()
|
|
|
|
|
abstract class PermissionApi {
|
2026-06-04 17:54:39 +05:30
|
|
|
PermissionStatus isIgnoringBatteryOptimizations();
|
|
|
|
|
|
2026-05-22 15:10:11 +03:00
|
|
|
bool hasManageMediaPermission();
|
|
|
|
|
|
|
|
|
|
@async
|
|
|
|
|
bool requestManageMediaPermission();
|
|
|
|
|
|
|
|
|
|
@async
|
|
|
|
|
bool manageMediaPermission();
|
|
|
|
|
}
|