sync from main

This commit is contained in:
Jimmy Shih
2011-11-16 17:55:56 -08:00
parent e28a9a7cd2
commit 1c2d64ea0a
3 changed files with 35 additions and 24 deletions
+8 -8
View File
@@ -1221,18 +1221,18 @@ limitations under the License.
</string> </string>
<string name="settings_display_track_color_dynamic_medium" <string name="settings_display_track_color_dynamic_medium"
translation_description="In the Display settings, under the 'Dynamic thresholds' configurations, translation_description="In the Display settings, under the 'Dynamic thresholds' configurations,
the option for configuring the medium speed percentage. It is the percentage from the average the option for configuring the percentage from the average speed to be considered as the
speed to be considered as the medium speed. The track color mode will use different colors to medium speed. The track color mode will use different colors to color a track depending on
color a track depending on whether the speed is above, in, or below the medium speed range."> whether the speed is above, in, or below the medium speed range.">
Medium speed percentage Medium percentage
</string> </string>
<string name="settings_display_track_color_dynamic_medium_summary" <string name="settings_display_track_color_dynamic_medium_summary"
translation_description="In the Display settings, under the 'Dynamic thresholds' configurations, translation_description="In the Display settings, under the 'Dynamic thresholds' configurations,
the summary for the 'Medium speed percentage' option explaining that it sets a percentage from the summary for the 'Medium percentage' option explaining that it sets the percentage from
the average speed to be considered as the medium speed color. The track color mode will use the average speed to be considered as the medium speed. The track color mode will use
different colors to color a track depending on whether the speed is above, in, or below the different colors to color a track depending on whether the speed is above, in, or below the
medium speed range."> medium speed range.">
Percentage from the average speed for the medium speed color. Percentage from the average speed for the medium speed range.
</string> </string>
<string name="settings_display_track_color_fixed" <string name="settings_display_track_color_fixed"
translation_description="In the Display settings, for the 'Track color mode' dropdown, the translation_description="In the Display settings, for the 'Track color mode' dropdown, the
@@ -1273,7 +1273,7 @@ limitations under the License.
<string name="settings_display_track_color_summary" <string name="settings_display_track_color_summary"
translation_description="In the Display settings, the summary for the 'Track color mode' translation_description="In the Display settings, the summary for the 'Track color mode'
dropdown explaining that it configures how colors are used to color a track based on speed."> dropdown explaining that it configures how colors are used to color a track based on speed.">
The way to color a track based on speed. The way to color a track based on slow, medium, and high speed.
</string> </string>
<string name="settings_not_while_recording" <string name="settings_not_while_recording"
translation_description="In the Settings page, the summary for an option that is not available translation_description="In the Settings page, the summary for an option that is not available
@@ -25,8 +25,8 @@ public class AntMessage {
/** Build a short value from its constituent bytes */ /** Build a short value from its constituent bytes */
protected static short decodeShort(byte b0, byte b1) { protected static short decodeShort(byte b0, byte b1) {
short value = b0; int value = b0 & 0xFF;
value |= ((short) b1) << 8; value |= (b1 & 0xFF) << 8;
return value; return (short)value;
} }
} }
@@ -92,7 +92,7 @@ public abstract class AntSensorManager extends SensorManager {
String antAction = intent.getAction(); String antAction = intent.getAction();
Log.i(TAG, "enter data onReceive" + antAction); Log.i(TAG, "enter data onReceive" + antAction);
if (antAction.equals(AntInterfaceIntent.ANT_RX_MESSAGE_ACTION)) { if (antAction != null && antAction.equals(AntInterfaceIntent.ANT_RX_MESSAGE_ACTION)) {
byte[] antMessage = intent.getByteArrayExtra(AntInterfaceIntent.ANT_MESSAGE); byte[] antMessage = intent.getByteArrayExtra(AntInterfaceIntent.ANT_MESSAGE);
if (DEBUGGING) { if (DEBUGGING) {
Log.d(TAG, "Received RX message " + messageToString(antMessage)); Log.d(TAG, "Received RX message " + messageToString(antMessage));
@@ -185,22 +185,23 @@ public abstract class AntSensorManager extends SensorManager {
* Cleans up the ANT+ receiver interface, by releasing the interface * Cleans up the ANT+ receiver interface, by releasing the interface
* and destroying it. * and destroying it.
*/ */
private void cleanAntInterface() private void cleanAntInterface() {
{
Log.i(TAG, "Destroying AntSensorManager"); Log.i(TAG, "Destroying AntSensorManager");
if (antReceiver != null) { try {
try { if (antReceiver == null) {
antReceiver.releaseInterface(); Log.e(TAG, "no ANT receiver");
} catch (AntServiceNotConnectedException e) { return;
Log.i(TAG, "ANT service not connected", e);
} catch (AntInterfaceException e) {
Log.e(TAG, "failed to release ANT interface", e);
} }
antReceiver.releaseInterface();
antReceiver.destroy(); antReceiver.destroy();
antReceiver = null; antReceiver = null;
} catch (AntServiceNotConnectedException e) {
Log.i(TAG, "ANT service not connected", e);
} catch (AntInterfaceException e) {
Log.e(TAG, "failed to release ANT interface", e);
} catch (RuntimeException e) {
Log.e(TAG, "run-time exception when cleaning the ANT interface", e);
} }
} }
@@ -213,6 +214,11 @@ public abstract class AntSensorManager extends SensorManager {
Log.d(TAG, "ANT service connected"); Log.d(TAG, "ANT service connected");
try { try {
if (antReceiver == null) {
Log.e(TAG, "no ANT receiver");
return;
}
if (!antReceiver.claimInterface()) { if (!antReceiver.claimInterface()) {
Log.e(TAG, "failed to claim ANT interface"); Log.e(TAG, "failed to claim ANT interface");
return; return;
@@ -300,6 +306,11 @@ public abstract class AntSensorManager extends SensorManager {
byte radioFreq, byte proxSearch) { byte radioFreq, byte proxSearch) {
try { try {
if (antReceiver == null) {
Log.e(TAG, "no ANT receiver");
return false;
}
// Assign as slave channel on selected network (0 = public, 1 = ANT+, 2 = // Assign as slave channel on selected network (0 = public, 1 = ANT+, 2 =
// ANTFS) // ANTFS)
antReceiver.ANTAssignChannel(channelNumber, AntDefine.PARAMETER_RX_NOT_TX, networkNumber); antReceiver.ANTAssignChannel(channelNumber, AntDefine.PARAMETER_RX_NOT_TX, networkNumber);