| <?xml version="1.0" encoding="utf-8"?> |
| <!-- Copyright (C) 2012 Andrew Neal |
| Copyright (C) 2014 The CyanogenMod Project |
| Copyright (C) 2019-2023 The LineageOS Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| xmlns:tools="http://schemas.android.com/tools" |
| package="org.lineageos.eleven" |
| android:versionCode="420" |
| android:versionName="4.2.0" |
| tools:ignore="GradleOverrides"> |
| |
| <uses-sdk |
| android:minSdkVersion="28" |
| android:targetSdkVersion="31" /> |
| |
| <!-- Android Studio will complain about not being able to |
| resove the symbol, but it compiles with no problem. |
| Do not remove for as long as there are officially supported |
| devices that were supported in 14.1 --> |
| <!-- suppress AndroidElementNotAllowed --> |
| <original-package android:name="com.cyanogenmod.eleven" /> |
| |
| <!-- Used for caching and creating new playlists --> |
| <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/> |
| <!-- Used to check for a network connection --> |
| <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| <!-- Used to keep the service running when the phone sleeps --> |
| <uses-permission android:name="android.permission.WAKE_LOCK" /> |
| <!-- The main service uses a sticky broadcast --> |
| <uses-permission android:name="android.permission.BROADCAST_STICKY" /> |
| <!-- Lower or raise the music based on the phone state --> |
| <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| <!-- Used to set the devices's ringtone --> |
| <uses-permission android:name="android.permission.WRITE_SETTINGS" |
| tools:ignore="ProtectedPermissions" /> |
| <!-- Used to create launcher shortcuts --> |
| <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> |
| <!-- Allows Eleven to read from External Storage --> |
| <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> |
| <!-- Allows Eleven to modify media files on external storage --> |
| <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" |
| tools:ignore="ProtectedPermissions" /> |
| |
| <!-- Audio Visualizer Permissions --> |
| <uses-permission android:name="android.permission.RECORD_AUDIO" /> |
| <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> |
| |
| <!-- Allows Eleven to start services in foreground --> |
| <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> |
| |
| <!-- Accelerometer feature for shake to play --> |
| <uses-feature android:name="android.hardware.sensor.accelerometer" /> |
| |
| <application |
| android:name="org.lineageos.eleven.ElevenApplication" |
| android:allowTaskReparenting="true" |
| android:enableOnBackInvokedCallback="true" |
| android:requestLegacyExternalStorage="true" |
| android:hardwareAccelerated="@bool/config_hardwareAccelerated" |
| android:appCategory="audio" |
| android:icon="@mipmap/ic_launcher" |
| android:label="@string/app_name" |
| android:largeHeap="@bool/config_largeHeap" |
| android:taskAffinity="org.lineageos.eleven.task" |
| android:theme="@style/Eleven.Theme"> |
| |
| <meta-data android:name="com.google.android.gms.car.application" |
| android:resource="@xml/automotive_app_desc"/> |
| |
| <!-- Main activity --> |
| <activity |
| android:name="org.lineageos.eleven.ui.activities.HomeActivity" |
| android:windowSoftInputMode="adjustPan" |
| android:launchMode="singleTop" |
| android:exported="true" |
| android:theme="@style/Eleven.Theme.ActionBar.Overlay"> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <action android:name="android.intent.action.MUSIC_PLAYER" /> |
| |
| <category android:name="android.intent.category.LAUNCHER" /> |
| <category android:name="android.intent.category.APP_MUSIC" /> |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| <intent-filter tools:ignore="AppLinkUrlError"> |
| <action android:name="android.intent.action.VIEW" /> |
| |
| <category android:name="android.intent.category.DEFAULT" /> |
| |
| <data android:mimeType="vnd.android.cursor.dir/playlist" /> |
| <data android:mimeType="vnd.android.cursor.dir/albums" /> |
| <data android:mimeType="vnd.android.cursor.dir/artists" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="org.lineageos.eleven.AUDIO_PLAYER" /> |
| |
| <category android:name="android.intent.category.DEFAULT" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- Used to set options --> |
| <activity |
| android:name="org.lineageos.eleven.ui.activities.SettingsActivity" |
| android:exported="false" |
| android:label="@string/menu_settings" |
| android:theme="@style/Eleven.Theme.ActionBar.Overlay"/> |
| <!-- Audio Preview --> |
| <activity |
| android:name=".ui.activities.preview.AudioPreviewActivity" |
| android:excludeFromRecents="true" |
| android:exported="true" |
| android:launchMode="singleTask" |
| android:taskAffinity="" |
| android:theme="@style/Theme.AudioPreview"> |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| |
| <category android:name="android.intent.category.DEFAULT" /> |
| |
| <data android:scheme="content" /> |
| <data android:mimeType="audio/*" /> |
| <data android:mimeType="application/ogg" /> |
| <data android:mimeType="application/x-ogg" /> |
| <data android:mimeType="application/itunes" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| |
| <category android:name="android.intent.category.DEFAULT" /> |
| |
| <data android:scheme="file" /> |
| <data android:mimeType="audio/*" /> |
| <data android:mimeType="application/ogg" /> |
| <data android:mimeType="application/x-ogg" /> |
| <data android:mimeType="application/itunes" /> |
| </intent-filter> |
| <intent-filter> |
| <action android:name="android.intent.action.VIEW" /> |
| |
| <category android:name="android.intent.category.DEFAULT" /> |
| <category android:name="android.intent.category.BROWSABLE" /> |
| |
| <data android:scheme="http" /> |
| <data android:mimeType="audio/*" /> |
| <data android:mimeType="application/ogg" /> |
| <data android:mimeType="application/x-ogg" /> |
| <data android:mimeType="application/itunes" /> |
| </intent-filter> |
| </activity> |
| <!-- Square App Widget --> |
| <receiver |
| android:name="org.lineageos.eleven.appwidgets.AppWidgetSmall" |
| android:exported="false" |
| android:label="@string/app_widget_small" > |
| <intent-filter> |
| <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> |
| </intent-filter> |
| |
| <meta-data |
| android:name="android.appwidget.provider" |
| android:resource="@xml/app_widget_small" /> |
| </receiver> |
| <!-- 4x2 App Widget --> |
| <receiver |
| android:name="org.lineageos.eleven.appwidgets.AppWidgetLarge" |
| android:exported="false" |
| android:label="@string/app_widget_large" > |
| <intent-filter> |
| <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> |
| </intent-filter> |
| |
| <meta-data |
| android:name="android.appwidget.provider" |
| android:resource="@xml/app_widget_large" /> |
| </receiver> |
| <!-- 4x2 alternate App Widget --> |
| <receiver |
| android:name="org.lineageos.eleven.appwidgets.AppWidgetLargeAlternate" |
| android:exported="false" |
| android:label="@string/app_widget_large_alt" > |
| <intent-filter> |
| <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> |
| </intent-filter> |
| |
| <meta-data |
| android:name="android.appwidget.provider" |
| android:resource="@xml/app_widget_large_alternate" /> |
| </receiver> |
| <!-- Media button receiver --> |
| <receiver |
| android:name="org.lineageos.eleven.MediaButtonIntentReceiver" |
| android:exported="false"> |
| <intent-filter> |
| <action android:name="android.intent.action.MEDIA_BUTTON" /> |
| </intent-filter> |
| </receiver> |
| <!-- Used to recalculate sorting of songs based on the user's locale --> |
| <receiver |
| android:name=".locale.LocaleChangeReceiver" |
| android:exported="false"> |
| <intent-filter> |
| <action android:name="android.intent.action.LOCALE_CHANGED"/> |
| </intent-filter> |
| </receiver> |
| <!-- Music service --> |
| <service |
| android:name="org.lineageos.eleven.MusicPlaybackService" |
| android:exported="true" |
| android:label="@string/app_name" |
| android:process=":main"> |
| <intent-filter> |
| <action android:name="android.media.browse.MediaBrowserService"/> |
| </intent-filter> |
| </service> |
| </application> |
| </manifest> |