Remove more JS export/jsname annotations and string to long conversion

Without transpiling the code to typescript, it is no longer necessary to keep the values as string, we can use the native Kotlin Long type instead

Bug: 311642700
Test: atest FlickerLibTest FlickerLibUtilTests FlickerLibE2eTest
Change-Id: I4d300738d7e0eca3da5e338e9f842448fedba1e9
diff --git a/libraries/flicker/src/android/tools/common/flicker/Factories.kt b/libraries/flicker/src/android/tools/common/flicker/Factories.kt
index 718529c..a1defe5 100644
--- a/libraries/flicker/src/android/tools/common/flicker/Factories.kt
+++ b/libraries/flicker/src/android/tools/common/flicker/Factories.kt
@@ -18,9 +18,7 @@
 
 import android.tools.common.flicker.config.FlickerConfig
 import android.tools.common.flicker.config.FlickerConfigImpl
-import kotlin.js.JsName
 
-@JsName("FlickerServiceFactory")
 fun FlickerService(flickerConfig: FlickerConfig): FlickerService = FlickerServiceImpl(flickerConfig)
 
-@JsName("ServiceRegistryFactory") fun FlickerConfig(): FlickerConfig = FlickerConfigImpl()
+fun FlickerConfig(): FlickerConfig = FlickerConfigImpl()
diff --git a/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Display.kt b/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Display.kt
index 57f6359..c9cd9cb 100644
--- a/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Display.kt
+++ b/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Display.kt
@@ -27,7 +27,7 @@
 /** Wrapper for DisplayProto (frameworks/native/services/surfaceflinger/layerproto/display.proto) */
 class Display
 private constructor(
-    val id: String,
+    val id: Long,
     val name: String,
     val layerStackId: Int,
     val size: Size,
@@ -99,7 +99,7 @@
         val EMPTY: Display
             get() = withCache {
                 Display(
-                    id = "0",
+                    id = 0,
                     name = "EMPTY",
                     layerStackId = BLANK_LAYER_STACK,
                     size = Size.EMPTY,
@@ -112,7 +112,7 @@
             }
 
         fun from(
-            id: String,
+            id: Long,
             name: String,
             layerStackId: Int,
             size: Size,
diff --git a/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Layer.kt b/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Layer.kt
index 2bdd44b..9ae56d5 100644
--- a/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Layer.kt
+++ b/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/Layer.kt
@@ -35,7 +35,7 @@
     val id: Int,
     val parentId: Int,
     val z: Int,
-    currFrameString: String,
+    val currFrame: Long,
     properties: ILayerProperties,
 ) : ILayerProperties by properties {
     val stableId: String = "$id $name"
@@ -43,7 +43,6 @@
     var zOrderRelativeOf: Layer? = null
     var zOrderRelativeParentOf: Int = 0
     val packageName = ComponentName.fromLayerName(name).packageName
-    val currFrame: Long = currFrameString.toLong() // Handles compatibility with JS number type
 
     /**
      * Checks if the [Layer] is a root layer in the hierarchy
@@ -359,7 +358,7 @@
                     stackId,
                     excludesCompositionState
                 )
-            return Layer(name, id, parentId, z, currFrame.toString(), properties)
+            return Layer(name, id, parentId, z, currFrame, properties)
         }
     }
 }
diff --git a/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilder.kt b/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilder.kt
index 7c107d6..8d4d66d 100644
--- a/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilder.kt
+++ b/libraries/flicker/utils/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilder.kt
@@ -36,9 +36,7 @@
         error("Duplicate layer id found: ${it.id}")
     }
 
-    fun setVSyncId(vSyncId: String): LayerTraceEntryBuilder =
-        // Necessary for compatibility with JS number type
-        apply { this.vSyncId = vSyncId.toLong() }
+    fun setVSyncId(vSyncId: Long): LayerTraceEntryBuilder = apply { this.vSyncId = vSyncId }
 
     fun setHwcBlob(hwcBlob: String): LayerTraceEntryBuilder = apply { this.hwcBlob = hwcBlob }
 
@@ -48,15 +46,15 @@
         this.displays = displays
     }
 
-    fun setElapsedTimestamp(timestamp: String): LayerTraceEntryBuilder =
-        // Necessary for compatibility with JS number type
-        apply { this.elapsedTimestamp = timestamp.toLong() }
+    fun setElapsedTimestamp(timestamp: Long): LayerTraceEntryBuilder = apply {
+        this.elapsedTimestamp = timestamp
+    }
 
-    fun setRealToElapsedTimeOffsetNs(realToElapsedTimeOffsetNs: String?): LayerTraceEntryBuilder =
+    fun setRealToElapsedTimeOffsetNs(realToElapsedTimeOffsetNs: Long?): LayerTraceEntryBuilder =
         apply {
             this.realTimestamp =
-                if (realToElapsedTimeOffsetNs != null && realToElapsedTimeOffsetNs.toLong() != 0L) {
-                    realToElapsedTimeOffsetNs.toLong() + elapsedTimestamp
+                if (realToElapsedTimeOffsetNs != null && realToElapsedTimeOffsetNs != 0L) {
+                    realToElapsedTimeOffsetNs + elapsedTimestamp
                 } else {
                     null
                 }
diff --git a/libraries/flicker/utils/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilder.kt b/libraries/flicker/utils/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilder.kt
index db36ff4..c2cb0c7 100644
--- a/libraries/flicker/utils/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilder.kt
+++ b/libraries/flicker/utils/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilder.kt
@@ -29,7 +29,6 @@
     private var keyguardControllerState: KeyguardControllerState? = null
     private var where = ""
 
-    // Necessary for compatibility with JS number type
     private var elapsedTimestamp: Long = 0L
     private var realTimestamp: Long? = null
 
@@ -73,14 +72,14 @@
 
     fun setWhere(value: String): WindowManagerTraceEntryBuilder = apply { where = value }
 
-    fun setElapsedTimestamp(value: String): WindowManagerTraceEntryBuilder =
+    fun setElapsedTimestamp(value: Long): WindowManagerTraceEntryBuilder =
         // Necessary for compatibility with JS number type
-        apply { elapsedTimestamp = value.toLong() }
+        apply { elapsedTimestamp = value }
 
-    fun setRealToElapsedTimeOffsetNs(value: String?): WindowManagerTraceEntryBuilder = apply {
+    fun setRealToElapsedTimeOffsetNs(value: Long?): WindowManagerTraceEntryBuilder = apply {
         realTimestamp =
-            if (value != null && value.toLong() != 0L) {
-                value.toLong() + elapsedTimestamp
+            if (value != null && value != 0L) {
+                value + elapsedTimestamp
             } else {
                 null
             }
diff --git a/libraries/flicker/utils/src/android/tools/device/traces/parsers/perfetto/LayersTraceParser.kt b/libraries/flicker/utils/src/android/tools/device/traces/parsers/perfetto/LayersTraceParser.kt
index 003f89a..042982b 100644
--- a/libraries/flicker/utils/src/android/tools/device/traces/parsers/perfetto/LayersTraceParser.kt
+++ b/libraries/flicker/utils/src/android/tools/device/traces/parsers/perfetto/LayersTraceParser.kt
@@ -60,7 +60,7 @@
 
         return session.query(getSqlQuerySnapshots()) { snapshotsRows ->
             val traceEntries = ArrayList<LayerTraceEntry>()
-            val snapshotGroups = snapshotsRows.groupBy { it.get("snapshot_id") }
+            val snapshotGroups = snapshotsRows.groupBy { it["snapshot_id"] }
 
             for (snapshotId in 0L..(snapshotGroups.size - 1)) {
                 Logger.withTracing("query + build entry") {
@@ -99,7 +99,7 @@
 
         val idAndLayers =
             layersRows
-                .groupBy { it.get("layer_id").toString() }
+                .groupBy { it["layer_id"].toString() }
                 .map { (layerId, layerRows) -> Pair(layerId, newLayer(Args.build(layerRows))) }
                 .toMutableList()
         idAndLayers.sortBy { it.first.toLong() }
@@ -107,13 +107,11 @@
         val layers = idAndLayers.map { it.second }.toTypedArray()
 
         return LayerTraceEntryBuilder()
-            .setElapsedTimestamp(
-                snapshotArgs.getChild("elapsed_realtime_nanos")?.getLong()?.toString() ?: "0"
-            )
-            .setRealToElapsedTimeOffsetNs(realToMonotonicTimeOffsetNs.toString())
+            .setElapsedTimestamp(snapshotArgs.getChild("elapsed_realtime_nanos")?.getLong() ?: 0L)
+            .setRealToElapsedTimeOffsetNs(realToMonotonicTimeOffsetNs)
             .setLayers(layers)
             .setDisplays(displays)
-            .setVSyncId(snapshotArgs.getChild("vsync_id")?.getLong()?.toString() ?: "0")
+            .setVSyncId(snapshotArgs.getChild("vsync_id")?.getLong() ?: 0L)
             .setHwcBlob(snapshotArgs.getChild("hwc_blob")?.getString() ?: "")
             .setWhere(snapshotArgs.getChild("where")?.getString() ?: "")
             .setOrphanLayerCallback(orphanLayerCallback)
@@ -189,7 +187,7 @@
 
         private fun newDisplay(display: Args): android.tools.common.traces.surfaceflinger.Display {
             return android.tools.common.traces.surfaceflinger.Display.from(
-                display.getChild("id")?.getLong()?.toString() ?: "",
+                display.getChild("id")?.getLong() ?: 0L,
                 display.getChild("name")?.getString() ?: "",
                 display.getChild("layer_stack")?.getInt() ?: 0,
                 newSize(display.getChild("size")),
diff --git a/libraries/flicker/utils/src/android/tools/device/traces/parsers/wm/WindowManagerStateBuilder.kt b/libraries/flicker/utils/src/android/tools/device/traces/parsers/wm/WindowManagerStateBuilder.kt
index 261568a..d3cd651 100644
--- a/libraries/flicker/utils/src/android/tools/device/traces/parsers/wm/WindowManagerStateBuilder.kt
+++ b/libraries/flicker/utils/src/android/tools/device/traces/parsers/wm/WindowManagerStateBuilder.kt
@@ -86,7 +86,7 @@
 
         computedZCounter = 0
         return WindowManagerTraceEntryBuilder()
-            .setElapsedTimestamp(timestamp.toString())
+            .setElapsedTimestamp(timestamp)
             .setPolicy(createWindowManagerPolicy(proto.policy))
             .setFocusedApp(proto.focusedApp)
             .setFocusedDisplayId(proto.focusedDisplayId)
@@ -108,7 +108,7 @@
                 createKeyguardControllerState(proto.rootWindowContainer.keyguardController)
             )
             .setWhere(where)
-            .setRealToElapsedTimeOffsetNs(realToElapsedTimeOffsetNanos.toString())
+            .setRealToElapsedTimeOffsetNs(realToElapsedTimeOffsetNanos)
             .build()
     }
 
diff --git a/libraries/flicker/utils/test/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilderTest.kt b/libraries/flicker/utils/test/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilderTest.kt
index 513638a..2ece3ff 100644
--- a/libraries/flicker/utils/test/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilderTest.kt
+++ b/libraries/flicker/utils/test/src/android/tools/common/traces/surfaceflinger/LayerTraceEntryBuilderTest.kt
@@ -42,11 +42,11 @@
     fun createsEntryWithCorrectClockTime() {
         val builder =
             LayerTraceEntryBuilder()
-                .setElapsedTimestamp("100")
+                .setElapsedTimestamp(100)
                 .setLayers(emptyArray())
                 .setDisplays(emptyArray())
-                .setVSyncId("123")
-                .setRealToElapsedTimeOffsetNs("500")
+                .setVSyncId(123)
+                .setRealToElapsedTimeOffsetNs(500)
         val entry = builder.build()
         Truth.assertThat(entry.elapsedTimestamp).isEqualTo(100)
         Truth.assertThat(entry.clockTimestamp).isEqualTo(600)
@@ -60,10 +60,10 @@
     fun supportsMissingRealToElapsedTimeOffsetNs() {
         val builder =
             LayerTraceEntryBuilder()
-                .setElapsedTimestamp("100")
+                .setElapsedTimestamp(100)
                 .setLayers(emptyArray())
                 .setDisplays(emptyArray())
-                .setVSyncId("123")
+                .setVSyncId(123)
         val entry = builder.build()
         Truth.assertThat(entry.elapsedTimestamp).isEqualTo(100)
         Truth.assertThat(entry.clockTimestamp).isEqualTo(null)
@@ -110,7 +110,7 @@
         val displays =
             listOf(
                 Display.from(
-                    id = "display#1",
+                    id = 1,
                     name = "display",
                     layerStackId = offDisplayStackId,
                     size = Size.EMPTY,
@@ -124,10 +124,10 @@
 
         val builder =
             LayerTraceEntryBuilder()
-                .setElapsedTimestamp("100")
+                .setElapsedTimestamp(100)
                 .setLayers(layers.toTypedArray())
                 .setDisplays(displays.toTypedArray())
-                .setVSyncId("123")
+                .setVSyncId(123)
         val entry = builder.build()
 
         Truth.assertThat(entry.displays.all { it.isOff })
diff --git a/libraries/flicker/utils/test/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilderTest.kt b/libraries/flicker/utils/test/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilderTest.kt
index 0300991..09e29df 100644
--- a/libraries/flicker/utils/test/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilderTest.kt
+++ b/libraries/flicker/utils/test/src/android/tools/common/traces/wm/WindowManagerTraceEntryBuilderTest.kt
@@ -38,7 +38,7 @@
     fun createsEntryWithCorrectClockTime() {
         val entry =
             WindowManagerTraceEntryBuilder()
-                .setElapsedTimestamp("100")
+                .setElapsedTimestamp(100)
                 .setRoot(emptyRootContainer)
                 .setKeyguardControllerState(
                     KeyguardControllerState.from(
@@ -47,7 +47,7 @@
                         keyguardOccludedStates = mapOf()
                     )
                 )
-                .setRealToElapsedTimeOffsetNs("500")
+                .setRealToElapsedTimeOffsetNs(500)
                 .build()
         Truth.assertThat(entry.elapsedTimestamp).isEqualTo(100)
         Truth.assertThat(entry.clockTimestamp).isEqualTo(600)
@@ -62,7 +62,7 @@
     fun supportsMissingRealToElapsedTimeOffsetNs() {
         val entry =
             WindowManagerTraceEntryBuilder()
-                .setElapsedTimestamp("100")
+                .setElapsedTimestamp(100)
                 .setRoot(emptyRootContainer)
                 .setKeyguardControllerState(
                     KeyguardControllerState.from(
diff --git a/libraries/flicker/utils/test/src/android/tools/device/traces/parsers/WindowManagerStateHelperTest.kt b/libraries/flicker/utils/test/src/android/tools/device/traces/parsers/WindowManagerStateHelperTest.kt
index c52d094..e5e2ac1 100644
--- a/libraries/flicker/utils/test/src/android/tools/device/traces/parsers/WindowManagerStateHelperTest.kt
+++ b/libraries/flicker/utils/test/src/android/tools/device/traces/parsers/WindowManagerStateHelperTest.kt
@@ -172,10 +172,10 @@
                 }
                 val layerTraceEntry =
                     LayerTraceEntryBuilder()
-                        .setElapsedTimestamp("0")
+                        .setElapsedTimestamp(0)
                         .setDisplays(emptyArray())
                         .setLayers(createImaginaryVisibleLayers(layerList))
-                        .setVSyncId("-1")
+                        .setVSyncId(-1)
                         .build()
                 DeviceStateDump(wmState, layerTraceEntry)
             } else {
diff --git a/libraries/flicker/utils/test/src/android/tools/utils/MockLayerTraceEntryBuilder.kt b/libraries/flicker/utils/test/src/android/tools/utils/MockLayerTraceEntryBuilder.kt
index 010f603..2da6cee 100644
--- a/libraries/flicker/utils/test/src/android/tools/utils/MockLayerTraceEntryBuilder.kt
+++ b/libraries/flicker/utils/test/src/android/tools/utils/MockLayerTraceEntryBuilder.kt
@@ -43,11 +43,11 @@
     fun addDisplay(rootLayers: List<MockLayerBuilder>): MockLayerTraceEntryBuilder = apply {
         val displayLayer =
             MockLayerBuilder("Display").setAbsoluteBounds(bounds).addChildren(rootLayers).build()
-        val displayId = 1UL
+        val displayId = 1L
         val stackId = 1
         this.displays.add(
             Display.from(
-                id = "$displayId",
+                id = displayId,
                 name = "Display",
                 layerStackId = stackId,
                 size = Size.from(bounds.width, bounds.height),