aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuang Zhu <guangzhu@google.com>2016-01-30 17:39:17 -0800
committerGuang Zhu <guangzhu@google.com>2016-01-30 17:39:56 -0800
commit0995dc68291f19f36362640b944191c649468e86 (patch)
tree3b7359c5f0be7c429562b3d48ff1aa4ea6fdb25d
parent4c4a6e468c70e7edb1ba4fa58030690f37420fe3 (diff)
downloadtradefederation-0995dc68291f19f36362640b944191c649468e86.tar.gz
protect long parsing from NFE
Change-Id: Id766aa68faaea9f6a1f145cac8af1040808e370e
-rw-r--r--src/com/android/tradefed/device/TestDevice.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/com/android/tradefed/device/TestDevice.java b/src/com/android/tradefed/device/TestDevice.java
index ef5647c0a..3703eef0e 100644
--- a/src/com/android/tradefed/device/TestDevice.java
+++ b/src/com/android/tradefed/device/TestDevice.java
@@ -47,8 +47,8 @@ import com.android.tradefed.util.RunUtil;
import com.android.tradefed.util.SizeLimitedOutputStream;
import com.android.tradefed.util.StreamUtil;
-import java.awt.image.BufferedImage;
import java.awt.Image;
+import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FilenameFilter;
@@ -3217,16 +3217,21 @@ class TestDevice implements IManagedTestDevice {
}
private long getDeviceTimeOffset(Date date) throws DeviceNotAvailableException {
- String deviceTime = executeShellCommand("date +%s");
+ String deviceTimeString = executeShellCommand("date +%s");
+ Long deviceTime = null;
+ long offset = 0;
+
+ try {
+ deviceTime = Long.valueOf(deviceTimeString.trim());
+ } catch (NumberFormatException nfe) {
+ CLog.i("Invalid device time: \"%s\", ignored.");
+ return 0;
+ }
if (date == null) {
date = new Date();
}
- long hostTime = date.getTime();
- long offset = 0;
- if (deviceTime != null) {
- offset = hostTime - (Long.valueOf(deviceTime.trim()) * 1000);
- }
+ offset = date.getTime() - deviceTime * 1000;
CLog.d("Time offset = " + offset);
return offset;
}