|
1 | 1 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
2 | 2 | xmlns:tools="http://schemas.android.com/tools"> |
3 | 3 |
|
4 | | - <!--foreground service permissions--> |
| 4 | + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
5 | 5 |
|
6 | | - <uses-permission |
7 | | - android:name="android.permission.FOREGROUND_SERVICE" |
8 | | - tools:ignore="ForegroundServicesPolicy" /> |
| 6 | + <uses-permission android:name="android.permission.FOREGROUND_SERVICE" tools:ignore="ForegroundServicesPolicy" /> |
9 | 7 | <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" /> |
| 8 | + |
10 | 9 | <uses-permission android:name="android.permission.VIBRATE" /> |
11 | 10 |
|
| 11 | + <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" /> |
| 12 | + <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" /> |
| 13 | + |
12 | 14 | <!--use hardware sensors/components--> |
13 | 15 |
|
14 | 16 | <uses-feature |
|
37 | 39 | android:supportsRtl="true" |
38 | 40 | android:theme="@style/AppTheme"> |
39 | 41 |
|
40 | | - <!--activity for tiles--> |
| 42 | + <!--function activity for tiles--> |
41 | 43 |
|
42 | 44 | <activity |
43 | 45 | android:name=".activity.ScreenshotActivity" |
44 | 46 | android:exported="false" |
45 | 47 | android:theme="@android:style/Theme.Translucent.NoTitleBar" /> |
46 | 48 |
|
47 | | - <!--accessibility service/activity for tiles--> |
| 49 | + <!--permission activity for tiles--> |
48 | 50 |
|
49 | 51 | <activity |
50 | 52 | android:name=".activity.AccessibilityPermissionActivity" |
51 | 53 | android:exported="false" |
52 | 54 | android:theme="@android:style/Theme.Translucent.NoTitleBar" /> |
53 | 55 |
|
| 56 | + <activity |
| 57 | + android:name=".activity.NotificationPolicyPermissionActivity" |
| 58 | + android:exported="false" |
| 59 | + android:theme="@android:style/Theme.Translucent.NoTitleBar" /> |
| 60 | + |
| 61 | + <activity |
| 62 | + android:name=".activity.WriteSettingsPermissionActivity" |
| 63 | + android:exported="false" |
| 64 | + android:theme="@android:style/Theme.Translucent.NoTitleBar" /> |
| 65 | + |
| 66 | + <!--function services for tiles--> |
| 67 | + |
54 | 68 | <service |
55 | 69 | android:name=".services.accessibility.TileAccessibilityService" |
56 | 70 | android:exported="true" |
|
65 | 79 | android:resource="@xml/accessibility_service_config" /> |
66 | 80 | </service> |
67 | 81 |
|
| 82 | + <!--caffeine quick settings tile service--> |
| 83 | + |
| 84 | + <service |
| 85 | + android:name=".tiles.power.CaffeineTileService" |
| 86 | + android:exported="true" |
| 87 | + android:icon="@drawable/ic_caffeine" |
| 88 | + android:label="@string/caffeine_tile" |
| 89 | + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
| 90 | + <intent-filter> |
| 91 | + <action android:name="android.service.quicksettings.action.QS_TILE" /> |
| 92 | + </intent-filter> |
| 93 | + <meta-data |
| 94 | + android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
| 95 | + android:value="true" /> |
| 96 | + </service> |
| 97 | + |
68 | 98 | <!--coin flip quick settings tile service--> |
69 | 99 |
|
70 | 100 | <service |
71 | | - android:name=".tiles.CoinFlipTileService" |
| 101 | + android:name=".tiles.games.CoinFlipTileService" |
72 | 102 | android:exported="true" |
73 | | - android:icon="@drawable/ic_coin_off" |
74 | | - android:label="@string/coin_flip_tile_label" |
| 103 | + android:icon="@drawable/ic_coin" |
| 104 | + android:label="@string/coin_flip_tile" |
75 | 105 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
76 | 106 | <intent-filter> |
77 | 107 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
|
84 | 114 | <!--compass quick settings tile service--> |
85 | 115 |
|
86 | 116 | <service |
87 | | - android:name=".tiles.CompassTileService" |
| 117 | + android:name=".tiles.sensors.CompassTileService" |
88 | 118 | android:exported="true" |
89 | 119 | android:foregroundServiceType="specialUse" |
90 | 120 | android:icon="@drawable/ic_compass_off" |
91 | | - android:label="@string/compass_tile_label" |
| 121 | + android:label="@string/compass_tile" |
92 | 122 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
93 | 123 | <intent-filter> |
94 | 124 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
|
101 | 131 | android:value="Required for accessing compass sensor data while tile is active" /> |
102 | 132 | </service> |
103 | 133 |
|
104 | | - <!--dice roll quick settings tile service--> |
| 134 | + <!--counter quick settings tile services--> |
105 | 135 |
|
106 | 136 | <service |
107 | | - android:name=".tiles.DiceRollTileService" |
| 137 | + android:name=".tiles.counter.CounterAddTileService" |
108 | 138 | android:exported="true" |
109 | | - android:icon="@drawable/ic_dice_off" |
110 | | - android:label="@string/dice_roll_tile_label" |
| 139 | + android:icon="@drawable/ic_counter_add" |
| 140 | + android:label="@string/counter_tile_add" |
111 | 141 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
112 | 142 | <intent-filter> |
113 | 143 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
|
117 | 147 | android:value="true" /> |
118 | 148 | </service> |
119 | 149 |
|
120 | | - <!--bubble level quick settings tile service--> |
121 | | - |
122 | 150 | <service |
123 | | - android:name=".tiles.LevelTileService" |
| 151 | + android:name=".tiles.counter.CounterRemoveTileService" |
124 | 152 | android:exported="true" |
125 | | - android:foregroundServiceType="specialUse" |
126 | | - android:icon="@drawable/ic_level_off" |
127 | | - android:label="@string/level_tile_label" |
| 153 | + android:icon="@drawable/ic_counter_remove" |
| 154 | + android:label="@string/counter_tile_remove" |
128 | 155 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
129 | 156 | <intent-filter> |
130 | 157 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
131 | 158 | </intent-filter> |
132 | 159 | <meta-data |
133 | 160 | android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
134 | 161 | android:value="true" /> |
135 | | - <property |
136 | | - android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" |
137 | | - android:value="Required for accessing accelerometer sensor data while tile is active" /> |
138 | 162 | </service> |
139 | 163 |
|
140 | | - <!--lock screen quick settings tile service--> |
141 | | - |
142 | 164 | <service |
143 | | - android:name=".tiles.LockTileService" |
144 | | - android:enabled="@bool/enable_lock_tile" |
| 165 | + android:name=".tiles.counter.CounterResetTileService" |
145 | 166 | android:exported="true" |
146 | | - android:icon="@drawable/ic_lock" |
147 | | - android:label="@string/lock_tile_label" |
| 167 | + android:icon="@drawable/ic_counter_reset" |
| 168 | + android:label="@string/counter_tile_reset" |
148 | 169 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
149 | 170 | <intent-filter> |
150 | 171 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
151 | 172 | </intent-filter> |
152 | 173 | <meta-data |
153 | | - android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
| 174 | + android:name="android.service.quicksettings.INACTIVE_TILE" |
154 | 175 | android:value="true" /> |
155 | 176 | </service> |
156 | 177 |
|
157 | | - <!--lux meter quick settings tile service--> |
| 178 | + <!--dice roll quick settings tile service--> |
158 | 179 |
|
159 | 180 | <service |
160 | | - android:name=".tiles.LuxMeterTileService" |
| 181 | + android:name=".tiles.games.DiceRollTileService" |
161 | 182 | android:exported="true" |
162 | | - android:foregroundServiceType="specialUse" |
163 | | - android:icon="@drawable/ic_lux_meter_off" |
164 | | - android:label="@string/lux_meter_tile_label" |
| 183 | + android:icon="@drawable/ic_dice" |
| 184 | + android:label="@string/dice_roll_tile" |
165 | 185 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
166 | 186 | <intent-filter> |
167 | 187 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
168 | 188 | </intent-filter> |
169 | 189 | <meta-data |
170 | 190 | android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
171 | 191 | android:value="true" /> |
172 | | - <property |
173 | | - android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" |
174 | | - android:value="Required for accessing light sensor data while tile is active" /> |
175 | 192 | </service> |
176 | 193 |
|
177 | | - <!--counter quick settings tile services--> |
| 194 | + <!--bubble level quick settings tile service--> |
178 | 195 |
|
179 | 196 | <service |
180 | | - android:name=".tiles.counter.CounterAddTileService" |
| 197 | + android:name=".tiles.sensors.LevelTileService" |
181 | 198 | android:exported="true" |
182 | | - android:icon="@drawable/ic_counter_add" |
183 | | - android:label="@string/counter_add_tile_label" |
| 199 | + android:foregroundServiceType="specialUse" |
| 200 | + android:icon="@drawable/ic_level" |
| 201 | + android:label="@string/level_tile" |
184 | 202 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
185 | 203 | <intent-filter> |
186 | 204 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
187 | 205 | </intent-filter> |
188 | 206 | <meta-data |
189 | | - android:name="android.service.quicksettings.ACTIVE_TILE" |
| 207 | + android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
190 | 208 | android:value="true" /> |
| 209 | + <property |
| 210 | + android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" |
| 211 | + android:value="Required for accessing accelerometer sensor data while tile is active" /> |
191 | 212 | </service> |
192 | 213 |
|
| 214 | + <!--lock screen quick settings tile service--> |
| 215 | + |
193 | 216 | <service |
194 | | - android:name=".tiles.counter.CounterRemoveTileService" |
| 217 | + android:name=".tiles.system.LockTileService" |
| 218 | + android:enabled="@bool/enable_lock_tile" |
195 | 219 | android:exported="true" |
196 | | - android:icon="@drawable/ic_counter_remove" |
197 | | - android:label="@string/counter_remove_tile_label" |
| 220 | + android:icon="@drawable/ic_lock" |
| 221 | + android:label="@string/lock_tile" |
198 | 222 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
199 | 223 | <intent-filter> |
200 | 224 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
201 | 225 | </intent-filter> |
202 | 226 | <meta-data |
203 | | - android:name="android.service.quicksettings.ACTIVE_TILE" |
| 227 | + android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
204 | 228 | android:value="true" /> |
205 | 229 | </service> |
206 | 230 |
|
| 231 | + <!--lux meter quick settings tile service--> |
| 232 | + |
207 | 233 | <service |
208 | | - android:name=".tiles.counter.CounterResetTileService" |
| 234 | + android:name=".tiles.sensors.LuxMeterTileService" |
209 | 235 | android:exported="true" |
210 | | - android:icon="@drawable/ic_counter_reset" |
211 | | - android:label="@string/counter_reset_tile_label" |
| 236 | + android:foregroundServiceType="specialUse" |
| 237 | + android:icon="@drawable/ic_lux_meter_off" |
| 238 | + android:label="@string/lux_meter_tile" |
212 | 239 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
213 | 240 | <intent-filter> |
214 | 241 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
215 | 242 | </intent-filter> |
216 | 243 | <meta-data |
217 | | - android:name="android.service.quicksettings.INACTIVE_TILE" |
| 244 | + android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
218 | 245 | android:value="true" /> |
| 246 | + <property |
| 247 | + android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" |
| 248 | + android:value="Required for accessing light sensor data while tile is active" /> |
219 | 249 | </service> |
220 | 250 |
|
221 | 251 | <!--screenshot quick settings tile service--> |
222 | 252 |
|
223 | 253 | <service |
224 | | - android:name=".tiles.ScreenshotTileService" |
| 254 | + android:name=".tiles.system.ScreenshotTileService" |
225 | 255 | android:enabled="@bool/enable_screenshot_tile" |
226 | 256 | android:exported="true" |
227 | 257 | android:icon="@drawable/ic_screenshot" |
228 | | - android:label="@string/screenshot_tile_label" |
| 258 | + android:label="@string/screenshot_tile" |
229 | 259 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
230 | 260 | <intent-filter> |
231 | 261 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
|
238 | 268 | <!--sos quick settings tile service--> |
239 | 269 |
|
240 | 270 | <service |
241 | | - android:name=".tiles.SosTileService" |
| 271 | + android:name=".tiles.tools.SosTileService" |
242 | 272 | android:exported="true" |
243 | 273 | android:icon="@drawable/ic_sos" |
244 | | - android:label="@string/sos_tile_label" |
| 274 | + android:label="@string/sos_tile" |
| 275 | + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
| 276 | + <intent-filter> |
| 277 | + <action android:name="android.service.quicksettings.action.QS_TILE" /> |
| 278 | + </intent-filter> |
| 279 | + <meta-data |
| 280 | + android:name="android.service.quicksettings.TOGGLEABLE_TILE" |
| 281 | + android:value="true" /> |
| 282 | + </service> |
| 283 | + |
| 284 | + <!--sound mode quick settings tile service--> |
| 285 | + |
| 286 | + <service |
| 287 | + android:name=".tiles.audio.SoundModeTileService" |
| 288 | + android:exported="true" |
| 289 | + android:icon="@drawable/ic_sound" |
| 290 | + android:label="@string/sound_mode_tile" |
245 | 291 | android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> |
246 | 292 | <intent-filter> |
247 | 293 | <action android:name="android.service.quicksettings.action.QS_TILE" /> |
|
0 commit comments