Removed RemoteSensorManager as abstraction was not used anymore.

This commit is contained in:
Dennis Guse
2019-10-26 14:26:16 +02:00
parent 3a6f417662
commit d8e526923d
6 changed files with 19 additions and 76 deletions
@@ -43,7 +43,6 @@ import de.dennisguse.opentracks.content.Waypoint;
import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.content.sensor.SensorDataSet;
import de.dennisguse.opentracks.services.ITrackRecordingService; import de.dennisguse.opentracks.services.ITrackRecordingService;
import de.dennisguse.opentracks.services.TrackRecordingServiceConnection; import de.dennisguse.opentracks.services.TrackRecordingServiceConnection;
import de.dennisguse.opentracks.services.sensors.RemoteSensorManager;
import de.dennisguse.opentracks.stats.TripStatistics; import de.dennisguse.opentracks.stats.TripStatistics;
import de.dennisguse.opentracks.util.LocationUtils; import de.dennisguse.opentracks.util.LocationUtils;
import de.dennisguse.opentracks.util.PreferencesUtils; import de.dennisguse.opentracks.util.PreferencesUtils;
@@ -57,7 +57,7 @@ import de.dennisguse.opentracks.content.Waypoint;
import de.dennisguse.opentracks.content.Waypoint.WaypointType; import de.dennisguse.opentracks.content.Waypoint.WaypointType;
import de.dennisguse.opentracks.content.WaypointCreationRequest; import de.dennisguse.opentracks.content.WaypointCreationRequest;
import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.content.sensor.SensorDataSet;
import de.dennisguse.opentracks.services.sensors.RemoteSensorManager; import de.dennisguse.opentracks.services.sensors.BluetoothRemoteSensorManager;
import de.dennisguse.opentracks.services.sensors.RemoteSensorManagerFactory; import de.dennisguse.opentracks.services.sensors.RemoteSensorManagerFactory;
import de.dennisguse.opentracks.services.tasks.AnnouncementPeriodicTaskFactory; import de.dennisguse.opentracks.services.tasks.AnnouncementPeriodicTaskFactory;
import de.dennisguse.opentracks.services.tasks.PeriodicTaskExecutor; import de.dennisguse.opentracks.services.tasks.PeriodicTaskExecutor;
@@ -169,7 +169,7 @@ public class TrackRecordingService extends Service {
}; };
private TripStatisticsUpdater markerTripStatisticsUpdater; private TripStatisticsUpdater markerTripStatisticsUpdater;
private WakeLock wakeLock; private WakeLock wakeLock;
private RemoteSensorManager remoteSensorManager; private BluetoothRemoteSensorManager remoteSensorManager;
private Location lastLocation; private Location lastLocation;
private boolean currentSegmentHasLocation; private boolean currentSegmentHasLocation;
private boolean isIdle; // true if idle private boolean isIdle; // true if idle
@@ -37,7 +37,9 @@ import de.dennisguse.opentracks.util.UnitConversions;
* *
* @author Sandor Dornbush * @author Sandor Dornbush
*/ */
public class BluetoothRemoteSensorManager extends RemoteSensorManager { public class BluetoothRemoteSensorManager {
public static final long MAX_SENSOR_DATE_SET_AGE_MS = 5000;
private static final String TAG = BluetoothConnectionManager.class.getSimpleName(); private static final String TAG = BluetoothConnectionManager.class.getSimpleName();
@@ -124,7 +126,6 @@ public class BluetoothRemoteSensorManager extends RemoteSensorManager {
return adapters.get(0); return adapters.get(0);
} }
@Override
public void startSensor() { public void startSensor() {
if (!isEnabled()) { if (!isEnabled()) {
Log.w(TAG, "Bluetooth not enabled."); Log.w(TAG, "Bluetooth not enabled.");
@@ -156,7 +157,6 @@ public class BluetoothRemoteSensorManager extends RemoteSensorManager {
bluetoothConnectionManager.connect(); bluetoothConnectionManager.connect();
} }
@Override
public void stopSensor() { public void stopSensor() {
if (bluetoothConnectionManager != null) { if (bluetoothConnectionManager != null) {
bluetoothConnectionManager.disconnect(); bluetoothConnectionManager.disconnect();
@@ -164,13 +164,19 @@ public class BluetoothRemoteSensorManager extends RemoteSensorManager {
} }
} }
@Override
public boolean isEnabled() { public boolean isEnabled() {
return bluetoothAdapter != null && bluetoothAdapter.isEnabled(); return bluetoothAdapter != null && bluetoothAdapter.isEnabled();
} }
@Override
public SensorDataSet getSensorDataSet() { public SensorDataSet getSensorDataSet() {
return sensorDataSet; return sensorDataSet;
} }
public boolean isSensorDataSetValid() {
SensorDataSet sensorDataSet = getSensorDataSet();
if (sensorDataSet == null) {
return false;
}
return sensorDataSet.isRecent(MAX_SENSOR_DATE_SET_AGE_MS);
}
} }
@@ -1,62 +0,0 @@
/*
* Copyright 2010 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package de.dennisguse.opentracks.services.sensors;
import de.dennisguse.opentracks.content.sensor.SensorDataSet;
/**
* Manage the connection to a remote sensor.
*
* @author Sandor Dornbush
*/
public abstract class RemoteSensorManager {
public static final long MAX_SENSOR_DATE_SET_AGE_MS = 5000;
private static final String TAG = RemoteSensorManager.class.getSimpleName();
/**
* Returns true if the sensor is enabled.
*/
public abstract boolean isEnabled();
/**
* Gets the sensor data set.
*/
public abstract SensorDataSet getSensorDataSet();
/**
* Starts the sensor.
*/
public abstract void startSensor();
/**
* Stops the sensor.
*/
public abstract void stopSensor();
/**
* Returns true if the sensor data set is valid.
*/
public boolean isSensorDataSetValid() {
SensorDataSet sensorDataSet = getSensorDataSet();
if (sensorDataSet == null) {
return false;
}
return sensorDataSet.isRecent(MAX_SENSOR_DATE_SET_AGE_MS);
}
}
@@ -19,13 +19,13 @@ package de.dennisguse.opentracks.services.sensors;
import android.content.Context; import android.content.Context;
/** /**
* A factory of {@link RemoteSensorManager}. * A factory of {@link BluetoothRemoteSensorManager}.
* *
* @author Sandor Dornbush * @author Sandor Dornbush
*/ */
public class RemoteSensorManagerFactory { public class RemoteSensorManagerFactory {
private static RemoteSensorManager remoteSensorManagerSystem = null; private static BluetoothRemoteSensorManager remoteSensorManagerSystem = null;
private RemoteSensorManagerFactory() { private RemoteSensorManagerFactory() {
@@ -36,7 +36,7 @@ public class RemoteSensorManagerFactory {
* *
* @param context the context * @param context the context
*/ */
public static RemoteSensorManager getSystemSensorManager(Context context) { public static BluetoothRemoteSensorManager getSystemSensorManager(Context context) {
releaseSystemSensorManager(); releaseSystemSensorManager();
remoteSensorManagerSystem = getSensorManager(context); remoteSensorManagerSystem = getSensorManager(context);
remoteSensorManagerSystem.startSensor(); remoteSensorManagerSystem.startSensor();
@@ -58,7 +58,7 @@ public class RemoteSensorManagerFactory {
* *
* @param context the context * @param context the context
*/ */
private static RemoteSensorManager getSensorManager(Context context) { private static BluetoothRemoteSensorManager getSensorManager(Context context) {
return new BluetoothRemoteSensorManager(context); return new BluetoothRemoteSensorManager(context);
} }
} }
@@ -25,7 +25,7 @@ import android.widget.TextView;
import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.content.sensor.SensorDataSet; import de.dennisguse.opentracks.content.sensor.SensorDataSet;
import de.dennisguse.opentracks.services.sensors.RemoteSensorManager; import de.dennisguse.opentracks.services.sensors.BluetoothRemoteSensorManager;
import de.dennisguse.opentracks.stats.TripStatistics; import de.dennisguse.opentracks.stats.TripStatistics;
/** /**
@@ -118,7 +118,7 @@ public class StatsUtils {
TextView heartRateSensor = activity.findViewById(R.id.stats_sensor_heart_rate_sensor_value); TextView heartRateSensor = activity.findViewById(R.id.stats_sensor_heart_rate_sensor_value);
String heartRate = activity.getString(R.string.value_unknown); String heartRate = activity.getString(R.string.value_unknown);
String sensor = activity.getString(R.string.value_unknown); String sensor = activity.getString(R.string.value_unknown);
if (sensorDataSet != null && sensorDataSet.hasHeartRate() && sensorDataSet.isRecent(RemoteSensorManager.MAX_SENSOR_DATE_SET_AGE_MS)) { if (sensorDataSet != null && sensorDataSet.hasHeartRate() && sensorDataSet.isRecent(BluetoothRemoteSensorManager.MAX_SENSOR_DATE_SET_AGE_MS)) {
heartRate = StringUtils.formatDecimal(sensorDataSet.getHeartRate(), 0); heartRate = StringUtils.formatDecimal(sensorDataSet.getHeartRate(), 0);
sensor = sensorDataSet.getSensorName(); sensor = sensorDataSet.getSensorName();
} }