From d9fcb5109edc5a7b2f8f5dcaa2c543e8da8bacec Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 20 Nov 2019 12:08:48 -0800 Subject: [PATCH] Updating developer winscope tile to start sysui tracing Bug: 144854916 Test: Manual, toggle winscope tile, ensure the sysui trace is written to disk Change-Id: I26b5ca41c7538eb90723c5d8f52a0df1d5ce9812 --- .../development/qstile/DevelopmentTiles.java | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java index bb791abef81..8f06750e5c4 100644 --- a/src/com/android/settings/development/qstile/DevelopmentTiles.java +++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java @@ -233,9 +233,22 @@ public abstract class DevelopmentTiles extends TileService { return layerTraceEnabled; } + private boolean isSystemUiTracingEnabled() { + try { + final IStatusBarService statusBarService = IStatusBarService.Stub.asInterface( + ServiceManager.checkService(Context.STATUS_BAR_SERVICE)); + if (statusBarService != null) { + return statusBarService.isTracing(); + } + } catch (RemoteException e) { + Log.e(TAG, "Could not get system ui tracing status." + e.toString()); + } + return false; + } + @Override protected boolean isEnabled() { - return isWindowTraceEnabled() || isLayerTraceEnabled(); + return isWindowTraceEnabled() || isLayerTraceEnabled() || isSystemUiTracingEnabled(); } private void setWindowTraceEnabled(boolean isEnabled) { @@ -269,10 +282,27 @@ public abstract class DevelopmentTiles extends TileService { } } + private void setSystemUiTracing(boolean isEnabled) { + try { + final IStatusBarService statusBarService = IStatusBarService.Stub.asInterface( + ServiceManager.checkService(Context.STATUS_BAR_SERVICE)); + if (statusBarService != null) { + if (isEnabled) { + statusBarService.startTracing(); + } else { + statusBarService.stopTracing(); + } + } + } catch (RemoteException e) { + Log.e(TAG, "Could not set system ui tracing." + e.toString()); + } + } + @Override protected void setIsEnabled(boolean isEnabled) { setWindowTraceEnabled(isEnabled); setLayerTraceEnabled(isEnabled); + setSystemUiTracing(isEnabled); if (!isEnabled) { mToast.show(); }