diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/SystemUIApplication.java | 2 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/SystemUIService.java | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java b/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java index 3538327130d4..2c0e95b5af26 100644 --- a/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java +++ b/packages/SystemUI/src/com/android/systemui/SystemUIApplication.java @@ -61,7 +61,7 @@ import java.util.Map; */ public class SystemUIApplication extends Application implements SysUiServiceProvider { - private static final String TAG = "SystemUIService"; + public static final String TAG = "SystemUIService"; private static final boolean DEBUG = false; /** diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIService.java b/packages/SystemUI/src/com/android/systemui/SystemUIService.java index 11e0f289e6a4..ddf0bd0cbab4 100644 --- a/packages/SystemUI/src/com/android/systemui/SystemUIService.java +++ b/packages/SystemUI/src/com/android/systemui/SystemUIService.java @@ -20,11 +20,15 @@ import android.app.Service; import android.content.Intent; import android.os.Build; import android.os.IBinder; +import android.os.Process; import android.os.SystemProperties; +import android.util.Slog; import java.io.FileDescriptor; import java.io.PrintWriter; +import com.android.internal.os.BinderInternal; + public class SystemUIService extends Service { @Override @@ -36,6 +40,21 @@ public class SystemUIService extends Service { if (Build.IS_DEBUGGABLE && SystemProperties.getBoolean("debug.crash_sysui", false)) { throw new RuntimeException(); } + + if (Build.IS_DEBUGGABLE) { + // b/71353150 - looking for leaked binder proxies + BinderInternal.nSetBinderProxyCountEnabled(true); + BinderInternal.nSetBinderProxyCountWatermarks(1000,900); + BinderInternal.setBinderProxyCountCallback( + new BinderInternal.BinderProxyLimitListener() { + @Override + public void onLimitReached(int uid) { + Slog.w(SystemUIApplication.TAG, + "uid " + uid + " sent too many Binder proxies to uid " + + Process.myUid()); + } + }, Dependency.get(Dependency.MAIN_HANDLER)); + } } @Override |