ui: Migrate PinAndroidPerfMetrics blocking calls to stdlib tables

Update PinAndroidPerfMetrics to query stdlib tables
_android_critical_blocking_calls and android_jank_latency_cujs directly
instead of the legacy blocking_call_slices_scoped_to_cujs metric table.
Replace the RUN_METRIC precondition with stdlib module includes.

Change-Id: Ib463e9ce70a633c18f66855efc4e64c5854ed729
diff --git a/python/tools/check_ratchet.py b/python/tools/check_ratchet.py
index 246f9ac..b748c84 100755
--- a/python/tools/check_ratchet.py
+++ b/python/tools/check_ratchet.py
@@ -37,7 +37,7 @@
 from dataclasses import dataclass
 
 EXPECTED_ANY_COUNT = 28
-EXPECTED_RUN_METRIC_COUNT = 3
+EXPECTED_RUN_METRIC_COUNT = 2
 
 ROOT_DIR = os.path.dirname(
     os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
diff --git a/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinBlockingCall.ts b/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinBlockingCall.ts
index a4cbc37..1ddf9a5 100644
--- a/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinBlockingCall.ts
+++ b/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinBlockingCall.ts
@@ -98,14 +98,22 @@
     const processName = metricData.process;
     const blockingCallName = metricData.blockingCallName;
 
-    // TODO: b/296349525 - Migrate jank tables from run metrics to stdlib
     const blockingCallDuringCujQuery = `
-  SELECT name, ts, dur
-  FROM blocking_call_slices_scoped_to_cujs
-  WHERE process_name = "${processName}"
-      AND cuj_name = "${cuj}"
-      AND name = "${blockingCallName}"
-  `;
+      SELECT
+        s.name,
+        max(s.ts, cuj.ts) AS ts,
+        min(s.ts + s.dur, cuj.ts_end) - max(s.ts, cuj.ts) AS dur
+      FROM _android_critical_blocking_calls s
+      JOIN android_jank_latency_cujs cuj
+        ON s.ts + s.dur > cuj.ts AND s.ts < cuj.ts_end
+        AND s.upid = cuj.upid
+      LEFT JOIN _render_thread_per_process rt
+        ON rt.upid = cuj.upid
+      WHERE (s.utid = cuj.ui_thread OR s.utid = rt.render_thread_utid)
+        AND s.process_name = "${processName}"
+        AND cuj.cuj_name = "${cuj}"
+        AND s.name = "${blockingCallName}"
+    `;
 
     const trackName = 'Blocking calls in ' + processName;
     return {
diff --git a/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinCujScoped.ts b/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinCujScoped.ts
index b8ca499..bc1ca45 100644
--- a/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinCujScoped.ts
+++ b/ui/src/plugins/com.android.PinAndroidPerfMetrics/handlers/pinCujScoped.ts
@@ -98,7 +98,7 @@
         f.ts AS ts,
         f.dur as dur,
         f.jank_score as jank_score
-      FROM android_jank_cuj_frame f LEFT JOIN android_jank_cuj cuj USING (cuj_id)
+      FROM _android_jank_cuj_frame f LEFT JOIN android_jank_cuj cuj USING (cuj_id)
       WHERE cuj.process_name = "${processName}"
       AND cuj_name = "${cuj}" ${jankTypeFilter}
     `;
diff --git a/ui/src/plugins/com.android.PinAndroidPerfMetrics/index.ts b/ui/src/plugins/com.android.PinAndroidPerfMetrics/index.ts
index f1609fd..2490231 100644
--- a/ui/src/plugins/com.android.PinAndroidPerfMetrics/index.ts
+++ b/ui/src/plugins/com.android.PinAndroidPerfMetrics/index.ts
@@ -20,7 +20,10 @@
 import Wattson from '../org.kernel.Wattson';
 
 const JANK_CUJ_QUERY_PRECONDITIONS = `
-  SELECT RUN_METRIC('android/android_blocking_calls_cuj_metric.sql');
+  INCLUDE PERFETTO MODULE android.cujs.frames;
+  INCLUDE PERFETTO MODULE android.critical_blocking_calls;
+  INCLUDE PERFETTO MODULE android.cujs.sysui_cujs;
+  INCLUDE PERFETTO MODULE android.render_thread;
 `;
 
 function getMetricsFromHash(): string[] {