Add mechanism to trace specific sf tx changes without rebuilding fw

- It's often that we see something affecting a surface, but there's
  no way to know who/what code is updating the surface without adding
  logging to SurfaceControl.Transaction to dump the trace and
  rebuilding with the logs in place.  This cl uses two sysprops
  to define a call/surface name filter to dynamically dump call
  stacks for specific updates in all processes.  This only applies
  to eng/userdebug builds.

  ie.
  // set
  adb shell setprop persist.wm.debug.sc.tx.log_match_call setAlpha
  adb shell setprop persist.wm.debug.sc.tx.log_match_name com.android.systemui
  adb reboot
  adb logcat -s "SurfaceControlRegistry"

  // unset
  adb shell setprop persist.wm.debug.sc.tx.log_match_call \"\"
  adb shell setprop persist.wm.debug.sc.tx.log_match_name \"\"
  adb reboot
  adb logcat -s "SurfaceControlRegistry"
- Also simplify checks in SC by always having a no-op implementation

Bug: 266978825
Test: adb shell setprop persist.wm.debug.sc.tx.log_match_call <call>
      adb shell setprop persist.wm.debug.sc.tx.log_match_name <name>
      adb reboot
      adb logcat
Test: atest FrameworksCoreTests:android.view.SurfaceControlRegistryTests
Change-Id: I2a2ef5e8bfae1a748df1a32ce7969de4ee8d9645
Signed-off-by: Winson Chung <winsonc@google.com>
3 files changed