| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| Copyright (C) 2015 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| package="com.android.deskclock" |
| android:versionCode="410" android:versionName="4.1.0"> |
| |
| <original-package android:name="com.android.alarmclock" /> |
| <original-package android:name="com.android.deskclock" /> |
| |
| <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" /> |
| |
| <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
| <uses-permission android:name="android.permission.WAKE_LOCK"/> |
| <uses-permission android:name="android.permission.VIBRATE"/> |
| <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> |
| <!-- WRITE_SETTINGS is required to record the upcoming alarm prior to L --> |
| <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| <!-- READ_PHONE_STATE is required to determine when a phone call exists prior to M --> |
| <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| <!-- READ_EXTERNAL_STORAGE is required to play custom ringtones from the SD card prior to M --> |
| <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
| |
| <application android:label="@string/app_label" |
| android:name=".DeskClockApplication" |
| android:allowBackup="true" |
| android:backupAgent="DeskClockBackupAgent" |
| android:fullBackupContent="@xml/backup_scheme" |
| android:fullBackupOnly="true" |
| android:icon="@mipmap/ic_launcher_alarmclock" |
| android:requiredForAllUsers="true" |
| android:supportsRtl="true"> |
| |
| <provider android:name=".provider.ClockProvider" |
| android:authorities="com.android.deskclock" |
| android:exported="false" /> |
| |
| <activity android:name="DeskClock" |
| android:label="@string/app_label" |
| android:theme="@style/DeskClockTheme" |
| android:icon="@mipmap/ic_launcher_alarmclock" |
| android:launchMode="singleTask"> |
| |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| </intent-filter> |
| </activity> |
| |
| <activity-alias android:name="DockClock" |
| android:targetActivity="DeskClock" |
| android:label="@string/app_label" |
| android:theme="@style/DeskClockTheme" |
| android:icon="@mipmap/ic_launcher_alarmclock" |
| android:launchMode="singleTask" |
| android:enabled="@bool/config_dockAppEnabled" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.DESK_DOCK" /> |
| </intent-filter> |
| </activity-alias> |
| |
| <activity android:name=".settings.SettingsActivity" |
| android:label="@string/settings" |
| android:theme="@style/SettingsTheme" |
| android:taskAffinity="" |
| android:excludeFromRecents="true" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| </intent-filter> |
| </activity> |
| |
| <activity android:name=".worldclock.CitySelectionActivity" |
| android:label="@string/cities_activity_title" |
| android:theme="@style/CitiesTheme" |
| android:taskAffinity="" |
| android:excludeFromRecents="true"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| </intent-filter> |
| </activity> |
| |
| <activity android:name=".alarms.AlarmActivity" |
| android:taskAffinity="" |
| android:excludeFromRecents="true" |
| android:theme="@style/AlarmAlertFullScreenTheme" |
| android:windowSoftInputMode="stateAlwaysHidden" |
| android:showOnLockScreen="true" /> |
| |
| <activity android:name="ScreensaverActivity" |
| android:excludeFromRecents="true" |
| android:taskAffinity="" |
| android:theme="@style/ScreensaverActivityTheme" |
| android:configChanges="orientation|screenSize|keyboardHidden|keyboard" /> |
| |
| <receiver android:name=".alarms.AlarmStateManager" |
| android:exported="false"> |
| </receiver> |
| |
| <service android:name=".alarms.AlarmService" |
| android:exported="false"> |
| </service> |
| |
| <activity android:name="HandleApiCalls" |
| android:theme="@android:style/Theme.NoDisplay" |
| android:excludeFromRecents="true" |
| android:launchMode="singleTask" |
| android:permission="com.android.alarm.permission.SET_ALARM" |
| android:taskAffinity=""> |
| <intent-filter> |
| <action android:name="android.intent.action.SET_ALARM" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.DISMISS_ALARM" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.SNOOZE_ALARM" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.SHOW_ALARMS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.SET_TIMER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| </activity> |
| |
| <activity-alias android:name="HandleSetAlarm" |
| android:targetActivity=".HandleApiCalls" |
| android:exported="true"> |
| </activity-alias> |
| |
| <activity android:name=".HandleDeskClockApiCalls" |
| android:theme="@android:style/Theme.NoDisplay" |
| android:excludeFromRecents="true" |
| android:launchMode="singleTask" |
| android:permission="com.android.alarm.permission.SET_ALARM" |
| android:taskAffinity=""> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.SHOW_CLOCK" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.ADD_CLOCK" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.DELETE_CLOCK" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.START_TIMER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.RESET_TIMER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.PAUSE_TIMER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.SHOW_TIMERS" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.DELETE_TIMER" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.SHOW_STOPWATCH" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.START_STOPWATCH" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.PAUSE_STOPWATCH" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.LAP_STOPWATCH" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="com.android.deskclock.action.RESET_STOPWATCH" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.VOICE" /> |
| </intent-filter> |
| </activity> |
| |
| <receiver android:name="AlarmInitReceiver"> |
| <intent-filter> |
| <action android:name="android.intent.action.BOOT_COMPLETED" /> |
| <action android:name="android.intent.action.TIME_SET" /> |
| <action android:name="android.intent.action.TIMEZONE_CHANGED" /> |
| <action android:name="android.intent.action.LOCALE_CHANGED" /> |
| <action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> |
| </intent-filter> |
| </receiver> |
| |
| <receiver |
| android:name="com.android.alarmclock.AnalogAppWidgetProvider" |
| android:icon="@mipmap/ic_launcher_alarmclock" |
| android:label="@string/analog_gadget"> |
| <intent-filter> |
| <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> |
| </intent-filter> |
| |
| <meta-data |
| android:name="android.appwidget.oldName" |
| android:value="com.android.deskclock.AnalogAppWidgetProvider"/> |
| <meta-data |
| android:name="android.appwidget.provider" |
| android:resource="@xml/analog_appwidget"/> |
| </receiver> |
| |
| <receiver |
| android:name="com.android.alarmclock.DigitalAppWidgetProvider" |
| android:icon="@mipmap/ic_launcher_alarmclock" |
| android:label="@string/digital_gadget"> |
| <intent-filter> |
| <action android:name="android.intent.action.TIME_SET"/> |
| <action android:name="android.intent.action.SCREEN_ON"/> |
| <action android:name="android.intent.action.DATE_CHANGED"/> |
| <action android:name="android.intent.action.LOCALE_CHANGED"/> |
| <action android:name="android.intent.action.TIMEZONE_CHANGED"/> |
| <action android:name="com.android.deskclock.DIGITAL_WIDGET_CHANGED"/> |
| <action android:name="com.android.deskclock.ON_QUARTER_HOUR"/> |
| <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> |
| <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED"/> |
| </intent-filter> |
| <meta-data |
| android:name="android.appwidget.provider" |
| android:resource="@xml/digital_appwidget"/> |
| </receiver> |
| |
| <service android:name="com.android.alarmclock.DigitalAppWidgetService" |
| android:permission="android.permission.BIND_REMOTEVIEWS" |
| android:exported="false" /> |
| |
| <!-- Dream (screensaver) implementation --> |
| <service android:name="Screensaver" |
| android:exported="true" |
| android:label="@string/app_label" |
| android:permission="android.permission.BIND_DREAM_SERVICE"> |
| <intent-filter> |
| <action android:name="android.service.dreams.DreamService" /> |
| <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <meta-data |
| android:name="android.service.dream" |
| android:resource="@xml/dream_info" /> |
| </service> |
| |
| <!-- Settings activity for screensaver --> |
| <activity android:name=".settings.ScreensaverSettingsActivity" |
| android:label="@string/screensaver_settings" |
| android:theme="@style/SettingsTheme" |
| android:taskAffinity="" |
| android:excludeFromRecents="true" |
| android:exported="true" |
| > |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name=".AlarmSelectionActivity" |
| android:label="@string/dismiss_alarm" |
| android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar"/> |
| |
| <!-- This activity displays only the timers that have expired with only a reset button |
| present. This makes the activity appropriate for display above the lock screen so that |
| users have the limited ability to silence expired timers but nothing else. --> |
| <activity android:name=".timer.ExpiredTimersActivity" |
| android:excludeFromRecents="true" |
| android:theme="@style/ExpiredTimersActivityTheme" |
| android:launchMode="singleInstance" |
| android:showOnLockScreen="true" |
| android:taskAffinity="" |
| android:configChanges="screenSize|keyboardHidden|keyboard|navigation"/> |
| |
| <service android:name=".timer.TimerService" |
| android:exported="false" |
| android:description="@string/timer_service_desc"> |
| </service> |
| |
| <service android:name=".stopwatch.StopwatchService" |
| android:exported="false" |
| android:description="@string/stopwatch_service_desc"> |
| </service> |
| </application> |
| </manifest> |