@@ -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