Update transactions transformations to be log-like

Test: N/A
Change-Id: I7a82f4812980e559dcbea69854691534221030f5
diff --git a/tools/winscope/src/App.vue b/tools/winscope/src/App.vue
index 0f6a2ac..3006507 100644
--- a/tools/winscope/src/App.vue
+++ b/tools/winscope/src/App.vue
@@ -57,7 +57,7 @@
 import DataAdb from './DataAdb.vue'
 import FileType from './mixins/FileType.js'
 
-const APP_NAME = "Winscope"
+const APP_NAME = "Winscope";
 
 export default {
   name: 'app',
diff --git a/tools/winscope/src/transform_transaction.js b/tools/winscope/src/transform_transaction.js
index 66e7c70..2873dbb 100644
--- a/tools/winscope/src/transform_transaction.js
+++ b/tools/winscope/src/transform_transaction.js
@@ -17,51 +17,52 @@
 import { transform, nanos_to_string } from './transform.js'
 
 function transform_transaction(transaction) {
-  return transform({
-    obj: transaction,
-    kind: 'transaction',
-    children: [[transaction.surfaceChange, transform_entry_type('surfaceChange')],
-    [transaction.displayChange, transform_entry_type('displayChange')]],
-    rects: [],
-    visible: false,
-  })
-}
+  const transactions = [];
 
-function transform_entry_type(transactionType) {
-  function return_transform(item) {
-    return Object.freeze({
-      obj: item,
-      kind: transactionType,
-      collapsed: false,
-      rects: [],
-      visible: false,
-      name: item.name || item.id || nanos_to_string(item.when),
-    });
+  for (const surfaceChange of transaction.surfaceChange) {
+    transactions.push(Object.freeze({
+      type: 'surfaceChange',
+      obj: surfaceChange,
+    }));
   }
-  return transactionType === 'transaction' ? transform_transaction : return_transform;
+  for (const displayChange of transaction.displayChange) {
+    transactions.push(Object.freeze({
+      type: 'displayChange',
+      obj: displayChange,
+    }));
+  }
+
+  return transactions;
 }
 
 function transform_entry(entry) {
-  var transactionType = entry.increment;
-  return transform({
-    obj: entry,
-    kind: 'entry',
-    name: nanos_to_string(entry.timeStamp),
-    children: [[[entry[transactionType]], transform_entry_type(transactionType)]],
-    timestamp: entry.timeStamp,
-  });
+  const type = entry.increment;
+  const timestamp = entry.timeStamp;
+  const time = nanos_to_string(timestamp);
+
+  switch (type) {
+    case "transaction":
+      return Object.freeze({
+        type,
+        transactions: transform_transaction(entry.transaction),
+        time,
+        timestamp,
+      });
+
+    default:
+      return Object.freeze({
+        type,
+        obj: entry[type],
+        time,
+        timestamp,
+      })
+  }
 }
 
 function transform_transaction_trace(entries) {
-  var r = transform({
-    obj: entries,
-    kind: 'entries',
-    name: 'transactionstrace',
-    children: [
-      [entries.increment, transform_entry],
-    ],
-  })
-  return r;
+  const data = entries.increment.map(transform_entry);
+
+  return { children: data };
 }
 
 export { transform_transaction_trace };