Store pending override config instead of creating ActivityClientRecord
Create ActivityClientRecord early in preExecute may cause NullPointerException. If two LaunchActivityItem using the same token and the 1st postExecute() comes after 2nd preExecute(), the corresponding launching activity will be removed and cause 2nd execute() get NullPointerException. Since the only use case to get ActivityClientRecord in preExecute() is just to use it to store the pending override config. We can directly store the latest pending override config from preExecute() in ActivityThread instead of creating ActivityClientRecord. Bug: 201668069 Test: atest TransactionExecutorTests atest ActivityThreadTest Merged-In: If350e942254e54c9ec90bc63a6e50eb67d038183 Change-Id: If350e942254e54c9ec90bc63a6e50eb67d038183
Loading
Please register or sign in to comment