diff --git a/core/java/com/android/internal/os/BinderCallsStats.java b/core/java/com/android/internal/os/BinderCallsStats.java index 0ab2a900aa613..2cdf4e008cb43 100644 --- a/core/java/com/android/internal/os/BinderCallsStats.java +++ b/core/java/com/android/internal/os/BinderCallsStats.java @@ -930,15 +930,12 @@ public class BinderCallsStats implements BinderInternal.Observer { private final Context mContext; private final KeyValueListParser mParser = new KeyValueListParser(','); private final BinderCallsStats mBinderCallsStats; - private final int mProcessSource; - public SettingsObserver(Context context, BinderCallsStats binderCallsStats, - int processSource) { + public SettingsObserver(Context context, BinderCallsStats binderCallsStats) { super(BackgroundThread.getHandler()); mContext = context; context.getContentResolver().registerContentObserver(mUri, false, this); mBinderCallsStats = binderCallsStats; - mProcessSource = processSource; // Always kick once to ensure that we match current state onChange(); } diff --git a/core/java/com/android/internal/os/BinderLatencyObserver.java b/core/java/com/android/internal/os/BinderLatencyObserver.java index 5fa96bd9a1529..af62fd78392ab 100644 --- a/core/java/com/android/internal/os/BinderLatencyObserver.java +++ b/core/java/com/android/internal/os/BinderLatencyObserver.java @@ -332,4 +332,9 @@ public class BinderLatencyObserver { public Runnable getStatsdPushRunnable() { return mLatencyObserverRunnable; } + + @VisibleForTesting + public int getProcessSource() { + return mProcessSource; + } } diff --git a/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java b/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java index ecd0276715ad7..9b1afcb430061 100644 --- a/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java +++ b/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java @@ -835,6 +835,40 @@ public class BinderCallsStatsTest { assertEquals(0, bcs.getLatencyObserver().getLatencyHistograms().size()); } + @Test + public void testProcessSource() { + BinderCallsStats defaultCallsStats = new BinderCallsStats( + new BinderCallsStats.Injector()); + + BinderCallsStats systemServerCallsStats = new BinderCallsStats( + new BinderCallsStats.Injector(), + com.android.internal.os.BinderLatencyProto.Dims.SYSTEM_SERVER); + + BinderCallsStats telephonyCallsStats = new BinderCallsStats( + new BinderCallsStats.Injector(), + com.android.internal.os.BinderLatencyProto.Dims.TELEPHONY); + + BinderCallsStats bluetoothCallsStats = new BinderCallsStats( + new BinderCallsStats.Injector(), + com.android.internal.os.BinderLatencyProto.Dims.BLUETOOTH); + + assertEquals( + com.android.internal.os.BinderLatencyProto.Dims.SYSTEM_SERVER, + defaultCallsStats.getLatencyObserver().getProcessSource()); + + assertEquals( + com.android.internal.os.BinderLatencyProto.Dims.SYSTEM_SERVER, + systemServerCallsStats.getLatencyObserver().getProcessSource()); + + assertEquals( + com.android.internal.os.BinderLatencyProto.Dims.TELEPHONY, + telephonyCallsStats.getLatencyObserver().getProcessSource()); + + assertEquals( + com.android.internal.os.BinderLatencyProto.Dims.BLUETOOTH, + bluetoothCallsStats.getLatencyObserver().getProcessSource()); + } + private static class TestHandler extends Handler { ArrayList mRunnables = new ArrayList<>();