diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/service/TaskerConstants.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/service/TaskerConstants.java
index bd31d39d0..9071fc115 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/service/TaskerConstants.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/service/TaskerConstants.java
@@ -23,7 +23,7 @@ public class TaskerConstants {
public static final String ACTIVITY_THRESHOLD = "act_tasker_threshold";
public static final String ACTIVITY_TASK_ADD = "act_tasker_task_add";
- public static final String ACTIVITY_TASK_REMOVE = "act_tasker_task_remove";
+ public static final String ACTIVITY_TASK = "act_tasker_task";
public static final String ACTIVITY_THESHOLD_ENABELD = "act_tasker_threshold_enabled";
public static final String ACTIVITY_TASKS = "act_tasker_task_group";
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/settings/ButtonPreference.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/settings/ButtonPreference.java
new file mode 100644
index 000000000..d5909c9f9
--- /dev/null
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/settings/ButtonPreference.java
@@ -0,0 +1,47 @@
+package nodomain.freeyourgadget.gadgetbridge.tasker.settings;
+
+import android.content.Context;
+import android.preference.EditTextPreference;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.Button;
+
+import nodomain.freeyourgadget.gadgetbridge.R;
+
+public class ButtonPreference extends EditTextPreference {
+
+ private View.OnClickListener onClickListener;
+ private Button button;
+
+ public ButtonPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ public ButtonPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public ButtonPreference(Context context) {
+ super(context);
+ }
+
+ @Override
+ protected void onBindView(View view) {
+ super.onBindView(view);
+ View button = view.findViewById(R.id.tasker_button);
+ if (button != null) {
+ button.setOnClickListener(onClickListener);
+ this.button = (Button) button;
+ }
+ }
+
+ public void setOnClickListener(View.OnClickListener clickListener) {
+ this.onClickListener = clickListener;
+ }
+
+ public void setButtonText(int resourceId) {
+ if (button != null) {
+ button.setText(resourceId);
+ }
+ }
+}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/settings/TaskerEventActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/settings/TaskerEventActivity.java
index 95d9ace71..52678c006 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/settings/TaskerEventActivity.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/tasker/settings/TaskerEventActivity.java
@@ -5,11 +5,12 @@ import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.Preference;
import android.preference.PreferenceCategory;
+import android.preference.PreferenceScreen;
+import android.view.View;
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
-import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.tasker.event.TaskerEventType;
import nodomain.freeyourgadget.gadgetbridge.tasker.service.TaskerConstants;
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
@@ -27,38 +28,31 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.tasker_event_preferences);
+ }
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
device = (TaskerConstants.TaskerDevice) getIntent().getSerializableExtra(TaskerConstants.DEVICE_INTENT);
eventType = (TaskerEventType) getIntent().getSerializableExtra(TaskerConstants.EVENT_INTENT);
- final PreferenceCategory tasks = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_TASKS);
- Preference addTaskButton = findPreference(TaskerConstants.ACTIVITY_TASK_ADD);
- final EditTextPreference removeTaskButton = (EditTextPreference) findPreference(TaskerConstants.ACTIVITY_TASK_REMOVE);
+ final PreferenceScreen tasks = (PreferenceScreen) findPreference(TaskerConstants.ACTIVITY_TASKS);
+ ButtonPreference addTaskButton = (ButtonPreference) findPreference(TaskerConstants.ACTIVITY_TASK_ADD);
+ final EditTextPreference taskNamePreference = (EditTextPreference) findPreference(TaskerConstants.ACTIVITY_TASK);
final Preference thresholdEnabled = findPreference(TaskerConstants.ACTIVITY_THESHOLD_ENABELD);
- addTaskButton.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ addTaskButton.setOnClickListener(new View.OnClickListener() {
@Override
- public boolean onPreferenceClick(Preference preference) {
+ public void onClick(View v) {
if (prefs.getBoolean(thresholdEnabled.getKey(), false)) {
- tasks.addPreference(task(tasks, removeTaskButton));
+ tasks.addPreference(task(tasks, taskNamePreference));
}
- return true;
- }
- });
- removeTaskButton.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
- @Override
- public boolean onPreferenceClick(Preference preference) {
- return tasks.removePreference(preference);
}
});
thresholdEnabled.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (newValue.equals(Boolean.TRUE)) {
- for (int i = 1; i < tasks.getPreferenceCount(); i++) {
- int identifier = Resources.getSystem().getIdentifier("preference", "layout", "android");
- removeTaskButton.setWidgetLayoutResource(identifier);
- }
- } else {
- for (int i = 1; i < tasks.getPreferenceCount(); i++) {
- tasks.removePreference(tasks.getPreference(i));
+ if (newValue.equals(Boolean.FALSE)) {
+ for (int i = 2; i < tasks.getPreferenceCount(); i++) {
+ tasks.removePreference(tasks.getPreference(tasks.getPreferenceCount()));
}
}
return true;
@@ -66,12 +60,19 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
});
}
- private Preference task(PreferenceCategory tasks, Preference build) {
- EditTextPreference task = new EditTextPreference(this);
- task.setKey(TaskerConstants.ACTIVITY_TASK_REMOVE + "_" + tasks.getPreferenceCount());
+ private Preference task(final PreferenceScreen tasks, Preference build) {
+ final ButtonPreference task = new ButtonPreference(this);
+ task.setKey(TaskerConstants.ACTIVITY_TASK + "_" + tasks.getPreferenceCount());
task.setTitle(build.getTitle());
task.setSummary(build.getSummary());
- task.setWidgetLayoutResource(build.getWidgetLayoutResource());
+ task.setButtonText(R.string.tasker_remove);
+ task.setWidgetLayoutResource(R.layout.tasker_add_button);
+ task.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ tasks.removePreference(task);
+ }
+ });
return task;
}
diff --git a/app/src/main/res/layout/tasker_add_button.xml b/app/src/main/res/layout/tasker_add_button.xml
index ff11fb82d..1498ee169 100644
--- a/app/src/main/res/layout/tasker_add_button.xml
+++ b/app/src/main/res/layout/tasker_add_button.xml
@@ -5,11 +5,10 @@
android:orientation="vertical">
\ No newline at end of file
diff --git a/app/src/main/res/layout/tasker_remove_button.xml b/app/src/main/res/layout/tasker_remove_button.xml
index b64157233..2d5e79188 100644
--- a/app/src/main/res/layout/tasker_remove_button.xml
+++ b/app/src/main/res/layout/tasker_remove_button.xml
@@ -9,7 +9,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
- android:onClick="resetearBD"
android:text="@string/tasker_remove">
\ No newline at end of file
diff --git a/app/src/main/res/xml/tasker_event_preferences.xml b/app/src/main/res/xml/tasker_event_preferences.xml
index efd2fb387..43b838068 100644
--- a/app/src/main/res/xml/tasker_event_preferences.xml
+++ b/app/src/main/res/xml/tasker_event_preferences.xml
@@ -1,5 +1,6 @@
-
+
-
-
-
-
+ android:widgetLayout="@layout/tasker_add_button">
+
\ No newline at end of file