diff --git a/res/layout/activity_runcommand.xml b/res/layout/activity_runcommand.xml --- a/res/layout/activity_runcommand.xml +++ b/res/layout/activity_runcommand.xml @@ -18,7 +18,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="16dp" - android:src="@drawable/ic_add" + android:src="@drawable/ic_action_image_edit" app:backgroundTint="@color/primary" app:layout_anchor="@id/runcommandslist" app:layout_anchorGravity="bottom|end" /> diff --git a/res/layout/addcommanddialog.xml b/res/layout/addcommanddialog.xml deleted file mode 100644 --- a/res/layout/addcommanddialog.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/AddCommandDialog.java b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/AddCommandDialog.java deleted file mode 100644 --- a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/AddCommandDialog.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.kde.kdeconnect.Plugins.RunCommandPlugin; - -import android.app.Dialog; -import android.content.DialogInterface; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; -import android.text.Editable; -import android.text.TextWatcher; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.EditText; - -import org.kde.kdeconnect_tp.R; - -public class AddCommandDialog extends DialogFragment { - - private EditText nameField; - private EditText commandField; - - @NonNull - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setTitle(R.string.add_command); - - LayoutInflater inflater = getActivity().getLayoutInflater(); - - View view = inflater.inflate(R.layout.addcommanddialog, null); - - nameField = (EditText) view.findViewById(R.id.addcommand_name); - commandField = (EditText) view.findViewById(R.id.addcommand_command); - - builder.setView(view); - - builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - - if (getActivity() instanceof RunCommandActivity) { - - String name = nameField.getText().toString(); - String command = commandField.getText().toString(); - - ((RunCommandActivity) getActivity()).dialogResult(name, command); - } - } - }); - builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - } - }); - - return builder.create(); - } -} diff --git a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java --- a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java +++ b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandActivity.java @@ -34,6 +34,7 @@ import org.json.JSONObject; import org.kde.kdeconnect.BackgroundService; import org.kde.kdeconnect.Device; +import org.kde.kdeconnect.NetworkPacket; import org.kde.kdeconnect.UserInterface.List.ListAdapter; import org.kde.kdeconnect_tp.R; @@ -126,7 +127,21 @@ addCommandButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - new AddCommandDialog().show(getSupportFragmentManager(), "addcommanddialog"); + BackgroundService.RunCommand(RunCommandActivity.this, new BackgroundService.InstanceCallback() { + @Override + public void onServiceStart(final BackgroundService service) { + + final Device device = service.getDevice(deviceId); + final RunCommandPlugin plugin = device.getPlugin(RunCommandPlugin.class); + if (plugin == null) { + Log.e("RunCommandActivity", "device has no runcommand plugin!"); + return; + } + + plugin.sendSetupPacket(); + + } + }); } }); @@ -171,16 +186,4 @@ }); } - public void dialogResult(final String cmdName, final String cmdCmd) { - BackgroundService.RunCommand(this, new BackgroundService.InstanceCallback() { - @Override - public void onServiceStart(BackgroundService service) { - Device device = service.getDevice(deviceId); - RunCommandPlugin plugin = device.getPlugin(RunCommandPlugin.class); - if(!cmdName.isEmpty() && !cmdCmd.isEmpty()) { - plugin.addCommand(cmdName, cmdCmd); - } - } - }); - } } diff --git a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java --- a/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java +++ b/src/org/kde/kdeconnect/Plugins/RunCommandPlugin/RunCommandPlugin.java @@ -39,7 +39,6 @@ public final static String PACKET_TYPE_RUNCOMMAND = "kdeconnect.runcommand"; public final static String PACKET_TYPE_RUNCOMMAND_REQUEST = "kdeconnect.runcommand.request"; - public final static String PACKET_TYPE_RUNCOMMAND_ADD = "kdeconnect.runcommand.add"; private ArrayList commandList = new ArrayList<>(); private ArrayList callbacks = new ArrayList<>(); @@ -153,17 +152,14 @@ return context.getString(R.string.pref_plugin_runcommand); } - public void addCommand(String name, String command){ - - NetworkPacket np = new NetworkPacket(PACKET_TYPE_RUNCOMMAND_ADD); - np.set("name", name); - np.set("command", command); - - device.sendPacket(np); - } - public boolean canAddCommand(){ return canAddCommand; } + void sendSetupPacket() { + NetworkPacket np = new NetworkPacket(RunCommandPlugin.PACKET_TYPE_RUNCOMMAND_REQUEST); + np.set("setup", true); + device.sendPacket(np); + } + }