rewrite Contact Scopes section in usage guide
This commit is contained in:
parent
af0894a7bb
commit
3fcf170c80
@ -319,36 +319,30 @@
|
|||||||
<section id="contact-scopes">
|
<section id="contact-scopes">
|
||||||
<h2><a href="#contact-scopes">Contact Scopes</a></h2>
|
<h2><a href="#contact-scopes">Contact Scopes</a></h2>
|
||||||
|
|
||||||
<p>The Contact Scopes feature enables the user to grant an app read access to a
|
<p>On Android, contact access is controlled with an all-or-nothing Contacts permission, which grants
|
||||||
subset of data in the OS ContactsProvider. Granting write access (insert,
|
both read and write access to all contacts stored on the device.</p>
|
||||||
update, delete) is not supported.</p>
|
|
||||||
|
|
||||||
<p>Read access can be granted to the following scopes:</p>
|
<p>A lot of apps (e.g. popular messaging apps) refuse to work unless the Contacts permission is granted.</p>
|
||||||
|
|
||||||
|
<p>GrapheneOS provides the Contact Scopes feature as an alternative to granting the Contacts permission.
|
||||||
|
Enabling Contact Scopes makes the app assume that it has the Contacts permission, despite not actually
|
||||||
|
having it. By default, an app that has Contact Scopes enabled is not allowed any kind of contact access.</p>
|
||||||
|
|
||||||
|
<p>Optionally, read access can be granted to the following scopes:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Contact data (phone number or email). Access to each type of number and
|
<li>Contact data (phone number or email). Access to each type of number and email in a contact is
|
||||||
email in a contact is granted separately. Access to contact name is granted
|
granted separately. Access to the contact name is granted automatically.</li>
|
||||||
automatically.</li>
|
<li>Single contact. Access is granted to all contact data, except contact photo.</li>
|
||||||
|
<li>Contact group ("label"). Equivalent to granting access to all contacts in the group. Any contact
|
||||||
<li>Single contact. Access is granted to all contact data, except photo,
|
can be in any number of contact groups.</li>
|
||||||
originating account type and name, contact sync data.</li>
|
|
||||||
|
|
||||||
<li>Contact group ("label"). Equivalent to granting access to all contacts
|
|
||||||
in the group. Any contact can be in any number of contact groups.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Type and name of account that contact is stored in is fully hidden from the
|
<p>The type and name of the account that the contact is stored in are fully hidden from the app. The name
|
||||||
app. Name of contact account is usually the same as email address of that
|
of the contact account is usually the same as the email address of that account.</p>
|
||||||
account.</p>
|
|
||||||
|
|
||||||
<p>Access to SIM phonebook data is fully stubbed out: an empty and immutable
|
<p>When Contact Scopes is enabled, write access is fully blocked: the app is not allowed to edit any
|
||||||
content provider is exposed instead of the actual SIM phonebook. Implementations
|
contact data, add or remove contacts, etc.</p>
|
||||||
of legacy (ICC) and modern SIM stub phonebook providers are added to
|
|
||||||
packages/services/Telephony.</p>
|
|
||||||
|
|
||||||
<p>The Contact Scopes feature is enabled per-app. When it's enabled, app's calls
|
|
||||||
to contacts provider and to SIM phonebook providers are redirected, respectively,
|
|
||||||
to ScopedContactsProvider and to stub SIM phonebook providers.</p>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="accessibility">
|
<section id="accessibility">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user