1<?xml version="1.0" encoding="utf-8"?>
2
3<!--
4 * Copyright (C) 2011 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *      http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 -->
18
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20          package="android.admin.app">
21    <application>
22
23        <uses-library android:name="android.test.runner"/>
24
25        <receiver android:name="android.admin.app.CtsDeviceAdminDeviceOwner"
26            android:permission="android.permission.BIND_DEVICE_ADMIN">
27            <meta-data android:name="android.app.device_admin"
28                android:resource="@xml/device_admin" />
29            <intent-filter>
30                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
31            </intent-filter>
32        </receiver>
33
34        <receiver android:name="android.admin.app.CtsDeviceAdminReceiver"
35                android:permission="android.permission.BIND_DEVICE_ADMIN">
36            <meta-data android:name="android.app.device_admin"
37                    android:resource="@xml/device_admin" />
38            <intent-filter>
39                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
40            </intent-filter>
41        </receiver>
42
43        <receiver android:name="android.admin.app.CtsDeviceAdminReceiver2"
44                android:permission="android.permission.BIND_DEVICE_ADMIN">
45            <meta-data android:name="android.app.device_admin"
46                    android:resource="@xml/device_admin_2" />
47            <intent-filter>
48                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
49            </intent-filter>
50        </receiver>
51
52        <!-- Device Admin that needs to be in the deactivated state in order
53             for tests to pass. -->
54        <receiver android:name="android.admin.app.CtsDeviceAdminDeactivatedReceiver"
55                android:permission="android.permission.BIND_DEVICE_ADMIN">
56            <meta-data android:name="android.app.device_admin"
57                    android:resource="@xml/device_admin" />
58            <intent-filter>
59                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
60            </intent-filter>
61        </receiver>
62
63        <!-- Helper Activity used by Device Admin activation tests -->
64        <activity android:name="android.admin.app.CtsDeviceAdminActivationTestActivity"
65                android:label="Device Admin activation test" />
66
67        <!-- Broken device admin: meta-data missing -->
68        <receiver android:name="android.admin.app.CtsDeviceAdminBrokenReceiver"
69                android:permission="android.permission.BIND_DEVICE_ADMIN">
70            <intent-filter>
71                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
72            </intent-filter>
73        </receiver>
74
75        <!-- Broken device admin: filter doesn't match an Intent with action
76             android.app.action.DEVICE_ADMIN_ENABLED and nothing else (e.g.,
77             data) set -->
78        <receiver android:name="android.admin.app.CtsDeviceAdminBrokenReceiver2"
79                android:permission="android.permission.BIND_DEVICE_ADMIN">
80            <meta-data android:name="android.app.device_admin"
81                    android:resource="@xml/device_admin" />
82            <intent-filter>
83                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
84                <data android:scheme="https" />
85            </intent-filter>
86        </receiver>
87
88        <!-- Broken device admin: meta-data element doesn't point to valid
89             Device Admin configuration/description -->
90        <receiver android:name="android.admin.app.CtsDeviceAdminBrokenReceiver3"
91                android:permission="android.permission.BIND_DEVICE_ADMIN">
92            <meta-data android:name="android.app.device_admin"
93                    android:resource="@xml/broken_device_admin" />
94            <intent-filter>
95                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
96            </intent-filter>
97        </receiver>
98
99        <!-- Broken device admin: filter doesn't match Intents with action
100             android.app.action.DEVICE_ADMIN_ENABLED -->
101        <receiver android:name="android.admin.app.CtsDeviceAdminBrokenReceiver4"
102                android:permission="android.permission.BIND_DEVICE_ADMIN">
103            <meta-data android:name="android.app.device_admin"
104                    android:resource="@xml/device_admin" />
105            <intent-filter>
106                <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
107            </intent-filter>
108        </receiver>
109
110        <!-- Broken device admin: no intent-filter -->
111        <receiver android:name="android.admin.app.CtsDeviceAdminBrokenReceiver5"
112                android:permission="android.permission.BIND_DEVICE_ADMIN">
113            <meta-data android:name="android.app.device_admin"
114                    android:resource="@xml/device_admin" />
115        </receiver>
116
117    </application>
118
119    <!--  self-instrumenting test package. -->
120    <instrumentation
121        android:name="android.support.test.runner.AndroidJUnitRunner"
122        android:label="Deactivate Admins"
123        android:targetPackage="android.admin.app" >
124    </instrumentation>
125
126</manifest>
127