OSDN Git Service

MusicPlaybackService: catch IllegalStateException for duration and position
[android-x86/packages-apps-Eleven.git] / AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- Copyright (C) 2012 Andrew Neal
3      Copyright (C) 2014 The CyanogenMod Project
4      Copyright (C) 2019 The LineageOS Project
5
6      Licensed under the Apache License, Version 2.0 (the "License");
7      you may not use this file except in compliance with the License.
8      You may obtain a copy of the License at
9
10           http://www.apache.org/licenses/LICENSE-2.0
11
12      Unless required by applicable law or agreed to in writing, software
13      distributed under the License is distributed on an "AS IS" BASIS,
14      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15      See the License for the specific language governing permissions and
16      limitations under the License.
17  -->
18 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
19     xmlns:tools="http://schemas.android.com/tools"
20     package="org.lineageos.eleven"
21     android:versionCode="3"
22     android:versionName="3.0"
23     tools:ignore="GradleOverrides">
24
25     <uses-sdk
26         android:minSdkVersion="26"
27         android:targetSdkVersion="28" />
28
29     <original-package android:name="com.cyanogenmod.eleven" />
30
31     <!-- Used for caching and creating new playlists -->
32     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
33     <!-- Used to check for a network connection -->
34     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
35     <!-- Used to download images -->
36     <uses-permission android:name="android.permission.INTERNET" />
37     <!-- Used to keep the service running when the phone sleeps -->
38     <uses-permission android:name="android.permission.WAKE_LOCK" />
39     <!-- The main service uses a sticky broadcast -->
40     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
41     <!-- Lower or raise the music based on the phone state -->
42     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
43     <!-- Used to set the devices's ringtone -->
44     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
45     <!-- Used to create launcher shortcuts -->
46     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
47     <!-- Allows Eleven to read from External Storage -->
48     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
49     <!-- Allows Eleven to modify media files on external storage -->
50     <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
51
52     <!-- Audio Visualizer Permissions -->
53     <uses-permission android:name="android.permission.RECORD_AUDIO" />
54     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
55
56     <!-- Allows Eleven to start services in foreground -->
57     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
58
59     <!-- Accelerometer feature for shake to play -->
60     <uses-feature android:name="android.hardware.sensor.accelerometer" />
61
62     <application
63         android:name="org.lineageos.eleven.ElevenApplication"
64         android:allowBackup="true"
65         android:allowTaskReparenting="true"
66         android:hardwareAccelerated="@bool/config_hardwareAccelerated"
67         android:appCategory="audio"
68         android:icon="@mipmap/ic_launcher"
69         android:label="@string/app_name"
70         android:largeHeap="@bool/config_largeHeap"
71         android:taskAffinity="org.lineageos.eleven.task"
72         android:theme="@style/Eleven.Theme">
73
74         <!-- Searchable -->
75         <meta-data
76             android:name="android.app.default_searchable"
77             android:value=".ui.activities.SearchActivity" />
78         <!-- Main activity -->
79         <activity
80             android:name="org.lineageos.eleven.ui.activities.HomeActivity"
81             android:windowSoftInputMode="adjustPan"
82             android:launchMode="singleTop"
83             android:exported="true"
84             android:theme="@style/Eleven.Theme.ActionBar.Overlay">
85             <intent-filter>
86                 <action android:name="android.intent.action.MAIN" />
87                 <action android:name="android.intent.action.MUSIC_PLAYER" />
88
89                 <category android:name="android.intent.category.LAUNCHER" />
90                 <category android:name="android.intent.category.APP_MUSIC" />
91                 <category android:name="android.intent.category.DEFAULT" />
92             </intent-filter>
93             <intent-filter tools:ignore="AppLinkUrlError">
94                 <action android:name="android.intent.action.VIEW" />
95
96                 <category android:name="android.intent.category.DEFAULT" />
97
98                 <data android:mimeType="vnd.android.cursor.dir/playlist" />
99                 <data android:mimeType="vnd.android.cursor.dir/albums" />
100                 <data android:mimeType="vnd.android.cursor.dir/artists" />
101             </intent-filter>
102             <intent-filter>
103                 <action android:name="org.lineageos.eleven.AUDIO_PLAYER" />
104
105                 <category android:name="android.intent.category.DEFAULT" />
106             </intent-filter>
107         </activity>
108
109         <!-- Search interface -->
110         <activity
111             android:name="org.lineageos.eleven.ui.activities.SearchActivity"
112             android:windowSoftInputMode="adjustResize"
113             android:exported="true"
114             android:theme="@style/Eleven.Theme">
115             <intent-filter>
116                 <action android:name="android.intent.action.SEARCH" />
117                 <action android:name="android.intent.action.MEDIA_SEARCH" />
118
119                 <category android:name="android.intent.category.DEFAULT" />
120             </intent-filter>
121
122             <meta-data
123                 android:name="android.app.searchable"
124                 android:resource="@xml/searchable" />
125         </activity>
126         <!-- Used to set options -->
127         <activity
128             android:name="org.lineageos.eleven.ui.activities.SettingsActivity"
129             android:label="@string/menu_settings"/>
130         <!-- Audio Preview -->
131         <activity
132             android:name=".ui.activities.preview.AudioPreviewActivity"
133             android:launchMode="singleTask"
134             android:excludeFromRecents="true"
135             android:taskAffinity=""
136             android:theme="@style/Theme.AudioPreview">
137             <intent-filter>
138                 <action android:name="android.intent.action.VIEW" />
139
140                 <category android:name="android.intent.category.DEFAULT" />
141
142                 <data android:scheme="content" />
143                 <data android:mimeType="audio/*" />
144                 <data android:mimeType="application/ogg" />
145                 <data android:mimeType="application/x-ogg" />
146                 <data android:mimeType="application/itunes" />
147             </intent-filter>
148             <intent-filter>
149                 <action android:name="android.intent.action.VIEW" />
150
151                 <category android:name="android.intent.category.DEFAULT" />
152
153                 <data android:scheme="file" />
154                 <data android:mimeType="audio/*" />
155                 <data android:mimeType="application/ogg" />
156                 <data android:mimeType="application/x-ogg" />
157                 <data android:mimeType="application/itunes" />
158             </intent-filter>
159             <intent-filter>
160                 <action android:name="android.intent.action.VIEW" />
161
162                 <category android:name="android.intent.category.DEFAULT" />
163                 <category android:name="android.intent.category.BROWSABLE" />
164
165                 <data android:scheme="http" />
166                 <data android:mimeType="audio/*" />
167                 <data android:mimeType="application/ogg" />
168                 <data android:mimeType="application/x-ogg" />
169                 <data android:mimeType="application/itunes" />
170             </intent-filter>
171         </activity>
172         <!-- 4x1 App Widget -->
173         <receiver
174             android:name="org.lineageos.eleven.appwidgets.AppWidgetSmall"
175             android:exported="false"
176             android:label="@string/app_widget_small" >
177             <intent-filter>
178                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
179             </intent-filter>
180
181             <meta-data
182                 android:name="android.appwidget.provider"
183                 android:resource="@xml/app_widget_small" />
184         </receiver>
185         <!-- 4x2  App Widget -->
186         <receiver
187             android:name="org.lineageos.eleven.appwidgets.AppWidgetLarge"
188             android:exported="false"
189             android:label="@string/app_widget_large" >
190             <intent-filter>
191                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
192             </intent-filter>
193
194             <meta-data
195                 android:name="android.appwidget.provider"
196                 android:resource="@xml/app_widget_large" />
197         </receiver>
198         <!-- 4x2 alternate App Widget -->
199         <receiver
200             android:name="org.lineageos.eleven.appwidgets.AppWidgetLargeAlternate"
201             android:exported="false"
202             android:label="@string/app_widget_large_alt" >
203             <intent-filter>
204                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
205             </intent-filter>
206
207             <meta-data
208                 android:name="android.appwidget.provider"
209                 android:resource="@xml/app_widget_large_alternate" />
210         </receiver>
211         <!-- Media button receiver -->
212         <receiver android:name="org.lineageos.eleven.MediaButtonIntentReceiver" >
213             <intent-filter>
214                 <action android:name="android.intent.action.MEDIA_BUTTON" />
215                 <action android:name="android.media.AUDIO_BECOMING_NOISY" />
216             </intent-filter>
217         </receiver>
218         <!-- Used to recalculate sorting of songs based on the user's locale -->
219         <receiver android:name=".locale.LocaleChangeReceiver">
220             <intent-filter>
221                 <action android:name="android.intent.action.LOCALE_CHANGED"/>
222             </intent-filter>
223         </receiver>
224         <!-- Music service -->
225         <service
226             android:name="org.lineageos.eleven.MusicPlaybackService"
227             android:label="@string/app_name"
228             android:process=":main" />
229     </application>
230
231 </manifest>