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

Commit e5e4a8df authored by Nate Myren's avatar Nate Myren
Browse files

Get fresh InProgress array in AttributedAppOp when adding/removing

Otherwise, a call to finish() and then start() might reallocate the
array, and cause the reference to point to the old location of the
array.

Fixes: 208662370
Test: atest ForegroundModeAndActiveTest
Change-Id: I7e754c067520765c00cc67cc310926e63bd0462d
Merged-In: I7e754c067520765c00cc67cc310926e63bd0462d
parent c821fffe
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1314,6 +1314,7 @@ public class AppOpsService extends IAppOpsService.Stub {
                                    event.getAttributionFlags(), event.getAttributionChainId());
                        }

                        events = isRunning ? mInProgressEvents : mPausedInProgressEvents;
                        InProgressStartOpEvent newEvent = events.get(binders.get(i));
                        if (newEvent != null) {
                            newEvent.numUnfinishedStarts += numPreviousUnfinishedStarts - 1;