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

Commit aa4f73ac authored by Jeff DeCew's avatar Jeff DeCew
Browse files

Fix concurrent modification crash

Fixes: 341479400
Test: atest SystemUITests
Flag: EXEMPT bugfix
Change-Id: Ic1e17980f4e2d853282df6381e41e3abd8cb9adc
parent 315db32e
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -54,13 +54,13 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import com.android.systemui.util.Assert;
import com.android.systemui.util.CopyOnLoopListenerSet;
import com.android.systemui.util.IListenerSet;

import dagger.Lazy;

import kotlinx.coroutines.ExperimentalCoroutinesApi;

import java.util.ArrayList;

import javax.inject.Inject;

/**
@@ -69,7 +69,7 @@ import javax.inject.Inject;
@ExperimentalCoroutinesApi @SysUISingleton
public final class DozeServiceHost implements DozeHost {
    private static final String TAG = "DozeServiceHost";
    private final ArrayList<Callback> mCallbacks = new ArrayList<>();
    private final IListenerSet<Callback> mCallbacks = new CopyOnLoopListenerSet<>();
    private final DozeLog mDozeLog;
    private final PowerManager mPowerManager;
    private boolean mAnimateWakeup;
@@ -178,8 +178,8 @@ public final class DozeServiceHost implements DozeHost {
     */
    public void fireSideFpsAcquisitionStarted() {
        Assert.isMainThread();
        for (int i = 0; i < mCallbacks.size(); i++) {
            mCallbacks.get(i).onSideFingerprintAcquisitionStarted();
        for (Callback callback : mCallbacks) {
            callback.onSideFingerprintAcquisitionStarted();
        }
    }

@@ -211,7 +211,7 @@ public final class DozeServiceHost implements DozeHost {
    @Override
    public void addCallback(@NonNull Callback callback) {
        Assert.isMainThread();
        mCallbacks.add(callback);
        mCallbacks.addIfAbsent(callback);
    }

    @Override