Fix activity relaunch issue with ActivityEmbedding

When Activity relaunched, the SplitController will receive
onActivityDestroyed and onActivityCreated.

Before, we always remove all the reference onActivityDestroyed, which
can accidentally remove split pair finish relationship. Now we only
do that when the activity is actually finishing.

Also do the following to make sure there is no other regression:
1. Replace the stored activity reference with activity token, so it
   won't be changed when activity relaunched.
2. Update #getContainerWithActivity to first check pending appeared
   activity to make sure it returns the correct container before the
   server update.

Bug: 260301635
Test: atest WMJetpackUnitTests:SplitControllerTest
Test: atest WMJetpackUnitTests:TaskFragmentContainerTest
Change-Id: Ife6de66d22e336bb872a9fccbdf03562fe6e089d
6 files changed