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 xmlns:android="http://schemas.android.com/apk/res/android" 18 package="com.android.music" 19 android:versionCode="2" 20 android:versionName="2.0"> 21 22 <!-- Package Name --> 23 <original-package android:name="com.android.music"/> 24 25 <!-- SDK Versions --> 26 <uses-sdk android:minSdkVersion="19" 27 android:targetSdkVersion="24"/> 28 29 <!-- Permissions --> 30 <uses-permission android:name="android.permission.WRITE_SETTINGS"/> 31 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 32 <uses-permission android:name="android.permission.WAKE_LOCK"/> 33 <uses-permission android:name="android.permission.INTERNET"/> 34 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 35 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 36 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 37 <uses-permission android:name="android.permission.BROADCAST_STICKY"/> 38 39 <!-- App Declaration --> 40 <application 41 android:icon="@drawable/app_music" 42 android:label="@string/musicbrowserlabel" 43 android:taskAffinity="android.task.music" 44 android:allowTaskReparenting="true" 45 android:usesCleartextTraffic="true"> 46 47 <!-- Meta Data --> 48 <meta-data android:name="com.google.android.gms.car.application" 49 android:resource="@xml/automotive_app_desc"/> 50 51 <!-- Main Activity --> 52 <activity android:name="com.android.music.MusicBrowserActivity" 53 android:theme="@android:style/Theme.NoTitleBar" 54 android:exported="true"> 55 <intent-filter> 56 <action android:name="android.intent.action.MAIN"/> 57 <category android:name="android.intent.category.DEFAULT"/> 58 <category android:name="android.intent.category.LAUNCHER"/> 59 <category android:name="android.intent.category.APP_MUSIC"/> 60 </intent-filter> 61 </activity> 62 63 <activity android:name="AudioPreview" android:theme="@android:style/Theme.Dialog" 64 android:taskAffinity="" 65 android:excludeFromRecents="true" android:exported="true" > 66 <intent-filter> 67 <action android:name="android.intent.action.VIEW" /> 68 <category android:name="android.intent.category.DEFAULT" /> 69 <data android:scheme="file"/> 70 <data android:mimeType="audio/*"/> 71 <data android:mimeType="application/ogg"/> 72 <data android:mimeType="application/x-ogg"/> 73 <data android:mimeType="application/itunes"/> 74 </intent-filter> 75 <intent-filter> 76 <action android:name="android.intent.action.VIEW" /> 77 <category android:name="android.intent.category.DEFAULT" /> 78 <category android:name="android.intent.category.BROWSABLE" /> 79 <data android:scheme="http" /> 80 <data android:mimeType="audio/*"/> 81 <data android:mimeType="application/ogg"/> 82 <data android:mimeType="application/x-ogg"/> 83 <data android:mimeType="application/itunes"/> 84 </intent-filter> 85 <intent-filter 86 android:priority="-1"> 87 <action android:name="android.intent.action.VIEW" /> 88 <category android:name="android.intent.category.DEFAULT" /> 89 <category android:name="android.intent.category.BROWSABLE" /> 90 <data android:scheme="content" /> 91 <data android:mimeType="audio/*"/> 92 <data android:mimeType="application/ogg"/> 93 <data android:mimeType="application/x-ogg"/> 94 <data android:mimeType="application/itunes"/> 95 </intent-filter> 96 </activity> 97 98 <activity android:name="com.android.music.MusicPicker" 99 android:label="@string/music_picker_title" android:exported="true" > 100 <!-- First way to invoke us: someone asks to get content of 101 any of the audio types we support. --> 102 <intent-filter> 103 <action android:name="android.intent.action.GET_CONTENT" /> 104 <category android:name="android.intent.category.DEFAULT" /> 105 <category android:name="android.intent.category.OPENABLE" /> 106 <data android:mimeType="audio/*"/> 107 <data android:mimeType="application/ogg"/> 108 <data android:mimeType="application/x-ogg"/> 109 </intent-filter> 110 <!-- Second way to invoke us: someone asks to pick an item from 111 some media Uri. --> 112 <intent-filter> 113 <action android:name="android.intent.action.PICK" /> 114 <category android:name="android.intent.category.DEFAULT" /> 115 <category android:name="android.intent.category.OPENABLE" /> 116 <data android:mimeType="vnd.android.cursor.dir/audio"/> 117 </intent-filter> 118 </activity> 119 120 <!-- 121 This is the "current music playing" panel, which has special 122 launch behavior. We clear its task affinity, so it will not 123 be associated with the main media task and if launched 124 from a notification will not bring the rest of the media app 125 to the foreground. We make it singleTask so that when others 126 launch it (such as media) we will launch in to our own task. 127 We set clearTaskOnLaunch because the user 128 can go to a playlist from this activity, so if they later return 129 to it we want it back in its initial state. We exclude from 130 recents since this is accessible through a notification when 131 appropriate. 132 --> 133 <activity android:name="com.android.music.MediaPlaybackActivity" 134 android:theme="@android:style/Theme.NoTitleBar" 135 android:label="@string/mediaplaybacklabel" 136 android:taskAffinity="" 137 android:launchMode="singleTask" 138 android:clearTaskOnLaunch="true" 139 android:excludeFromRecents="true" 140 android:exported="true"> 141 <intent-filter> 142 <action android:name="android.intent.action.VIEW"/> 143 <category android:name="android.intent.category.DEFAULT"/> 144 <data android:scheme="content"/> 145 <data android:host="media"/> 146 <data android:mimeType="audio/*"/> 147 <data android:mimeType="application/ogg"/> 148 <data android:mimeType="application/x-ogg"/> 149 <data android:mimeType="application/itunes"/> 150 </intent-filter> 151 <intent-filter> 152 <action android:name="com.android.music.PLAYBACK_VIEWER"/> 153 <category android:name="android.intent.category.DEFAULT"/> 154 </intent-filter> 155 </activity> 156 157 <activity android:name="com.android.music.ArtistAlbumBrowserActivity" 158 android:exported="false"> 159 <intent-filter> 160 <action android:name="android.intent.action.PICK"/> 161 <category android:name="android.intent.category.DEFAULT"/> 162 <data android:mimeType="vnd.android.cursor.dir/artistalbum"/> 163 </intent-filter> 164 </activity> 165 166 <activity android:name="com.android.music.AlbumBrowserActivity" android:exported="false"> 167 <intent-filter> 168 <action android:name="android.intent.action.PICK"/> 169 <category android:name="android.intent.category.DEFAULT"/> 170 <data android:mimeType="vnd.android.cursor.dir/album"/> 171 </intent-filter> 172 </activity> 173 174 <activity android:name="com.android.music.TrackBrowserActivity" android:exported="false"> 175 <intent-filter> 176 <action android:name="android.intent.action.PICK"/> 177 <category android:name="android.intent.category.DEFAULT"/> 178 <data android:mimeType="vnd.android.cursor.dir/track"/> 179 </intent-filter> 180 </activity> 181 182 <activity android:name="com.android.music.PlaylistBrowserActivity" 183 android:label="@string/musicbrowserlabel" 184 android:exported="true"> 185 <intent-filter> 186 <action android:name="android.intent.action.PICK"/> 187 <category android:name="android.intent.category.DEFAULT"/> 188 <data android:mimeType="vnd.android.cursor.dir/playlist"/> 189 </intent-filter> 190 <intent-filter> 191 <action android:name="android.intent.action.VIEW"/> 192 <category android:name="android.intent.category.DEFAULT"/> 193 <data android:mimeType="vnd.android.cursor.dir/playlist"/> 194 </intent-filter> 195 </activity> 196 197 <service android:name="com.android.music.MediaPlaybackService" 198 android:exported="true" 199 android:label="Android Open Source Music Player"> 200 <intent-filter> 201 <action android:name="android.media.browse.MediaBrowserService" /> 202 </intent-filter> 203 </service> 204 205 </application> 206 207</manifest> 208