Copy resume callbacks list prior to making callbacks

am: a8971c1462

Change-Id: I182892451b8268b0b6fed0983af7c15ae3174000
This commit is contained in:
Winson Chung
2019-07-24 12:47:19 -07:00
committed by android-build-merger
+7 -3
View File
@@ -952,10 +952,14 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
mHandler.removeCallbacks(mHandleDeferredResume);
Utilities.postAsyncCallback(mHandler, mHandleDeferredResume);
for (OnResumeCallback cb : mOnResumeCallbacks) {
cb.onLauncherResume();
if (!mOnResumeCallbacks.isEmpty()) {
final ArrayList<OnResumeCallback> resumeCallbacks = new ArrayList<>(mOnResumeCallbacks);
mOnResumeCallbacks.clear();
for (int i = resumeCallbacks.size() - 1; i >= 0; i--) {
resumeCallbacks.get(i).onLauncherResume();
}
resumeCallbacks.clear();
}
mOnResumeCallbacks.clear();
if (mLauncherCallbacks != null) {
mLauncherCallbacks.onResume();