summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/SystemUIApplication.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/SystemUIService.java19
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