Skip to content

Commit b4887cb

Browse files
committed
Merge branch '2.0.0' of github.com:react-native-community/react-native-permissions into 2.0.0
2 parents 26084bf + 39d6b37 commit b4887cb

File tree

1 file changed

+104
-104
lines changed

1 file changed

+104
-104
lines changed

README.md

Lines changed: 104 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -119,110 +119,6 @@ public class MainApplication extends Application implements ReactApplication {
119119

120120
</details>
121121

122-
## Permission lifecycles
123-
124-
Permission are not handled in the same way on iOS and Android. This library provides an abstraction over the platforms behaviors. To understand it a little better, have a look to these two flowcharts:
125-
126-
### iOS
127-
128-
```
129-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
130-
┃ check(PERMISSIONS.IOS.CAMERA) ┃
131-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
132-
133-
Is the feature available
134-
on this device ?
135-
│ ╔════╗
136-
├───────────║ NO ║──────────────┐
137-
│ ╚════╝ │
138-
╔═════╗ ▼
139-
║ YES ║ ┌─────────────────────┐
140-
╚═════╝ │ RESULTS.UNAVAILABLE │
141-
│ └─────────────────────┘
142-
Is the permission
143-
requestable ?
144-
│ ╔════╗
145-
├───────────║ NO ║──────────────┐
146-
│ ╚════╝ │
147-
╔═════╗ ▼
148-
║ YES ║ ┌───────────────────┐
149-
╚═════╝ │ RESULTS.BLOCKED / │
150-
│ │ RESULTS.GRANTED │
151-
▼ └───────────────────┘
152-
┌────────────────┐
153-
│ RESULTS.DENIED │
154-
└────────────────┘
155-
156-
157-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
158-
┃ request(PERMISSIONS.IOS.CAMERA) ┃
159-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
160-
161-
Does the user accepted
162-
the request ?
163-
│ ╔════╗
164-
├───────────║ NO ║──────────────┐
165-
│ ╚════╝ │
166-
╔═════╗ ▼
167-
║ YES ║ ┌─────────────────┐
168-
╚═════╝ │ RESULTS.BLOCKED │
169-
│ └─────────────────┘
170-
171-
┌─────────────────┐
172-
│ RESULTS.GRANTED │
173-
└─────────────────┘
174-
```
175-
176-
### Android
177-
178-
```
179-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
180-
┃ check(PERMISSIONS.ANDROID.CAMERA) ┃
181-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
182-
183-
Is the feature available
184-
on this device ?
185-
│ ╔════╗
186-
├───────────║ NO ║──────────────┐
187-
│ ╚════╝ │
188-
╔═════╗ ▼
189-
║ YES ║ ┌─────────────────────┐
190-
╚═════╝ │ RESULTS.UNAVAILABLE │
191-
│ └─────────────────────┘
192-
Is the permission
193-
requestable ?
194-
│ ╔════╗
195-
├───────────║ NO ║──────────────┐
196-
│ ╚════╝ │
197-
╔═════╗ ▼
198-
║ YES ║ ┌───────────────────┐
199-
╚═════╝ │ RESULTS.BLOCKED / │
200-
│ │ RESULTS.GRANTED │
201-
▼ └───────────────────┘
202-
┌────────────────┐
203-
│ RESULTS.DENIED │◀──────────────────────┐
204-
└────────────────┘ │
205-
│ │
206-
▼ │
207-
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ╔════╗
208-
┃ request(PERMISSIONS.ANDROID.CAMERA) ┃ ║ NO ║
209-
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ╚════╝
210-
│ │
211-
Does the user accepted │
212-
the request ? │
213-
│ ╔════╗ Does the user checked
214-
├───────────║ NO ║─────"Never ask again" ?
215-
│ ╚════╝ │
216-
╔═════╗ ╔═════╗
217-
║ YES ║ ║ YES ║
218-
╚═════╝ ╚═════╝
219-
│ │
220-
▼ ▼
221-
┌─────────────────┐ ┌─────────────────┐
222-
│ RESULTS.GRANTED │ │ RESULTS.BLOCKED │
223-
└─────────────────┘ └─────────────────┘
224-
```
225-
226122
## API
227123

228124
### Permissions statuses
@@ -454,3 +350,107 @@ import {openSettings} from 'react-native-permissions';
454350

455351
openSettings().catch(() => console.warn('cannot open settings'));
456352
```
353+
354+
## Understanding lifecycle
355+
356+
As permissions are not handled in the same way on iOS and Android, this library provides an abstraction over the two platforms behaviors. To understand it a little better, have a look to these two flowcharts:
357+
358+
### iOS
359+
360+
```
361+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
362+
┃ check(PERMISSIONS.IOS.CAMERA) ┃
363+
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
364+
365+
Is the feature available
366+
on this device ?
367+
│ ╔════╗
368+
├───────────║ NO ║──────────────┐
369+
│ ╚════╝ │
370+
╔═════╗ ▼
371+
║ YES ║ ┌─────────────────────┐
372+
╚═════╝ │ RESULTS.UNAVAILABLE │
373+
│ └─────────────────────┘
374+
Is the permission
375+
requestable ?
376+
│ ╔════╗
377+
├───────────║ NO ║──────────────┐
378+
│ ╚════╝ │
379+
╔═════╗ ▼
380+
║ YES ║ ┌───────────────────┐
381+
╚═════╝ │ RESULTS.BLOCKED / │
382+
│ │ RESULTS.GRANTED │
383+
▼ └───────────────────┘
384+
┌────────────────┐
385+
│ RESULTS.DENIED │
386+
└────────────────┘
387+
388+
389+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
390+
┃ request(PERMISSIONS.IOS.CAMERA) ┃
391+
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
392+
393+
Does the user accepted
394+
the request ?
395+
│ ╔════╗
396+
├───────────║ NO ║──────────────┐
397+
│ ╚════╝ │
398+
╔═════╗ ▼
399+
║ YES ║ ┌─────────────────┐
400+
╚═════╝ │ RESULTS.BLOCKED │
401+
│ └─────────────────┘
402+
403+
┌─────────────────┐
404+
│ RESULTS.GRANTED │
405+
└─────────────────┘
406+
```
407+
408+
### Android
409+
410+
```
411+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
412+
┃ check(PERMISSIONS.ANDROID.CAMERA) ┃
413+
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
414+
415+
Is the feature available
416+
on this device ?
417+
│ ╔════╗
418+
├───────────║ NO ║──────────────┐
419+
│ ╚════╝ │
420+
╔═════╗ ▼
421+
║ YES ║ ┌─────────────────────┐
422+
╚═════╝ │ RESULTS.UNAVAILABLE │
423+
│ └─────────────────────┘
424+
Is the permission
425+
requestable ?
426+
│ ╔════╗
427+
├───────────║ NO ║──────────────┐
428+
│ ╚════╝ │
429+
╔═════╗ ▼
430+
║ YES ║ ┌───────────────────┐
431+
╚═════╝ │ RESULTS.BLOCKED / │
432+
│ │ RESULTS.GRANTED │
433+
▼ └───────────────────┘
434+
┌────────────────┐
435+
│ RESULTS.DENIED │◀──────────────────────┐
436+
└────────────────┘ │
437+
│ │
438+
▼ │
439+
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ╔════╗
440+
┃ request(PERMISSIONS.ANDROID.CAMERA) ┃ ║ NO ║
441+
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ╚════╝
442+
│ │
443+
Does the user accepted │
444+
the request ? │
445+
│ ╔════╗ Does the user checked
446+
├───────────║ NO ║─────"Never ask again" ?
447+
│ ╚════╝ │
448+
╔═════╗ ╔═════╗
449+
║ YES ║ ║ YES ║
450+
╚═════╝ ╚═════╝
451+
│ │
452+
▼ ▼
453+
┌─────────────────┐ ┌─────────────────┐
454+
│ RESULTS.GRANTED │ │ RESULTS.BLOCKED │
455+
└─────────────────┘ └─────────────────┘
456+
```

0 commit comments

Comments
 (0)