diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 3b2176ee10a25..876e4014ba459 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -200,6 +200,7 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IVoiceInteractor; import com.android.internal.content.ReferrerIntent; +import com.android.internal.os.BinderCallsStats; import com.android.internal.os.BinderInternal; import com.android.internal.os.RuntimeInit; import com.android.internal.os.SomeArgs; @@ -7812,6 +7813,8 @@ public final class ActivityThread extends ClientTransactionHandler MediaFrameworkPlatformInitializer.setMediaServiceManager(new MediaServiceManager()); MediaFrameworkInitializer.setMediaServiceManager(new MediaServiceManager()); BluetoothFrameworkInitializer.setBluetoothServiceManager(new BluetoothServiceManager()); + BluetoothFrameworkInitializer.setBinderCallsStatsInitializer(context -> { + BinderCallsStats.startForBluetooth(context); }); } private void purgePendingResources() { diff --git a/core/java/com/android/internal/os/BinderCallsStats.java b/core/java/com/android/internal/os/BinderCallsStats.java index be91aaca5d393..0a29fc5285a54 100644 --- a/core/java/com/android/internal/os/BinderCallsStats.java +++ b/core/java/com/android/internal/os/BinderCallsStats.java @@ -1159,6 +1159,17 @@ public class BinderCallsStats implements BinderInternal.Observer { : Integer.compare(a.transactionCode, b.transactionCode); } + /** @hide */ + public static void startForBluetooth(Context context) { + new BinderCallsStats.SettingsObserver( + context, + new BinderCallsStats( + new BinderCallsStats.Injector(), + com.android.internal.os.BinderLatencyProto.Dims.BLUETOOTH)); + + } + + /** * Settings observer for other processes (not system_server).