Trace render window state using a counter.

This makes it show up as an individual track in perfetto
allowing rendering to be more easily inspected.
https://screenshot.googleplex.com/3eyicjpxdKaG3oE

Bug: b/217863437
Change-Id: I2710a8709141fda50ec613390161ab9c6526b931
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/328381
Auto-Submit: Linus Nilsson <lnilsson@webrtc.org>
Commit-Queue: Linus Nilsson <lnilsson@webrtc.org>
Reviewed-by: ZoƩ Lepaul <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41222}
diff --git a/sdk/android/api/org/webrtc/RenderSynchronizer.java b/sdk/android/api/org/webrtc/RenderSynchronizer.java
index b1ade84..c89f798 100644
--- a/sdk/android/api/org/webrtc/RenderSynchronizer.java
+++ b/sdk/android/api/org/webrtc/RenderSynchronizer.java
@@ -10,8 +10,11 @@
 
 package org.webrtc;
 
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.Trace;
 import android.view.Choreographer;
 import androidx.annotation.GuardedBy;
 import java.util.List;
@@ -100,8 +103,15 @@
     }
   }
 
+  private void traceRenderWindowChange() {
+    if (VERSION.SDK_INT >= VERSION_CODES.Q) {
+      Trace.setCounter("RenderWindow", renderWindowOpen ? 1 : 0);
+    }
+  }
+
   private void openRenderWindow() {
     renderWindowOpen = true;
+    traceRenderWindowChange();
     for (Listener listener : listeners) {
       listener.onRenderWindowOpen();
     }
@@ -109,6 +119,7 @@
 
   private void closeRenderWindow() {
     renderWindowOpen = false;
+    traceRenderWindowChange();
     for (Listener listener : listeners) {
       listener.onRenderWindowClose();
     }