1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- Copyright (C) 2007 The Android Open Source Project 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 --> 16 17 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 18 package="com.android.music"> 19 20 <original-package android:name="com.android.music" /> 21 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="24"/> 22 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 23 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 24 <uses-permission android:name="android.permission.WAKE_LOCK" /> 25 <uses-permission android:name="android.permission.INTERNET" /> 26 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 27 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 28 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 29 <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 30 31 <application android:icon="@drawable/app_music" 32 android:label="@string/musicbrowserlabel" 33 android:taskAffinity="android.task.music" 34 android:allowTaskReparenting="true" 35 android:usesCleartextTraffic="true"> 36 37 <meta-data 38 android:name="android.app.default_searchable" 39 android:value="com.android.music.QueryBrowserActivity"/> 40 41 <!-- The main activity --> 42 <activity android:name="com.android.music.MusicBrowserActivity" 43 android:theme="@android:style/Theme.NoTitleBar" 44 android:exported="true"> 45 <intent-filter> 46 <action android:name="android.intent.action.MAIN" /> 47 <action android:name="android.intent.action.MUSIC_PLAYER" /> 48 <category android:name="android.intent.category.DEFAULT" /> 49 <category android:name="android.intent.category.LAUNCHER" /> 50 <category android:name="android.intent.category.APP_MUSIC" /> 51 </intent-filter> 52 </activity> 53 54 <receiver android:name="com.android.music.MediaButtonIntentReceiver"> 55 <intent-filter> 56 <action android:name="android.intent.action.MEDIA_BUTTON" /> 57 <action android:name="android.media.AUDIO_BECOMING_NOISY" /> 58 </intent-filter> 59 </receiver> 60 61 <!-- This is the "current music playing" panel, which has special 62 launch behavior. We clear its task affinity, so it will not 63 be associated with the main media task and if launched 64 from a notification will not bring the rest of the media app 65 to the foreground. We make it singleTask so that when others 66 launch it (such as media) we will launch in to our own task. 67 We set clearTaskOnLaunch because the user 68 can go to a playlist from this activity, so if they later return 69 to it we want it back in its initial state. We exclude from 70 recents since this is accessible through a notification when 71 appropriate. --> 72 <activity android:name="com.android.music.MediaPlaybackActivity" 73 android:theme="@android:style/Theme.NoTitleBar" 74 android:label="@string/mediaplaybacklabel" 75 android:taskAffinity="" 76 android:launchMode="singleTask" 77 android:clearTaskOnLaunch="true" 78 android:excludeFromRecents="true" 79 android:exported="true" > 80 <intent-filter> 81 <action android:name="android.intent.action.VIEW" /> 82 <category android:name="android.intent.category.DEFAULT" /> 83 <data android:scheme="content"/> 84 <data android:host="media"/> 85 <data android:mimeType="audio/*"/> 86 <data android:mimeType="application/ogg"/> 87 <data android:mimeType="application/x-ogg"/> 88 <data android:mimeType="application/itunes"/> 89 </intent-filter> 90 <intent-filter> 91 <action android:name="com.android.music.PLAYBACK_VIEWER" /> 92 <category android:name="android.intent.category.DEFAULT" /> 93 </intent-filter> 94 </activity> 95 96 <activity android:name="AudioPreview" android:theme="@android:style/Theme.Dialog" 97 android:taskAffinity="" 98 android:excludeFromRecents="true" android:exported="true" > 99 <intent-filter> 100 <action android:name="android.intent.action.VIEW" /> 101 <category android:name="android.intent.category.DEFAULT" /> 102 <data android:scheme="file"/> 103 <data android:mimeType="audio/*"/> 104 <data android:mimeType="application/ogg"/> 105 <data android:mimeType="application/x-ogg"/> 106 <data android:mimeType="application/itunes"/> 107 </intent-filter> 108 <intent-filter> 109 <action android:name="android.intent.action.VIEW" /> 110 <category android:name="android.intent.category.DEFAULT" /> 111 <category android:name="android.intent.category.BROWSABLE" /> 112 <data android:scheme="http" /> 113 <data android:mimeType="audio/*"/> 114 <data android:mimeType="application/ogg"/> 115 <data android:mimeType="application/x-ogg"/> 116 <data android:mimeType="application/itunes"/> 117 </intent-filter> 118 <intent-filter 119 android:priority="-1"> 120 <action android:name="android.intent.action.VIEW" /> 121 <category android:name="android.intent.category.DEFAULT" /> 122 <category android:name="android.intent.category.BROWSABLE" /> 123 <data android:scheme="content" /> 124 <data android:mimeType="audio/*"/> 125 <data android:mimeType="application/ogg"/> 126 <data android:mimeType="application/x-ogg"/> 127 <data android:mimeType="application/itunes"/> 128 </intent-filter> 129 </activity> 130 131 <activity android:name="com.android.music.ArtistAlbumBrowserActivity" android:exported="false" > 132 <intent-filter> 133 <action android:name="android.intent.action.PICK" /> 134 <category android:name="android.intent.category.DEFAULT" /> 135 <data android:mimeType="vnd.android.cursor.dir/artistalbum"/> 136 </intent-filter> 137 </activity> 138 <activity android:name="com.android.music.AlbumBrowserActivity" android:exported="false" > 139 <intent-filter> 140 <action android:name="android.intent.action.PICK" /> 141 <category android:name="android.intent.category.DEFAULT" /> 142 <data android:mimeType="vnd.android.cursor.dir/album"/> 143 </intent-filter> 144 </activity> 145 <activity android:name="com.android.music.NowPlayingActivity" android:exported="false" > 146 <intent-filter> 147 <action android:name="android.intent.action.PICK" /> 148 <category android:name="android.intent.category.DEFAULT" /> 149 <data android:mimeType="vnd.android.cursor.dir/nowplaying"/> 150 </intent-filter> 151 </activity> 152 <activity android:name="com.android.music.TrackBrowserActivity" android:exported="false" > 153 <intent-filter> 154 <action android:name="android.intent.action.EDIT" /> 155 <action android:name="android.intent.action.PICK" /> 156 <category android:name="android.intent.category.DEFAULT" /> 157 <data android:mimeType="vnd.android.cursor.dir/track"/> 158 </intent-filter> 159 </activity> 160 <activity android:name="com.android.music.QueryBrowserActivity" 161 android:theme="@android:style/Theme.NoTitleBar" 162 android:exported="true" > 163 <intent-filter> 164 <action android:name="android.intent.action.SEARCH" /> 165 <action android:name="android.intent.action.MEDIA_SEARCH" /> 166 <category android:name="android.intent.category.DEFAULT" /> 167 </intent-filter> 168 <meta-data 169 android:name="android.app.searchable" 170 android:resource="@xml/searchable" 171 /> 172 </activity> 173 <activity android:name="com.android.music.PlaylistBrowserActivity" 174 android:label="@string/musicbrowserlabel" 175 android:exported="true" > 176 <intent-filter> 177 <action android:name="android.intent.action.PICK" /> 178 <category android:name="android.intent.category.DEFAULT" /> 179 <data android:mimeType="vnd.android.cursor.dir/playlist"/> 180 </intent-filter> 181 <intent-filter> 182 <action android:name="android.intent.action.VIEW" /> 183 <category android:name="android.intent.category.DEFAULT" /> 184 <data android:mimeType="vnd.android.cursor.dir/playlist"/> 185 </intent-filter> 186 </activity> 187 <activity-alias android:name="com.android.music.PlaylistShortcutActivity" 188 android:targetActivity="com.android.music.PlaylistBrowserActivity" 189 android:label="@string/musicshortcutlabel" 190 android:icon="@drawable/ic_launcher_shortcut_music_playlist" 191 android:exported="true" > 192 193 <intent-filter> 194 <action android:name="android.intent.action.CREATE_SHORTCUT" /> 195 <category android:name="android.intent.category.DEFAULT" /> 196 </intent-filter> 197 198 </activity-alias> 199 <activity android:name="com.android.music.VideoBrowserActivity" 200 android:taskAffinity="android.task.video" 201 android:label="@string/videobrowserlabel" 202 android:icon="@drawable/app_video" 203 android:exported="false" > 204 <intent-filter> 205 <action android:name="android.intent.action.PICK" /> 206 <category android:name="android.intent.category.DEFAULT" /> 207 <data android:mimeType="vnd.android.cursor.dir/video"/> 208 </intent-filter> 209 <!-- 210 <intent-filter> 211 <action android:name="android.intent.action.MAIN" /> 212 <category android:name="android.intent.category.DEFAULT" /> 213 <category android:name="android.intent.category.LAUNCHER" /> 214 </intent-filter> 215 --> 216 </activity> 217 <activity android:name="com.android.music.MediaPickerActivity" 218 android:label="@string/mediapickerlabel" android:exported="false" > 219 <!-- 220 <intent-filter> 221 <action android:name="android.intent.action.PICK" /> 222 <category android:name="android.intent.category.DEFAULT" /> 223 <data android:mimeType="media/*"/> 224 <data android:mimeType="audio/*"/> 225 <data android:mimeType="application/ogg"/> 226 <data android:mimeType="application/x-ogg"/> 227 <data android:mimeType="video/*"/> 228 </intent-filter> 229 <intent-filter> 230 <action android:name="android.intent.action.GET_CONTENT" /> 231 <category android:name="android.intent.category.DEFAULT" /> 232 <category android:name="android.intent.category.OPENABLE" /> 233 <data android:mimeType="media/*"/> 234 <data android:mimeType="audio/*"/> 235 <data android:mimeType="application/ogg"/> 236 <data android:mimeType="application/x-ogg"/> 237 <data android:mimeType="video/*"/> 238 </intent-filter> 239 --> 240 </activity> 241 <activity android:name="com.android.music.MusicPicker" 242 android:label="@string/music_picker_title" android:exported="true" > 243 <!-- First way to invoke us: someone asks to get content of 244 any of the audio types we support. --> 245 <intent-filter> 246 <action android:name="android.intent.action.GET_CONTENT" /> 247 <category android:name="android.intent.category.DEFAULT" /> 248 <category android:name="android.intent.category.OPENABLE" /> 249 <data android:mimeType="audio/*"/> 250 <data android:mimeType="application/ogg"/> 251 <data android:mimeType="application/x-ogg"/> 252 </intent-filter> 253 <!-- Second way to invoke us: someone asks to pick an item from 254 some media Uri. --> 255 <intent-filter> 256 <action android:name="android.intent.action.PICK" /> 257 <category android:name="android.intent.category.DEFAULT" /> 258 <category android:name="android.intent.category.OPENABLE" /> 259 <data android:mimeType="vnd.android.cursor.dir/audio"/> 260 </intent-filter> 261 </activity> 262 <activity android:name="com.android.music.CreatePlaylist" 263 android:theme="@android:style/Theme.Dialog" android:exported="false" /> 264 <activity android:name="com.android.music.RenamePlaylist" 265 android:theme="@android:style/Theme.Dialog" android:exported="false" /> 266 <activity android:name="com.android.music.WeekSelector" 267 android:theme="@android:style/Theme.Dialog" android:exported="false" /> 268 <activity android:name="com.android.music.DeleteItems" 269 android:theme="@android:style/Theme.Dialog" android:exported="false" /> 270 <activity android:name="com.android.music.ScanningProgress" 271 android:theme="@android:style/Theme.Dialog" android:exported="false" /> 272 <service android:name="com.android.music.MediaPlaybackService" 273 android:exported="false" /> 274 275 <receiver android:name="com.android.music.MediaAppWidgetProvider"> 276 <intent-filter> 277 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 278 </intent-filter> 279 <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" /> 280 </receiver> 281 </application> 282 </manifest> 283