import 'package:permission_handler/permission_handler.dart';

/// カメラ・ストレージのパーミッション確認・要求を行うサービス．
class PermissionService {
  /// カメラ権限を確認し，未許可なら要求する．
  Future<bool> requestCamera() async {
    final status = await Permission.camera.request();
    return status.isGranted;
  }

  /// ストレージ権限を確認し，未許可なら要求する．
  Future<bool> requestStorage() async {
    final status = await Permission.storage.request();
    return status.isGranted;
  }

  /// カメラ権限が永久に拒否されているかを返す．
  Future<bool> isCameraPermanentlyDenied() async {
    return await Permission.camera.isPermanentlyDenied;
  }

  /// アプリの設定画面を開く．
  Future<void> openSettings() async {
    await openAppSettings();
  }
}
