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

Commit fc092851 authored by Pablo Gamito's avatar Pablo Gamito Committed by Android (Google) Code Review
Browse files

Merge "Fix dumping shell transition handler mapping onFlush" into main

parents e27fe837 1d1f4a54
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -69,4 +69,8 @@ public abstract class DataSourceInstance implements AutoCloseable {
    public final void release() {
        mDataSource.releaseDataSourceInstance(mInstanceIndex);
    }

    public final int getInstanceIndex() {
        return mInstanceIndex;
    }
}
+12 −3
Original line number Diff line number Diff line
@@ -24,8 +24,8 @@ import android.tracing.perfetto.StartCallbackArguments;
import android.tracing.perfetto.StopCallbackArguments;
import android.util.proto.ProtoInputStream;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @hide
@@ -38,6 +38,9 @@ public class TransitionDataSource
    private final Runnable mOnFlushStaticCallback;
    private final Runnable mOnStopStaticCallback;

    private final ConcurrentHashMap<Integer, ConcurrentHashMap<String, Integer>> mHandlerMappings =
            new ConcurrentHashMap<>();

    public TransitionDataSource(Runnable onStart, Runnable onFlush, Runnable onStop) {
        super(DATA_SOURCE_NAME);
        this.mOnStartStaticCallback = onStart;
@@ -47,11 +50,16 @@ public class TransitionDataSource

    @Override
    protected TlsState createTlsState(CreateTlsStateArgs<DataSourceInstance> args) {
        return new TlsState();
        return new TlsState(args.getDataSourceInstanceLocked().getInstanceIndex());
    }

    public class TlsState {
        public final Map<String, Integer> handlerMapping = new HashMap<>();
        public final Map<String, Integer> handlerMapping;

        public TlsState(int instanceIndex) {
            handlerMapping = mHandlerMappings
                    .computeIfAbsent(instanceIndex, index -> new ConcurrentHashMap<>());
        }
    }

    @Override
@@ -70,6 +78,7 @@ public class TransitionDataSource
            @Override
            protected void onStop(StopCallbackArguments args) {
                mOnStopStaticCallback.run();
                mHandlerMappings.remove(instanceIndex);
            }
        };
    }