mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-02-10 23:57:31 +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_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";
|
||||
|
||||
|
@ -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.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;
|
||||
}
|
||||
|
||||
|
@ -5,11 +5,10 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<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_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:onClick="resetearBD"
|
||||
android:text="@string/tasker_add">
|
||||
</Button>
|
||||
</RelativeLayout >
|
@ -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">
|
||||
</Button>
|
||||
</RelativeLayout >
|
@ -1,5 +1,6 @@
|
||||
<?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">
|
||||
<Preference
|
||||
android:key="tasker_info"
|
||||
@ -14,16 +15,13 @@
|
||||
android:key="act_tasker_threshold"
|
||||
android:summary="@string/tasker_threshold_sum"
|
||||
android:title="@string/tasker_threshold" />
|
||||
<Preference
|
||||
<nodomain.freeyourgadget.gadgetbridge.tasker.settings.ButtonPreference
|
||||
android:key="act_tasker_task_add"
|
||||
android:summary="@string/tasker_task_sum"
|
||||
android:title="@string/tasker_task"
|
||||
android:widgetLayout="@layout/tasker_add_button"></Preference>
|
||||
</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" />
|
||||
android:widgetLayout="@layout/tasker_add_button"></nodomain.freeyourgadget.gadgetbridge.tasker.settings.ButtonPreference>
|
||||
</PreferenceCategory>
|
||||
<EditTextPreference
|
||||
android:key="act_tasker_task"
|
||||
android:summary="@string/tasker_task_name" />
|
||||
</PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user