forked from upstream-mirrors/OpenTracks
Fix comments for ad70806c8dc7
This commit is contained in:
@@ -48,9 +48,7 @@ import java.util.Locale;
|
|||||||
class DocsTagBuilder {
|
class DocsTagBuilder {
|
||||||
|
|
||||||
private static final DecimalFormatSymbols FORMAT_SYMBOLS =
|
private static final DecimalFormatSymbols FORMAT_SYMBOLS =
|
||||||
ApiFeatures.getInstance().hasDecimalFormatSymbolsGetInstance()
|
ApiFeatures.getInstance().getApiPlatformAdapter().getDecimalFormatSysmbols(Locale.ENGLISH);
|
||||||
? DecimalFormatSymbols.getInstance(Locale.ENGLISH)
|
|
||||||
: new DecimalFormatSymbols(Locale.ENGLISH);
|
|
||||||
private static final NumberFormat LARGE_UNIT_FORMAT =
|
private static final NumberFormat LARGE_UNIT_FORMAT =
|
||||||
new DecimalFormat("#,###,###.00", FORMAT_SYMBOLS);
|
new DecimalFormat("#,###,###.00", FORMAT_SYMBOLS);
|
||||||
private static final NumberFormat SMALL_UNIT_FORMAT =
|
private static final NumberFormat SMALL_UNIT_FORMAT =
|
||||||
|
|||||||
+3
-14
@@ -24,7 +24,7 @@ import java.util.Arrays;
|
|||||||
* An implementation of a Sensor MessageParser for Zephyr.
|
* An implementation of a Sensor MessageParser for Zephyr.
|
||||||
*
|
*
|
||||||
* @author Sandor Dornbush
|
* @author Sandor Dornbush
|
||||||
* @author Dominik R�ttsches
|
* @author Dominik Rttsches
|
||||||
*/
|
*/
|
||||||
public class ZephyrMessageParser implements MessageParser {
|
public class ZephyrMessageParser implements MessageParser {
|
||||||
|
|
||||||
@@ -57,24 +57,13 @@ public class ZephyrMessageParser implements MessageParser {
|
|||||||
return sds.build();
|
return sds.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Copies a byte array. In case Arrays.copyOfRange is not available.
|
|
||||||
*/
|
|
||||||
private byte[] copyByteArray(byte[] input, int from, int to) {
|
|
||||||
int length = to - from;
|
|
||||||
byte[] output = new byte[length];
|
|
||||||
System.arraycopy(input, from, output, 0, length);
|
|
||||||
return output;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setCadence(Sensor.SensorDataSet.Builder sds, byte[] buffer) {
|
private void setCadence(Sensor.SensorDataSet.Builder sds, byte[] buffer) {
|
||||||
// Device Firmware ID, Firmware Version, Hardware ID, Hardware Version
|
// Device Firmware ID, Firmware Version, Hardware ID, Hardware Version
|
||||||
// 0x1A00316550003162 produces erroneous values for Cadence and needs
|
// 0x1A00316550003162 produces erroneous values for Cadence and needs
|
||||||
// a workaround based on the stride counter.
|
// a workaround based on the stride counter.
|
||||||
// Firmware values range from field 3 to 10 (inclusive) of the byte buffer.
|
// Firmware values range from field 3 to 10 (inclusive) of the byte buffer.
|
||||||
byte[] hardwareFirmwareId = ApiFeatures.getInstance().hasArraysCopyOfRange()
|
byte[] hardwareFirmwareId = ApiFeatures.getInstance().getApiPlatformAdapter()
|
||||||
? Arrays.copyOfRange(buffer, 3, 11)
|
.copyByteArray(buffer, 3, 11);
|
||||||
: copyByteArray(buffer, 3, 11);
|
|
||||||
Sensor.SensorData.Builder cadence = Sensor.SensorData.newBuilder();
|
Sensor.SensorData.Builder cadence = Sensor.SensorData.newBuilder();
|
||||||
|
|
||||||
if (Arrays.equals(hardwareFirmwareId, CADENCE_BUG_FW_ID)) {
|
if (Arrays.equals(hardwareFirmwareId, CADENCE_BUG_FW_ID)) {
|
||||||
|
|||||||
@@ -24,9 +24,6 @@ import android.bluetooth.BluetoothDevice;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import java.text.DecimalFormatSymbols;
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class for determining if newer-API features are available on the
|
* Utility class for determining if newer-API features are available on the
|
||||||
* current device.
|
* current device.
|
||||||
@@ -133,20 +130,6 @@ public class ApiFeatures {
|
|||||||
return getApiLevel() >= 9;
|
return getApiLevel() >= 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if {@link DecimalFormatSymbols#getInstance} is available.
|
|
||||||
*/
|
|
||||||
public boolean hasDecimalFormatSymbolsGetInstance() {
|
|
||||||
return getApiLevel() >= 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if {@link Arrays#copyOfRange} is available.
|
|
||||||
*/
|
|
||||||
public boolean hasArraysCopyOfRange() {
|
|
||||||
return getApiLevel() >= 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
// API Level 10 changes
|
// API Level 10 changes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ import android.app.NotificationManager;
|
|||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
|
||||||
|
import java.text.DecimalFormatSymbols;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A set of methods that may be implemented in a platform specific way.
|
* A set of methods that may be implemented in a platform specific way.
|
||||||
*
|
*
|
||||||
@@ -60,4 +63,25 @@ public interface ApiPlatformAdapter {
|
|||||||
* Enables strict mode where supported, only if this is a development build.
|
* Enables strict mode where supported, only if this is a development build.
|
||||||
*/
|
*/
|
||||||
void enableStrictMode();
|
void enableStrictMode();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copies elements from the input byte array into a new byte array, from
|
||||||
|
* indexes start (inclusive) to end (exclusive). The end index must be less
|
||||||
|
* than or equal to input.length.
|
||||||
|
*
|
||||||
|
* @param input the input byte array
|
||||||
|
* @param start the start index
|
||||||
|
* @param end the end index
|
||||||
|
* @return a new array containing elements from the input byte array
|
||||||
|
*/
|
||||||
|
byte[] copyByteArray(byte[] input, int start, int end);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets an instance of {@link DecimalFormatSymbols} for a locale.
|
||||||
|
*
|
||||||
|
* @param locale the locale
|
||||||
|
* @return a new instance of {@link DecimalFormatSymbols}
|
||||||
|
*/
|
||||||
|
DecimalFormatSymbols getDecimalFormatSymbols(Locale locale);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ import android.util.Log;
|
|||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.text.DecimalFormatSymbols;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Cupcake (API level 3) specific implementation of the
|
* The Cupcake (API level 3) specific implementation of the
|
||||||
@@ -79,4 +81,17 @@ public class CupcakePlatformAdapter implements ApiPlatformAdapter {
|
|||||||
public void enableStrictMode() {
|
public void enableStrictMode() {
|
||||||
// Not supported
|
// Not supported
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public byte[] copyByteArray(byte[] input, int start, int end) {
|
||||||
|
int length = end - start;
|
||||||
|
byte[] output = new byte[length];
|
||||||
|
System.arraycopy(input, start, output, 0, length);
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DecimalFormatSymbols getDecimalFormatSysmbols(Locale locale) {
|
||||||
|
return new DecimalFormatSymbols(locale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package com.google.android.apps.mytracks.util;
|
|||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.SharedPreferences.Editor;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Eclair (API level 5) specific implementation of the
|
* The Eclair (API level 5) specific implementation of the
|
||||||
@@ -26,7 +25,7 @@ import android.content.SharedPreferences.Editor;
|
|||||||
*
|
*
|
||||||
* @author Bartlomiej Niechwiej
|
* @author Bartlomiej Niechwiej
|
||||||
*/
|
*/
|
||||||
public class EclairPlatformAdapter implements ApiPlatformAdapter {
|
public class EclairPlatformAdapter extends CupcakePlatformAdapter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startForeground(Service service,
|
public void startForeground(Service service,
|
||||||
@@ -40,14 +39,4 @@ public class EclairPlatformAdapter implements ApiPlatformAdapter {
|
|||||||
NotificationManager notificationManager, int id) {
|
NotificationManager notificationManager, int id) {
|
||||||
service.stopForeground(id != -1);
|
service.stopForeground(id != -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void applyPreferenceChanges(Editor editor) {
|
|
||||||
editor.commit();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void enableStrictMode() {
|
|
||||||
// Not supported
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ import android.content.SharedPreferences.Editor;
|
|||||||
import android.os.StrictMode;
|
import android.os.StrictMode;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import java.text.DecimalFormatSymbols;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Gingerbread (API level 9) specific implememntation of the
|
* The Gingerbread (API level 9) specific implememntation of the
|
||||||
* {@link ApiPlatformAdapter}.
|
* {@link ApiPlatformAdapter}.
|
||||||
@@ -13,6 +17,7 @@ import android.util.Log;
|
|||||||
* @author Rodrigo Damazio
|
* @author Rodrigo Damazio
|
||||||
*/
|
*/
|
||||||
public class GingerbreadPlatformAdapter extends EclairPlatformAdapter {
|
public class GingerbreadPlatformAdapter extends EclairPlatformAdapter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applyPreferenceChanges(Editor editor) {
|
public void applyPreferenceChanges(Editor editor) {
|
||||||
// Apply asynchronously
|
// Apply asynchronously
|
||||||
@@ -32,4 +37,14 @@ public class GingerbreadPlatformAdapter extends EclairPlatformAdapter {
|
|||||||
.penaltyLog()
|
.penaltyLog()
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public byte[] copyByteArray(byte[] input, int start, int end) {
|
||||||
|
return Arrays.copyOfRange(input, start, end);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DecimalFormatSymbols getDecimalFormatSysmbols(Locale locale) {
|
||||||
|
return DecimalFormatSymbols.getInstance(locale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user