Move log formatting to BL executor subclasses
Device-side executor can't use Java 8 String.join() method, so
use different implementations of log formatting between host- and
device-side
bug: 119277392
Test: manual (cp to pi-dev)
Change-Id: Idd32cf5fe1d31de21dea447fbf8b253e2f0e39f6
diff --git a/common/host-side/util/src/com/android/compatibility/common/util/BusinessLogicHostExecutor.java b/common/host-side/util/src/com/android/compatibility/common/util/BusinessLogicHostExecutor.java
index 9a4dd46..0976969 100644
--- a/common/host-side/util/src/com/android/compatibility/common/util/BusinessLogicHostExecutor.java
+++ b/common/host-side/util/src/com/android/compatibility/common/util/BusinessLogicHostExecutor.java
@@ -69,6 +69,14 @@
* {@inheritDoc}
*/
@Override
+ protected String formatExecutionString(String method, String... args) {
+ return String.format("%s(%s)", method, String.join(", ", args));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
protected ResolvedMethod getResolvedMethod(Class cls, String methodName, String... args)
throws ClassNotFoundException {
List<Method> nameMatches = getMethodsWithName(cls, methodName);
diff --git a/common/util/src/com/android/compatibility/common/util/BusinessLogicExecutor.java b/common/util/src/com/android/compatibility/common/util/BusinessLogicExecutor.java
index 4cd2b11..a53b0c4 100644
--- a/common/util/src/com/android/compatibility/common/util/BusinessLogicExecutor.java
+++ b/common/util/src/com/android/compatibility/common/util/BusinessLogicExecutor.java
@@ -87,9 +87,10 @@
}
}
- private String formatExecutionString(String method, String... args) {
- return String.format("%s(%s)", method, String.join(", ", args));
- }
+ /**
+ * Format invokation information as "method(args[0], args[1], ...)".
+ */
+ protected abstract String formatExecutionString(String method, String... args);
/**
* Execute a business logic method.