From ea0564126ea185ebb59b454130da1a5b5605178a Mon Sep 17 00:00:00 2001 From: Riley Testut Date: Fri, 26 May 2023 19:38:19 -0500 Subject: [PATCH] [AltStoreCore] Adds some common ALTPrivacyPermissions * Apple Music * Bluetooth * Calendars * Camera * Face ID * Local Network * Microphone * Photos --- AltStoreCore/Protocols/ALTAppPermission.swift | 31 +++++++++++++++++-- AltStoreCore/Types/ALTAppPermissions.h | 9 ++++++ AltStoreCore/Types/ALTAppPermissions.m | 9 ++++++ 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/AltStoreCore/Protocols/ALTAppPermission.swift b/AltStoreCore/Protocols/ALTAppPermission.swift index 8a83afef..da1fd995 100644 --- a/AltStoreCore/Protocols/ALTAppPermission.swift +++ b/AltStoreCore/Protocols/ALTAppPermission.swift @@ -75,9 +75,36 @@ extension ALTEntitlement: ALTAppPermission extension ALTAppPrivacyPermission: ALTAppPermission { public var type: ALTAppPermissionType { .privacy } - public var symbolName: String? { nil } - public var localizedName: String? { nil } + public var localizedName: String? { + switch self + { + case .photos: return NSLocalizedString("Photos", comment: "") + case .camera: return NSLocalizedString("Camera", comment: "") + case .faceID: return NSLocalizedString("Face ID", comment: "") + case .appleMusic: return NSLocalizedString("Apple Music", comment: "") + case .localNetwork: return NSLocalizedString("Local Network", comment: "") + case .bluetooth: return NSLocalizedString("Bluetooth (Always)", comment: "") + case .calendars: return NSLocalizedString("Calendars", comment: "") + case .microphone: return NSLocalizedString("Microphone", comment: "") + default: return nil + } + } + + public var symbolName: String? { + switch self + { + case .photos: return "photo" + case .camera: return "camera" + case .faceID: return "faceid" + case .appleMusic: return "music.note" + case .localNetwork: return "wifi" + case .bluetooth: return "dot.radiowaves.forward" + case .calendars: return "calendar" + case .microphone: return "mic" + default: return nil + } + } } extension ALTAppBackgroundMode: ALTAppPermission diff --git a/AltStoreCore/Types/ALTAppPermissions.h b/AltStoreCore/Types/ALTAppPermissions.h index eafb3176..03039fa7 100644 --- a/AltStoreCore/Types/ALTAppPermissions.h +++ b/AltStoreCore/Types/ALTAppPermissions.h @@ -16,3 +16,12 @@ extern ALTAppPermissionType const ALTAppPermissionTypeBackgroundMode; typedef NSString *ALTAppPrivacyPermission NS_TYPED_EXTENSIBLE_ENUM; typedef NSString *ALTAppBackgroundMode NS_TYPED_EXTENSIBLE_ENUM; + +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionAppleMusic; +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionBluetooth; +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionCalendars; +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionCamera; +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionFaceID; +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionLocalNetwork; +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionMicrophone; +extern ALTAppPrivacyPermission const ALTAppPrivacyPermissionPhotos; diff --git a/AltStoreCore/Types/ALTAppPermissions.m b/AltStoreCore/Types/ALTAppPermissions.m index 0b9ff5d8..b4984b36 100644 --- a/AltStoreCore/Types/ALTAppPermissions.m +++ b/AltStoreCore/Types/ALTAppPermissions.m @@ -12,3 +12,12 @@ ALTAppPermissionType const ALTAppPermissionTypeUnknown = @"unknown"; ALTAppPermissionType const ALTAppPermissionTypeEntitlement = @"entitlement"; ALTAppPermissionType const ALTAppPermissionTypePrivacy = @"privacy"; ALTAppPermissionType const ALTAppPermissionTypeBackgroundMode = @"background"; + +ALTAppPrivacyPermission const ALTAppPrivacyPermissionAppleMusic = @"AppleMusic"; +ALTAppPrivacyPermission const ALTAppPrivacyPermissionBluetooth = @"BluetoothAlways"; +ALTAppPrivacyPermission const ALTAppPrivacyPermissionCalendars = @"Calendars"; +ALTAppPrivacyPermission const ALTAppPrivacyPermissionCamera = @"Camera"; +ALTAppPrivacyPermission const ALTAppPrivacyPermissionFaceID = @"FaceID"; +ALTAppPrivacyPermission const ALTAppPrivacyPermissionLocalNetwork = @"LocalNetwork"; +ALTAppPrivacyPermission const ALTAppPrivacyPermissionMicrophone = @"Microphone"; +ALTAppPrivacyPermission const ALTAppPrivacyPermissionPhotos = @"PhotoLibrary";