Home | History | Annotate | Download | only in DeskClock
      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!--
      3   Copyright (C) 2016 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
     19     xmlns:android="http://schemas.android.com/apk/res/android"
     20     package="com.android.deskclock">
     21 
     22     <original-package android:name="com.android.alarmclock" />
     23     <original-package android:name="com.android.deskclock" />
     24 
     25     <uses-sdk android:minSdkVersion="19" targetSdkVersion="25" />
     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     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     32 
     33     <!-- WRITE_SETTINGS is required to record the upcoming alarm prior to L -->
     34     <uses-permission
     35         android:name="android.permission.WRITE_SETTINGS"
     36         android:maxSdkVersion="19" />
     37     <!-- READ_PHONE_STATE is required to determine when a phone call exists prior to M -->
     38     <uses-permission
     39         android:name="android.permission.READ_PHONE_STATE"
     40         android:maxSdkVersion="22" />
     41 
     42     <application
     43         android:name=".DeskClockApplication"
     44         android:allowBackup="false"
     45         android:backupAgent="DeskClockBackupAgent"
     46         android:fullBackupContent="@xml/backup_scheme"
     47         android:fullBackupOnly="true"
     48         android:icon="@mipmap/ic_launcher_alarmclock"
     49         android:label="@string/app_label"
     50         android:requiredForAllUsers="true"
     51         android:supportsRtl="true"
     52         android:theme="@style/Theme.DeskClock">
     53 
     54         <!-- ============================================================== -->
     55         <!-- Main app components.                                           -->
     56         <!-- ============================================================== -->
     57 
     58         <activity
     59             android:name=".DeskClock"
     60             android:label="@string/app_label"
     61             android:launchMode="singleTask"
     62             android:windowSoftInputMode="adjustPan">
     63             <intent-filter>
     64                 <action android:name="android.intent.action.MAIN" />
     65 
     66                 <category android:name="android.intent.category.DEFAULT" />
     67                 <category android:name="android.intent.category.LAUNCHER" />
     68             </intent-filter>
     69         </activity>
     70 
     71         <activity
     72             android:name=".ringtone.RingtonePickerActivity"
     73             android:excludeFromRecents="true"
     74             android:taskAffinity=""
     75             android:theme="@style/Theme.DeskClock.RingtonePicker" />
     76 
     77         <activity
     78             android:name=".worldclock.CitySelectionActivity"
     79             android:excludeFromRecents="true"
     80             android:label="@string/cities_activity_title"
     81             android:parentActivityName=".DeskClock"
     82             android:taskAffinity=""
     83             android:theme="@style/Theme.DeskClock.CitySelection" />
     84 
     85         <activity
     86             android:name=".settings.SettingsActivity"
     87             android:excludeFromRecents="true"
     88             android:label="@string/settings"
     89             android:parentActivityName=".DeskClock"
     90             android:taskAffinity=""
     91             android:theme="@style/Theme.DeskClock.Settings" />
     92 
     93         <activity
     94             android:name=".HandleShortcuts"
     95             android:excludeFromRecents="true"
     96             android:launchMode="singleInstance"
     97             android:taskAffinity=""
     98             android:theme="@android:style/Theme.NoDisplay" />
     99 
    100         <!-- ============================================================== -->
    101         <!-- AlarmClock API components.                                     -->
    102         <!-- ============================================================== -->
    103 
    104         <activity
    105             android:name=".HandleApiCalls"
    106             android:excludeFromRecents="true"
    107             android:launchMode="singleInstance"
    108             android:taskAffinity=""
    109             android:theme="@android:style/Theme.NoDisplay">
    110             <intent-filter>
    111                 <action android:name="android.intent.action.DISMISS_ALARM" />
    112                 <action android:name="android.intent.action.SHOW_ALARMS" />
    113                 <action android:name="android.intent.action.SHOW_TIMERS" />
    114                 <action android:name="android.intent.action.SNOOZE_ALARM" />
    115 
    116                 <category android:name="android.intent.category.DEFAULT" />
    117                 <category android:name="android.intent.category.VOICE" />
    118             </intent-filter>
    119         </activity>
    120 
    121         <activity-alias
    122             android:name=".HandleSetAlarmApiCalls"
    123             android:permission="com.android.alarm.permission.SET_ALARM"
    124             android:targetActivity=".HandleApiCalls">
    125             <intent-filter>
    126                 <action android:name="android.intent.action.SET_ALARM" />
    127                 <action android:name="android.intent.action.SET_TIMER" />
    128 
    129                 <category android:name="android.intent.category.DEFAULT" />
    130                 <category android:name="android.intent.category.VOICE" />
    131             </intent-filter>
    132         </activity-alias>
    133 
    134         <!-- ============================================================== -->
    135         <!-- Alarm components.                                              -->
    136         <!-- ============================================================== -->
    137 
    138         <activity
    139             android:name=".alarms.AlarmActivity"
    140             android:directBootAware="true"
    141             android:excludeFromRecents="true"
    142             android:resizeableActivity="false"
    143             android:showOnLockScreen="true"
    144             android:taskAffinity=""
    145             android:windowSoftInputMode="stateAlwaysHidden" />
    146 
    147         <activity
    148             android:name=".AlarmSelectionActivity"
    149             android:label="@string/dismiss_alarm"
    150             android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar" />
    151 
    152         <provider
    153             android:name=".provider.ClockProvider"
    154             android:authorities="com.android.deskclock"
    155             android:directBootAware="true"
    156             android:exported="false" />
    157 
    158         <receiver
    159             android:name=".AlarmInitReceiver"
    160             android:directBootAware="true">
    161             <intent-filter>
    162                 <action android:name="android.intent.action.BOOT_COMPLETED" />
    163                 <action android:name="android.intent.action.LOCALE_CHANGED" />
    164                 <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
    165                 <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    166                 <action android:name="android.intent.action.TIME_SET" />
    167                 <action android:name="android.intent.action.TIMEZONE_CHANGED" />
    168             </intent-filter>
    169         </receiver>
    170 
    171         <receiver
    172             android:name=".alarms.AlarmStateManager"
    173             android:directBootAware="true" />
    174 
    175         <service
    176             android:name=".alarms.AlarmService"
    177             android:directBootAware="true" />
    178 
    179         <!-- ============================================================== -->
    180         <!-- Timer components.                                              -->
    181         <!-- ============================================================== -->
    182 
    183         <activity
    184             android:name=".timer.ExpiredTimersActivity"
    185             android:configChanges="screenSize|keyboardHidden|keyboard|navigation"
    186             android:directBootAware="true"
    187             android:excludeFromRecents="true"
    188             android:launchMode="singleInstance"
    189             android:resizeableActivity="false"
    190             android:showOnLockScreen="true"
    191             android:taskAffinity="" />
    192 
    193         <!-- Legacy broadcast receiver that honors old scheduled timers across app upgrade. -->
    194         <receiver
    195             android:name="com.android.deskclock.timer.TimerReceiver"
    196             android:exported="false">
    197             <intent-filter>
    198                 <action android:name="times_up" />
    199             </intent-filter>
    200         </receiver>
    201 
    202         <service
    203             android:name=".timer.TimerService"
    204             android:description="@string/timer_service_desc"
    205             android:directBootAware="true" />
    206 
    207         <!-- ============================================================== -->
    208         <!-- Stopwatch components.                                          -->
    209         <!-- ============================================================== -->
    210 
    211         <service
    212             android:name=".stopwatch.StopwatchService"
    213             android:description="@string/stopwatch_service_desc"
    214             android:directBootAware="true" />
    215 
    216 
    217         <!-- ============================================================== -->
    218         <!-- Screen saver components.                                       -->
    219         <!-- ============================================================== -->
    220 
    221         <activity
    222             android:name=".ScreensaverActivity"
    223             android:excludeFromRecents="true"
    224             android:resizeableActivity="false"
    225             android:taskAffinity="" />
    226 
    227         <activity
    228             android:name=".settings.ScreensaverSettingsActivity"
    229             android:excludeFromRecents="true"
    230             android:label="@string/screensaver_settings"
    231             android:taskAffinity=""
    232             android:theme="@style/Theme.DeskClock.Settings" />
    233 
    234         <service
    235             android:name=".Screensaver"
    236             android:label="@string/app_label"
    237             android:permission="android.permission.BIND_DREAM_SERVICE">
    238             <intent-filter>
    239                 <action android:name="android.service.dreams.DreamService" />
    240                 <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
    241 
    242                 <category android:name="android.intent.category.DEFAULT" />
    243             </intent-filter>
    244             <meta-data
    245                 android:name="android.service.dream"
    246                 android:resource="@xml/screensaver_info" />
    247         </service>
    248 
    249         <!-- ============================================================== -->
    250         <!-- App widget components.                                         -->
    251         <!-- ============================================================== -->
    252 
    253         <receiver
    254             android:name="com.android.alarmclock.AnalogAppWidgetProvider"
    255             android:label="@string/analog_gadget">
    256             <intent-filter>
    257                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    258             </intent-filter>
    259 
    260             <meta-data
    261                 android:name="android.appwidget.oldName"
    262                 android:value="com.android.deskclock.AnalogAppWidgetProvider" />
    263             <meta-data
    264                 android:name="android.appwidget.provider"
    265                 android:resource="@xml/analog_appwidget" />
    266         </receiver>
    267 
    268         <receiver
    269             android:name="com.android.alarmclock.DigitalAppWidgetProvider"
    270             android:label="@string/digital_gadget">
    271             <intent-filter>
    272                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    273                 <action android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
    274                 <action android:name="android.intent.action.DATE_CHANGED" />
    275                 <action android:name="android.intent.action.LOCALE_CHANGED" />
    276                 <action android:name="android.intent.action.SCREEN_ON" />
    277                 <action android:name="android.intent.action.TIME_SET" />
    278                 <action android:name="android.intent.action.TIMEZONE_CHANGED" />
    279                 <action android:name="com.android.deskclock.ALARM_CHANGED" />
    280                 <action android:name="com.android.deskclock.ON_DAY_CHANGE" />
    281                 <action android:name="com.android.deskclock.WORLD_CITIES_CHANGED" />
    282             </intent-filter>
    283             <meta-data
    284                 android:name="android.appwidget.provider"
    285                 android:resource="@xml/digital_appwidget" />
    286         </receiver>
    287 
    288         <service
    289             android:name="com.android.alarmclock.DigitalAppWidgetCityService"
    290             android:permission="android.permission.BIND_REMOTEVIEWS" />
    291 
    292     </application>
    293 </manifest>
    294