mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-22 01:51:47 +00:00
Summary: There are some minor problems with current implementation: if device configuration changes (screen orientation, etc.) while the "FindMyPhone" ringtone is playing, the activity gets recreated and starts to play a new ringtone again, but the first ringtone is not stopped. Also if the user leaves the activity the ringtone continues to play, the user has no way to get back to the activity to stop it. With these changes the ringtone starts playing when the activity becomes visible and stops when the activity is being hidden/destroyed. If the user leaves the activity (without destroying it) and then presses "Ring my phone" button again, the activity becomes visible again and starts to play the ringtone. There are other ways to improve it that I did not touch: use a Service to play the ringtone (so not to depend on the activity's lifecycle) or handle configuration changes in activity (so it is not recreated on orientation changes). Test Plan: Activate "Find My Phone" feature and try to turn phone or leave activity. Reviewers: albertvaka Reviewed By: albertvaka Tags: #kde_connect Differential Revision: https://phabricator.kde.org/D4548
218 lines
9.7 KiB
XML
218 lines
9.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="org.kde.kdeconnect_tp"
|
|
android:versionCode="1599"
|
|
android:versionName="1.6 beta">
|
|
|
|
<uses-sdk android:minSdkVersion="9"
|
|
android:targetSdkVersion="22" />
|
|
|
|
<supports-screens
|
|
android:anyDensity="true"
|
|
android:largeScreens="true"
|
|
android:normalScreens="true"
|
|
android:smallScreens="true"
|
|
android:xlargeScreens="true" />
|
|
|
|
<uses-feature android:name="android.hardware.telephony" android:required="false" />
|
|
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
|
<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" />
|
|
<uses-permission android:name="android.permission.SEND_SMS" android:required="false" />
|
|
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
|
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
|
|
|
|
<application
|
|
android:allowBackup="true"
|
|
android:icon="@drawable/icon"
|
|
android:supportsRtl="true"
|
|
android:label="KDE Connect"
|
|
android:theme="@style/KdeConnectTheme"
|
|
>
|
|
|
|
<service
|
|
android:name="org.kde.kdeconnect.BackgroundService"
|
|
android:enabled="true" >
|
|
</service>
|
|
|
|
<!--Commented here and in PluginFactory until we release a desktop version with this feature, so we don't get bad "feature not working" reviews-->
|
|
<!--
|
|
<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>
|
|
-->
|
|
<activity
|
|
android:name="org.kde.kdeconnect.UserInterface.MaterialActivity"
|
|
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"
|
|
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.UserInterface.CustomDevicesActivity"
|
|
android:label="@string/custom_devices_settings"
|
|
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.SharePlugin.SendFileActivity"
|
|
android:label="KDE Connect"
|
|
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.UserInterface.PluginSettingsActivity"
|
|
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.UserInterface.SettingsActivity" />
|
|
</activity>
|
|
<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>
|
|
|
|
|
|
|
|
<receiver android:name="org.kde.kdeconnect.KdeConnectBroadcastReceiver" >
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.PACKAGE_REPLACED" />
|
|
|
|
<data
|
|
android:host="kdeconnect"
|
|
android:path="/"
|
|
android:scheme="package" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
</intent-filter>
|
|
<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>
|
|
<!--
|
|
<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" />
|
|
</intent-filter>
|
|
-->
|
|
</receiver>
|
|
|
|
<activity
|
|
android:name="org.kde.kdeconnect.Plugins.FindMyPhonePlugin.FindMyPhoneActivity"
|
|
android:label="@string/findmyphone_title"
|
|
android:configChanges="orientation|screenSize"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleInstance">
|
|
</activity>
|
|
|
|
<!-- Plugin-related activities and services -->
|
|
|
|
<activity
|
|
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity"
|
|
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.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"
|
|
android:label="@string/remote_control"
|
|
android:parentActivityName="org.kde.kdeconnect.UserInterface.MaterialActivity"
|
|
android:windowSoftInputMode="stateHidden|adjustResize" >
|
|
<meta-data
|
|
android:name="android.support.PARENT_ACTIVITY"
|
|
android:value="org.kde.kdeconnect.UserInterface.MaterialActivity" />
|
|
</activity>
|
|
<activity
|
|
android:name="org.kde.kdeconnect.Plugins.SharePlugin.ShareActivity"
|
|
android:label="KDE Connect"
|
|
>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:mimeType="*/*" />
|
|
</intent-filter>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:mimeType="*/*" />
|
|
</intent-filter>
|
|
</activity>
|
|
<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>
|
|
|
|
<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>
|
|
|
|
|
|
</application>
|
|
|
|
</manifest>
|