2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-22 01:51:47 +00:00
kdeconnect-android/AndroidManifest.xml

242 lines
11 KiB
XML
Raw Normal View History

2013-06-06 05:57:06 +02:00
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.kde.kdeconnect_tp"
2018-02-17 10:07:57 +01:00
android:versionCode="1720"
android:versionName="1.7.2">
2013-06-06 05:57:06 +02:00
<supports-screens
android:anyDensity="true"
2015-08-20 00:59:21 -07:00
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
2013-08-08 04:26:06 +02:00
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2013-10-05 17:26:28 +02:00
<uses-permission android:name="android.permission.INTERNET" />
<!--<uses-permission android:name="android.permission.BLUETOOTH" />-->
<!--<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />-->
2013-10-05 17:26:28 +02:00
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
2013-08-08 04:26:06 +02:00
<uses-permission android:name="android.permission.BATTERY_STATS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false" />
<uses-permission android:name="android.permission.RECEIVE_SMS" android:required="false" />
2016-08-26 19:08:03 +02:00
<uses-permission android:name="android.permission.SEND_SMS" android:required="false" />
<uses-permission android:name="android.permission.READ_SMS" android:required="false" />
2013-08-08 04:26:06 +02:00
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2015-08-20 00:59:21 -07:00
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
2013-08-08 04:26:06 +02:00
2013-06-06 05:57:06 +02:00
<application
android:allowBackup="true"
2013-08-05 01:11:28 +02:00
android:icon="@drawable/icon"
android:label="KDE Connect"
android:supportsRtl="true"
android:theme="@style/KdeConnectTheme"
>
2013-06-06 05:57:06 +02:00
<service
2015-08-20 00:59:21 -07:00
android:name="org.kde.kdeconnect.BackgroundService"
android:enabled="true" >
</service>
<service android:name="org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin.RemoteKeyboardService"
android:label="KDE Connect Remote Keyboard"
android:permission="android.permission.BIND_INPUT_METHOD">
<intent-filter>
<action android:name="android.view.InputMethod" />
</intent-filter>
<meta-data android:name="android.view.im" android:resource="@xml/remotekeyboardplugin_method" />
</service>
2013-06-06 05:57:06 +02:00
<activity
2015-09-07 01:49:12 -07:00
android:name="org.kde.kdeconnect.UserInterface.MaterialActivity"
2015-08-20 00:59:21 -07:00
android:label="KDE Connect"
android:theme="@style/KdeConnectTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.SettingsActivity"
android:label="@string/device_menu_plugins"
2015-09-07 01:49:12 -07:00
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity" >
2015-08-20 00:59:21 -07:00
<meta-data
android:name="android.support.PARENT_ACTIVITY"
2015-09-07 01:49:12 -07:00
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
2015-08-20 00:59:21 -07:00
android:name="org.kde.kdeconnect.UserInterface.CustomDevicesActivity"
android:label="@string/custom_devices_settings"
2015-09-07 01:49:12 -07:00
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity" >
2015-08-20 00:59:21 -07:00
<meta-data
android:name="android.support.PARENT_ACTIVITY"
2015-09-07 01:49:12 -07:00
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.SharePlugin.SendFileActivity"
android:label="KDE Connect"
2015-09-07 01:49:12 -07:00
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
2015-09-07 01:49:12 -07:00
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.PluginSettingsActivity"
android:label="@string/device_menu_plugins"
2015-08-20 00:59:21 -07:00
android:parentActivityName="org.kde.kdeconnect.UserInterface.SettingsActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.SettingsActivity" />
</activity>
2016-09-27 20:26:57 +02:00
<activity
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareSettingsActivity"
android:label="@string/device_menu_plugins"
android:parentActivityName="org.kde.kdeconnect.UserInterface.SettingsActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.Plugins.SharePlugin.ShareSettingsActivity" />
</activity>
2015-08-20 00:59:21 -07:00
<receiver android:name="org.kde.kdeconnect.KdeConnectBroadcastReceiver" >
2013-06-19 16:15:25 +02:00
<intent-filter>
2013-09-05 10:37:42 +02:00
<action android:name="android.intent.action.PACKAGE_REPLACED" />
2015-08-20 00:59:21 -07:00
<data
android:host="kdeconnect"
android:path="/"
2015-08-20 00:59:21 -07:00
android:scheme="package" />
2013-06-19 16:15:25 +02:00
</intent-filter>
2013-06-06 05:57:06 +02:00
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
2013-06-19 16:15:25 +02:00
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
2015-08-20 00:59:21 -07:00
<!--
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED" />
2015-08-20 00:59:21 -07:00
</intent-filter>
-->
2013-06-06 05:57:06 +02:00
</receiver>
<activity
android:name="org.kde.kdeconnect.Plugins.FindMyPhonePlugin.FindMyPhoneActivity"
android:configChanges="orientation|screenSize"
android:excludeFromRecents="true"
android:label="@string/findmyphone_title"
android:launchMode="singleInstance">
</activity>
<!-- Plugin-related activities and services -->
<activity
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity"
android:label="@string/remote_control"
2015-09-07 01:49:12 -07:00
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity"
>
2015-08-20 00:59:21 -07:00
<meta-data
android:name="android.support.PARENT_ACTIVITY"
2015-09-07 01:49:12 -07:00
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
Add MPRIS media control notification Summary: BUG: 337485 Adds a notification to show and control mpris players. It shows the title, artist etc. (so depends on D9083, but can easily be adapted to work without it, but that leads to less features). The notification appears as soon as one of your connected devices plays music. If multiple devices/players are playing, it shows the information and controls for only one of these. If it stops playing, it tries to switch to another playing device/player. If those do not exist, it shows the same player, but allows starting it again. Dismissing the notification is only possible if the showed player is paused (as effect, only when all players are paused). It automatically closes if the device or player disappears or disconnects and no other players are playing. I think this behaviour is intuitive, other native android music players have similar behaviour. About the implementation: there are two parts to this: the notification and the media session control API. The first shows the notification and its controls. The second allows lock screen controls on older Android versions and control using e.g. headphone buttons. Since nearly all code is shared between the two parts, and the rest is mostly straightforward, I put them in the same diff. Test Plan: Tested on Android Nougat 7.1 (shows the notification with buttons, as expected; no lock screen controls, as expected) and Android Gingerbread 2.3 (shows a notification without buttons, lock screen controls work, so as expected). I am not able to test with multiple desktops, so testing that would be appreciated. Disabling buttons when not available should work, but all players I tested always allowed next/previous/play/pause. Reviewers: #kde_connect, nicolasfella Reviewed By: #kde_connect, nicolasfella Subscribers: apol, albertvaka, nicolasfella Tags: #kde_connect Maniphest Tasks: T6512 Differential Revision: https://phabricator.kde.org/D9266
2017-12-11 12:01:13 +01:00
<receiver
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisMediaNotificationReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
<activity
android:name="org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandActivity"
android:label="@string/remote_control"
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity"
>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
2015-08-20 00:59:21 -07:00
android:label="@string/remote_control"
2015-09-07 01:49:12 -07:00
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity"
2015-08-20 00:59:21 -07:00
android:windowSoftInputMode="stateHidden|adjustResize" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
2015-09-07 01:49:12 -07:00
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
</activity>
<activity
2015-01-31 00:16:06 -08:00
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareActivity"
android:label="KDE Connect"
>
<intent-filter>
<action android:name="android.intent.action.SEND" />
2015-08-20 00:59:21 -07:00
<category android:name="android.intent.category.DEFAULT" />
2015-08-20 00:59:21 -07:00
<data android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
2015-08-20 00:59:21 -07:00
<category android:name="android.intent.category.DEFAULT" />
2015-08-20 00:59:21 -07:00
<data android:mimeType="*/*" />
</intent-filter>
<meta-data
android:name="android.service.chooser.chooser_target_service"
android:value="org.kde.kdeconnect.Plugins.SharePlugin.ShareChooserTargetService" />
</activity>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="org.kde.kdeconnect_tp.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/fileprovider_paths" />
</provider>
2015-08-20 00:59:21 -07:00
<service
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
<service
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareChooserTargetService"
android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
<intent-filter>
<action android:name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
<activity
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity"
android:label="@string/title_activity_notification_filter"
android:parentActivityName="org.kde.kdeconnect.UserInterface.PluginSettingsActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.UserInterface.PluginSettingsActivity" />
</activity>
2016-09-20 10:54:44 +02:00
2013-06-06 05:57:06 +02:00
</application>
</manifest>