Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2977cef3 authored by Siim Sammul's avatar Siim Sammul Committed by Automerger Merge Worker
Browse files

Merge "Fix process source propagation for binder calls stats settings so that...

Merge "Fix process source propagation for binder calls stats settings so that it is correctly reported in the pushed atom BinderLatencyReported." am: 309f87e0

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1748043

Change-Id: I239088a96a394c6cf170644a455eb221dbabb5e0
parents 63769458 309f87e0
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -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();
        }
+5 −0
Original line number Diff line number Diff line
@@ -332,4 +332,9 @@ public class BinderLatencyObserver {
    public Runnable getStatsdPushRunnable() {
        return mLatencyObserverRunnable;
    }

    @VisibleForTesting
    public int getProcessSource() {
        return mProcessSource;
    }
}
+34 −0
Original line number Diff line number Diff line
@@ -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<Runnable> mRunnables = new ArrayList<>();