1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 Copyright (C) 2017 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 <manifest package="com.example.android.wearable.watchface" 18 xmlns:android="http://schemas.android.com/apk/res/android"> 19 20 <uses-sdk 21 android:minSdkVersion="21" 22 android:targetSdkVersion="25"/> 23 24 <uses-feature android:name="android.hardware.type.watch"/> 25 26 <!-- Required to act as a custom watch face. --> 27 <uses-permission android:name="android.permission.WAKE_LOCK"/> 28 29 <!-- Required for complications to receive complication data and open the provider chooser. --> 30 <uses-permission android:name="com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA"/> 31 32 <application 33 android:allowBackup="true" 34 android:icon="@drawable/ic_launcher" 35 android:label="@string/app_name"> 36 <meta-data 37 android:name="com.google.android.wearable.standalone" 38 android:value="true"/> 39 <meta-data 40 android:name="com.google.android.gms.version" 41 android:value="@integer/google_play_services_version"/> 42 43 <uses-library 44 android:name="com.google.android.wearable" 45 android:required="false"/> 46 47 <service 48 android:name=".watchface.OpenGLWatchFaceService" 49 android:label="@string/opengl_name" 50 android:permission="android.permission.BIND_WALLPAPER"> 51 <meta-data 52 android:name="android.service.wallpaper" 53 android:resource="@xml/watch_face"/> 54 <meta-data 55 android:name="com.google.android.wearable.watchface.preview" 56 android:resource="@drawable/preview_opengl"/> 57 <meta-data 58 android:name="com.google.android.wearable.watchface.preview_circular" 59 android:resource="@drawable/preview_opengl_circular"/> 60 <meta-data 61 android:name="com.google.android.wearable.watchface.companionConfigurationAction" 62 android:value="com.example.android.wearable.watchface.CONFIG_OPENGL"/> 63 64 <intent-filter> 65 <action android:name="android.service.wallpaper.WallpaperService"/> 66 67 <category android:name="com.google.android.wearable.watchface.category.WATCH_FACE"/> 68 </intent-filter> 69 </service> 70 <service 71 android:name=".watchface.AnalogComplicationWatchFaceService" 72 android:enabled="true" 73 android:label="@string/analog_complication" 74 android:permission="android.permission.BIND_WALLPAPER"> 75 <meta-data 76 android:name="android.service.wallpaper" 77 android:resource="@xml/watch_face"/> 78 <meta-data 79 android:name="com.google.android.wearable.watchface.preview" 80 android:resource="@drawable/preview_analog_complication"/> 81 <meta-data 82 android:name="com.google.android.wearable.watchface.preview_circular" 83 android:resource="@drawable/preview_analog_complication_circular"/> 84 <meta-data 85 android:name="com.google.android.wearable.watchface.wearableConfigurationAction" 86 android:value="com.example.android.wearable.watchface.CONFIG_COMPLICATION_SIMPLE"/> 87 88 <intent-filter> 89 <action android:name="android.service.wallpaper.WallpaperService"/> 90 91 <category android:name="com.google.android.wearable.watchface.category.WATCH_FACE"/> 92 </intent-filter> 93 </service> 94 95 <activity android:name="android.support.wearable.complications.ComplicationHelperActivity"/> 96 <activity 97 android:name=".config.AnalogComplicationConfigActivity" 98 android:label="@string/analog_complication_config"> 99 <intent-filter> 100 <action android:name="com.example.android.wearable.watchface.CONFIG_COMPLICATION_SIMPLE"/> 101 102 <category android:name="com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION"/> 103 <category android:name="android.intent.category.DEFAULT"/> 104 </intent-filter> 105 </activity> 106 107 <service 108 android:name=".watchface.InteractiveWatchFaceService" 109 android:label="@string/interactive_name" 110 android:permission="android.permission.BIND_WALLPAPER"> 111 <meta-data 112 android:name="android.service.wallpaper" 113 android:resource="@xml/watch_face"/> 114 <meta-data 115 android:name="com.google.android.wearable.watchface.preview" 116 android:resource="@drawable/preview_interactive"/> 117 <meta-data 118 android:name="com.google.android.wearable.watchface.preview_circular" 119 android:resource="@drawable/preview_interactive_circular"/> 120 121 <intent-filter> 122 <action android:name="android.service.wallpaper.WallpaperService"/> 123 124 <category android:name="com.google.android.wearable.watchface.category.WATCH_FACE"/> 125 </intent-filter> 126 </service> 127 128 <service 129 android:name=".watchface.DigitalWatchFaceService" 130 android:label="@string/digital_name" 131 android:permission="android.permission.BIND_WALLPAPER"> 132 <meta-data 133 android:name="android.service.wallpaper" 134 android:resource="@xml/watch_face"/> 135 <meta-data 136 android:name="com.google.android.wearable.watchface.preview" 137 android:resource="@drawable/preview_digital"/> 138 <meta-data 139 android:name="com.google.android.wearable.watchface.preview_circular" 140 android:resource="@drawable/preview_digital_circular"/> 141 <meta-data 142 android:name="com.google.android.wearable.watchface.companionConfigurationAction" 143 android:value="com.example.android.wearable.watchface.CONFIG_DIGITAL"/> 144 <meta-data 145 android:name="com.google.android.wearable.watchface.wearableConfigurationAction" 146 android:value="com.example.android.wearable.watchface.CONFIG_DIGITAL"/> 147 148 <intent-filter> 149 <action android:name="android.service.wallpaper.WallpaperService"/> 150 151 <category android:name="com.google.android.wearable.watchface.category.WATCH_FACE"/> 152 </intent-filter> 153 </service> 154 155 <!-- 156 All intent-filters for config actions must include the categories 157 com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION 158 and android.intent.category.DEFAULT. 159 --> 160 161 <activity 162 android:name=".config.DigitalWatchFaceWearableConfigActivity" 163 android:label="@string/digital_config_name"> 164 <intent-filter> 165 <action android:name="com.example.android.wearable.watchface.CONFIG_DIGITAL"/> 166 167 <category android:name="com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION"/> 168 <category android:name="android.intent.category.DEFAULT"/> 169 </intent-filter> 170 </activity> 171 172 <service android:name=".config.DigitalWatchFaceConfigListenerService"> 173 <intent-filter> 174 <action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED"/> 175 176 <data 177 android:host="*" 178 android:pathPrefix="/" 179 android:scheme="wear"/> 180 </intent-filter> 181 </service> 182 183 <service 184 android:name=".provider.IncrementingNumberComplicationProviderService" 185 android:icon="@drawable/icn_complications" 186 android:label="@string/complications_provider_incrementing_number" 187 android:permission="com.google.android.wearable.permission.BIND_COMPLICATION_PROVIDER"> 188 <intent-filter> 189 <action android:name="android.support.wearable.complications.ACTION_COMPLICATION_UPDATE_REQUEST"/> 190 </intent-filter> 191 192 <meta-data 193 android:name="android.support.wearable.complications.SUPPORTED_TYPES" 194 android:value="RANGED_VALUE,SHORT_TEXT,LONG_TEXT"/> 195 <!-- 196 When your complication data provider is active, UPDATE_PERIOD_SECONDS specifies how 197 often you want the system to check for updates to the data. 198 199 In general, you want to manually trigger updates only when your complication data 200 actually changes via ProviderUpdateRequester (check UpdateComplicationDataService.java 201 for an example). 202 203 If you do decide to use UPDATE_PERIOD_SECONDS, set the interval in the order of minutes. 204 A good value might be 600 seconds (10 minutes) if you need updates pulled often. 205 206 Also, remember that this is only a guidance for the system. Android Wear may update less 207 frequently. 208 --> 209 <meta-data 210 android:name="android.support.wearable.complications.UPDATE_PERIOD_SECONDS" 211 android:value="0"/> 212 </service> 213 <receiver android:name=".provider.ComplicationToggleReceiver"/> 214 215 <activity android:name=".config.ColorSelectionActivity"/> 216 </application> 217 </manifest>