added clear message for denied camera or gallery access
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'app_exception.dart';
|
||||
|
||||
/// The user denied a system permission the action needs (camera, photos).
|
||||
/// Retrying won't help until the permission is granted in the system settings.
|
||||
class PermissionException extends AppException {
|
||||
const PermissionException({
|
||||
required super.userMessage,
|
||||
super.technicalDetails,
|
||||
}) : super(allowRetry: false);
|
||||
|
||||
factory PermissionException.camera({String? technicalDetails}) =>
|
||||
PermissionException(
|
||||
userMessage:
|
||||
'Kein Zugriff auf die Kamera. Bitte erlaube der App den '
|
||||
'Kamerazugriff in den Einstellungen deines Geräts.',
|
||||
technicalDetails: technicalDetails,
|
||||
);
|
||||
|
||||
factory PermissionException.photos({String? technicalDetails}) =>
|
||||
PermissionException(
|
||||
userMessage:
|
||||
'Kein Zugriff auf deine Fotos. Bitte erlaube der App den '
|
||||
'Fotozugriff in den Einstellungen deines Geräts.',
|
||||
technicalDetails: technicalDetails,
|
||||
);
|
||||
|
||||
/// Maps the `*_access_denied` codes thrown by `image_picker`; `null` for any
|
||||
/// other platform error.
|
||||
static PermissionException? fromPlatform(PlatformException error) =>
|
||||
switch (error.code) {
|
||||
'camera_access_denied' => PermissionException.camera(
|
||||
technicalDetails: error.message,
|
||||
),
|
||||
'photo_access_denied' => PermissionException.photos(
|
||||
technicalDetails: error.message,
|
||||
),
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user