Enforce some basic error prone build rules
Start enforcing some basic build rules against TF AOSP for
starter.
- Fix the string format issue.
Test: error prone run
Bug: 35864476
Change-Id: Ia6bb9a7acd6883e1240bf83f5451e66b3298c6f8
diff --git a/src/com/android/media/tests/AudioLoopbackTest.java b/src/com/android/media/tests/AudioLoopbackTest.java
index 0fad1f8..1e4859b 100644
--- a/src/com/android/media/tests/AudioLoopbackTest.java
+++ b/src/com/android/media/tests/AudioLoopbackTest.java
@@ -80,24 +80,26 @@
@Option(name = "key-prefix", description = "Key Prefix for reporting")
private String mKeyPrefix = "48000_Mic3_";
- private final String DEVICE_TEMP_DIR_PATH = "/sdcard/";
- private final String OUTPUT_FILENAME = "output_" + System.currentTimeMillis();
- private final String OUTPUT_RESULT_TXT_PATH = DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + ".txt";
- private final String OUTPUT_PNG_PATH = DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + ".png";
- private final String OUTPUT_WAV_PATH = DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + ".wav";
- private final String OUTPUT_PLAYER_BUFFER_PATH =
+ private static final String DEVICE_TEMP_DIR_PATH = "/sdcard/";
+ private static final String OUTPUT_FILENAME = "output_" + System.currentTimeMillis();
+ private static final String OUTPUT_RESULT_TXT_PATH =
+ DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + ".txt";
+ private static final String OUTPUT_PNG_PATH = DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + ".png";
+ private static final String OUTPUT_WAV_PATH = DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + ".wav";
+ private static final String OUTPUT_PLAYER_BUFFER_PATH =
DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + "_playerBufferPeriod.txt";
- private final String OUTPUT_PLAYER_BUFFER_PNG_PATH =
+ private static final String OUTPUT_PLAYER_BUFFER_PNG_PATH =
DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + "_playerBufferPeriod.png";
- private final String OUTPUT_RECORDER_BUFFER_PATH =
+ private static final String OUTPUT_RECORDER_BUFFER_PATH =
DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + "_recorderBufferPeriod.txt";
- private final String OUTPUT_RECORDER_BUFFER_PNG_PATH =
+ private static final String OUTPUT_RECORDER_BUFFER_PNG_PATH =
DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + "_recorderBufferPeriod.png";
- private final String OUTPUT_GLITCH_PATH =
+ private static final String OUTPUT_GLITCH_PATH =
DEVICE_TEMP_DIR_PATH + OUTPUT_FILENAME + "_glitchMillis.txt";
- private final String AM_CMD = "am start -n org.drrickorang.loopback/.LoopbackActivity" +
- " --ei SF %s --es FileName %s --ei MicSource %s --ei AudioThread %s" +
- " --ei AudioLevel %s --ei TestType %s --ei BufferTestDuration %s";
+ private static final String AM_CMD =
+ "am start -n org.drrickorang.loopback/.LoopbackActivity"
+ + " --ei SF %s --es FileName %s --ei MicSource %s --ei AudioThread %s"
+ + " --ei AudioLevel %s --ei TestType %s --ei BufferTestDuration %s";
private static Map<String, String> createMetricsKeyMap() {
Map<String, String> result = new HashMap<String, String>();
diff --git a/src/com/android/media/tests/CameraPerformanceTest.java b/src/com/android/media/tests/CameraPerformanceTest.java
index a2252e3..c24c1b2 100644
--- a/src/com/android/media/tests/CameraPerformanceTest.java
+++ b/src/com/android/media/tests/CameraPerformanceTest.java
@@ -208,16 +208,16 @@
*/
public abstract class CtsResultParserBase {
// KPIs to be reported. The key is test methods and the value is KPIs in the method.
- private final ImmutableMultimap<String, String> REPORTING_KPIS =
+ private ImmutableMultimap<String, String> mReportingKpis =
new ImmutableMultimap.Builder<String, String>()
- .put("testCameraLaunch", "Camera launch time")
- .put("testCameraLaunch", "Camera start preview time")
- .put("testSingleCapture", "Camera capture result latency")
- .put("testReprocessingLatency", "YUV reprocessing shot to shot latency")
- .put("testReprocessingLatency", "opaque reprocessing shot to shot latency")
- .put("testReprocessingThroughput", "YUV reprocessing capture latency")
- .put("testReprocessingThroughput", "opaque reprocessing capture latency")
- .build();
+ .put("testCameraLaunch", "Camera launch time")
+ .put("testCameraLaunch", "Camera start preview time")
+ .put("testSingleCapture", "Camera capture result latency")
+ .put("testReprocessingLatency", "YUV reprocessing shot to shot latency")
+ .put("testReprocessingLatency", "opaque reprocessing shot to shot latency")
+ .put("testReprocessingThroughput", "YUV reprocessing capture latency")
+ .put("testReprocessingThroughput", "opaque reprocessing capture latency")
+ .build();
protected CtsMetric mSummary;
protected List<CtsMetric> mDetails = new ArrayList<>();
@@ -234,7 +234,7 @@
protected Map<String, String> filter(List<CtsMetric> metrics, String testMethod) {
Map<String, String> filtered = new HashMap<String, String>();
for (CtsMetric metric : metrics) {
- for (String kpiName : REPORTING_KPIS.get(testMethod)) {
+ for (String kpiName : mReportingKpis.get(testMethod)) {
// Post the data only when it matches with the given methods and KPI names.
if (metric.matches(testMethod, kpiName)) {
filtered.put(metric.schemaKey, metric.value);
@@ -297,11 +297,13 @@
public class CtsDelimitedResultParser extends CtsResultParserBase {
private static final String LOG_SEPARATOR = "\\+\\+\\+";
private static final String SUMMARY_SEPARATOR = "\\+\\+\\+\\+";
- private final Pattern SUMMARY_REGEX = Pattern.compile(
- "^(?<message>[^|]+)\\| \\|(?<type>[^|]+)\\|(?<unit>[^|]+)\\|(?<value>[0-9 .]+)");
- private final Pattern DETAIL_REGEX = Pattern.compile(
- "^(?<source>[^|]+)\\|(?<message>[^|]+)\\|(?<type>[^|]+)\\|(?<unit>[^|]+)\\|"
- + "(?<values>[0-9 .]+)");
+ private Pattern mSummaryRegex =
+ Pattern.compile(
+ "^(?<message>[^|]+)\\| \\|(?<type>[^|]+)\\|(?<unit>[^|]+)\\|(?<value>[0-9 .]+)");
+ private Pattern mDetailRegex =
+ Pattern.compile(
+ "^(?<source>[^|]+)\\|(?<message>[^|]+)\\|(?<type>[^|]+)\\|(?<unit>[^|]+)\\|"
+ + "(?<values>[0-9 .]+)");
@Override
public Map<String, String> parse(String result, String testMethod) {
@@ -315,7 +317,7 @@
if (output.length != 2) {
throw new RuntimeException("Value not in the correct format");
}
- Matcher summaryMatcher = SUMMARY_REGEX.matcher(output[0].trim());
+ Matcher summaryMatcher = mSummaryRegex.matcher(output[0].trim());
// Parse summary.
// Example: "Camera launch average time for Camera 1| |lower_better|ms|586.6++++"
@@ -335,7 +337,7 @@
// Example: "android.hardware.camera2.cts.PerformanceTest#testCameraLaunch:171|Camera 0: Camera open time|lower_better|ms|74.0 100.0 70.0 67.0 82.0 +++"
String[] details = output[1].split(LOG_SEPARATOR);
for (String detail : details) {
- Matcher detailMatcher = DETAIL_REGEX.matcher(detail.trim());
+ Matcher detailMatcher = mDetailRegex.matcher(detail.trim());
if (detailMatcher.matches()) {
// get average of kpi values
List<Double> values = new ArrayList<>();
diff --git a/src/com/android/media/tests/CameraSettingsTest.java b/src/com/android/media/tests/CameraSettingsTest.java
index 7c64eb9..12bb0cf 100644
--- a/src/com/android/media/tests/CameraSettingsTest.java
+++ b/src/com/android/media/tests/CameraSettingsTest.java
@@ -29,6 +29,7 @@
import com.android.tradefed.result.LogDataType;
import com.android.tradefed.testtype.IDeviceTest;
import com.android.tradefed.testtype.IRemoteTest;
+import com.android.tradefed.util.StreamUtil;
import org.junit.Assert;
@@ -65,7 +66,7 @@
private static final String TEST_RU = "CameraApplicationStress";
private final String mOutputPath = "cameraStressOutput.txt";
- private final int MAX_TIME_OUT = 90 * 60 * 1000; //90 mins
+ private static final int MAX_TIME_OUT = 90 * 60 * 1000; //90 mins
@Option(name="testMethodName", description="Used to specify a specific test method to run")
private String mTestMethodName = null;
@@ -157,13 +158,7 @@
} catch (IOException e) {
CLog.e(String.format("IOException reading from file: %s", e.toString()));
} finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {
- CLog.e(String.format("IOException closing file: %s", e.toString()));
- }
- }
+ StreamUtil.close(reader);
}
// Output file looks like:
@@ -185,14 +180,14 @@
Matcher expectedMatcher = EXPECTED_LOOP_COUNT_PATTERN.matcher(line);
if (expectedMatcher.matches()) {
- expectedCount = new Integer(expectedMatcher.group(3));
+ expectedCount = Integer.valueOf(expectedMatcher.group(3));
CLog.d(String.format("Found expected count for key \"%s\": %s",
key, expectedCount));
}
Matcher actualMatcher = ACTUAL_LOOP_COUNT_PATTERN.matcher(line);
if (actualMatcher.matches()) {
- actualCount = 1 + new Integer(actualMatcher.group(3));
+ actualCount = 1 + Integer.valueOf(actualMatcher.group(3));
CLog.d(String.format("Found actual count for key \"%s\": %s", key, actualCount));
}
diff --git a/src/com/android/media/tests/CameraTestBase.java b/src/com/android/media/tests/CameraTestBase.java
index 212e65d..f8928b7 100644
--- a/src/com/android/media/tests/CameraTestBase.java
+++ b/src/com/android/media/tests/CameraTestBase.java
@@ -442,15 +442,16 @@
// TODO: Leverage AUPT to collect system logs (meminfo, ION allocations and processes/threads)
private class MeminfoTimer {
- private final String LOG_HEADER =
+ private static final String LOG_HEADER =
"uptime,pssCameraDaemon,pssCameraApp,ramTotal,ramFree,ramUsed";
- private final String DUMPSYS_MEMINFO_COMMAND = "dumpsys meminfo -c | grep -w -e ^ram " +
- "-e ^time";
- private final String[] DUMPSYS_MEMINFO_PROC = {
- PROCESS_CAMERA_DAEMON, PROCESS_CAMERA_APP, PROCESS_MEDIASERVER };
- private final int STATE_STOPPED = 0;
- private final int STATE_SCHEDULED = 1;
- private final int STATE_RUNNING = 2;
+ private static final String DUMPSYS_MEMINFO_COMMAND =
+ "dumpsys meminfo -c | grep -w -e " + "^ram -e ^time";
+ private String[] mDumpsysMemInfoProc = {
+ PROCESS_CAMERA_DAEMON, PROCESS_CAMERA_APP, PROCESS_MEDIASERVER
+ };
+ private static final int STATE_STOPPED = 0;
+ private static final int STATE_SCHEDULED = 1;
+ private static final int STATE_RUNNING = 2;
private int mState = STATE_STOPPED;
private Timer mTimer = new Timer(true); // run as a daemon thread
@@ -463,7 +464,7 @@
mDelayMs = delayMs;
mPeriodMs = periodMs;
mCommand = DUMPSYS_MEMINFO_COMMAND;
- for (String process : DUMPSYS_MEMINFO_PROC) {
+ for (String process : mDumpsysMemInfoProc) {
mCommand += " -e " + process;
}
}
@@ -599,11 +600,11 @@
// 1 pool-6-thread-1
// FIXME: Resolve the error "sh: syntax error: '|' unexpected" using the command below
// $ /system/bin/ps -t -p %s | tr -s ' ' | cut -d' ' -f13- | sort | uniq -c | sort -nr"
- private final String PS_COMMAND_FORMAT = "/system/bin/ps -t -p %s";
- private final String PGREP_COMMAND_FORMAT = "pgrep %s";
- private final int STATE_STOPPED = 0;
- private final int STATE_SCHEDULED = 1;
- private final int STATE_RUNNING = 2;
+ private static final String PS_COMMAND_FORMAT = "/system/bin/ps -t -p %s";
+ private static final String PGREP_COMMAND_FORMAT = "pgrep %s";
+ private static final int STATE_STOPPED = 0;
+ private static final int STATE_SCHEDULED = 1;
+ private static final int STATE_RUNNING = 2;
private int mState = STATE_STOPPED;
private Timer mTimer = new Timer(true); // run as a daemon thread
diff --git a/src/com/android/media/tests/VideoEditingPerformanceTest.java b/src/com/android/media/tests/VideoEditingPerformanceTest.java
index da9885c..b2b1ec6 100644
--- a/src/com/android/media/tests/VideoEditingPerformanceTest.java
+++ b/src/com/android/media/tests/VideoEditingPerformanceTest.java
@@ -73,7 +73,7 @@
private static final String TEST_PACKAGE_NAME = "com.android.mediaframeworktest";
private static final String TEST_RUNNER_NAME = ".MediaFrameworkPerfTestRunner";
- private static final String mOutputPath = "VideoEditorPerformance.txt";
+ private static final String OUTPUT_PATH = "VideoEditorPerformance.txt";
private final RegexTrie<String> mPatternMap = new RegexTrie<String>();
@@ -157,8 +157,7 @@
private void cleanResultFile() throws DeviceNotAvailableException {
String extStore =
mTestDevice.getMountPoint(IDevice.MNT_EXTERNAL_STORAGE);
- mTestDevice.executeShellCommand(String.format("rm %s/%s", extStore,
- mOutputPath));
+ mTestDevice.executeShellCommand(String.format("rm %s/%s", extStore, OUTPUT_PATH));
}
/**
@@ -170,7 +169,7 @@
File outputFile = null;
InputStreamSource outputSource = null;
try {
- outputFile = mTestDevice.pullFileFromExternal(mOutputPath);
+ outputFile = mTestDevice.pullFileFromExternal(OUTPUT_PATH);
if (outputFile == null) {
return;
@@ -182,7 +181,7 @@
outputFile.length(), outputFile));
outputSource = new SnapshotInputStreamSource(new FileInputStream(
outputFile));
- listener.testLog(mOutputPath, LogDataType.TEXT, outputSource);
+ listener.testLog(OUTPUT_PATH, LogDataType.TEXT, outputSource);
// Parse the output file to upload aggregated metrics
parseOutputFile(new FileInputStream(outputFile), listener);