• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  Copyright (C) 2015 The Android Open Source Project
4
5  Licensed under the Apache License, Version 2.0 (the "License");
6  you may not use this file except in compliance with the License.
7  You may obtain a copy of the License at
8
9    http://www.apache.org/licenses/LICENSE-2.0
10
11  Unless required by applicable law or agreed to in writing, software
12  distributed under the License is distributed on an "AS IS" BASIS,
13  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  See the License for the specific language governing permissions and
15  limitations under the License.
16  -->
17
18<manifest xmlns:android="http://schemas.android.com/apk/res/android"
19        package="com.android.deskclock"
20        android:versionCode="410" android:versionName="4.1.0">
21
22    <original-package android:name="com.android.alarmclock" />
23    <original-package android:name="com.android.deskclock" />
24
25    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
26
27    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
28    <uses-permission android:name="android.permission.WAKE_LOCK"/>
29    <uses-permission android:name="android.permission.VIBRATE"/>
30    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
31    <!-- WRITE_SETTINGS is required to record the upcoming alarm prior to L -->
32    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
33    <!-- READ_PHONE_STATE is required to determine when a phone call exists prior to M -->
34    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
35    <!-- READ_EXTERNAL_STORAGE is required to play custom ringtones from the SD card prior to M -->
36    <!-- It is also required to display user-friendly names for custom ringtones in the UI. -->
37    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
38
39    <application android:label="@string/app_label"
40                 android:name=".DeskClockApplication"
41                 android:allowBackup="true"
42                 android:backupAgent="DeskClockBackupAgent"
43                 android:fullBackupContent="@xml/backup_scheme"
44                 android:fullBackupOnly="true"
45                 android:icon="@mipmap/ic_launcher_alarmclock"
46                 android:requiredForAllUsers="true"
47                 android:supportsRtl="true">
48
49        <provider android:name=".provider.ClockProvider"
50                android:authorities="com.android.deskclock"
51                android:exported="false" />
52
53        <activity android:name="DeskClock"
54                android:label="@string/app_label"
55                android:theme="@style/DeskClock"
56                android:icon="@mipmap/ic_launcher_alarmclock"
57                android:launchMode="singleTask">
58
59            <intent-filter>
60                <action android:name="android.intent.action.MAIN" />
61                <category android:name="android.intent.category.DEFAULT" />
62                <category android:name="android.intent.category.LAUNCHER" />
63            </intent-filter>
64        </activity>
65
66        <activity-alias android:name="DockClock"
67                android:targetActivity="DeskClock"
68                android:label="@string/app_label"
69                android:theme="@style/DeskClock"
70                android:icon="@mipmap/ic_launcher_alarmclock"
71                android:launchMode="singleTask"
72                android:enabled="@bool/config_dockAppEnabled"
73                >
74            <intent-filter>
75                <action android:name="android.intent.action.MAIN" />
76                <category android:name="android.intent.category.DEFAULT" />
77                <category android:name="android.intent.category.DESK_DOCK" />
78            </intent-filter>
79        </activity-alias>
80
81        <activity android:name="SettingsActivity"
82                android:label="@string/settings"
83                android:theme="@style/SettingsTheme"
84                android:taskAffinity=""
85                android:excludeFromRecents="true"
86                >
87            <intent-filter>
88                <action android:name="android.intent.action.MAIN" />
89            </intent-filter>
90        </activity>
91
92        <activity android:name=".worldclock.CitiesActivity"
93                android:label="@string/cities_activity_title"
94                android:theme="@style/CitiesTheme"
95                android:taskAffinity=""
96                android:excludeFromRecents="true"
97                >
98            <intent-filter>
99                <action android:name="android.intent.action.MAIN" />
100            </intent-filter>
101        </activity>
102
103        <activity android:name=".alarms.AlarmActivity"
104                android:taskAffinity=""
105                android:excludeFromRecents="true"
106                android:theme="@style/AlarmAlertFullScreenTheme"
107                android:windowSoftInputMode="stateAlwaysHidden"
108                android:showOnLockScreen="true" />
109
110        <activity android:name="ScreensaverActivity"
111                android:excludeFromRecents="true"
112                android:taskAffinity=""
113                android:theme="@style/ScreensaverActivityTheme"
114                android:configChanges="orientation|screenSize|keyboardHidden|keyboard" />
115
116        <receiver android:name=".alarms.AlarmStateManager"
117                  android:exported="false">
118        </receiver>
119
120        <service android:name=".alarms.AlarmService"
121                 android:exported="false">
122        </service>
123
124        <activity android:name="HandleApiCalls"
125                android:theme="@android:style/Theme.NoDisplay"
126                android:excludeFromRecents="true"
127                android:launchMode="singleTask"
128                android:permission="com.android.alarm.permission.SET_ALARM"
129                android:taskAffinity="">
130            <intent-filter>
131                <action android:name="android.intent.action.SET_ALARM" />
132                <category android:name="android.intent.category.DEFAULT" />
133                <category android:name="android.intent.category.VOICE" />
134            </intent-filter>
135            <intent-filter>
136                <action android:name="android.intent.action.DISMISS_ALARM" />
137                <category android:name="android.intent.category.DEFAULT" />
138                <category android:name="android.intent.category.VOICE" />
139            </intent-filter>
140            <intent-filter>
141                <action android:name="android.intent.action.SNOOZE_ALARM" />
142                <category android:name="android.intent.category.DEFAULT" />
143                <category android:name="android.intent.category.VOICE" />
144            </intent-filter>
145            <intent-filter>
146                <action android:name="android.intent.action.SHOW_ALARMS" />
147                <category android:name="android.intent.category.DEFAULT" />
148                <category android:name="android.intent.category.VOICE" />
149            </intent-filter>
150            <intent-filter>
151                <action android:name="android.intent.action.SET_TIMER" />
152                <category android:name="android.intent.category.DEFAULT" />
153                <category android:name="android.intent.category.VOICE" />
154            </intent-filter>
155        </activity>
156
157        <activity-alias android:name="HandleSetAlarm"
158            android:targetActivity=".HandleApiCalls"
159            android:exported="true">
160        </activity-alias>
161
162        <activity android:name=".HandleDeskClockApiCalls"
163            android:theme="@android:style/Theme.NoDisplay"
164            android:excludeFromRecents="true"
165            android:launchMode="singleTask"
166            android:permission="com.android.alarm.permission.SET_ALARM"
167            android:taskAffinity="">
168            <intent-filter>
169                <action android:name="com.android.deskclock.action.SHOW_CLOCK" />
170                <category android:name="android.intent.category.DEFAULT" />
171                <category android:name="android.intent.category.VOICE" />
172            </intent-filter>
173            <intent-filter>
174                <action android:name="com.android.deskclock.action.ADD_CLOCK" />
175                <category android:name="android.intent.category.DEFAULT" />
176                <category android:name="android.intent.category.VOICE" />
177            </intent-filter>
178            <intent-filter>
179                <action android:name="com.android.deskclock.action.DELETE_CLOCK" />
180                <category android:name="android.intent.category.DEFAULT" />
181                <category android:name="android.intent.category.VOICE" />
182            </intent-filter>
183            <intent-filter>
184                <action android:name="com.android.deskclock.action.START_TIMER" />
185                <category android:name="android.intent.category.DEFAULT" />
186                <category android:name="android.intent.category.VOICE" />
187            </intent-filter>
188            <intent-filter>
189                <action android:name="com.android.deskclock.action.RESET_TIMER" />
190                <category android:name="android.intent.category.DEFAULT" />
191                <category android:name="android.intent.category.VOICE" />
192            </intent-filter>
193            <intent-filter>
194                <action android:name="com.android.deskclock.action.STOP_TIMER" />
195                <category android:name="android.intent.category.DEFAULT" />
196                <category android:name="android.intent.category.VOICE" />
197            </intent-filter>
198            <intent-filter>
199                <action android:name="com.android.deskclock.action.SHOW_TIMERS" />
200                <category android:name="android.intent.category.DEFAULT" />
201                <category android:name="android.intent.category.VOICE" />
202            </intent-filter>
203            <intent-filter>
204                <action android:name="com.android.deskclock.action.DELETE_TIMER" />
205                <category android:name="android.intent.category.DEFAULT" />
206                <category android:name="android.intent.category.VOICE" />
207            </intent-filter>
208            <intent-filter>
209                <action android:name="com.android.deskclock.action.SHOW_STOPWATCH" />
210                <category android:name="android.intent.category.DEFAULT" />
211                <category android:name="android.intent.category.VOICE" />
212            </intent-filter>
213            <intent-filter>
214                <action android:name="com.android.deskclock.action.START_STOPWATCH" />
215                <category android:name="android.intent.category.DEFAULT" />
216                <category android:name="android.intent.category.VOICE" />
217            </intent-filter>
218            <intent-filter>
219                <action android:name="com.android.deskclock.action.STOP_STOPWATCH" />
220                <category android:name="android.intent.category.DEFAULT" />
221                <category android:name="android.intent.category.VOICE" />
222            </intent-filter>
223            <intent-filter>
224                <action android:name="com.android.deskclock.action.LAP_STOPWATCH" />
225                <category android:name="android.intent.category.DEFAULT" />
226                <category android:name="android.intent.category.VOICE" />
227            </intent-filter>
228            <intent-filter>
229                <action android:name="com.android.deskclock.action.RESET_STOPWATCH" />
230                <category android:name="android.intent.category.DEFAULT" />
231                <category android:name="android.intent.category.VOICE" />
232            </intent-filter>
233        </activity>
234
235        <receiver android:name="AlarmInitReceiver">
236            <intent-filter>
237                <action android:name="android.intent.action.BOOT_COMPLETED" />
238                <action android:name="android.intent.action.TIME_SET" />
239                <action android:name="android.intent.action.TIMEZONE_CHANGED" />
240                <action android:name="android.intent.action.LOCALE_CHANGED" />
241            </intent-filter>
242        </receiver>
243
244        <receiver android:name="com.android.alarmclock.AnalogAppWidgetProvider" android:label="@string/analog_gadget"
245           android:icon="@mipmap/ic_launcher_alarmclock">
246            <intent-filter>
247                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
248            </intent-filter>
249            <meta-data android:name="android.appwidget.oldName" android:value="com.android.deskclock.AnalogAppWidgetProvider" />
250            <meta-data android:name="android.appwidget.provider" android:resource="@xml/analog_appwidget" />
251        </receiver>
252
253        <receiver android:name="com.android.alarmclock.DigitalAppWidgetProvider" android:label="@string/digital_gadget"
254           android:icon="@mipmap/ic_launcher_alarmclock">
255            <intent-filter>
256                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
257                <action android:name="com.android.deskclock.ON_QUARTER_HOUR" />
258                <action android:name="android.intent.action.DATE_CHANGED" />
259                <action android:name="android.intent.action.TIMEZONE_CHANGED" />
260                <action android:name="android.intent.action.SCREEN_ON" />
261                <action android:name="android.intent.action.TIME_SET" />
262                <action android:name="android.intent.action.LOCALE_CHANGED" />
263                <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
264                <action android:name="com.android.deskclock.worldclock.update" />
265                </intent-filter>
266            <meta-data android:name="android.appwidget.provider" android:resource="@xml/digital_appwidget" />
267        </receiver>
268
269        <service android:name="com.android.alarmclock.DigitalAppWidgetService"
270             android:permission="android.permission.BIND_REMOTEVIEWS"
271             android:exported="false" />
272
273        <receiver android:name="com.android.alarmclock.DigitalWidgetViewsFactory"
274             android:exported="false" />
275
276        <!-- Dream (screensaver) implementation -->
277        <service android:name="Screensaver"
278            android:exported="true"
279            android:label="@string/app_label"
280            android:permission="android.permission.BIND_DREAM_SERVICE">
281            <intent-filter>
282                <action android:name="android.service.dreams.DreamService" />
283                <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
284                <category android:name="android.intent.category.DEFAULT" />
285            </intent-filter>
286            <meta-data
287                android:name="android.service.dream"
288                android:resource="@xml/dream_info" />
289        </service>
290
291        <!-- Settings activity for screensaver -->
292        <activity android:name=".ScreensaverSettingsActivity"
293                android:label="@string/screensaver_settings"
294                android:theme="@style/SettingsTheme"
295                android:taskAffinity=""
296                android:excludeFromRecents="true"
297                android:exported="true"
298                >
299            <intent-filter>
300                <action android:name="android.intent.action.MAIN" />
301            </intent-filter>
302        </activity>
303
304        <activity
305            android:name=".AlarmSelectionActivity"
306            android:label="@string/dismiss_alarm"
307            android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar"/>
308
309        <!-- This activity is basically like the TimerFragment in DeskClock
310         but only during lock screen
311         so that it only has the fired timers -->
312        <activity android:name="com.android.deskclock.timer.TimerAlertFullScreen"
313                android:excludeFromRecents="true"
314                android:theme="@style/TimerAlertFullScreenTheme"
315                android:launchMode="singleInstance"
316                android:showOnLockScreen="true"
317                android:taskAffinity=""
318                android:configChanges="screenSize|keyboardHidden|keyboard|navigation"/>
319
320        <service android:name="TimerRingService"
321                android:exported="false"
322                android:description="@string/timer_ring_service_desc">
323            <intent-filter>
324                <action android:name="com.android.deskclock.TIMER_ALERT" />
325            </intent-filter>
326        </service>
327
328        <receiver android:name="com.android.deskclock.timer.TimerReceiver"
329                android:exported="false">
330            <intent-filter>
331                <action android:name="start_timer" />
332                <action android:name="stop_timer" />
333                <action android:name="delete_timer" />
334                <action android:name="reset_timer" />
335                <action android:name="times_up" />
336                <action android:name="timer_done" />
337                <action android:name="timer_update" />
338                <action android:name="notif_in_use_show" />
339                <action android:name="notif_in_use_cancel" />
340                <action android:name="notif_times_up_stop" />
341                <action android:name="notif_times_up_plus_one" />
342                <action android:name="notif_times_up_show" />
343                <action android:name="notif_times_up_cancel" />
344            </intent-filter>
345        </receiver>
346
347        <service android:name="com.android.deskclock.stopwatch.StopwatchService"
348                android:exported="false"
349                android:description="@string/stopwatch_service_desc">
350            <intent-filter>
351                <action android:name="start_stopwatch" />
352                <action android:name="lap_stopwatch" />
353                <action android:name="stop_stopwatch" />
354                <action android:name="reset_stopwatch" />
355                <action android:name="share_stopwatch" />
356            </intent-filter>
357        </service>
358    </application>
359</manifest>
360