This document outlines the changes made to the telephony-related parts of the Android framework in the 7.0 release to support enterprise use cases. This document is targeted at manufacturers and focuses entirely on framework-related telephony changes. In addition, this document outlines the changes that OEMs will need to make to their preloaded applications that handle telephony-related functions.

Android 7.0 introduces several new features to support enterprise telephony use cases, in particular:

Examples and source

The Android Open Source Project (AOSP) implementations of Dialer, Contacts, and Messaging apps have integrated the cross profile contact search and badging capability.

Examples:

Implementation

Device implementers must implement cross-profile, search, lookup and badging for contacts in their Dialer Contacts and SMS/MMS Messaging apps.

Cross profile contact search should be implemented using the Enterprise Contacts API (ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI etc.) see http://developer.android.com/preview/features/afw.html#contacts

Work profile contact badging

Work profile contact badging can be implemented by checking ContactsContract.Directory.isEntepriseDirectoryId() if available or http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html#isEnterpriseContactId(long)

Managed Profile Aware ConnectionService

Manufacturers should not need to modify the framework code to support this functionality, but should be aware of it’s impact on the Telecomm service and other telephony features.

Validation

The cross profile contact search and badging feature can be validated by:

  1. Setting up a managed profile on a test device using TestDPC.
  2. Enabling cross profile contact search.
  3. Adding a local work contact within the managed profile.
  4. Searching for that contact within the system Dialer Contacts and SMS/MMS Messaging Apps within the personal profile, checking that this contact is found and it is correctly badged.

CTS tests have been added to ensure the underlying cross profile contact search API has been implemented in com/android/cts/managedprofile/ContactsTest.java.