mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2025-02-10 15:57:00 +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.preference.Preference;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceFragment;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
||||
@ -11,7 +13,7 @@ import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerConstants;
|
||||
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>
|
||||
* Forwards to {@link TaskerEventsActivity}.
|
||||
*/
|
||||
@ -20,30 +22,35 @@ public class TaskerActivity extends AbstractSettingsActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.tasker_preferences);
|
||||
final PreferenceCategory group = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_TASKER_GROUP);
|
||||
for (TaskerDevice device : TaskerDevice.values()) {
|
||||
group.addPreference(preference(device));
|
||||
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);
|
||||
addPreferencesFromResource(R.xml.tasker_preferences);
|
||||
final PreferenceCategory group = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_TASKER_GROUP);
|
||||
for (TaskerDevice device : TaskerDevice.values()) {
|
||||
group.addPreference(preference(device));
|
||||
}
|
||||
}
|
||||
|
||||
private Preference preference(final TaskerDevice device) {
|
||||
Preference devicePreference = new Preference(getActivity());
|
||||
devicePreference.setTitle(device.getType().getName());
|
||||
devicePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
Intent intent = new Intent(getActivity(), TaskerEventsActivity.class);
|
||||
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
return devicePreference;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostCreate(Bundle savedInstanceState) {
|
||||
super.onPostCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
private Preference preference(final TaskerDevice device) {
|
||||
Preference devicePreference = new Preference(this);
|
||||
devicePreference.setTitle(device.getType().getName());
|
||||
devicePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
Intent intent = new Intent(TaskerActivity.this, TaskerEventsActivity.class);
|
||||
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
return devicePreference;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.preference.Preference;
|
||||
@ -7,6 +9,11 @@ import android.preference.PreferenceFragment;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.preference.SwitchPreference;
|
||||
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 java.util.ArrayList;
|
||||
@ -46,6 +53,19 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
||||
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 {
|
||||
|
||||
private TaskerDevice device;
|
||||
@ -62,6 +82,7 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getActivity()));
|
||||
device = (TaskerDevice) getArguments().get(TaskerConstants.INTENT_DEVICE);
|
||||
eventType = (TaskerEventType) getArguments().get(TaskerConstants.INTENT_EVENT);
|
||||
settings = device.getSpec().getSettings(eventType);
|
||||
@ -72,6 +93,11 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
||||
initTasks();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOptionsMenuClosed(Menu menu) {
|
||||
super.onOptionsMenuClosed(menu);
|
||||
}
|
||||
|
||||
private void initEnableEvent() {
|
||||
String key = scoped(TaskerConstants.ACTIVITY_EVENT_ENABLED);
|
||||
enableEvent = new SwitchPreference(getActivity());
|
||||
@ -190,7 +216,7 @@ public class TaskerEventActivity extends AbstractSettingsActivity {
|
||||
public String getTask(TaskerEvent event) {
|
||||
if (event.getCount() < tasks.size()) {
|
||||
String text = tasks.get(event.getCount()).getText();
|
||||
if (StringUtils.isEmpty(text)) {
|
||||
if (text == null || StringUtils.isEmpty(text)) {
|
||||
throw new NoTaskDefinedException();
|
||||
}
|
||||
return text;
|
||||
|
@ -1,11 +1,16 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.tasker.settings.activities;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
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.tasker.event.TaskerEventType;
|
||||
import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerConstants;
|
||||
@ -18,31 +23,51 @@ import nodomain.freeyourgadget.gadgetbridge.tasker.plugin.TaskerDevice;
|
||||
*/
|
||||
public class TaskerEventsActivity extends AbstractSettingsActivity {
|
||||
|
||||
private TaskerDevice device;
|
||||
|
||||
public TaskerEventsActivity() {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.tasker_events_preferences);
|
||||
device = (TaskerDevice) getIntent().getSerializableExtra(TaskerConstants.INTENT_DEVICE);
|
||||
PreferenceCategory category = (PreferenceCategory) findPreference(TaskerConstants.ACTIVITY_EVENT_GROUP);
|
||||
for (final TaskerEventType eventType : device.getSpec().getSupportedTypes()) {
|
||||
Preference preference = new Preference(this);
|
||||
preference.setTitle(eventType.getLocalization());
|
||||
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
Intent intent = new Intent(TaskerEventsActivity.this, TaskerEventActivity.class);
|
||||
intent.putExtra(TaskerConstants.INTENT_EVENT, eventType);
|
||||
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
category.addPreference(preference);
|
||||
TaskerEventsFragment taskerEventsFragment = new TaskerEventsFragment();
|
||||
Bundle arguments = new Bundle();
|
||||
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()) {
|
||||
Preference preference = new Preference(getActivity());
|
||||
preference.setTitle(eventType.getLocalization());
|
||||
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
@Override
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
Intent intent = new Intent(getActivity(), TaskerEventActivity.class);
|
||||
intent.putExtra(TaskerConstants.INTENT_EVENT, eventType);
|
||||
intent.putExtra(TaskerConstants.INTENT_DEVICE, device);
|
||||
startActivityForResult(intent, 0);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
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) {
|
||||
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