• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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