Minor fixes.

This commit is contained in:
Sandor Dornbush
2010-12-01 17:28:22 -08:00
parent 06a00e6482
commit 7e4c01937f
8 changed files with 97 additions and 151 deletions
+1
View File
@@ -4,6 +4,7 @@
<classpathentry kind="lib" path="libs/googleloginclient-helper.jar"/>
<classpathentry kind="lib" path="libs/google-common.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="gen"/>
<classpathentry kind="output" path="bin"/>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 1.8 KiB

+29 -82
View File
@@ -63,100 +63,47 @@ limitations under the License.
style="@style/StatsRegister" />
</TableRow>
<!-- Power meter status -->
<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 -->
<!-- Power meter -->
<TableRow
android:padding="1dip">
<TextView
android:id="@+id/power_label"
android:textSize="20dip"
android:layout_column="1"
android:layout_span="3"
android:text="@string/power" />
</TableRow>
<TableRow
android:background="@color/stat_label_background">
<TextView
android:id="@+id/cadence_label"
android:layout_column="4"
android:layout_span="2"
style="@style/StatsRegister.Big"
android:id="@+id/power_state_register"
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" />
</TableRow>
<TableRow
android:background="@color/stat_label_background">
<TextView
android:gravity="right"
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"
style="@style/StatsRegister.Big"
android:id="@+id/cadence_state_register"
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" />
android:layout_column="4" />
<TextView
android:gravity="left"
style="@style/StatsUnitSolo" />
android:layout_column="2"
android:layout_marginBottom="-9dip"
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" />
android:text="@string/revolutions_per_minute" />
</TableRow>
<!-- Heart Rate -->
@@ -170,14 +117,14 @@ limitations under the License.
<TableRow
android:background="@color/stat_label_background">
<TextView
style="@style/StatsRegister.Big"
android:id="@+id/heart_rate_register"
android:layout_column="1"
android:layout_span="4"
style="@style/StatsRegister" />
android:layout_span="4" />
<TextView
style="@style/StatsUnitSolo"
android:layout_column="5"
android:text="@string/bpm"
style="@style/StatsUnitSolo" />
android:text="@string/bpm" />
</TableRow>
</TableLayout>
+1
View File
@@ -26,6 +26,7 @@
android:title="@string/aggregated_stats"/>
<item android:id="@+id/menu_sensor_state"
android:icon="@drawable/menu_sensor_status"
android:orderInCategory="1000"
android:title="@string/sensor_state"/>
@@ -15,6 +15,7 @@
*/
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.services.ITrackRecordingService;
import com.google.android.apps.mytracks.services.sensors.SensorUtils;
@@ -25,7 +26,6 @@ import android.app.Activity;
import android.os.Bundle;
import android.os.RemoteException;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.TextView;
import java.text.SimpleDateFormat;
@@ -69,11 +69,13 @@ public class SensorStateActivity extends Activity {
public SensorStateActivity() {
utils = new StatsUtilities(this);
Log.w(TAG, "SensorStateActivity()");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.w(TAG, "SensorStateActivity.onCreate");
setContentView(R.layout.sensor_state);
@@ -98,7 +100,8 @@ public class SensorStateActivity extends Activity {
protected void updateState() {
MyTracks mt = MyTracks.getInstance();
ITrackRecordingService service = mt.getTrackRecordingService();
ITrackRecordingService service =
mt == null ? null : mt.getTrackRecordingService();
if (service == null) {
Log.d(MyTracksConstants.TAG, "Could not get track recording service.");
updateSensorState(Sensor.SensorState.NONE);
@@ -134,21 +137,12 @@ public class SensorStateActivity extends Activity {
sensorTime.setText(SensorUtils.getStateAsString(state, this));
}
private void updateSensorData(Sensor.SensorDataSet sds) {
CheckBox heartRateMonitor =
(CheckBox) findViewById(R.id.heart_rate_monitor_enabled);
CheckBox powerMeter =
(CheckBox) findViewById(R.id.power_meter_enabled);
protected void updateSensorData(Sensor.SensorDataSet sds) {
if (sds == null) {
utils.setUnknown(R.id.sensor_data_time_register);
utils.setUnknown(R.id.cadence_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_monitor_state_register);
heartRateMonitor.setChecked(false);
return;
}
@@ -156,46 +150,44 @@ public class SensorStateActivity extends Activity {
((TextView) findViewById(R.id.sensor_data_time_register));
sensorTime.setText(
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,
SensorUtils.getStateAsString(
sds.hasPower()
? sds.getPower().getState()
: 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());
if (sds.hasPower() && sds.getPower().hasValue()
&& sds.getPower().getState() == Sensor.SensorState.SENDING) {
utils.setText(R.id.power_state_register,
Integer.toString(sds.getPower().getValue()));
} 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 (cadence) {
if (sds.hasCadence() && sds.getCadence().hasValue()
&& sds.getCadence().getState() == Sensor.SensorState.SENDING) {
utils.setText(R.id.cadence_state_register,
Integer.toString(sds.getCadence().getValue()));
} 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();
heartRateMonitor.setChecked(heartRate);
utils.setText(R.id.heart_rate_monitor_state_register,
SensorUtils.getStateAsString(
sds.hasHeartRate()
? sds.getHeartRate().getState()
: Sensor.SensorState.NONE,
this));
if (heartRate) {
utils.setText(R.id.heart_rate_register, "" + sds.getHeartRate().getValue());
if (sds.hasHeartRate() && sds.getHeartRate().hasValue()
&& sds.getHeartRate().getState() == Sensor.SensorState.SENDING) {
utils.setText(R.id.heart_rate_register,
Integer.toString(sds.getHeartRate().getValue()));
} 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);
}
@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
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();
}
@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
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() {
Log.d(MyTracksConstants.TAG, "TrackRecordingService.startNewTrack");
if (recordingTrackId != -1 || isRecording) {
throw new IllegalStateException("A track is already in progress!");
if (recordingTrackId != -1 || isRecording) { throw new IllegalStateException("A track is already in progress!");
}
long startTime = System.currentTimeMillis();
@@ -1138,6 +1138,11 @@ public class TrackRecordingService extends Service implements LocationListener {
}
showNotification();
prefManager.setRecordingTrack(recordingTrackId = -1);
if (sensorManager != null) {
sensorManager.shutdown();
}
releaseWakeLock();
}
+5 -4
View File
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry combineaccessrules="false" kind="src" path="/MyTracks"/>
<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">
<attributes>
<attribute name="optional" value="true"/>
</attributes>
</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"/>
</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.Waypoint;
import android.location.Location;
import android.test.AndroidTestCase;
import org.w3c.dom.Document;