diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4df7ac27..53853b68 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -17,8 +17,8 @@
-
-
+
+
@@ -37,11 +37,9 @@
android:label="KDE Connect"
android:supportsRtl="true"
android:theme="@style/KdeConnectTheme">
-
-
+
@@ -60,12 +59,12 @@
android:theme="@style/KdeConnectTheme.NoActionBar">
+
-
+ android:parentActivityName="org.kde.kdeconnect.UserInterface.DeviceSettingsActivity">
+ android:value="org.kde.kdeconnect.UserInterface.DeviceSettingsActivity" />
+ android:parentActivityName="org.kde.kdeconnect.UserInterface.DeviceSettingsActivity">
-
@@ -138,12 +136,13 @@
+ android:launchMode="singleTop"
+ android:parentActivityName="org.kde.kdeconnect.UserInterface.MainActivity">
+
@@ -157,44 +156,49 @@
-
-
-
+ android:label="@string/pref_plugin_runcommand"
+ android:launchMode="singleTask"
+ android:noHistory="true"
+ android:screenOrientation="user"
+ android:theme="@style/Theme.AppCompat.Light.Dialog" />
+
-
+ android:exported="false"
+ android:permission="android.permission.BIND_REMOTEVIEWS" />
+
+
-
-
-
+
+
-
+
-
-
+
-
-
-
@@ -272,7 +274,6 @@
android:value="org.kde.kdeconnect.UserInterface.PluginSettingsActivity" />
-
-
+
\ No newline at end of file
diff --git a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java
index 3c8a5a97..6495b387 100644
--- a/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java
+++ b/src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java
@@ -27,7 +27,6 @@ import android.app.Notification;
import android.app.PendingIntent;
import android.app.RemoteInput;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Resources;
@@ -46,8 +45,8 @@ import android.util.Log;
import org.kde.kdeconnect.Helpers.AppsHelper;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.Plugin;
+import org.kde.kdeconnect.UserInterface.DeviceSettingsActivity;
import org.kde.kdeconnect.UserInterface.MainActivity;
-import org.kde.kdeconnect.UserInterface.SettingsActivity;
import org.kde.kdeconnect_tp.R;
import java.io.ByteArrayOutputStream;
@@ -85,7 +84,7 @@ public class NotificationsPlugin extends Plugin implements NotificationReceiver.
}
@Override
- public void startPreferencesActivity(final SettingsActivity parentActivity) {
+ public void startPreferencesActivity(final DeviceSettingsActivity parentActivity) {
if (hasPermission()) {
Intent intent = new Intent(parentActivity, NotificationFilterActivity.class);
parentActivity.startActivity(intent);
diff --git a/src/org/kde/kdeconnect/Plugins/Plugin.java b/src/org/kde/kdeconnect/Plugins/Plugin.java
index 95e346b1..65b9806e 100644
--- a/src/org/kde/kdeconnect/Plugins/Plugin.java
+++ b/src/org/kde/kdeconnect/Plugins/Plugin.java
@@ -23,7 +23,6 @@ package org.kde.kdeconnect.Plugins;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
@@ -31,13 +30,12 @@ import android.os.Build;
import android.support.annotation.StringRes;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
-import android.view.View;
import android.widget.Button;
import org.kde.kdeconnect.Device;
import org.kde.kdeconnect.NetworkPacket;
+import org.kde.kdeconnect.UserInterface.DeviceSettingsActivity;
import org.kde.kdeconnect.UserInterface.PluginSettingsActivity;
-import org.kde.kdeconnect.UserInterface.SettingsActivity;
import org.kde.kdeconnect_tp.R;
public abstract class Plugin {
@@ -128,9 +126,9 @@ public abstract class Plugin {
* If hasSettings returns true, this will be called when the user
* wants to access this plugin preferences and should launch some
* kind of interface. The default implementation will launch a
- * SettingsActivity with content from "yourplugin"_preferences.xml.
+ * PluginSettingsActivity with content from "yourplugin"_preferences.xml.
*/
- public void startPreferencesActivity(SettingsActivity parentActivity) {
+ public void startPreferencesActivity(DeviceSettingsActivity parentActivity) {
Intent intent = new Intent(parentActivity, PluginSettingsActivity.class);
intent.putExtra("plugin_display_name", getDisplayName());
intent.putExtra("plugin_key", getPluginKey());
diff --git a/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java b/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java
index 5f986905..1e80f77d 100644
--- a/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java
+++ b/src/org/kde/kdeconnect/Plugins/SharePlugin/SharePlugin.java
@@ -50,7 +50,7 @@ import org.kde.kdeconnect.Helpers.MediaStoreHelper;
import org.kde.kdeconnect.Helpers.NotificationHelper;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.Plugin;
-import org.kde.kdeconnect.UserInterface.SettingsActivity;
+import org.kde.kdeconnect.UserInterface.DeviceSettingsActivity;
import org.kde.kdeconnect_tp.R;
import java.io.File;
@@ -281,7 +281,7 @@ public class SharePlugin extends Plugin {
}
@Override
- public void startPreferencesActivity(SettingsActivity parentActivity) {
+ public void startPreferencesActivity(DeviceSettingsActivity parentActivity) {
Intent intent = new Intent(parentActivity, ShareSettingsActivity.class);
intent.putExtra("plugin_display_name", getDisplayName());
intent.putExtra("plugin_key", getPluginKey());
diff --git a/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java b/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java
index 982a21df..0bd14e1f 100644
--- a/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java
+++ b/src/org/kde/kdeconnect/UserInterface/DeviceFragment.java
@@ -23,7 +23,6 @@ package org.kde.kdeconnect.UserInterface;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
@@ -31,7 +30,6 @@ import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
-import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
@@ -184,6 +182,7 @@ public class DeviceFragment extends Fragment {
return;
}
+
//Plugins button list
final Collection plugins = device.getLoadedPlugins().values();
for (final Plugin p : plugins) {
@@ -197,7 +196,7 @@ public class DeviceFragment extends Fragment {
}
menu.add(R.string.device_menu_plugins).setOnMenuItemClickListener(menuItem -> {
- Intent intent = new Intent(mActivity, SettingsActivity.class);
+ Intent intent = new Intent(mActivity, DeviceSettingsActivity.class);
intent.putExtra("deviceId", mDeviceId);
startActivity(intent);
return true;
diff --git a/src/org/kde/kdeconnect/UserInterface/SettingsActivity.java b/src/org/kde/kdeconnect/UserInterface/DeviceSettingsActivity.java
similarity index 90%
rename from src/org/kde/kdeconnect/UserInterface/SettingsActivity.java
rename to src/org/kde/kdeconnect/UserInterface/DeviceSettingsActivity.java
index 274c7847..880841a6 100644
--- a/src/org/kde/kdeconnect/UserInterface/SettingsActivity.java
+++ b/src/org/kde/kdeconnect/UserInterface/DeviceSettingsActivity.java
@@ -29,7 +29,7 @@ import org.kde.kdeconnect.Device;
import java.util.List;
-public class SettingsActivity extends AppCompatPreferenceActivity {
+public class DeviceSettingsActivity extends AppCompatPreferenceActivity {
static private String deviceId; //Static because if we get here by using the back button in the action bar, the extra deviceId will not be set.
@@ -47,12 +47,12 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
BackgroundService.RunCommand(getApplicationContext(), service -> {
final Device device = service.getDevice(deviceId);
if (device == null) {
- SettingsActivity.this.runOnUiThread(SettingsActivity.this::finish);
+ DeviceSettingsActivity.this.runOnUiThread(DeviceSettingsActivity.this::finish);
return;
}
List plugins = device.getSupportedPlugins();
for (final String pluginKey : plugins) {
- PluginPreference pref = new PluginPreference(SettingsActivity.this, pluginKey, device);
+ PluginPreference pref = new PluginPreference(DeviceSettingsActivity.this, pluginKey, device);
preferenceScreen.addPreference(pref);
}
});
diff --git a/src/org/kde/kdeconnect/UserInterface/PluginPreference.java b/src/org/kde/kdeconnect/UserInterface/PluginPreference.java
index 8d9a5646..cae79d76 100644
--- a/src/org/kde/kdeconnect/UserInterface/PluginPreference.java
+++ b/src/org/kde/kdeconnect/UserInterface/PluginPreference.java
@@ -14,7 +14,7 @@ public class PluginPreference extends CheckBoxPreference {
final String pluginKey;
final View.OnClickListener listener;
- public PluginPreference(final SettingsActivity activity, final String pluginKey, final Device device) {
+ public PluginPreference(final DeviceSettingsActivity activity, final String pluginKey, final Device device) {
super(activity);
setLayoutResource(R.layout.preference_with_button);