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

Commit fc7b3733 authored by Siim Sammul's avatar Siim Sammul Committed by Android (Google) Code Review
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." into sc-dev
parents 0b674848 f64b4c5d
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -1196,15 +1196,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
@@ -370,4 +370,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
@@ -991,6 +991,40 @@ public class BinderCallsStatsTest {
        assertEquals(true, bcs.getCollectLatencyData());
    }

    @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<>();