mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-02-11 08:00:11 +01:00
Finished scope settings. Loading is still missing.
This commit is contained in:
parent
a857be6c21
commit
3fb1c703a7
@ -4,6 +4,8 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceCategory;
|
import android.preference.PreferenceCategory;
|
||||||
|
import android.preference.PreferenceFragment;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
||||||
@ -11,7 +13,7 @@ import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerConstants;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerDevice;
|
import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerDevice;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tasker main {@link AbstractSettingsActivity} builds an supported list of {@link TaskerConstants.TaskerDevice}.
|
* Tasker main {@link AbstractSettingsActivity} builds an supported list of {@link TaskerDevice}.
|
||||||
* <p>
|
* <p>
|
||||||
* Forwards to {@link TaskerEventsActivity}.
|
* Forwards to {@link TaskerEventsActivity}.
|
||||||
*/
|
*/
|
||||||
@ -19,6 +21,15 @@ public class TaskerActivity extends AbstractSettingsActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
getFragmentManager().beginTransaction().replace(android.R.id.content,
|
||||||
|
new TaskerFragment()).commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class TaskerFragment extends PreferenceFragment {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
addPreferencesFromResource(R.xml.tasker_preferences);
|
addPreferencesFromResource(R.xml.tasker_preferences);
|
||||||
final PreferenceCategory group = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_TASKER_GROUP);
|
final PreferenceCategory group = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_TASKER_GROUP);
|
||||||
@ -27,18 +38,13 @@ public class TaskerActivity extends AbstractSettingsActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPostCreate(Bundle savedInstanceState) {
|
|
||||||
super.onPostCreate(savedInstanceState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Preference preference(final TaskerDevice device) {
|
private Preference preference(final TaskerDevice device) {
|
||||||
Preference devicePreference = new Preference(this);
|
Preference devicePreference = new Preference(getActivity());
|
||||||
devicePreference.setTitle(device.getType().getName());
|
devicePreference.setTitle(device.getType().getName());
|
||||||
devicePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
devicePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
Intent intent = new Intent(TaskerActivity.this, TaskerEventsActivity.class);
|
Intent intent = new Intent(getActivity(), TaskerEventsActivity.class);
|
||||||
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
@ -47,3 +53,4 @@ public class TaskerActivity extends AbstractSettingsActivity {
|
|||||||
return devicePreference;
|
return devicePreference;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities;
|
package nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.EditTextPreference;
|
import android.preference.EditTextPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
@ -7,6 +9,11 @@ import android.preference.PreferenceFragment;
|
|||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
import android.preference.SwitchPreference;
|
import android.preference.SwitchPreference;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.app.NavUtils;
|
||||||
|
import android.view.KeyEvent;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -46,6 +53,19 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
|||||||
taskerEventFragment).commit();
|
taskerEventFragment).commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case android.R.id.home:
|
||||||
|
Intent resultIntent = new Intent();
|
||||||
|
resultIntent.putExtra(TaskerConstants.INTENT_DEVICE, getIntent().getSerializableExtra(TaskerConstants.INTENT_DEVICE));
|
||||||
|
setResult(Activity.RESULT_OK, resultIntent);
|
||||||
|
finish();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
|
||||||
public static class TaskerEventFragment extends PreferenceFragment {
|
public static class TaskerEventFragment extends PreferenceFragment {
|
||||||
|
|
||||||
private TaskerDevice device;
|
private TaskerDevice device;
|
||||||
@ -62,6 +82,7 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getActivity()));
|
||||||
device = (TaskerDevice) getArguments().get(TaskerConstants.INTENT_DEVICE);
|
device = (TaskerDevice) getArguments().get(TaskerConstants.INTENT_DEVICE);
|
||||||
eventType = (TaskerEventType) getArguments().get(TaskerConstants.INTENT_EVENT);
|
eventType = (TaskerEventType) getArguments().get(TaskerConstants.INTENT_EVENT);
|
||||||
settings = device.getSpec().getSettings(eventType);
|
settings = device.getSpec().getSettings(eventType);
|
||||||
@ -72,6 +93,11 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
|||||||
initTasks();
|
initTasks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onOptionsMenuClosed(Menu menu) {
|
||||||
|
super.onOptionsMenuClosed(menu);
|
||||||
|
}
|
||||||
|
|
||||||
private void initEnableEvent() {
|
private void initEnableEvent() {
|
||||||
String key = scoped(TaskerConstants.ACTIVITY_EVENT_ENABLED);
|
String key = scoped(TaskerConstants.ACTIVITY_EVENT_ENABLED);
|
||||||
enableEvent = new SwitchPreference(getActivity());
|
enableEvent = new SwitchPreference(getActivity());
|
||||||
@ -190,7 +216,7 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
|||||||
public String getTask(TaskerEvent event) {
|
public String getTask(TaskerEvent event) {
|
||||||
if (event.getCount() < tasks.size()) {
|
if (event.getCount() < tasks.size()) {
|
||||||
String text = tasks.get(event.getCount()).getText();
|
String text = tasks.get(event.getCount()).getText();
|
||||||
if (StringUtils.isEmpty(text)) {
|
if (text == null || StringUtils.isEmpty(text)) {
|
||||||
throw new NoTaskDefinedException();
|
throw new NoTaskDefinedException();
|
||||||
}
|
}
|
||||||
return text;
|
return text;
|
||||||
|
@ -1,11 +1,16 @@
|
|||||||
package nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities;
|
package nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceCategory;
|
import android.preference.PreferenceFragment;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.view.KeyEvent;
|
||||||
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.tasker.event.TaskerEventType;
|
import nodomain.freeyourgadget.gadgetbridge.tasker.event.TaskerEventType;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerConstants;
|
import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerConstants;
|
||||||
@ -18,31 +23,51 @@ import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerDevice;
|
|||||||
*/
|
*/
|
||||||
public class TaskerEventsActivity extends AbstractSettingsActivity {
|
public class TaskerEventsActivity extends AbstractSettingsActivity {
|
||||||
|
|
||||||
private TaskerDevice device;
|
|
||||||
|
|
||||||
public TaskerEventsActivity() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
addPreferencesFromResource(R.xml.tasker_events_preferences);
|
TaskerEventsFragment taskerEventsFragment = new TaskerEventsFragment();
|
||||||
device = (TaskerDevice) getIntent().getSerializableExtra(TaskerConstants.INTENT_DEVICE);
|
Bundle arguments = new Bundle();
|
||||||
PreferenceCategory category = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_EVENT_GROUP);
|
if (getIntent().hasExtra(TaskerConstants.INTENT_DEVICE)) {
|
||||||
|
arguments.putSerializable(TaskerConstants.INTENT_DEVICE, getIntent().getSerializableExtra(TaskerConstants.INTENT_DEVICE));
|
||||||
|
}
|
||||||
|
taskerEventsFragment.setArguments(arguments);
|
||||||
|
getFragmentManager().beginTransaction().replace(android.R.id.content,
|
||||||
|
taskerEventsFragment).commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class TaskerEventsFragment extends PreferenceFragment {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getActivity()));
|
||||||
|
if (getArguments().get(TaskerConstants.INTENT_DEVICE) == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final TaskerDevice device = (TaskerDevice) getArguments().get(TaskerConstants.INTENT_DEVICE);
|
||||||
for (final TaskerEventType eventType : device.getSpec().getSupportedTypes()) {
|
for (final TaskerEventType eventType : device.getSpec().getSupportedTypes()) {
|
||||||
Preference preference = new Preference(this);
|
Preference preference = new Preference(getActivity());
|
||||||
preference.setTitle(eventType.getLocalization());
|
preference.setTitle(eventType.getLocalization());
|
||||||
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
Intent intent = new Intent(TaskerEventsActivity.this, TaskerEventActivity.class);
|
Intent intent = new Intent(getActivity(), TaskerEventActivity.class);
|
||||||
intent.putExtra(TaskerConstants.INTENT_EVENT, eventType);
|
intent.putExtra(TaskerConstants.INTENT_EVENT, eventType);
|
||||||
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
||||||
startActivity(intent);
|
startActivityForResult(intent, 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
category.addPreference(preference);
|
getPreferenceScreen().addPreference(preference);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
getArguments().putSerializable(TaskerConstants.INTENT_DEVICE, data.getSerializableExtra(TaskerConstants.INTENT_DEVICE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ public class TaskerTask implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (NoTaskDefinedException e) {
|
} catch (NoTaskDefinedException e) {
|
||||||
TaskerUtil.noTaskDefinedInformation();
|
TaskerUtil.noTaskDefinedInformation().show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:key="act_tasker_task_group">
|
|
||||||
<SwitchPreference
|
|
||||||
android:key="act_tasker_event_enabled"
|
|
||||||
android:title="@string/tasker_event_enabled" />
|
|
||||||
<SwitchPreference
|
|
||||||
android:key="act_tasker_threshold_enabled"
|
|
||||||
android:title="@string/tasker_threshold_enable" />
|
|
||||||
<EditTextPreference
|
|
||||||
android:inputType="number"
|
|
||||||
android:key="act_tasker_threshold"
|
|
||||||
android:summary="@string/tasker_threshold_sum"
|
|
||||||
android:title="@string/tasker_threshold" />
|
|
||||||
<nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities.ButtonPreference
|
|
||||||
android:key="act_tasker_task_add"
|
|
||||||
android:summary="@string/tasker_task_sum"
|
|
||||||
android:title="@string/tasker_task"></nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities.ButtonPreference>
|
|
||||||
<EditTextPreference
|
|
||||||
android:key="act_tasker_task"
|
|
||||||
android:summary="@string/tasker_task_name" />
|
|
||||||
</PreferenceScreen>
|
|
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<PreferenceCategory
|
|
||||||
android:key="act_event_group"
|
|
||||||
android:title="@string/tasker_events"></PreferenceCategory>
|
|
||||||
</PreferenceScreen>
|
|
Loading…
Reference in New Issue
Block a user