Skip to content

Commit e980a12

Browse files
committed
Add availability annotations
1 parent fc24b2c commit e980a12

2 files changed

Lines changed: 79 additions & 0 deletions

File tree

Sources/AndroidManifest/Permission.swift

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,20 @@ public extension Permission {
4040

4141
static let accessWifiState = Permission(rawValue: javaClass.ACCESS_WIFI_STATE)
4242

43+
@available(Android 29, *)
4344
static let accessBackgroundLocation = Permission(rawValue: javaClass.ACCESS_BACKGROUND_LOCATION)
4445

46+
@available(Android 29, *)
4547
static let accessMediaLocation = Permission(rawValue: javaClass.ACCESS_MEDIA_LOCATION)
4648

4749
static let accountManager = Permission(rawValue: javaClass.ACCOUNT_MANAGER)
4850

51+
@available(Android 29, *)
4952
static let activityRecognition = Permission(rawValue: javaClass.ACTIVITY_RECOGNITION)
5053

5154
static let addVoicemail = Permission(rawValue: javaClass.ADD_VOICEMAIL)
5255

56+
@available(Android 26, *)
5357
static let answerPhoneCalls = Permission(rawValue: javaClass.ANSWER_PHONE_CALLS)
5458

5559
static let batteryStats = Permission(rawValue: javaClass.BATTERY_STATS)
@@ -110,14 +114,18 @@ public extension Permission {
110114

111115
static let bluetoothPrivileged = Permission(rawValue: javaClass.BLUETOOTH_PRIVILEGED)
112116

117+
@available(Android 31, *)
113118
static let bluetoothAdvertise = Permission(rawValue: javaClass.BLUETOOTH_ADVERTISE)
114119

120+
@available(Android 31, *)
115121
static let bluetoothConnect = Permission(rawValue: javaClass.BLUETOOTH_CONNECT)
116122

123+
@available(Android 31, *)
117124
static let bluetoothScan = Permission(rawValue: javaClass.BLUETOOTH_SCAN)
118125

119126
static let bodySensors = Permission(rawValue: javaClass.BODY_SENSORS)
120127

128+
@available(Android 33, *)
121129
static let bodySensorsBackground = Permission(rawValue: javaClass.BODY_SENSORS_BACKGROUND)
122130

123131
static let broadcastPackageRemoved = Permission(rawValue: javaClass.BROADCAST_PACKAGE_REMOVED)
@@ -136,8 +144,10 @@ public extension Permission {
136144

137145
static let captureAudioOutput = Permission(rawValue: javaClass.CAPTURE_AUDIO_OUTPUT)
138146

147+
@available(Android 21, *)
139148
static let captureSecureVideoOutput = Permission(rawValue: javaClass.CAPTURE_SECURE_VIDEO_OUTPUT)
140149

150+
@available(Android 21, *)
141151
static let captureVideoOutput = Permission(rawValue: javaClass.CAPTURE_VIDEO_OUTPUT)
142152

143153
static let changeComponentEnabledState = Permission(rawValue: javaClass.CHANGE_COMPONENT_ENABLED_STATE)
@@ -168,30 +178,43 @@ public extension Permission {
168178

169179
static let factoryTest = Permission(rawValue: javaClass.FACTORY_TEST)
170180

181+
@available(Android 28, *)
171182
static let foregroundService = Permission(rawValue: javaClass.FOREGROUND_SERVICE)
172183

184+
@available(Android 34, *)
173185
static let foregroundServiceCamera = Permission(rawValue: javaClass.FOREGROUND_SERVICE_CAMERA)
174186

187+
@available(Android 34, *)
175188
static let foregroundServiceConnectedDevice = Permission(rawValue: javaClass.FOREGROUND_SERVICE_CONNECTED_DEVICE)
176189

190+
@available(Android 34, *)
177191
static let foregroundServiceDataSync = Permission(rawValue: javaClass.FOREGROUND_SERVICE_DATA_SYNC)
178192

193+
@available(Android 34, *)
179194
static let foregroundServiceHealth = Permission(rawValue: javaClass.FOREGROUND_SERVICE_HEALTH)
180195

196+
@available(Android 34, *)
181197
static let foregroundServiceLocation = Permission(rawValue: javaClass.FOREGROUND_SERVICE_LOCATION)
182198

199+
@available(Android 34, *)
183200
static let foregroundServiceMediaPlayback = Permission(rawValue: javaClass.FOREGROUND_SERVICE_MEDIA_PLAYBACK)
184201

202+
@available(Android 34, *)
185203
static let foregroundServiceMediaProjection = Permission(rawValue: javaClass.FOREGROUND_SERVICE_MEDIA_PROJECTION)
186204

205+
@available(Android 34, *)
187206
static let foregroundServiceMicrophone = Permission(rawValue: javaClass.FOREGROUND_SERVICE_MICROPHONE)
188207

208+
@available(Android 34, *)
189209
static let foregroundServicePhoneCall = Permission(rawValue: javaClass.FOREGROUND_SERVICE_PHONE_CALL)
190210

211+
@available(Android 34, *)
191212
static let foregroundServiceRemoteMessaging = Permission(rawValue: javaClass.FOREGROUND_SERVICE_REMOTE_MESSAGING)
192213

214+
@available(Android 34, *)
193215
static let foregroundServiceSpecialUse = Permission(rawValue: javaClass.FOREGROUND_SERVICE_SPECIAL_USE)
194216

217+
@available(Android 34, *)
195218
static let foregroundServiceSystemExempted = Permission(rawValue: javaClass.FOREGROUND_SERVICE_SYSTEM_EXEMPTED)
196219

197220
static let getAccounts = Permission(rawValue: javaClass.GET_ACCOUNTS)
@@ -220,10 +243,13 @@ public extension Permission {
220243

221244
static let manageOwnCalls = Permission(rawValue: javaClass.MANAGE_OWN_CALLS)
222245

246+
@available(Android 30, *)
223247
static let manageExternalStorage = Permission(rawValue: javaClass.MANAGE_EXTERNAL_STORAGE)
224248

249+
@available(Android 31, *)
225250
static let manageMedia = Permission(rawValue: javaClass.MANAGE_MEDIA)
226251

252+
@available(Android 31, *)
227253
static let manageOngoingCalls = Permission(rawValue: javaClass.MANAGE_ONGOING_CALLS)
228254

229255
static let masterClear = Permission(rawValue: javaClass.MASTER_CLEAR)
@@ -242,12 +268,15 @@ public extension Permission {
242268

243269
static let nfcTransactionEvent = Permission(rawValue: javaClass.NFC_TRANSACTION_EVENT)
244270

271+
@available(Android 33, *)
245272
static let nfcPreferredPaymentInfo = Permission(rawValue: javaClass.NFC_PREFERRED_PAYMENT_INFO)
246273

274+
@available(Android 33, *)
247275
static let nearbyWifiDevices = Permission(rawValue: javaClass.NEARBY_WIFI_DEVICES)
248276

249277
static let packageUsageStats = Permission(rawValue: javaClass.PACKAGE_USAGE_STATS)
250278

279+
@available(Android 33, *)
251280
static let postNotifications = Permission(rawValue: javaClass.POST_NOTIFICATIONS)
252281

253282
static let processOutgoingCalls = Permission(rawValue: javaClass.PROCESS_OUTGOING_CALLS)
@@ -260,18 +289,24 @@ public extension Permission {
260289

261290
static let readExternalStorage = Permission(rawValue: javaClass.READ_EXTERNAL_STORAGE)
262291

292+
@available(Android 33, *)
263293
static let readMediaAudio = Permission(rawValue: javaClass.READ_MEDIA_AUDIO)
264294

295+
@available(Android 33, *)
265296
static let readMediaImages = Permission(rawValue: javaClass.READ_MEDIA_IMAGES)
266297

298+
@available(Android 33, *)
267299
static let readMediaVideo = Permission(rawValue: javaClass.READ_MEDIA_VIDEO)
268300

301+
@available(Android 34, *)
269302
static let readMediaVisualUserSelected = Permission(rawValue: javaClass.READ_MEDIA_VISUAL_USER_SELECTED)
270303

304+
@available(Android 21, *)
271305
static let readFrameBuffer = Permission(rawValue: javaClass.READ_FRAME_BUFFER)
272306

273307
static let readLogs = Permission(rawValue: javaClass.READ_LOGS)
274308

309+
@available(Android 26, *)
275310
static let readPhoneNumbers = Permission(rawValue: javaClass.READ_PHONE_NUMBERS)
276311

277312
static let readPhoneState = Permission(rawValue: javaClass.READ_PHONE_STATE)
@@ -308,8 +343,10 @@ public extension Permission {
308343

309344
static let requestInstallPackages = Permission(rawValue: javaClass.REQUEST_INSTALL_PACKAGES)
310345

346+
@available(Android 31, *)
311347
static let requestPasswordComplexity = Permission(rawValue: javaClass.REQUEST_PASSWORD_COMPLEXITY)
312348

349+
@available(Android 31, *)
313350
static let scheduleExactAlarm = Permission(rawValue: javaClass.SCHEDULE_EXACT_ALARM)
314351

315352
static let sendRespondViaMessage = Permission(rawValue: javaClass.SEND_RESPOND_VIA_MESSAGE)
@@ -348,12 +385,15 @@ public extension Permission {
348385

349386
static let useBiometric = Permission(rawValue: javaClass.USE_BIOMETRIC)
350387

388+
@available(Android 33, *)
351389
static let useExactAlarm = Permission(rawValue: javaClass.USE_EXACT_ALARM)
352390

391+
@available(Android 29, *)
353392
static let useFullScreenIntent = Permission(rawValue: javaClass.USE_FULL_SCREEN_INTENT)
354393

355394
static let useSip = Permission(rawValue: javaClass.USE_SIP)
356395

396+
@available(Android 31, *)
357397
static let uwbRanging = Permission(rawValue: javaClass.UWB_RANGING)
358398

359399
static let vibrate = Permission(rawValue: javaClass.VIBRATE)

0 commit comments

Comments
 (0)