mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-02-11 08:00:11 +01:00
Settings now complete.
This commit is contained in:
parent
0ecff3f823
commit
9dee59f61a
@ -23,7 +23,7 @@ public class TaskerConstants {
|
|||||||
|
|
||||||
public static final String ACTIVITY_THRESHOLD = "act_tasker_threshold";
|
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_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_THESHOLD_ENABELD = "act_tasker_threshold_enabled";
|
||||||
public static final String ACTIVITY_TASKS = "act_tasker_task_group";
|
public static final String ACTIVITY_TASKS = "act_tasker_task_group";
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -5,11 +5,12 @@ import android.os.Bundle;
|
|||||||
import android.preference.EditTextPreference;
|
import android.preference.EditTextPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceCategory;
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.tasker.event.TaskerEventType;
|
import nodomain.freeyourgadget.gadgetbridge.tasker.event.TaskerEventType;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.tasker.service.TaskerConstants;
|
import nodomain.freeyourgadget.gadgetbridge.tasker.service.TaskerConstants;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||||
@ -27,38 +28,31 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
addPreferencesFromResource(R.xml.tasker_event_preferences);
|
addPreferencesFromResource(R.xml.tasker_event_preferences);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPostCreate(Bundle savedInstanceState) {
|
||||||
|
super.onPostCreate(savedInstanceState);
|
||||||
device = (TaskerConstants.TaskerDevice) getIntent().getSerializableExtra(TaskerConstants.DEVICE_INTENT);
|
device = (TaskerConstants.TaskerDevice) getIntent().getSerializableExtra(TaskerConstants.DEVICE_INTENT);
|
||||||
eventType = (TaskerEventType) getIntent().getSerializableExtra(TaskerConstants.EVENT_INTENT);
|
eventType = (TaskerEventType) getIntent().getSerializableExtra(TaskerConstants.EVENT_INTENT);
|
||||||
final PreferenceCategory tasks = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_TASKS);
|
final PreferenceScreen tasks = (PreferenceScreen) findPreference(TaskerConstants.ACTIVITY_TASKS);
|
||||||
Preference addTaskButton = findPreference(TaskerConstants.ACTIVITY_TASK_ADD);
|
ButtonPreference addTaskButton = (ButtonPreference) findPreference(TaskerConstants.ACTIVITY_TASK_ADD);
|
||||||
final EditTextPreference removeTaskButton = (EditTextPreference) findPreference(TaskerConstants.ACTIVITY_TASK_REMOVE);
|
final EditTextPreference taskNamePreference = (EditTextPreference) findPreference(TaskerConstants.ACTIVITY_TASK);
|
||||||
final Preference thresholdEnabled = findPreference(TaskerConstants.ACTIVITY_THESHOLD_ENABELD);
|
final Preference thresholdEnabled = findPreference(TaskerConstants.ACTIVITY_THESHOLD_ENABELD);
|
||||||
addTaskButton.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
addTaskButton.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public void onClick(View v) {
|
||||||
if (prefs.getBoolean(thresholdEnabled.getKey(), false)) {
|
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() {
|
thresholdEnabled.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
if (newValue.equals(Boolean.TRUE)) {
|
if (newValue.equals(Boolean.FALSE)) {
|
||||||
for (int i = 1; i < tasks.getPreferenceCount(); i++) {
|
for (int i = 2; i < tasks.getPreferenceCount(); i++) {
|
||||||
int identifier = Resources.getSystem().getIdentifier("preference", "layout", "android");
|
tasks.removePreference(tasks.getPreference(tasks.getPreferenceCount()));
|
||||||
removeTaskButton.setWidgetLayoutResource(identifier);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (int i = 1; i < tasks.getPreferenceCount(); i++) {
|
|
||||||
tasks.removePreference(tasks.getPreference(i));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -66,12 +60,19 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private Preference task(PreferenceCategory tasks, Preference build) {
|
private Preference task(final PreferenceScreen tasks, Preference build) {
|
||||||
EditTextPreference task = new EditTextPreference(this);
|
final ButtonPreference task = new ButtonPreference(this);
|
||||||
task.setKey(TaskerConstants.ACTIVITY_TASK_REMOVE + "_" + tasks.getPreferenceCount());
|
task.setKey(TaskerConstants.ACTIVITY_TASK + "_" + tasks.getPreferenceCount());
|
||||||
task.setTitle(build.getTitle());
|
task.setTitle(build.getTitle());
|
||||||
task.setSummary(build.getSummary());
|
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;
|
return task;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,11 +5,10 @@
|
|||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<Button xmlns:android="http://schemas.android.com/apk/res/android"
|
<Button xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:id="@+id/tasker_add_button"
|
android:id="@+id/tasker_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerInParent="true"
|
android:layout_centerInParent="true"
|
||||||
android:onClick="resetearBD"
|
|
||||||
android:text="@string/tasker_add">
|
android:text="@string/tasker_add">
|
||||||
</Button>
|
</Button>
|
||||||
</RelativeLayout >
|
</RelativeLayout >
|
@ -9,7 +9,6 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerInParent="true"
|
android:layout_centerInParent="true"
|
||||||
android:onClick="resetearBD"
|
|
||||||
android:text="@string/tasker_remove">
|
android:text="@string/tasker_remove">
|
||||||
</Button>
|
</Button>
|
||||||
</RelativeLayout >
|
</RelativeLayout >
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:key="act_tasker_task_group">
|
||||||
<PreferenceCategory android:key="tasker_event">
|
<PreferenceCategory android:key="tasker_event">
|
||||||
<Preference
|
<Preference
|
||||||
android:key="tasker_info"
|
android:key="tasker_info"
|
||||||
@ -14,16 +15,13 @@
|
|||||||
android:key="act_tasker_threshold"
|
android:key="act_tasker_threshold"
|
||||||
android:summary="@string/tasker_threshold_sum"
|
android:summary="@string/tasker_threshold_sum"
|
||||||
android:title="@string/tasker_threshold" />
|
android:title="@string/tasker_threshold" />
|
||||||
<Preference
|
<nodomain.freeyourgadget.gadgetbridge.tasker.settings.ButtonPreference
|
||||||
android:key="act_tasker_task_add"
|
android:key="act_tasker_task_add"
|
||||||
android:summary="@string/tasker_task_sum"
|
android:summary="@string/tasker_task_sum"
|
||||||
android:title="@string/tasker_task"
|
android:title="@string/tasker_task"
|
||||||
android:widgetLayout="@layout/tasker_add_button"></Preference>
|
android:widgetLayout="@layout/tasker_add_button"></nodomain.freeyourgadget.gadgetbridge.tasker.settings.ButtonPreference>
|
||||||
</PreferenceCategory>
|
|
||||||
<PreferenceCategory android:key="act_tasker_task_group">
|
|
||||||
<EditTextPreference
|
|
||||||
android:key="act_tasker_task_remove"
|
|
||||||
android:summary="@string/tasker_task_name"
|
|
||||||
android:widgetLayout="@layout/tasker_remove_button" />
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
<EditTextPreference
|
||||||
|
android:key="act_tasker_task"
|
||||||
|
android:summary="@string/tasker_task_name" />
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user