| <?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" |
| xmlns:tools="http://schemas.android.com/tools" |
| package="com.android.deskclock" |
| android:versionCode="440" |
| android:versionName="4.4.0"> |
| |
| <original-package android:name="com.android.alarmclock" /> |
| <original-package android:name="com.android.deskclock" /> |
| |
| <uses-sdk android:minSdkVersion="19" /> |
| |
| <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" /> |
| <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
| |
| <!-- WRITE_SETTINGS is required to record the upcoming alarm prior to L --> |
| <uses-permission |
| android:name="android.permission.WRITE_SETTINGS" |
| android:maxSdkVersion="19" /> |
| <!-- READ_PHONE_STATE is required to determine when a phone call exists prior to M --> |
| <uses-permission |
| android:name="android.permission.READ_PHONE_STATE" |
| android:maxSdkVersion="22" /> |
| |
| <application |
| android:name=".DeskClockApplication" |
| android:allowBackup="false" |
| android:backupAgent="DeskClockBackupAgent" |
| android:fullBackupContent="@xml/backup_scheme" |
| android:fullBackupOnly="true" |
| android:icon="@mipmap/ic_launcher_alarmclock" |
| android:label="@string/app_label" |
| 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:launchMode="singleTask" |
| android:theme="@style/DeskClockTheme" |
| android:windowSoftInputMode="adjustPan"> |
| <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:enabled="false" |
| android:label="@string/app_label" |
| android:launchMode="singleTask" |
| android:targetActivity="DeskClock" |
| android:theme="@style/DeskClockTheme"> |
| <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:excludeFromRecents="true" |
| android:label="@string/settings" |
| android:taskAffinity="" |
| android:theme="@style/SettingsTheme"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name=".worldclock.CitySelectionActivity" |
| android:excludeFromRecents="true" |
| android:label="@string/cities_activity_title" |
| android:taskAffinity="" |
| android:theme="@style/CitiesTheme"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| </intent-filter> |
| </activity> |
| |
| <activity |
| android:name=".alarms.AlarmActivity" |
| android:excludeFromRecents="true" |
| android:showOnLockScreen="true" |
| android:taskAffinity="" |
| android:theme="@style/AlarmAlertFullScreenTheme" |
| android:windowSoftInputMode="stateAlwaysHidden" /> |
| |
| <activity |
| android:name=".ScreensaverActivity" |
| android:excludeFromRecents="true" |
| android:taskAffinity="" |
| android:theme="@style/ScreensaverActivityTheme" /> |
| |
| <receiver |
| android:name=".alarms.AlarmStateManager" |
| android:exported="false" /> |
| |
| <service |
| android:name=".alarms.AlarmService" |
| android:exported="false" /> |
| |
| <activity |
| android:name=".HandleApiCalls" |
| android:excludeFromRecents="true" |
| android:launchMode="singleTask" |
| android:permission="com.android.alarm.permission.SET_ALARM" |
| android:taskAffinity="" |
| android:theme="@android:style/Theme.NoDisplay"> |
| <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:exported="true" |
| android:targetActivity=".HandleApiCalls" /> |
| |
| <activity |
| android:name=".HandleDeskClockApiCalls" |
| android:excludeFromRecents="true" |
| android:launchMode="singleTask" |
| android:permission="com.android.alarm.permission.SET_ALARM" |
| android:taskAffinity="" |
| android:theme="@android:style/Theme.NoDisplay"> |
| <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: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:label="@string/digital_gadget"> |
| <intent-filter> |
| <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="android.appwidget.action.APPWIDGET_UPDATE" /> |
| <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" /> |
| <action android:name="com.android.deskclock.ALARM_CHANGED" /> |
| <action android:name="com.android.deskclock.ON_DAY_CHANGE" /> |
| <action android:name="com.android.deskclock.WORLD_CITIES_CHANGED" /> |
| </intent-filter> |
| <meta-data |
| android:name="android.appwidget.provider" |
| android:resource="@xml/digital_appwidget" /> |
| </receiver> |
| |
| <service |
| android:name="com.android.alarmclock.DigitalAppWidgetCityService" |
| android:exported="false" |
| android:permission="android.permission.BIND_REMOTEVIEWS" /> |
| |
| <!-- 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:excludeFromRecents="true" |
| android:exported="true" |
| android:label="@string/screensaver_settings" |
| android:taskAffinity="" |
| android:theme="@style/SettingsTheme"> |
| <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:configChanges="screenSize|keyboardHidden|keyboard|navigation" |
| android:excludeFromRecents="true" |
| android:launchMode="singleInstance" |
| android:showOnLockScreen="true" |
| android:taskAffinity="" |
| android:theme="@style/ExpiredTimersActivityTheme" /> |
| |
| <!-- Legacy broadcast receiver that honors old scheduled timers across app upgrade. --> |
| <receiver android:name="com.android.deskclock.timer.TimerReceiver" |
| android:exported="false"> |
| <intent-filter> |
| <action android:name="times_up" /> |
| </intent-filter> |
| </receiver> |
| |
| <service |
| android:name=".timer.TimerService" |
| android:description="@string/timer_service_desc" |
| android:exported="false" |
| tools:ignore="ManifestResource" /> |
| |
| <service |
| android:name=".stopwatch.StopwatchService" |
| android:description="@string/stopwatch_service_desc" |
| android:exported="false" |
| tools:ignore="ManifestResource" /> |
| |
| </application> |
| </manifest> |