Minor import fixes

- Remove legacy transform_utils
- Update imports
- Fix a few more imports to relative path

Bug: 311642700
Test: npm run test:unit:ci
Change-Id: Iea0e47f8c0f7167cc7d72e846520104980f152aa
diff --git a/tools/winscope/src/common/geometry/transform_utils.ts b/tools/winscope/src/common/geometry/transform_utils.ts
index b6844fa..5ef9eef 100644
--- a/tools/winscope/src/common/geometry/transform_utils.ts
+++ b/tools/winscope/src/common/geometry/transform_utils.ts
@@ -14,10 +14,7 @@
  * limitations under the License.
  */
 
-import {
-  IDENTITY_MATRIX,
-  TransformMatrix,
-} from 'common/geometry/transform_matrix';
+import {IDENTITY_MATRIX, TransformMatrix} from './transform_matrix';
 
 export enum TransformTypeFlags {
   EMPTY = 0x0,
diff --git a/tools/winscope/src/messaging/progress_listener_stub.ts b/tools/winscope/src/messaging/progress_listener_stub.ts
index f980c08..6ba5da0 100644
--- a/tools/winscope/src/messaging/progress_listener_stub.ts
+++ b/tools/winscope/src/messaging/progress_listener_stub.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-import {ProgressListener} from 'messaging/progress_listener';
+import {ProgressListener} from './progress_listener';
 
 export class ProgressListenerStub implements ProgressListener {
   onProgressUpdate() {
diff --git a/tools/winscope/src/parsers/operations/set_formatters_test.ts b/tools/winscope/src/parsers/operations/set_formatters_test.ts
index fed6cf0..f1210c3 100644
--- a/tools/winscope/src/parsers/operations/set_formatters_test.ts
+++ b/tools/winscope/src/parsers/operations/set_formatters_test.ts
@@ -15,6 +15,7 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
+import {TransformTypeFlags} from 'common/geometry/transform_utils';
 import {TimestampConverterUtils} from 'common/time/test_utils';
 import {
   TamperedMessageType,
@@ -23,7 +24,6 @@
 import root from 'protos/test/fake_proto/json';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
 import {TreeNodeUtils} from 'test/unit/tree_node_utils';
-import {TransformTypeFlags} from 'trace/surface_flinger/transform_utils';
 import {EMPTY_OBJ_STRING, LAYER_ID_FORMATTER} from 'trace/tree_node/formatters';
 import {PropertyTreeNode} from 'trace/tree_node/property_tree_node';
 import {SetFormatters} from './set_formatters';
diff --git a/tools/winscope/src/parsers/surface_flinger/operations/update_transforms.ts b/tools/winscope/src/parsers/surface_flinger/operations/update_transforms.ts
index 94626f0..8389b55 100644
--- a/tools/winscope/src/parsers/surface_flinger/operations/update_transforms.ts
+++ b/tools/winscope/src/parsers/surface_flinger/operations/update_transforms.ts
@@ -14,7 +14,9 @@
  * limitations under the License.
  */
 
-import {Transform} from 'trace/surface_flinger/transform_utils';
+import {assertDefined} from 'common/assert_utils';
+import {TransformMatrix} from 'common/geometry/transform_matrix';
+import {Transform, TransformType} from 'common/geometry/transform_utils';
 import {Operation} from 'trace/tree_node/operations/operation';
 import {PropertyTreeNode} from 'trace/tree_node/property_tree_node';
 import {DEFAULT_PROPERTY_TREE_NODE_FACTORY} from 'trace/tree_node/property_tree_node_factory';
@@ -54,7 +56,10 @@
 
     this.adjustDeprecatedTransformNode(transformNode);
 
-    const newMatrix = Transform.from(transformNode, positionNode).matrix;
+    const newMatrix = UpdateTransforms.createTransform(
+      transformNode,
+      positionNode,
+    ).matrix;
     transformNode.addOrReplaceChild(
       DEFAULT_PROPERTY_TREE_NODE_FACTORY.makeCalculatedProperty(
         transformNode.id,
@@ -92,4 +97,47 @@
       DEFAULT_PROPERTY_TREE_NODE_FACTORY.makeProtoProperty(id, 'dsdy', dsdy),
     );
   }
+
+  static createTransform(
+    transformNode: PropertyTreeNode,
+    position?: PropertyTreeNode,
+  ): Transform {
+    if (transformNode.getAllChildren().length === 0) return Transform.EMPTY;
+
+    const transformType = transformNode.getChildByName('type')?.getValue() ?? 0;
+    const matrixNode = transformNode.getChildByName('matrix');
+
+    if (matrixNode) {
+      return new Transform(
+        transformType,
+        TransformMatrix.from({
+          dsdx: assertDefined(matrixNode.getChildByName('dsdx')).getValue(),
+          dtdx: assertDefined(matrixNode.getChildByName('dtdx')).getValue(),
+          tx: assertDefined(matrixNode.getChildByName('tx')).getValue(),
+          dtdy: assertDefined(matrixNode.getChildByName('dtdy')).getValue(),
+          dsdy: assertDefined(matrixNode.getChildByName('dsdy')).getValue(),
+          ty: assertDefined(matrixNode.getChildByName('ty')).getValue(),
+        }),
+      );
+    }
+
+    const x = position?.getChildByName('x')?.getValue() ?? 0;
+    const y = position?.getChildByName('y')?.getValue() ?? 0;
+
+    if (TransformType.isSimpleTransform(transformType)) {
+      return TransformType.getDefaultTransform(transformType, x, y);
+    }
+
+    return new Transform(
+      transformType,
+      TransformMatrix.from({
+        dsdx: transformNode.getChildByName('dsdx')?.getValue() ?? 0,
+        dtdx: transformNode.getChildByName('dtdx')?.getValue() ?? 0,
+        tx: x,
+        dtdy: transformNode.getChildByName('dtdy')?.getValue() ?? 0,
+        dsdy: transformNode.getChildByName('dsdy')?.getValue() ?? 0,
+        ty: y,
+      }),
+    );
+  }
 }
diff --git a/tools/winscope/src/parsers/surface_flinger/operations/update_transforms_test.ts b/tools/winscope/src/parsers/surface_flinger/operations/update_transforms_test.ts
index 1126a6b..c6e6efb 100644
--- a/tools/winscope/src/parsers/surface_flinger/operations/update_transforms_test.ts
+++ b/tools/winscope/src/parsers/surface_flinger/operations/update_transforms_test.ts
@@ -15,9 +15,9 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
+import {TransformTypeFlags} from 'common/geometry/transform_utils';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
 import {TreeNodeUtils} from 'test/unit/tree_node_utils';
-import {TransformTypeFlags} from 'trace/surface_flinger/transform_utils';
 import {PropertyTreeNode} from 'trace/tree_node/property_tree_node';
 import {UpdateTransforms} from './update_transforms';
 
diff --git a/tools/winscope/src/test/unit/tree_node_utils.ts b/tools/winscope/src/test/unit/tree_node_utils.ts
index 4cf96d3..a716ff4 100644
--- a/tools/winscope/src/test/unit/tree_node_utils.ts
+++ b/tools/winscope/src/test/unit/tree_node_utils.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-import {TransformTypeFlags} from 'trace/surface_flinger/transform_utils';
+import {TransformTypeFlags} from 'common/geometry/transform_utils';
 import {HierarchyTreeNode} from 'trace/tree_node/hierarchy_tree_node';
 import {PropertyTreeNode} from 'trace/tree_node/property_tree_node';
 import {DEFAULT_PROPERTY_TREE_NODE_FACTORY} from 'trace/tree_node/property_tree_node_factory';
diff --git a/tools/winscope/src/trace/surface_flinger/transform_utils.ts b/tools/winscope/src/trace/surface_flinger/transform_utils.ts
deleted file mode 100644
index 833ada4..0000000
--- a/tools/winscope/src/trace/surface_flinger/transform_utils.ts
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {assertDefined} from 'common/assert_utils';
-import {
-  IDENTITY_MATRIX,
-  TransformMatrix,
-} from 'common/geometry/transform_matrix';
-import {PropertyTreeNode} from 'trace/tree_node/property_tree_node';
-
-export enum TransformTypeFlags {
-  EMPTY = 0x0,
-  TRANSLATE_VAL = 0x0001,
-  ROTATE_VAL = 0x0002,
-  SCALE_VAL = 0x0004,
-  FLIP_H_VAL = 0x0100,
-  FLIP_V_VAL = 0x0200,
-  ROT_90_VAL = 0x0400,
-  ROT_INVALID_VAL = 0x8000,
-}
-
-export class Transform {
-  static EMPTY = new Transform(TransformTypeFlags.EMPTY, IDENTITY_MATRIX);
-
-  constructor(
-    public type: TransformTypeFlags,
-    public matrix: TransformMatrix,
-  ) {}
-
-  static from(
-    transformNode: PropertyTreeNode,
-    position?: PropertyTreeNode,
-  ): Transform {
-    if (transformNode.getAllChildren().length === 0) return Transform.EMPTY;
-
-    const transformType = transformNode.getChildByName('type')?.getValue() ?? 0;
-    const matrixNode = transformNode.getChildByName('matrix');
-
-    if (matrixNode) {
-      return new Transform(
-        transformType,
-        TransformMatrix.from({
-          dsdx: assertDefined(matrixNode.getChildByName('dsdx')).getValue(),
-          dtdx: assertDefined(matrixNode.getChildByName('dtdx')).getValue(),
-          tx: assertDefined(matrixNode.getChildByName('tx')).getValue(),
-          dtdy: assertDefined(matrixNode.getChildByName('dtdy')).getValue(),
-          dsdy: assertDefined(matrixNode.getChildByName('dsdy')).getValue(),
-          ty: assertDefined(matrixNode.getChildByName('ty')).getValue(),
-        }),
-      );
-    }
-
-    const x = position?.getChildByName('x')?.getValue() ?? 0;
-    const y = position?.getChildByName('y')?.getValue() ?? 0;
-
-    if (TransformType.isSimpleTransform(transformType)) {
-      return TransformType.getDefaultTransform(transformType, x, y);
-    }
-
-    return new Transform(
-      transformType,
-      TransformMatrix.from({
-        dsdx: transformNode.getChildByName('dsdx')?.getValue() ?? 0,
-        dtdx: transformNode.getChildByName('dtdx')?.getValue() ?? 0,
-        tx: x,
-        dtdy: transformNode.getChildByName('dtdy')?.getValue() ?? 0,
-        dsdy: transformNode.getChildByName('dsdy')?.getValue() ?? 0,
-        ty: y,
-      }),
-    );
-  }
-}
-
-export class TransformType {
-  static getTypeFlags(type: TransformTypeFlags): string {
-    const typeFlags: string[] = [];
-
-    if (
-      TransformType.isFlagClear(
-        type,
-        TransformTypeFlags.SCALE_VAL |
-          TransformTypeFlags.ROTATE_VAL |
-          TransformTypeFlags.TRANSLATE_VAL,
-      )
-    ) {
-      typeFlags.push('IDENTITY');
-    }
-
-    if (TransformType.isFlagSet(type, TransformTypeFlags.SCALE_VAL)) {
-      typeFlags.push('SCALE');
-    }
-
-    if (TransformType.isFlagSet(type, TransformTypeFlags.TRANSLATE_VAL)) {
-      typeFlags.push('TRANSLATE');
-    }
-
-    if (TransformType.isFlagSet(type, TransformTypeFlags.ROT_INVALID_VAL)) {
-      typeFlags.push('ROT_INVALID');
-    } else if (
-      TransformType.isFlagSet(
-        type,
-        TransformTypeFlags.ROT_90_VAL |
-          TransformTypeFlags.FLIP_V_VAL |
-          TransformTypeFlags.FLIP_H_VAL,
-      )
-    ) {
-      typeFlags.push('ROT_270');
-    } else if (
-      TransformType.isFlagSet(
-        type,
-        TransformTypeFlags.FLIP_V_VAL | TransformTypeFlags.FLIP_H_VAL,
-      )
-    ) {
-      typeFlags.push('ROT_180');
-    } else {
-      if (TransformType.isFlagSet(type, TransformTypeFlags.ROT_90_VAL)) {
-        typeFlags.push('ROT_90');
-      }
-      if (TransformType.isFlagSet(type, TransformTypeFlags.FLIP_V_VAL)) {
-        typeFlags.push('FLIP_V');
-      }
-      if (TransformType.isFlagSet(type, TransformTypeFlags.FLIP_H_VAL)) {
-        typeFlags.push('FLIP_H');
-      }
-    }
-
-    if (typeFlags.length === 0) {
-      throw TransformType.makeUnknownTransformTypeError(type);
-    }
-    return typeFlags.join('|');
-  }
-
-  static getDefaultTransform(
-    type: TransformTypeFlags,
-    x: number,
-    y: number,
-  ): Transform {
-    // IDENTITY
-    if (!type) {
-      return new Transform(
-        type,
-        TransformMatrix.from({
-          dsdx: 1,
-          dtdx: 0,
-          tx: x,
-          dtdy: 0,
-          dsdy: 1,
-          ty: y,
-        }),
-      );
-    }
-
-    // ROT_270 = ROT_90|FLIP_H|FLIP_V
-    if (
-      TransformType.isFlagSet(
-        type,
-        TransformTypeFlags.ROT_90_VAL |
-          TransformTypeFlags.FLIP_V_VAL |
-          TransformTypeFlags.FLIP_H_VAL,
-      )
-    ) {
-      return new Transform(
-        type,
-        TransformMatrix.from({
-          dsdx: 0,
-          dtdx: -1,
-          tx: x,
-          dtdy: 1,
-          dsdy: 0,
-          ty: y,
-        }),
-      );
-    }
-
-    // ROT_180 = FLIP_H|FLIP_V
-    if (
-      TransformType.isFlagSet(
-        type,
-        TransformTypeFlags.FLIP_V_VAL | TransformTypeFlags.FLIP_H_VAL,
-      )
-    ) {
-      return new Transform(
-        type,
-        TransformMatrix.from({
-          dsdx: -1,
-          dtdx: 0,
-          tx: x,
-          dtdy: 0,
-          dsdy: -1,
-          ty: y,
-        }),
-      );
-    }
-
-    // ROT_90
-    if (TransformType.isFlagSet(type, TransformTypeFlags.ROT_90_VAL)) {
-      return new Transform(
-        type,
-        TransformMatrix.from({
-          dsdx: 0,
-          dtdx: 1,
-          tx: x,
-          dtdy: -1,
-          dsdy: 0,
-          ty: y,
-        }),
-      );
-    }
-
-    // IDENTITY
-    if (
-      TransformType.isFlagClear(
-        type,
-        TransformTypeFlags.SCALE_VAL | TransformTypeFlags.ROTATE_VAL,
-      )
-    ) {
-      return new Transform(
-        type,
-        TransformMatrix.from({
-          dsdx: 1,
-          dtdx: 0,
-          tx: x,
-          dtdy: 0,
-          dsdy: 1,
-          ty: y,
-        }),
-      );
-    }
-
-    throw TransformType.makeUnknownTransformTypeError(type);
-  }
-
-  static makeUnknownTransformTypeError(type: TransformTypeFlags): Error {
-    return new Error(`Unknown transform type ${type} found in SF trace entry`);
-  }
-
-  static isSimpleTransform(type: TransformTypeFlags): boolean {
-    return TransformType.isFlagClear(
-      type,
-      TransformTypeFlags.ROT_INVALID_VAL | TransformTypeFlags.SCALE_VAL,
-    );
-  }
-
-  private static isFlagSet(type: TransformTypeFlags, bits: number): boolean {
-    type = type || 0;
-    return (type & bits) === bits;
-  }
-
-  private static isFlagClear(type: TransformTypeFlags, bits: number): boolean {
-    return (type & bits) === 0;
-  }
-}
diff --git a/tools/winscope/src/trace/trace_rect_builder.ts b/tools/winscope/src/trace/trace_rect_builder.ts
index 44d3b17..63e290e 100644
--- a/tools/winscope/src/trace/trace_rect_builder.ts
+++ b/tools/winscope/src/trace/trace_rect_builder.ts
@@ -17,7 +17,7 @@
 import {CornerRadii} from 'common/geometry/corner_radii';
 import {Region} from 'common/geometry/region';
 import {TransformMatrix} from 'common/geometry/transform_matrix';
-import {Transform} from 'trace/surface_flinger/transform_utils';
+import {Transform} from 'common/geometry/transform_utils';
 import {TraceRect} from './trace_rect';
 
 export class TraceRectBuilder {
diff --git a/tools/winscope/src/trace/tree_node/formatters.ts b/tools/winscope/src/trace/tree_node/formatters.ts
index 2847a83..532c4bc 100644
--- a/tools/winscope/src/trace/tree_node/formatters.ts
+++ b/tools/winscope/src/trace/tree_node/formatters.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
+import {TransformType} from 'common/geometry/transform_utils';
 import {Timestamp} from 'common/time/time';
 import {TimeDuration} from 'common/time/time_duration';
 import {RawDataUtils} from 'parsers/raw_data_utils';
 import {CujType} from 'trace/cujs/cuj_type';
-import {TransformType} from 'trace/surface_flinger/transform_utils';
 import {PropertyTreeNode} from './property_tree_node';
 
 const EMPTY_OBJ_STRING = '{empty}';
diff --git a/tools/winscope/src/trace/tree_node/formatters_test.ts b/tools/winscope/src/trace/tree_node/formatters_test.ts
index 355aa9c..8bb1ee4 100644
--- a/tools/winscope/src/trace/tree_node/formatters_test.ts
+++ b/tools/winscope/src/trace/tree_node/formatters_test.ts
@@ -16,9 +16,9 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {IDENTITY_MATRIX} from 'common/geometry/transform_matrix';
+import {TransformTypeFlags} from 'common/geometry/transform_utils';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
 import {TreeNodeUtils} from 'test/unit/tree_node_utils';
-import {TransformTypeFlags} from 'trace/surface_flinger/transform_utils';
 import {
   BUFFER_FORMATTER,
   COLOR_FORMATTER,
diff --git a/tools/winscope/src/viewers/common/ui_rect_factory_test.ts b/tools/winscope/src/viewers/common/ui_rect_factory_test.ts
index 59cb0cb..1d946bb 100644
--- a/tools/winscope/src/viewers/common/ui_rect_factory_test.ts
+++ b/tools/winscope/src/viewers/common/ui_rect_factory_test.ts
@@ -15,9 +15,9 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
+import {Transform} from 'common/geometry/transform_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
-import {Transform} from 'trace/surface_flinger/transform_utils';
 import {TraceRectBuilder} from 'trace/trace_rect_builder';
 import {HierarchyTreeNode} from 'trace/tree_node/hierarchy_tree_node';
 import {UiRect} from 'viewers/components/rects/ui_rect';
diff --git a/tools/winscope/src/viewers/components/rects/canvas_test.ts b/tools/winscope/src/viewers/components/rects/canvas_test.ts
index 5c436a7..8fc9cd3 100644
--- a/tools/winscope/src/viewers/components/rects/canvas_test.ts
+++ b/tools/winscope/src/viewers/components/rects/canvas_test.ts
@@ -21,12 +21,12 @@
 import {Distance} from 'common/geometry/distance';
 import {Point3D} from 'common/geometry/point3d';
 import {IDENTITY_MATRIX} from 'common/geometry/transform_matrix';
-import * as THREE from 'three';
-import {CSS2DObject} from 'three/examples/jsm/renderers/CSS2DRenderer';
 import {
   TransformType,
   TransformTypeFlags,
-} from 'trace/surface_flinger/transform_utils';
+} from 'common/geometry/transform_utils';
+import * as THREE from 'three';
+import {CSS2DObject} from 'three/examples/jsm/renderers/CSS2DRenderer';
 import {ViewerEvents} from 'viewers/common/viewer_events';
 import {Camera} from './camera';
 import {Canvas} from './canvas';
diff --git a/tools/winscope/src/viewers/viewer_input/presenter_test.ts b/tools/winscope/src/viewers/viewer_input/presenter_test.ts
index 98c604a..c3bd985 100644
--- a/tools/winscope/src/viewers/viewer_input/presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_input/presenter_test.ts
@@ -15,6 +15,7 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
+import {Transform} from 'common/geometry/transform_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
 import {TimestampConverterUtils} from 'common/time/test_utils';
 import {TimeUtils} from 'common/time/time_utils';
@@ -30,7 +31,6 @@
 import {InputColumnType} from 'trace/input/input_column_type';
 import {InputEventType} from 'trace/input/input_event_type';
 import {Parser} from 'trace/parser';
-import {Transform} from 'trace/surface_flinger/transform_utils';
 import {Trace} from 'trace/trace';
 import {TRACE_INFO} from 'trace/trace_info';
 import {TraceRectBuilder} from 'trace/trace_rect_builder';