diff options
2 files changed, 8 insertions, 12 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index d8fc21af9724..4755e2845587 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -134,7 +134,6 @@ import com.android.keyguard.ViewMediatorCallback;  import com.android.keyguard.mediator.ScreenOnCoordinator;  import com.android.systemui.CoreStartable;  import com.android.systemui.DejankUtils; -import com.android.systemui.Dumpable;  import com.android.systemui.EventLogTags;  import com.android.systemui.animation.ActivityTransitionAnimator;  import com.android.systemui.animation.TransitionAnimator; @@ -194,7 +193,6 @@ import java.lang.annotation.Retention;  import java.lang.annotation.RetentionPolicy;  import java.util.ArrayList;  import java.util.Arrays; -import java.util.Iterator;  import java.util.List;  import java.util.Objects;  import java.util.concurrent.Executor; @@ -4129,14 +4127,14 @@ public class KeyguardViewMediator implements CoreStartable,      private void notifyLockNowCallback() {          List<LockNowCallback> callbacks; +          synchronized (mLockNowCallbacks) { -            callbacks = new ArrayList<LockNowCallback>(mLockNowCallbacks); +            callbacks = new ArrayList<>(mLockNowCallbacks);              mLockNowCallbacks.clear();          } -        Iterator<LockNowCallback> iter = callbacks.listIterator(); -        while (iter.hasNext()) { -            LockNowCallback callback = iter.next(); -            iter.remove(); + +        for (int i = 0; i < callbacks.size(); i++) { +            final LockNowCallback callback = callbacks.get(i);              if (callback.mUserId != mSelectedUserInteractor.getSelectedUserId()) {                  Log.i(TAG, "Not notifying lockNowCallback due to user mismatch");                  continue; diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardServiceShowLockscreenInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardServiceShowLockscreenInteractor.kt index 07a31e16384c..6c084038f328 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardServiceShowLockscreenInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardServiceShowLockscreenInteractor.kt @@ -139,18 +139,16 @@ constructor(      /** Notifies the callbacks that we've either locked, or decided not to lock. */      private fun notifyShowLockscreenCallbacks() {          var callbacks: MutableList<ShowLockscreenCallback> +          synchronized(repository.showLockscreenCallbacks) {              callbacks = ArrayList(repository.showLockscreenCallbacks)              repository.showLockscreenCallbacks.clear()          } -        val iter: MutableIterator<ShowLockscreenCallback> = callbacks.listIterator() -        while (iter.hasNext()) { -            val callback = iter.next() -            iter.remove() +        callbacks.forEach { callback ->              if (callback.userId != selectedUserInteractor.getSelectedUserId()) {                  Log.i(TAG, "Not notifying lockNowCallback due to user mismatch") -                continue +                return              }              Log.i(TAG, "Notifying lockNowCallback")              try {  |