• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Implementing Enterprise Telephony
2@jd:body
3
4<!--
5    Copyright 2016 The Android Open Source Project
6
7    Licensed under the Apache License, Version 2.0 (the "License");
8    you may not use this file except in compliance with the License.
9    You may obtain a copy of the License at
10
11        http://www.apache.org/licenses/LICENSE-2.0
12
13    Unless required by applicable law or agreed to in writing, software
14    distributed under the License is distributed on an "AS IS" BASIS,
15    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16    See the License for the specific language governing permissions and
17    limitations under the License.
18-->
19<div id="qv-wrapper">
20  <div id="qv">
21    <h2>In this document</h2>
22    <ol id="auto-toc">
23    </ol>
24  </div>
25</div>
26
27<p>
28This document outlines the changes made to the telephony-related parts of the
29Android framework in the 7.0 release to support enterprise use cases. This
30document is targeted at manufacturers and focuses entirely on framework-related
31telephony changes. In addition, this document outlines the changes that OEMs
32will need to make to their preloaded applications that handle telephony-related
33functions.
34</p>
35
36<p>
37Android 7.0 introduces several new features to support enterprise telephony use
38cases, in particular:
39</p>
40
41<ul>
42<li>Cross profile contact search - Allows applications in the personal profile
43to search for contacts that are supplied by the managed profile contacts
44provider, which can be backed by any datastore, for example local to the device
45or perhaps within an enterprise directory
46<li>Cross profile contact badging - Allows work contacts to be clearly
47distinguished from personal contacts
48<li>Making Connection Service managed profile aware - Allows applications within
49the Managed Profile to offer telephony features, such as to provide a separate
50work dialer and work ConnectionService</li>
51</ul>
52
53<h2 id="examples-and-source">Examples and source</h2>
54
55<p>
56The Android Open Source Project (AOSP) implementations of Dialer, Contacts, and
57Messaging apps have integrated the cross profile contact search  and badging
58capability.
59</p>
60
61<p>
62Examples:
63</p><ul>
64<li><strong>Adding badge to work contacts</strong>: see
65<code>packages/apps/ContactsCommon</code> <em>f3eb5a207bfe0ff3b4ed2350ae5865ed8bc59798</em>
66<li><strong>Cross profile search</strong>: see <code>packages/apps/ContactsCommon</code> <em>cd0b29ddbf3648e48f048196c62245d545bc6122</em></li>
67</ul>
68
69<h2 id="implementation">Implementation</h2>
70
71<p>
72Partners must implement cross-profile, search, lookup and badging for contacts
73in their Dialer Contacts and SMS/MMS Messaging apps.
74</p>
75
76<h3 id="cross-profile-contact-search">Cross-profile contact search</h3>
77
78<p>
79Cross profile contact search should be implemented using the Enterprise Contacts
80API (<code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code> etc.)
81see <a
82href="http://developer.android.com/preview/features/afw.html#contacts">http://developer.android.com/preview/features/afw.html#contacts</a>
83</p>
84
85<h3 id="work-profile-contact-badging">Work profile contact badging</h3>
86
87<p>
88Work profile contact badging can be implemented by checking
89<code>ContactsContract.Directory.isEntepriseDirectoryId() </code>if available or
90<a
91href="http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html#isEnterpriseContactId(long)">http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html#isEnterpriseContactId(long)</a>
92<code> </code>
93</p>
94
95<h3 id="managed-profile-aware-connectionservice">Managed Profile Aware
96ConnectionService</h3>
97
98<p>
99Manufacturers should not need to modify the framework code to support this
100functionality, but should be aware of it’s impact on the Telecomm service and
101other telephony features.
102</p>
103
104<h2 id="validation">Validation</h2>
105
106<p>
107The cross profile contact search and badging feature can be validated by:
108</p>
109
110<ol>
111<li>Setting up a managed profile on a test device using <a
112href="https://github.com/googlesamples/android-testdpc">TestDPC</a>.
113<li>Enabling cross profile contact search.
114<li>Adding a local work contact within the managed profile.
115<li>Searching for that contact within the system Dialer Contacts and SMS/MMS
116Messaging Apps within the personal profile, checking that this contact is found
117and it is correctly badged.</li>
118</ol>
119
120<p>
121CTS tests have been added to ensure the underlying cross profile contact search
122API has been implemented in
123<code>com/android/cts/managedprofile/ContactsTest.java</code>.
124</p>
125