perfetto-ui: Fix doubled tracks when reloading from permalinks

Change-Id: I32f84b61be86ed7fa4d961fd37c0bf583910b0f1
diff --git a/ui/src/controller/trace_controller.ts b/ui/src/controller/trace_controller.ts
index 565a2c6..66d2a26 100644
--- a/ui/src/controller/trace_controller.ts
+++ b/ui/src/controller/trace_controller.ts
@@ -178,13 +178,21 @@
 
     globals.dispatchMultiple(actions);
 
-    await this.listTracks();
+    {
+      // When we reload from a permalink don't create extra tracks:
+      const {pinnedTracks, scrollingTracks} = globals.state;
+      if (pinnedTracks.length || scrollingTracks.length) {
+        await this.listTracks();
+      }
+    }
+
     await this.listThreads();
     await this.loadTimelineOverview(traceTime);
   }
 
   private async listTracks() {
     this.updateStatus('Loading tracks');
+
     const engine = assertExists<Engine>(this.engine);
     const addToTrackActions: DeferredAction[] = [];
     const numCpus = await engine.getNumberOfCpus();