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.