forked from upstream-mirrors/OpenTracks
Minor fixes.
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
<classpathentry kind="lib" path="libs/googleloginclient-helper.jar"/>
|
<classpathentry kind="lib" path="libs/googleloginclient-helper.jar"/>
|
||||||
<classpathentry kind="lib" path="libs/google-common.jar"/>
|
<classpathentry kind="lib" path="libs/google-common.jar"/>
|
||||||
<classpathentry kind="lib" path="libs/accounts.jar"/>
|
<classpathentry kind="lib" path="libs/accounts.jar"/>
|
||||||
|
<classpathentry kind="lib" path="libs/protobuf-java-2.3.0-lite.jar"/>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
<classpathentry kind="src" path="gen"/>
|
<classpathentry kind="src" path="gen"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 1.8 KiB |
@@ -63,100 +63,47 @@ limitations under the License.
|
|||||||
style="@style/StatsRegister" />
|
style="@style/StatsRegister" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<!-- Power meter status -->
|
<!-- Power meter -->
|
||||||
<TableRow
|
|
||||||
android:padding="1dip">
|
|
||||||
<CheckBox android:id="@+id/power_meter_enabled"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/power_meter_enabled"
|
|
||||||
android:checked="true"
|
|
||||||
android:enabled="false"
|
|
||||||
android:layout_column="1"
|
|
||||||
android:layout_span="3" />
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/power_meter_state_register"
|
|
||||||
android:textSize="20dip"
|
|
||||||
android:gravity="right"
|
|
||||||
android:layout_column="4"
|
|
||||||
android:layout_span="2"
|
|
||||||
android:text="@string/unknown" />
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<!-- Power and Cadence -->
|
|
||||||
<TableRow
|
<TableRow
|
||||||
android:padding="1dip">
|
android:padding="1dip">
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/power_label"
|
android:id="@+id/power_label"
|
||||||
|
android:textSize="20dip"
|
||||||
android:layout_column="1"
|
android:layout_column="1"
|
||||||
android:layout_span="3"
|
android:layout_span="3"
|
||||||
android:text="@string/power" />
|
android:text="@string/power" />
|
||||||
|
</TableRow>
|
||||||
|
<TableRow
|
||||||
|
android:background="@color/stat_label_background">
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/cadence_label"
|
style="@style/StatsRegister.Big"
|
||||||
android:layout_column="4"
|
android:id="@+id/power_state_register"
|
||||||
android:layout_span="2"
|
android:layout_column="1"
|
||||||
|
android:layout_span="4" />
|
||||||
|
<TextView
|
||||||
|
style="@style/StatsUnitSolo" />
|
||||||
|
android:layout_column="5"
|
||||||
|
android:text="@string/watts" />
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
<!-- Cadence -->
|
||||||
|
<TableRow
|
||||||
|
android:padding="1dip">
|
||||||
|
<TextView
|
||||||
|
android:layout_column="1"
|
||||||
|
android:layout_span="3"
|
||||||
android:text="@string/cadence" />
|
android:text="@string/cadence" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
<TableRow
|
<TableRow
|
||||||
android:background="@color/stat_label_background">
|
android:background="@color/stat_label_background">
|
||||||
<TextView
|
<TextView
|
||||||
android:gravity="right"
|
style="@style/StatsRegister.Big"
|
||||||
android:id="@+id/power_state_register"
|
|
||||||
android:layout_column="1"
|
|
||||||
android:layout_marginBottom="-9dip"
|
|
||||||
android:layout_marginTop="-9dip"
|
|
||||||
android:text="@string/unknown"
|
|
||||||
android:textColor="@color/stat_label_text"
|
|
||||||
android:textSize="40sp" />
|
|
||||||
<TextView
|
|
||||||
android:gravity="left"
|
|
||||||
android:layout_column="2"
|
|
||||||
android:layout_marginBottom="-9dip"
|
|
||||||
android:layout_marginTop="-9dip"
|
|
||||||
android:text="@string/watts"
|
|
||||||
android:textColor="@color/stat_label_text" />
|
|
||||||
<TextView
|
|
||||||
android:background="@color/black"
|
|
||||||
android:layout_column="3"
|
|
||||||
android:layout_marginBottom="-9dip"
|
|
||||||
android:layout_marginTop="-9dip"
|
|
||||||
android:layout_width="5dip"
|
|
||||||
android:textSize="40sp" />
|
|
||||||
<TextView
|
|
||||||
android:gravity="right"
|
|
||||||
android:id="@+id/cadence_state_register"
|
android:id="@+id/cadence_state_register"
|
||||||
android:layout_column="4"
|
android:layout_column="4" />
|
||||||
android:layout_marginBottom="-9dip"
|
|
||||||
android:layout_marginTop="-9dip"
|
|
||||||
android:text="@string/unknown"
|
|
||||||
android:textColor="@color/stat_label_text"
|
|
||||||
android:textSize="40sp" />
|
|
||||||
<TextView
|
<TextView
|
||||||
android:gravity="left"
|
style="@style/StatsUnitSolo" />
|
||||||
android:layout_column="2"
|
android:layout_column="2"
|
||||||
android:layout_marginBottom="-9dip"
|
android:text="@string/revolutions_per_minute" />
|
||||||
android:layout_marginTop="-9dip"
|
|
||||||
android:text="@string/revolutions_per_minute"
|
|
||||||
android:textColor="@color/stat_label_text" />
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<!-- Heart rate monitor -->
|
|
||||||
<TableRow>
|
|
||||||
<CheckBox android:id="@+id/heart_rate_monitor_enabled"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/heart_rate_monitor_enabled"
|
|
||||||
android:checked="true"
|
|
||||||
android:enabled="false"
|
|
||||||
android:layout_column="1"
|
|
||||||
android:layout_span="3" />
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/heart_rate_monitor_state_register"
|
|
||||||
android:gravity="right"
|
|
||||||
android:textSize="20dip"
|
|
||||||
android:layout_column="4"
|
|
||||||
android:layout_span="2"
|
|
||||||
android:text="@string/unknown" />
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<!-- Heart Rate -->
|
<!-- Heart Rate -->
|
||||||
@@ -170,14 +117,14 @@ limitations under the License.
|
|||||||
<TableRow
|
<TableRow
|
||||||
android:background="@color/stat_label_background">
|
android:background="@color/stat_label_background">
|
||||||
<TextView
|
<TextView
|
||||||
|
style="@style/StatsRegister.Big"
|
||||||
android:id="@+id/heart_rate_register"
|
android:id="@+id/heart_rate_register"
|
||||||
android:layout_column="1"
|
android:layout_column="1"
|
||||||
android:layout_span="4"
|
android:layout_span="4" />
|
||||||
style="@style/StatsRegister" />
|
|
||||||
<TextView
|
<TextView
|
||||||
|
style="@style/StatsUnitSolo"
|
||||||
android:layout_column="5"
|
android:layout_column="5"
|
||||||
android:text="@string/bpm"
|
android:text="@string/bpm" />
|
||||||
style="@style/StatsUnitSolo" />
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
android:title="@string/aggregated_stats"/>
|
android:title="@string/aggregated_stats"/>
|
||||||
|
|
||||||
<item android:id="@+id/menu_sensor_state"
|
<item android:id="@+id/menu_sensor_state"
|
||||||
|
android:icon="@drawable/menu_sensor_status"
|
||||||
android:orderInCategory="1000"
|
android:orderInCategory="1000"
|
||||||
android:title="@string/sensor_state"/>
|
android:title="@string/sensor_state"/>
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.google.android.apps.mytracks;
|
package com.google.android.apps.mytracks;
|
||||||
|
|
||||||
|
import static com.google.android.apps.mytracks.MyTracksConstants.TAG;
|
||||||
import com.google.android.apps.mytracks.content.Sensor;
|
import com.google.android.apps.mytracks.content.Sensor;
|
||||||
import com.google.android.apps.mytracks.services.ITrackRecordingService;
|
import com.google.android.apps.mytracks.services.ITrackRecordingService;
|
||||||
import com.google.android.apps.mytracks.services.sensors.SensorUtils;
|
import com.google.android.apps.mytracks.services.sensors.SensorUtils;
|
||||||
@@ -25,7 +26,6 @@ import android.app.Activity;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.CheckBox;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@@ -69,11 +69,13 @@ public class SensorStateActivity extends Activity {
|
|||||||
|
|
||||||
public SensorStateActivity() {
|
public SensorStateActivity() {
|
||||||
utils = new StatsUtilities(this);
|
utils = new StatsUtilities(this);
|
||||||
|
Log.w(TAG, "SensorStateActivity()");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
Log.w(TAG, "SensorStateActivity.onCreate");
|
||||||
|
|
||||||
setContentView(R.layout.sensor_state);
|
setContentView(R.layout.sensor_state);
|
||||||
|
|
||||||
@@ -98,7 +100,8 @@ public class SensorStateActivity extends Activity {
|
|||||||
protected void updateState() {
|
protected void updateState() {
|
||||||
MyTracks mt = MyTracks.getInstance();
|
MyTracks mt = MyTracks.getInstance();
|
||||||
|
|
||||||
ITrackRecordingService service = mt.getTrackRecordingService();
|
ITrackRecordingService service =
|
||||||
|
mt == null ? null : mt.getTrackRecordingService();
|
||||||
if (service == null) {
|
if (service == null) {
|
||||||
Log.d(MyTracksConstants.TAG, "Could not get track recording service.");
|
Log.d(MyTracksConstants.TAG, "Could not get track recording service.");
|
||||||
updateSensorState(Sensor.SensorState.NONE);
|
updateSensorState(Sensor.SensorState.NONE);
|
||||||
@@ -134,21 +137,12 @@ public class SensorStateActivity extends Activity {
|
|||||||
sensorTime.setText(SensorUtils.getStateAsString(state, this));
|
sensorTime.setText(SensorUtils.getStateAsString(state, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateSensorData(Sensor.SensorDataSet sds) {
|
protected void updateSensorData(Sensor.SensorDataSet sds) {
|
||||||
CheckBox heartRateMonitor =
|
|
||||||
(CheckBox) findViewById(R.id.heart_rate_monitor_enabled);
|
|
||||||
CheckBox powerMeter =
|
|
||||||
(CheckBox) findViewById(R.id.power_meter_enabled);
|
|
||||||
if (sds == null) {
|
if (sds == null) {
|
||||||
utils.setUnknown(R.id.sensor_data_time_register);
|
utils.setUnknown(R.id.sensor_data_time_register);
|
||||||
utils.setUnknown(R.id.cadence_state_register);
|
utils.setUnknown(R.id.cadence_state_register);
|
||||||
utils.setUnknown(R.id.power_state_register);
|
utils.setUnknown(R.id.power_state_register);
|
||||||
utils.setUnknown(R.id.power_meter_state_register);
|
|
||||||
powerMeter.setChecked(false);
|
|
||||||
|
|
||||||
utils.setUnknown(R.id.heart_rate_register);
|
utils.setUnknown(R.id.heart_rate_register);
|
||||||
utils.setUnknown(R.id.heart_rate_monitor_state_register);
|
|
||||||
heartRateMonitor.setChecked(false);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,46 +150,44 @@ public class SensorStateActivity extends Activity {
|
|||||||
((TextView) findViewById(R.id.sensor_data_time_register));
|
((TextView) findViewById(R.id.sensor_data_time_register));
|
||||||
sensorTime.setText(
|
sensorTime.setText(
|
||||||
TIMESTAMP_FORMAT.format(new Date(sds.getCreationTime())));
|
TIMESTAMP_FORMAT.format(new Date(sds.getCreationTime())));
|
||||||
/*
|
|
||||||
sensorTime.setTextColor(sd.isValid()
|
|
||||||
? R.color.stat_label_text
|
|
||||||
: R.color.red);
|
|
||||||
*/
|
|
||||||
|
|
||||||
utils.setText(R.id.power_meter_state_register,
|
if (sds.hasPower() && sds.getPower().hasValue()
|
||||||
SensorUtils.getStateAsString(
|
&& sds.getPower().getState() == Sensor.SensorState.SENDING) {
|
||||||
sds.hasPower()
|
utils.setText(R.id.power_state_register,
|
||||||
? sds.getPower().getState()
|
Integer.toString(sds.getPower().getValue()));
|
||||||
: Sensor.SensorState.NONE,
|
|
||||||
this));
|
|
||||||
boolean power = sds.hasPower() && sds.getPower().hasValue();
|
|
||||||
powerMeter.setChecked(power);
|
|
||||||
if (power) {
|
|
||||||
utils.setText(R.id.power_state_register, "" + sds.getPower().getValue());
|
|
||||||
} else {
|
} else {
|
||||||
utils.setUnknown(R.id.power_state_register);
|
utils.setText(R.id.power_state_register,
|
||||||
|
SensorUtils.getStateAsString(
|
||||||
|
sds.hasPower()
|
||||||
|
? sds.getPower().getState()
|
||||||
|
: Sensor.SensorState.NONE,
|
||||||
|
this));
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean cadence = sds.hasCadence() && sds.getCadence().hasValue();
|
if (sds.hasCadence() && sds.getCadence().hasValue()
|
||||||
if (cadence) {
|
&& sds.getCadence().getState() == Sensor.SensorState.SENDING) {
|
||||||
utils.setText(R.id.cadence_state_register,
|
utils.setText(R.id.cadence_state_register,
|
||||||
Integer.toString(sds.getCadence().getValue()));
|
Integer.toString(sds.getCadence().getValue()));
|
||||||
} else {
|
} else {
|
||||||
utils.setUnknown(R.id.cadence_state_register);
|
utils.setText(R.id.cadence_state_register,
|
||||||
|
SensorUtils.getStateAsString(
|
||||||
|
sds.hasCadence()
|
||||||
|
? sds.getCadence().getState()
|
||||||
|
: Sensor.SensorState.NONE,
|
||||||
|
this));
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean heartRate = sds.hasHeartRate() && sds.getHeartRate().hasValue();
|
if (sds.hasHeartRate() && sds.getHeartRate().hasValue()
|
||||||
heartRateMonitor.setChecked(heartRate);
|
&& sds.getHeartRate().getState() == Sensor.SensorState.SENDING) {
|
||||||
utils.setText(R.id.heart_rate_monitor_state_register,
|
utils.setText(R.id.heart_rate_register,
|
||||||
SensorUtils.getStateAsString(
|
Integer.toString(sds.getHeartRate().getValue()));
|
||||||
sds.hasHeartRate()
|
|
||||||
? sds.getHeartRate().getState()
|
|
||||||
: Sensor.SensorState.NONE,
|
|
||||||
this));
|
|
||||||
if (heartRate) {
|
|
||||||
utils.setText(R.id.heart_rate_register, "" + sds.getHeartRate().getValue());
|
|
||||||
} else {
|
} else {
|
||||||
utils.setUnknown(R.id.heart_rate_register);
|
utils.setText(R.id.heart_rate_register,
|
||||||
|
SensorUtils.getStateAsString(
|
||||||
|
sds.hasHeartRate()
|
||||||
|
? sds.getHeartRate().getState()
|
||||||
|
: Sensor.SensorState.NONE,
|
||||||
|
this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1044,33 +1044,33 @@ public class TrackRecordingService extends Service implements LocationListener {
|
|||||||
}
|
}
|
||||||
service.onLocationChanged(loc);
|
service.onLocationChanged(loc);
|
||||||
}
|
}
|
||||||
@Override
|
|
||||||
public byte[] getSensorData() {
|
|
||||||
if (service.sensorManager == null) {
|
|
||||||
Log.d(MyTracksConstants.TAG, "No sensor manager for data.");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (service.sensorManager.getSensorDataSet() == null) {
|
|
||||||
Log.d(MyTracksConstants.TAG, "Sensor data set is null.");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return service.sensorManager.getSensorDataSet().toByteArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSensorState() {
|
public byte[] getSensorData() {
|
||||||
if (service.sensorManager == null) {
|
if (service.sensorManager == null) {
|
||||||
Log.d(MyTracksConstants.TAG, "No sensor manager for data.");
|
Log.d(MyTracksConstants.TAG, "No sensor manager for data.");
|
||||||
return Sensor.SensorState.NONE.getNumber();
|
return null;
|
||||||
}
|
}
|
||||||
return service.sensorManager.getSensorState().getNumber();
|
if (service.sensorManager.getSensorDataSet() == null) {
|
||||||
}
|
Log.d(MyTracksConstants.TAG, "Sensor data set is null.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return service.sensorManager.getSensorDataSet().toByteArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSensorState() {
|
||||||
|
if (service.sensorManager == null) {
|
||||||
|
Log.d(MyTracksConstants.TAG, "No sensor manager for data.");
|
||||||
|
return Sensor.SensorState.NONE.getNumber();
|
||||||
|
}
|
||||||
|
return service.sensorManager.getSensorState().getNumber();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public long startNewTrack() {
|
public long startNewTrack() {
|
||||||
Log.d(MyTracksConstants.TAG, "TrackRecordingService.startNewTrack");
|
Log.d(MyTracksConstants.TAG, "TrackRecordingService.startNewTrack");
|
||||||
if (recordingTrackId != -1 || isRecording) {
|
if (recordingTrackId != -1 || isRecording) { throw new IllegalStateException("A track is already in progress!");
|
||||||
throw new IllegalStateException("A track is already in progress!");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
@@ -1138,6 +1138,11 @@ public class TrackRecordingService extends Service implements LocationListener {
|
|||||||
}
|
}
|
||||||
showNotification();
|
showNotification();
|
||||||
prefManager.setRecordingTrack(recordingTrackId = -1);
|
prefManager.setRecordingTrack(recordingTrackId = -1);
|
||||||
|
|
||||||
|
if (sensorManager != null) {
|
||||||
|
sensorManager.shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
releaseWakeLock();
|
releaseWakeLock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry combineaccessrules="false" kind="src" path="/MyTracks"/>
|
|
||||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||||
<classpathentry kind="src" path="src"/>
|
|
||||||
<classpathentry kind="src" path="gen"/>
|
|
||||||
<classpathentry kind="lib" path="libs/AndroidMockRuntime.jar"/>
|
|
||||||
<classpathentry kind="src" path=".apt_generated">
|
<classpathentry kind="src" path=".apt_generated">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="optional" value="true"/>
|
<attribute name="optional" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
|
<classpathentry combineaccessrules="false" kind="src" path="/MyTracks"/>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="src" path="gen"/>
|
||||||
|
<classpathentry kind="lib" path="libs/AndroidMockRuntime.jar"/>
|
||||||
|
<classpathentry kind="lib" path="libs/protobuf-java-2.3.0-lite.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import com.google.android.apps.mytracks.content.Sensor;
|
|||||||
import com.google.android.apps.mytracks.content.Track;
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
|
|
||||||
import android.location.Location;
|
|
||||||
import android.test.AndroidTestCase;
|
import android.test.AndroidTestCase;
|
||||||
|
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
|
|||||||
Reference in New Issue
Block a user