1<?xml version="1.0" encoding="utf-8"?>
2<!--
3 * Copyright (c) 2015, Motorola Mobility LLC
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *     - Redistributions of source code must retain the above copyright
9 *       notice, this list of conditions and the following disclaimer.
10 *     - Redistributions in binary form must reproduce the above copyright
11 *       notice, this list of conditions and the following disclaimer in the
12 *       documentation and/or other materials provided with the distribution.
13 *     - Neither the name of Motorola Mobility nor the
14 *       names of its contributors may be used to endorse or promote products
15 *       derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
19 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MOTOROLA MOBILITY LLC BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
27 * DAMAGE.
28-->
29
30<manifest xmlns:android="http://schemas.android.com/apk/res/android"
31     xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
32     package="com.android.service.ims.presence"
33     android:sharedUserId="android.uid.phone"
34     coreApp="true">
35
36    <uses-sdk android:minSdkVersion="19"/>
37
38    <permission android:name="com.android.rcs.eab.permission.READ_WRITE_EAB"
39         android:protectionLevel="signatureOrSystem"/>
40
41    <protected-broadcast android:name="android.provider.rcs.eab.EAB_NEW_CONTACT_INSERTED"/>
42    <protected-broadcast android:name="android.provider.rcs.eab.EAB_DATABASE_RESET"/>
43    <protected-broadcast android:name="com.android.service.ims.presence.capability_polling_retry"/>
44    <protected-broadcast android:name="com.android.service.ims.presence.periodical_capability_discovery"/>
45
46    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
47    <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
48    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
49    <uses-permission android:name="android.permission.READ_CONTACTS"/>
50    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
51    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
52    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
53    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
54    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
55    <uses-permission android:name="com.android.rcs.eab.permission.READ_WRITE_EAB"/>
56    <uses-permission android:name="android.permission.READ_PROFILE"/>
57    <uses-permission android:name="com.android.ims.rcs.permission.STATUS_CHANGED"/>
58    <uses-permission android:name="com.android.ims.permission.PRESENCE_ACCESS"/>
59
60    <application android:label="@string/app_label"
61         android:singleUser="true"
62         android:process="com.android.ims.rcsservice">
63
64        <service android:name=".PollingService"
65             android:excludeFromRecents="true"
66             android:singleUser="true"
67             android:permission="com.android.ims.permission.PRESENCE_ACCESS">
68        </service>
69
70        <receiver android:name=".DeviceBoot"
71             androidprv:systemUserOnly="true"
72             android:exported="true">
73            <intent-filter android:priority="103">
74                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
75            </intent-filter>
76        </receiver>
77
78        <receiver android:name=".DeviceShutdown"
79             androidprv:systemUserOnly="true"
80             android:exported="true">
81            <intent-filter>
82                 <action android:name="android.intent.action.ACTION_SHUTDOWN"/>
83            </intent-filter>
84        </receiver>
85
86        <receiver android:name=".AlarmBroadcastReceiver"
87             androidprv:systemUserOnly="true"
88             android:permission="com.android.ims.permission.PRESENCE_ACCESS"
89             android:exported="true">
90            <intent-filter>
91                <action android:name="com.android.service.ims.presence.periodical_capability_discovery"/>
92                <action android:name="com.android.service.ims.presence.capability_polling_retry"/>
93                <action android:name="android.provider.rcs.eab.EAB_NEW_CONTACT_INSERTED"/>
94            </intent-filter>
95        </receiver>
96
97        <service android:name=".PersistService"
98             android:exported="false"
99             android:permission="com.android.ims.permission.PRESENCE_ACCESS">
100            <intent-filter>
101                <action android:name="com.android.ims.ACTION_PRESENCE_CHANGED"/>
102            </intent-filter>
103        </service>
104
105        <service android:name="com.android.service.ims.presence.EABService"
106             android:enabled="true">
107        </service>
108
109        <provider android:name=".EABProvider"
110             android:permission="com.android.rcs.eab.permission.READ_WRITE_EAB"
111             android:exported="true"
112             android:enabled="true"
113             android:authorities="com.android.rcs.eab"/>
114    </application>
115</manifest>
116