From 807921b58f83c9fdc20906017e79551f068d01b0 Mon Sep 17 00:00:00 2001 From: Piv <18462828+Piv200@users.noreply.github.com> Date: Wed, 22 Apr 2020 22:22:08 +0930 Subject: [PATCH] Add recording capability to simple controller. --- .../java/org/vato/carcontroller/PiLoader.java | 13 ++++++++ .../vato/carcontroller/SimpleController.java | 18 +++++++++-- .../activity_simple_controller.xml | 31 +++++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/vato/carcontroller/PiLoader.java b/app/src/main/java/org/vato/carcontroller/PiLoader.java index 83f440e..484064d 100644 --- a/app/src/main/java/org/vato/carcontroller/PiLoader.java +++ b/app/src/main/java/org/vato/carcontroller/PiLoader.java @@ -1,6 +1,8 @@ package org.vato.carcontroller; +import com.google.protobuf.Empty; + import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -68,4 +70,15 @@ public class PiLoader implements Runnable { } } } + + public void saveRecording() { + // Ideally don't want to use a blocking stub here, android may complain. + Empty done = stub.saveRecordedData(SaveRequest.newBuilder().setFile("Test").build()); + } + + + public void record(boolean record) { + // Ideally don't want to use a blocking stub here, android may complain. + Empty done = stub.record(RecordingReqeust.newBuilder().setRecord(record).build()); + } } diff --git a/app/src/main/java/org/vato/carcontroller/SimpleController.java b/app/src/main/java/org/vato/carcontroller/SimpleController.java index 0ce0b45..d28b59a 100644 --- a/app/src/main/java/org/vato/carcontroller/SimpleController.java +++ b/app/src/main/java/org/vato/carcontroller/SimpleController.java @@ -2,15 +2,19 @@ package org.vato.carcontroller; import android.content.SharedPreferences; import android.os.Bundle; +import android.view.View; import android.widget.SeekBar; +import android.widget.Switch; import androidx.appcompat.app.AppCompatActivity; import androidx.preference.PreferenceManager; public class SimpleController extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener { - SeekBar steeringSlider; - SeekBar throttleSlider; + private SeekBar steeringSlider; + private SeekBar throttleSlider; + private Switch recordSwitch; + private static PiLoader grpcController; @Override @@ -26,6 +30,8 @@ public class SimpleController extends AppCompatActivity implements SeekBar.OnSee if (throttleSlider != null) { throttleSlider.setOnSeekBarChangeListener(this); } + + recordSwitch = findViewById(R.id.recordSwitch); } @Override @@ -83,4 +89,12 @@ public class SimpleController extends AppCompatActivity implements SeekBar.OnSee steeringSlider.setProgress(50); throttleSlider.setProgress(50); } + + public void saveRecording(View view) { + grpcController.saveRecording(); + } + + public void record(View view) { + grpcController.record(recordSwitch.isSelected()); + } } diff --git a/app/src/main/res/layout-land/activity_simple_controller.xml b/app/src/main/res/layout-land/activity_simple_controller.xml index 7858f7e..7eeadab 100644 --- a/app/src/main/res/layout-land/activity_simple_controller.xml +++ b/app/src/main/res/layout-land/activity_simple_controller.xml @@ -28,4 +28,35 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> + + + + +