From f194d4a996e3772f2f1e970414cc95468cdfc10d Mon Sep 17 00:00:00 2001 From: Nikolas Havrikov Date: Wed, 23 Feb 2022 16:19:58 +0100 Subject: [PATCH] Replace LinkedList by a more performant collection This is a semi-automatic change. See https://errorprone.info/bugpattern/JdkObsolete for the rationale. Test: make Bug: 221046110 Change-Id: I631486d3707e56a56e3123d04c0fdb6af3d85715 --- .../android/systemui/shared/tracing/FrameProtoTracer.java | 4 ++-- .../systemui/classifier/TimeLimitedMotionEventBuffer.java | 8 ++++---- .../KeyguardIndicationRotateTextViewController.java | 4 ++-- .../systemui/privacy/television/TvOngoingPrivacyChip.java | 3 +-- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java index 4394ecbf79eb9..98212e1d91b61 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java @@ -25,8 +25,8 @@ import com.android.internal.util.TraceBuffer; import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.util.ArrayDeque; import java.util.ArrayList; -import java.util.LinkedList; import java.util.Queue; import java.util.function.Consumer; @@ -50,7 +50,7 @@ public class FrameProtoTracer private final File mTraceFile; private final ProtoTraceParams mParams; private Choreographer mChoreographer; - private final Queue mPool = new LinkedList<>(); + private final Queue mPool = new ArrayDeque<>(); private final ArrayList> mTraceables = new ArrayList<>(); private final ArrayList> mTmpTraceables = new ArrayList<>(); diff --git a/packages/SystemUI/src/com/android/systemui/classifier/TimeLimitedMotionEventBuffer.java b/packages/SystemUI/src/com/android/systemui/classifier/TimeLimitedMotionEventBuffer.java index e5da389365933..4773f2a3b13ee 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/TimeLimitedMotionEventBuffer.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/TimeLimitedMotionEventBuffer.java @@ -18,9 +18,9 @@ package com.android.systemui.classifier; import android.view.MotionEvent; +import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.ListIterator; @@ -33,13 +33,13 @@ import java.util.ListIterator; */ public class TimeLimitedMotionEventBuffer implements List { - private final LinkedList mMotionEvents; + private final List mMotionEvents; private final long mMaxAgeMs; public TimeLimitedMotionEventBuffer(long maxAgeMs) { super(); mMaxAgeMs = maxAgeMs; - mMotionEvents = new LinkedList<>(); + mMotionEvents = new ArrayList<>(); } private void ejectOldEvents() { @@ -47,7 +47,7 @@ public class TimeLimitedMotionEventBuffer implements List { return; } Iterator iter = listIterator(); - long mostRecentMs = mMotionEvents.getLast().getEventTime(); + long mostRecentMs = mMotionEvents.get(mMotionEvents.size() - 1).getEventTime(); while (iter.hasNext()) { MotionEvent ev = iter.next(); if (mostRecentMs - ev.getEventTime() > mMaxAgeMs) { diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java index 0ad2807bed559..cf713652ddb5b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardIndicationRotateTextViewController.java @@ -35,8 +35,8 @@ import java.io.FileDescriptor; import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.ArrayList; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -72,7 +72,7 @@ public class KeyguardIndicationRotateTextViewController extends @Nullable private ShowNextIndication mShowNextIndicationRunnable; // List of indication types to show. The next indication to show is always at index 0 - private final List mIndicationQueue = new LinkedList<>(); + private final List mIndicationQueue = new ArrayList<>(); private @IndicationType int mCurrIndicationType = INDICATION_TYPE_NONE; private CharSequence mCurrMessage; private long mLastIndicationSwitch; diff --git a/packages/SystemUI/src/com/android/systemui/privacy/television/TvOngoingPrivacyChip.java b/packages/SystemUI/src/com/android/systemui/privacy/television/TvOngoingPrivacyChip.java index 5510eb172cd7a..09c4cb760c909 100644 --- a/packages/SystemUI/src/com/android/systemui/privacy/television/TvOngoingPrivacyChip.java +++ b/packages/SystemUI/src/com/android/systemui/privacy/television/TvOngoingPrivacyChip.java @@ -57,7 +57,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Collections; -import java.util.LinkedList; import java.util.List; import javax.inject.Inject; @@ -126,7 +125,7 @@ public class TvOngoingPrivacyChip extends CoreStartable implements PrivacyItemCo private final Runnable mCollapseRunnable = this::collapseChip; private final Runnable mAccessibilityRunnable = this::makeAccessibilityAnnouncement; - private final List mItemsBeforeLastAnnouncement = new LinkedList<>(); + private final List mItemsBeforeLastAnnouncement = new ArrayList<>(); @State private int mState = STATE_NOT_SHOWN;