From 7d6cd82688c90e18b387de727a2ab1ee8397a416 Mon Sep 17 00:00:00 2001 From: Miguel Matey Sanz Date: Mon, 29 Jan 2024 10:37:03 +0100 Subject: [PATCH 1/6] feat(demo): add commands for remote and local collection --- .../command/CollectionCommand.java | 8 +++++ .../command/LocalCollectionCommand.java | 34 +++++++++++++++++++ .../command/RemoteCollectionCommand.java | 30 ++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 app/src/main/java/es/uji/geotec/wearossensorsdemo/command/CollectionCommand.java create mode 100644 app/src/main/java/es/uji/geotec/wearossensorsdemo/command/LocalCollectionCommand.java create mode 100644 app/src/main/java/es/uji/geotec/wearossensorsdemo/command/RemoteCollectionCommand.java diff --git a/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/CollectionCommand.java b/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/CollectionCommand.java new file mode 100644 index 0000000..5583f44 --- /dev/null +++ b/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/CollectionCommand.java @@ -0,0 +1,8 @@ +package es.uji.geotec.wearossensorsdemo.command; + +import es.uji.geotec.wearossensors.sensor.WearSensor; + +public interface CollectionCommand { + void executeStart(WearSensor sensor); + void executeStop(WearSensor sensor); +} diff --git a/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/LocalCollectionCommand.java b/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/LocalCollectionCommand.java new file mode 100644 index 0000000..5d819bb --- /dev/null +++ b/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/LocalCollectionCommand.java @@ -0,0 +1,34 @@ +package es.uji.geotec.wearossensorsdemo.command; + +import android.content.Context; +import android.util.Log; + +import es.uji.geotec.backgroundsensors.collection.CollectionConfiguration; +import es.uji.geotec.backgroundsensors.service.manager.ServiceManager; +import es.uji.geotec.wearossensors.sensor.WearSensor; +import es.uji.geotec.wearossensors.services.WearSensorRecordingService; + +public class LocalCollectionCommand implements CollectionCommand { + + private ServiceManager serviceManager; + + public LocalCollectionCommand(Context context) { + this.serviceManager = new ServiceManager(context, WearSensorRecordingService.class); + } + @Override + public void executeStart(WearSensor sensor) { + CollectionConfiguration config = new CollectionConfiguration( + sensor, + android.hardware.SensorManager.SENSOR_DELAY_GAME, + sensor == WearSensor.HEART_RATE || sensor == WearSensor.LOCATION ? 1 : 50 + ); + this.serviceManager.startCollection(config, records -> { + Log.d("LOCAL COLLECTION", sensor.toString()+ " records: " + records.toString()); + }); + } + + @Override + public void executeStop(WearSensor sensor) { + this.serviceManager.stopCollection(sensor); + } +} diff --git a/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/RemoteCollectionCommand.java b/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/RemoteCollectionCommand.java new file mode 100644 index 0000000..5679e72 --- /dev/null +++ b/app/src/main/java/es/uji/geotec/wearossensorsdemo/command/RemoteCollectionCommand.java @@ -0,0 +1,30 @@ +package es.uji.geotec.wearossensorsdemo.command; + +import android.content.Context; + +import es.uji.geotec.backgroundsensors.collection.CollectionConfiguration; +import es.uji.geotec.wearossensors.command.CommandClient; +import es.uji.geotec.wearossensors.sensor.WearSensor; + +public class RemoteCollectionCommand implements CollectionCommand { + + private CommandClient commandClient; + + public RemoteCollectionCommand(Context context) { + this.commandClient = new CommandClient(context); + } + @Override + public void executeStart(WearSensor sensor) { + CollectionConfiguration config = new CollectionConfiguration( + sensor, + android.hardware.SensorManager.SENSOR_DELAY_GAME, + sensor == WearSensor.HEART_RATE || sensor == WearSensor.LOCATION ? 1 : 50 + ); + this.commandClient.sendStartCommand(config); + } + + @Override + public void executeStop(WearSensor sensor) { + this.commandClient.sendStopCommand(sensor); + } +} From 54208ee10e849bdd844d430b5c60f76d85ae53f1 Mon Sep 17 00:00:00 2001 From: Miguel Matey Sanz Date: Mon, 29 Jan 2024 10:38:07 +0100 Subject: [PATCH 2/6] ui(demo): update ui to add radios for data collection destination selection --- app/src/main/res/layout/activity_main.xml | 138 +++++++++++++--------- app/src/main/res/values/strings.xml | 13 +- 2 files changed, 91 insertions(+), 60 deletions(-) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index f9ac49a..3a78be2 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,71 +6,101 @@ android:background="@color/dark_grey" tools:context=".MainActivity" tools:deviceIds="wear"> - - + + + + + + android:text="@string/select_collection_destination_txt" /> - + - + android:onClick="onDestinationButtonClicked" + android:text="@string/local_radio" /> - + android:onClick="onDestinationButtonClicked" + android:text="@string/remote_radio" /> + -