Highlight layer in treeview when rect is clicked

Fixes a bug where the layer wasn't highlighted when we clicked on it in the rect view

Test: Click on the rects and make sure they are highlighted in the rect view
Change-Id: Ifa2c18cfbc0d8a255550ac32a3e3ed3946679fd3
diff --git a/tools/winscope/src/TraceView.vue b/tools/winscope/src/TraceView.vue
index 02fde4f..3dbc941 100644
--- a/tools/winscope/src/TraceView.vue
+++ b/tools/winscope/src/TraceView.vue
@@ -369,7 +369,13 @@
         return null;
       }
 
-      return this.summarizer(this.hierarchySelected);
+      const summary = this.summarizer(this.hierarchySelected);
+
+      if (summary?.length === 0) {
+        return null;
+      }
+
+      return summary;
     },
   },
   components: {
diff --git a/tools/winscope/src/transform.js b/tools/winscope/src/transform.js
index d57de61..34556dd 100644
--- a/tools/winscope/src/transform.js
+++ b/tools/winscope/src/transform.js
@@ -39,6 +39,7 @@
   visible,
   flattened,
   stableId,
+  freeze = true,
 }) {
   function call(fn, arg) {
     return (typeof fn == 'function') ? fn(arg) : fn;
@@ -113,7 +114,7 @@
     rectResolved.ref = result;
   }
 
-  return Object.freeze(result);
+  return freeze ? Object.freeze(result) : result;
 }
 
 function getDiff(val, compareVal) {
diff --git a/tools/winscope/src/transform_sf.js b/tools/winscope/src/transform_sf.js
index c4d3611..d69ddea 100644
--- a/tools/winscope/src/transform_sf.js
+++ b/tools/winscope/src/transform_sf.js
@@ -115,14 +115,12 @@
   });
 
   // NOTE: Temporary until refactored to use flickerlib
-  return {
-    ...transformedLayer, ...{
-      invisibleDueTo: layer.invisibleDueTo,
-      occludedBy: layer.occludedBy,
-      partiallyOccludedBy: layer.partiallyOccludedBy,
-      coveredBy: layer.coveredBy,
-    },
-  };
+  transformedLayer.invisibleDueTo = layer.invisibleDueTo;
+  transformedLayer.occludedBy = layer.occludedBy;
+  transformedLayer.partiallyOccludedBy = layer.partiallyOccludedBy;
+  transformedLayer.coveredBy = layer.coveredBy;
+
+  return Object.freeze(transformedLayer);
 }
 
 function missingLayer(childId) {