Make sure instance launch trace for an id only appears once

A consecutive launch may contain multiple activities with different
windowing modes or target displays. The separated transition should
not end the trace of the initial launch.

e.g. start A---------------------->A drawn
               |-A starts B-->B drawn (on a different display)
There will still be 2 traces "launching: A" and "launching: B".
But there should be only one trace "launchingActivity" which is
ended by "A drawn".

Bug: 231612200
Test: atest ActivityMetricsLaunchObserverTests# \
            testConsecutiveLaunchOnDifferentDisplay

Change-Id: Ied39e000ef6c8c60b56e228cbdc86b6f9dbe2e6c
2 files changed