diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java index 479739111..d578a2170 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java @@ -32,8 +32,8 @@ import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection import com.google.android.apps.mytracks.util.AnalyticsUtils; import com.google.android.apps.mytracks.util.ApiAdapterFactory; import com.google.android.apps.mytracks.util.EulaUtils; -import com.google.android.apps.mytracks.util.SystemUtils; import com.google.android.apps.mytracks.util.UriUtils; +import com.google.android.maps.mytracks.BuildConfig; import com.google.android.maps.mytracks.R; import android.app.Activity; @@ -73,7 +73,7 @@ public class MyTracks extends TabActivity implements OnTouchListener { private static final int DIALOG_CHECK_UNITS_ID = 1; private static final String CHECK_UNITS_PREFERENCE_FILE = "checkunits"; private static final String CHECK_UNITS_PREFERENCE_KEY = "checkunits.checked"; - + private TrackDataHub dataHub; /** @@ -140,7 +140,7 @@ public class MyTracks extends TabActivity implements OnTouchListener { protected void onCreate(Bundle savedInstanceState) { Log.d(TAG, "MyTracks.onCreate"); super.onCreate(savedInstanceState); - if (!SystemUtils.isRelease(this)) { + if (BuildConfig.DEBUG) { ApiAdapterFactory.getApiAdapter().enableStrictMode(); } @@ -153,7 +153,7 @@ public class MyTracks extends TabActivity implements OnTouchListener { serviceConnection = new TrackRecordingServiceConnection(this, serviceBindCallback); setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM); - + // Show the action bar (or nothing at all). ApiAdapterFactory.getApiAdapter().showActionBar(this); diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingServiceConnection.java b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingServiceConnection.java index f646ab1cd..58bfb95a2 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingServiceConnection.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingServiceConnection.java @@ -18,6 +18,7 @@ package com.google.android.apps.mytracks.services; import static com.google.android.apps.mytracks.Constants.TAG; import com.google.android.apps.mytracks.util.SystemUtils; +import com.google.android.maps.mytracks.BuildConfig; import android.content.ComponentName; import android.content.Context; @@ -157,7 +158,7 @@ public class TrackRecordingServiceConnection { Log.i(TAG, "Binding to the service"); Intent intent = new Intent(context, TrackRecordingService.class); - int flags = SystemUtils.isRelease(context) ? 0 : Context.BIND_DEBUG_UNBIND; + int flags = BuildConfig.DEBUG ? Context.BIND_DEBUG_UNBIND : 0; context.bindService(intent, serviceConnection, flags); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java index 1006e4a6b..2a16fb743 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java @@ -23,7 +23,7 @@ import com.dsi.ant.exception.AntInterfaceException; import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.content.Sensor; import com.google.android.apps.mytracks.util.ApiAdapterFactory; -import com.google.android.apps.mytracks.util.SystemUtils; +import com.google.android.maps.mytracks.BuildConfig; import com.google.android.maps.mytracks.R; import android.content.Context; @@ -32,7 +32,7 @@ import android.util.Log; /** * A sensor manager to the PC7 SRM ANT+ bridge. - * + * * @author Sandor Dornbush * @author Umran Abdulla */ @@ -54,15 +54,15 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { private static final int INDEX_MESSAGE_SPEED = 5; private static final int INDEX_MESSAGE_CADENCE = 7; private static final int INDEX_MESSAGE_BPM = 8; - + private static final int MSG_INITIAL = 5; private static final int MSG_DATA = 6; - + private short deviceNumber; public AntSrmBridgeSensorManager(Context context) { super(context); - + Log.i(TAG, "new ANT SRM Bridge Sensor Manager created"); deviceNumber = WILDCARD; @@ -77,15 +77,15 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { } Log.i(TAG, "Will pair with device: " + deviceNumber); } - - + + @Override protected boolean handleMessage(byte messageId, byte[] messageData) { if (super.handleMessage(messageId, messageData)) { return true; } - - if (!SystemUtils.isRelease(context)) { + + if (BuildConfig.DEBUG) { Log.d(TAG, "Received ANT msg: " + AntUtils.antMessageToString(messageId) + "(" + messageId + ")"); } @@ -100,7 +100,7 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { return true; } - + /** * Decode an ant device message. * @param messageData The byte array received from the device. @@ -132,10 +132,10 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { } setSensorState(Sensor.SensorState.CONNECTED); - + int messageType = antMessage[INDEX_MESSAGE_TYPE] & 0xFF; Log.d(TAG, "Received message-type=" + messageType); - + switch (messageType) { case MSG_INITIAL: break; @@ -149,7 +149,7 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { { int messageId = msg[INDEX_MESSAGE_ID] & 0xFF; Log.d(TAG, "Received message-id=" + messageId); - + int powerVal = (((msg[INDEX_MESSAGE_POWER] & 0xFF) << 8) | (msg[INDEX_MESSAGE_POWER+1] & 0xFF)); @SuppressWarnings("unused") @@ -158,12 +158,12 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { int cadenceVal = (msg[INDEX_MESSAGE_CADENCE] & 0xFF); int bpmVal = (msg[INDEX_MESSAGE_BPM] & 0xFF); long time = System.currentTimeMillis(); - - Sensor.SensorData.Builder power = + + Sensor.SensorData.Builder power = Sensor.SensorData.newBuilder() .setValue(powerVal) .setState(Sensor.SensorState.SENDING); - + /* * Although speed is available from the SRM Bridge, MyTracks doesn't use the value, and * computes speed from the GPS location data. @@ -171,12 +171,12 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { // Sensor.SensorData.Builder speed = Sensor.SensorData.newBuilder().setValue(speedVal).setState( // Sensor.SensorState.SENDING); - Sensor.SensorData.Builder cadence = + Sensor.SensorData.Builder cadence = Sensor.SensorData.newBuilder() .setValue(cadenceVal) .setState(Sensor.SensorState.SENDING); - Sensor.SensorData.Builder bpm = + Sensor.SensorData.Builder bpm = Sensor.SensorData.newBuilder() .setValue(bpmVal) .setState(Sensor.SensorState.SENDING); @@ -189,7 +189,7 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { .setHeartRate(bpm) .build(); } - + void handleChannelId(byte[] rawMessage) { AntChannelIdMessage message = new AntChannelIdMessage(rawMessage); deviceNumber = message.getDeviceNumber(); @@ -203,12 +203,12 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { } private void handleMessageResponse(byte[] rawMessage) { - AntChannelResponseMessage message = + AntChannelResponseMessage message = new AntChannelResponseMessage(rawMessage); - if (!SystemUtils.isRelease(context)) { + if (BuildConfig.DEBUG) { Log.d(TAG, "Received ANT Response: " + AntUtils.antMessageToString(message.getMessageId()) + "(" + message.getMessageId() + ")" + - ", Code: " + AntUtils.antEventToStr(message.getMessageCode()) + + ", Code: " + AntUtils.antEventToStr(message.getMessageCode()) + "(" + message.getMessageCode() + ")"); } switch (message.getMessageId()) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java index c45c88308..b0dc284d6 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/SystemUtils.java @@ -1,12 +1,12 @@ /* * Copyright 2011 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 @@ -22,7 +22,6 @@ import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; -import android.content.pm.Signature; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.util.Log; @@ -34,26 +33,6 @@ import android.util.Log; */ public class SystemUtils { - private static final int RELEASE_SIGNATURE_HASHCODE = -1855564782; - - /** - * Returns whether or not this is a release build. - */ - public static boolean isRelease(Context context) { - try { - Signature [] sigs = context.getPackageManager().getPackageInfo( - context.getPackageName(), PackageManager.GET_SIGNATURES).signatures; - for (Signature sig : sigs) { - if (sig.hashCode() == RELEASE_SIGNATURE_HASHCODE) { - return true; - } - } - } catch (NameNotFoundException e) { - Log.e(Constants.TAG, "Unable to get signatures", e); - } - return false; - } - /** * Get the My Tracks version from the manifest. *