From ff47b354934d79ec24f2deeca7994adcf26690c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Muller?= Date: Fri, 24 Jan 2025 09:49:12 +0100 Subject: [PATCH] Add missing `final` modifier in `:shadows:framework` This commit adds the `final` keyword where it was missing. --- .../controller/ContentProviderController.java | 2 +- .../robolectric/fakes/RoboIntentSender.java | 2 +- .../java/org/robolectric/fakes/RoboMenu.java | 4 ++-- .../shadows/CachedPathIteratorFactory.java | 4 ++-- .../shadows/LooperShadowPicker.java | 4 ++-- .../org/robolectric/shadows/NativeInput.java | 2 +- .../shadows/PolicyStateBuilder.java | 4 ++-- .../shadows/ResourceModeShadowPicker.java | 8 ++++---- .../shadows/ShadowAccountManager.java | 20 +++++++++---------- .../robolectric/shadows/ShadowActivity.java | 6 +++--- .../shadows/ShadowAdapterView.java | 2 +- .../shadows/ShadowAnimationBridge.java | 2 +- .../shadows/ShadowAppWidgetManager.java | 2 +- .../shadows/ShadowApplication.java | 2 +- .../shadows/ShadowAudioManager.java | 2 +- .../shadows/ShadowBinderBridge.java | 2 +- .../shadows/ShadowBitmapFactory.java | 2 +- .../shadows/ShadowBluetoothAdapter.java | 2 +- .../shadows/ShadowBluetoothDevice.java | 2 +- .../shadows/ShadowCallScreeningService.java | 4 ++-- .../org/robolectric/shadows/ShadowCamera.java | 2 +- .../shadows/ShadowConnectivityManager.java | 11 +++++----- .../shadows/ShadowDateIntervalFormat.java | 3 ++- .../shadows/ShadowDevicePolicyManager.java | 4 ++-- .../shadows/ShadowDisplayEventReceiver.java | 2 +- .../shadows/ShadowDownloadManager.java | 4 ++-- .../shadows/ShadowHttpResponseCache.java | 3 +++ .../shadows/ShadowLegacyCanvas.java | 14 ++++++------- .../shadows/ShadowLegacyChoreographer.java | 2 +- .../shadows/ShadowLegacyLooper.java | 2 +- .../shadows/ShadowLegacySystemClock.java | 2 +- .../shadows/ShadowMediaPlayer.java | 10 +++++----- .../shadows/ShadowMotionEvent.java | 2 +- .../shadows/ShadowNativePaint.java | 2 +- .../shadows/ShadowPackageInstaller.java | 6 +++--- .../shadows/ShadowPackageManager.java | 2 +- .../robolectric/shadows/ShadowPathParser.java | 4 ++-- .../shadows/ShadowPausedLooper.java | 2 +- .../shadows/ShadowPausedMessageQueue.java | 2 +- .../shadows/ShadowPowerManager.java | 2 +- .../robolectric/shadows/ShadowProcess.java | 2 +- .../shadows/ShadowRenderNodeAnimator.java | 2 +- .../shadows/ShadowSensorManager.java | 2 +- .../org/robolectric/shadows/ShadowStatFs.java | 2 +- .../shadows/ShadowSubscriptionManager.java | 6 +++--- .../robolectric/shadows/ShadowTabHost.java | 2 +- .../shadows/ShadowTelephonyManager.java | 2 +- .../robolectric/shadows/ShadowTextView.java | 6 +++--- .../shadows/ShadowUsageStatsManager.java | 6 +++--- .../shadows/ShadowVelocityTracker.java | 4 ++-- .../shadows/ShadowVirtualRefBasePtr.java | 2 +- .../shadows/ShadowWallpaperManager.java | 2 +- .../robolectric/shadows/ShadowWebView.java | 6 +++--- .../shadows/ShadowWifiManager.java | 2 +- .../robolectric/shadows/util/DataSource.java | 2 +- 55 files changed, 106 insertions(+), 101 deletions(-) diff --git a/shadows/framework/src/main/java/org/robolectric/android/controller/ContentProviderController.java b/shadows/framework/src/main/java/org/robolectric/android/controller/ContentProviderController.java index a779d34675e..451298e09cb 100644 --- a/shadows/framework/src/main/java/org/robolectric/android/controller/ContentProviderController.java +++ b/shadows/framework/src/main/java/org/robolectric/android/controller/ContentProviderController.java @@ -13,7 +13,7 @@ import org.robolectric.util.Logger; public class ContentProviderController { - private T contentProvider; + private final T contentProvider; private ContentProviderController(T contentProvider) { this.contentProvider = contentProvider; diff --git a/shadows/framework/src/main/java/org/robolectric/fakes/RoboIntentSender.java b/shadows/framework/src/main/java/org/robolectric/fakes/RoboIntentSender.java index df70dda34a5..2f9fb9337ca 100644 --- a/shadows/framework/src/main/java/org/robolectric/fakes/RoboIntentSender.java +++ b/shadows/framework/src/main/java/org/robolectric/fakes/RoboIntentSender.java @@ -11,7 +11,7 @@ /** Robolectric implementation of {@link android.content.IntentSender}. */ public class RoboIntentSender extends IntentSender { public Intent intent; - private PendingIntent pendingIntent; + private final PendingIntent pendingIntent; public RoboIntentSender(PendingIntent pendingIntent) { super((IIntentSender) null); diff --git a/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenu.java b/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenu.java index f3001d9942c..5e2e648bdaa 100644 --- a/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenu.java +++ b/shadows/framework/src/main/java/org/robolectric/fakes/RoboMenu.java @@ -15,8 +15,8 @@ /** Robolectric implementation of {@link android.view.Menu}. */ public class RoboMenu implements Menu { - private List menuItems = new ArrayList<>(); - private Context context; + private final List menuItems = new ArrayList<>(); + private final Context context; public RoboMenu() { this(RuntimeEnvironment.getApplication()); diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/CachedPathIteratorFactory.java b/shadows/framework/src/main/java/org/robolectric/shadows/CachedPathIteratorFactory.java index 7ef10bb5e5a..40b3f3f4e14 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/CachedPathIteratorFactory.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/CachedPathIteratorFactory.java @@ -279,7 +279,7 @@ public class CachedPathIterator implements PathIterator { * * @see PathIterator */ - private float[] mCurrentCoords = new float[6]; + private final float[] mCurrentCoords = new float[6]; private float mCurrentSegmentLength; @@ -293,7 +293,7 @@ public class CachedPathIterator implements PathIterator { private float mOffsetLength; /** Point where the current segment started */ - private float[] mLastPoint = new float[2]; + private final float[] mLastPoint = new float[2]; private boolean isIteratorDone; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/LooperShadowPicker.java b/shadows/framework/src/main/java/org/robolectric/shadows/LooperShadowPicker.java index 56a8fc9ee50..5ac07b15f98 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/LooperShadowPicker.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/LooperShadowPicker.java @@ -4,8 +4,8 @@ public class LooperShadowPicker implements ShadowPicker { - private Class legacyShadowClass; - private Class pausedShadowClass; + private final Class legacyShadowClass; + private final Class pausedShadowClass; public LooperShadowPicker( Class legacyShadowClass, Class pausedShadowClass) { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/NativeInput.java b/shadows/framework/src/main/java/org/robolectric/shadows/NativeInput.java index e04b16987aa..da9bac24e3e 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/NativeInput.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/NativeInput.java @@ -89,7 +89,7 @@ NativeBitSet64 getBits() { } // Values of axes that are stored in this structure - private float[] values = new float[MAX_AXES]; + private final float[] values = new float[MAX_AXES]; public void clear() { bits.clear(); diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/PolicyStateBuilder.java b/shadows/framework/src/main/java/org/robolectric/shadows/PolicyStateBuilder.java index ad035bf153e..ef90ad2ebd2 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/PolicyStateBuilder.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/PolicyStateBuilder.java @@ -13,13 +13,13 @@ /** Builder for {@link PolicyState} */ public class PolicyStateBuilder { - private Map> policiesSetByAdmins = + private final Map> policiesSetByAdmins = new LinkedHashMap>(); private PolicyValue currentResolvedPolicy; private PolicyStateBuilder() {} - private PolicyState policyState = reflector(PolicyStateReflector.class).newPolicyState(); + private final PolicyState policyState = reflector(PolicyStateReflector.class).newPolicyState(); public static PolicyStateBuilder newBuilder() { return new PolicyStateBuilder(); diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ResourceModeShadowPicker.java b/shadows/framework/src/main/java/org/robolectric/shadows/ResourceModeShadowPicker.java index 7e88a6eeca7..6e4b8788654 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ResourceModeShadowPicker.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ResourceModeShadowPicker.java @@ -11,10 +11,10 @@ public class ResourceModeShadowPicker implements ShadowPicker { - private Class binaryShadowClass; - private Class binary9ShadowClass; - private Class binary10ShadowClass; - private Class binary14ShadowClass; + private final Class binaryShadowClass; + private final Class binary9ShadowClass; + private final Class binary10ShadowClass; + private final Class binary14ShadowClass; private Class nativeShadowClass; public ResourceModeShadowPicker( diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAccountManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAccountManager.java index 725c4ed8cf9..c01f878e063 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAccountManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAccountManager.java @@ -39,23 +39,23 @@ @Implements(AccountManager.class) public class ShadowAccountManager { - private List accounts = new ArrayList<>(); - private Map> authTokens = new HashMap<>(); - private Map authenticators = new LinkedHashMap<>(); + private final List accounts = new ArrayList<>(); + private final Map> authTokens = new HashMap<>(); + private final Map authenticators = new LinkedHashMap<>(); /** * Maps listeners to a set of account types. If null, the listener should be notified for changes * to accounts of any type. Otherwise, the listener is only notified of changes to accounts of the * given type. */ - private Map> listeners = new LinkedHashMap<>(); + private final Map> listeners = new LinkedHashMap<>(); - private Map> userData = new HashMap<>(); - private Map passwords = new HashMap<>(); - private Map> accountFeatures = new HashMap<>(); - private Map> packageVisibleAccounts = new HashMap<>(); + private final Map> userData = new HashMap<>(); + private final Map passwords = new HashMap<>(); + private final Map> accountFeatures = new HashMap<>(); + private final Map> packageVisibleAccounts = new HashMap<>(); - private List addAccountOptionsList = new ArrayList<>(); + private final List addAccountOptionsList = new ArrayList<>(); private static Handler mainHandler; private static RoboAccountManagerFuture pendingAddFuture; private static boolean authenticationErrorOnNextResponse = false; @@ -608,7 +608,7 @@ public void addAuthenticator(String type) { addAuthenticator(AuthenticatorDescription.newKey(type)); } - private Map previousNames = new HashMap(); + private final Map previousNames = new HashMap(); /** * Sets the previous name for an account, which will be returned by {@link diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java index 317985e6e2d..ae4c29d0e86 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowActivity.java @@ -93,11 +93,11 @@ public class ShadowActivity extends ShadowContextThemeWrapper { private Integer lastShownDialogId = null; private int pendingTransitionEnterAnimResId = -1; private int pendingTransitionExitAnimResId = -1; - private SparseArray overriddenActivityTransitions = + private final SparseArray overriddenActivityTransitions = new SparseArray<>(); private Object lastNonConfigurationInstance; - private Map dialogForId = new HashMap<>(); - private ArrayList managedCursors = new ArrayList<>(); + private final Map dialogForId = new HashMap<>(); + private final ArrayList managedCursors = new ArrayList<>(); private int mDefaultKeyMode = Activity.DEFAULT_KEYS_DISABLE; private SpannableStringBuilder mDefaultKeySsb = null; private int streamType = -1; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAdapterView.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAdapterView.java index abb81c33d09..5afb1e268c9 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAdapterView.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAdapterView.java @@ -16,7 +16,7 @@ @SuppressWarnings({"UnusedDeclaration"}) @Implements(AdapterView.class) public class ShadowAdapterView extends ShadowViewGroup { - private static int ignoreRowsAtEndOfList = 0; + private static final int ignoreRowsAtEndOfList = 0; @RealObject private AdapterView realAdapterView; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAnimationBridge.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAnimationBridge.java index fecf1db91ab..428bc679fb1 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAnimationBridge.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAnimationBridge.java @@ -9,7 +9,7 @@ /** Bridge between shadows and {@link android.view.animation.Animation}. */ @DoNotInstrument public class ShadowAnimationBridge { - private Animation realAnimation; + private final Animation realAnimation; public ShadowAnimationBridge(Animation realAnimation) { this.realAnimation = realAnimation; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppWidgetManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppWidgetManager.java index fe36a84d0fb..f5198192ea9 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppWidgetManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAppWidgetManager.java @@ -51,7 +51,7 @@ public class ShadowAppWidgetManager { private static boolean requestPinAppWidgetSupported = false; private static boolean validWidgetProviderComponentName = true; private final ArrayList installedProviders = new ArrayList<>(); - private Multimap installedProvidersForProfile = + private final Multimap installedProvidersForProfile = HashMultimap.create(); private Context context; private final Map widgetInfos = new HashMap<>(); diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java index 44b034bd7f9..d3cc98f30a1 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplication.java @@ -42,7 +42,7 @@ public class ShadowApplication extends ShadowContextWrapper { @RealObject private Application realApplication; - private List shownToasts = new ArrayList<>(); + private final List shownToasts = new ArrayList<>(); private ShadowPopupMenu latestPopupMenu; private PopupWindow latestPopupWindow; private ListPopupWindow latestListPopupWindow; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAudioManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAudioManager.java index 5b7014bdefa..a3c2a89de49 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAudioManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowAudioManager.java @@ -83,7 +83,7 @@ public class ShadowAudioManager { private int nextResponseValue = AudioManager.AUDIOFOCUS_REQUEST_GRANTED; private AudioManager.OnAudioFocusChangeListener lastAbandonedAudioFocusListener; private android.media.AudioFocusRequest lastAbandonedAudioFocusRequest; - private HashMap streamStatus = new HashMap<>(); + private final HashMap streamStatus = new HashMap<>(); private List activePlaybackConfigurations = Collections.emptyList(); private List activeRecordingConfigurations = ImmutableList.of(); private final HashSet audioRecordingCallbacks = diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBinderBridge.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBinderBridge.java index b5e594c5529..a181895af26 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBinderBridge.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBinderBridge.java @@ -10,7 +10,7 @@ /** Bridge between shadow and {@link android.os.Binder}. */ @DoNotInstrument public class ShadowBinderBridge { - private Binder realBinder; + private final Binder realBinder; public ShadowBinderBridge(Binder realBinder) { this.realBinder = realBinder; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java index 18363643420..0c33b71d892 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBitmapFactory.java @@ -44,7 +44,7 @@ @SuppressWarnings({"UnusedDeclaration"}) @Implements(BitmapFactory.class) public class ShadowBitmapFactory { - private static Map widthAndHeightMap = new HashMap<>(); + private static final Map widthAndHeightMap = new HashMap<>(); // Determines whether BitmapFactory.decode methods should allow invalid bitmap data and always // return a Bitmap object. Currently defaults to true to preserve legacy behavior. A diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothAdapter.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothAdapter.java index 0d954ae4755..02178a3b0b6 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothAdapter.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothAdapter.java @@ -91,7 +91,7 @@ public class ShadowBluetoothAdapter { private static final Map deviceCache = new HashMap<>(); private Set bondedDevices = new HashSet(); private List mostRecentlyConnectedDevices = new ArrayList<>(); - private Set leScanCallbacks = new HashSet(); + private final Set leScanCallbacks = new HashSet(); private boolean isDiscovering; private String address; private int state; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothDevice.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothDevice.java index 84f20140481..56863e535d7 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothDevice.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowBluetoothDevice.java @@ -88,7 +88,7 @@ public static void reset() { private boolean isInSilenceMode = false; private boolean isConnected = false; @Nullable private BluetoothGattConnectionInterceptor bluetoothGattConnectionInterceptor = null; - private Map connectionHandlesByTransportType = new HashMap<>(); + private final Map connectionHandlesByTransportType = new HashMap<>(); /** * Implements getService() in the same way the original method does, but ignores any Exceptions diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCallScreeningService.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCallScreeningService.java index 2f6e58d2dca..fdf06ff08cf 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCallScreeningService.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCallScreeningService.java @@ -20,8 +20,8 @@ public final class ShadowCallScreeningService { /** Contains the parameters used to call {@link CallScreeningService#respondToCall}. */ public static final class RespondToCallInput { - private Call.Details callDetails; - private CallResponse callResponse; + private final Call.Details callDetails; + private final CallResponse callResponse; public RespondToCallInput(Call.Details callDetails, CallResponse callResponse) { this.callDetails = callDetails; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCamera.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCamera.java index dc36d919c96..cf14c5aabaf 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCamera.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowCamera.java @@ -63,7 +63,7 @@ public class ShadowCamera { private boolean released; private Camera.Parameters parameters; private Camera.PreviewCallback previewCallback; - private List callbackBuffers = new ArrayList<>(); + private final List callbackBuffers = new ArrayList<>(); private SurfaceHolder surfaceHolder; private int displayOrientation; private Camera.AutoFocusCallback autoFocusCallback; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowConnectivityManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowConnectivityManager.java index 2e9a116baed..f640f4685a7 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowConnectivityManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowConnectivityManager.java @@ -41,17 +41,18 @@ public class ShadowConnectivityManager { private static int networkPreference = ConnectivityManager.DEFAULT_NETWORK_PREFERENCE; private static final Map networkTypeToNetworkInfo = new HashMap<>(); - private static HashSet networkCallbacks = new HashSet<>(); + private static final HashSet networkCallbacks = + new HashSet<>(); private static final HashSet networkCallbackPendingIntents = new HashSet<>(); private static final Map netIdToNetwork = new HashMap<>(); private static final Map netIdToNetworkInfo = new HashMap<>(); private static Network processBoundNetwork; private static boolean defaultNetworkActive = true; - private static HashSet onNetworkActiveListeners = - new HashSet<>(); - private static Map reportedNetworkConnectivity = new HashMap<>(); - private static Map networkCapabilitiesMap = new HashMap<>(); + private static final HashSet + onNetworkActiveListeners = new HashSet<>(); + private static final Map reportedNetworkConnectivity = new HashMap<>(); + private static final Map networkCapabilitiesMap = new HashMap<>(); private static String captivePortalServerUrl = "http://10.0.0.2"; private static final Map linkPropertiesMap = new HashMap<>(); private static final Map proxyInfoMap = new HashMap<>(); diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDateIntervalFormat.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDateIntervalFormat.java index 6d239723f7b..aa97cc285ed 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDateIntervalFormat.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDateIntervalFormat.java @@ -14,7 +14,8 @@ public class ShadowDateIntervalFormat { private static long address; - private static Map INTERVAL_CACHE = new HashMap<>(); + private static final Map INTERVAL_CACHE = + new HashMap<>(); @Implementation(maxSdk = LOLLIPOP_MR1) public static long createDateIntervalFormat(String skeleton, String localeName, String tzName) { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java index 21945ded5ce..eefc47d39e3 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDevicePolicyManager.java @@ -233,8 +233,8 @@ public PackageAndPermission(String packageName, String permission) { this.permission = permission; } - private String packageName; - private String permission; + private final String packageName; + private final String permission; @Override public boolean equals(Object o) { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDisplayEventReceiver.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDisplayEventReceiver.java index 9f943193e67..a776685c96c 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDisplayEventReceiver.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDisplayEventReceiver.java @@ -51,7 +51,7 @@ @Implements(className = "android.view.DisplayEventReceiver", isInAndroidSdk = false) public class ShadowDisplayEventReceiver { - private static NativeObjRegistry nativeObjRegistry = + private static final NativeObjRegistry nativeObjRegistry = new NativeObjRegistry<>(NativeDisplayEventReceiver.class); @RealObject protected DisplayEventReceiver realReceiver; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDownloadManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDownloadManager.java index a412ab07973..723b87acec2 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDownloadManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowDownloadManager.java @@ -30,10 +30,10 @@ public class ShadowDownloadManager { private static long queueCounter = -1; // First request starts at 0 just like in the real DownloadManager - private static Map requestMap = new TreeMap<>(); + private static final Map requestMap = new TreeMap<>(); private static long completedCounter = -1; - private static Map completedDownloadsMap = new HashMap<>(); + private static final Map completedDownloadsMap = new HashMap<>(); @Resetter public static void reset() { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowHttpResponseCache.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowHttpResponseCache.java index 0fb712d4bcc..1971cdd1211 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowHttpResponseCache.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowHttpResponseCache.java @@ -25,7 +25,10 @@ public class ShadowHttpResponseCache { private File directory; private long maxSize; private int requestCount = 0; + + @SuppressWarnings({"FieldMayBeFinal", "FieldCanBeLocal"}) private int hitCount = 0; + private int networkCount = 0; @Implementation diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyCanvas.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyCanvas.java index 7e9cad3bbfa..0cb2fdb66e4 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyCanvas.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyCanvas.java @@ -46,13 +46,13 @@ public class ShadowLegacyCanvas extends ShadowCanvas { @ReflectorObject protected CanvasReflector canvasReflector; private final List roundRectPaintEvents = new ArrayList<>(); - private List pathPaintEvents = new ArrayList<>(); - private List circlePaintEvents = new ArrayList<>(); - private List arcPaintEvents = new ArrayList<>(); - private List rectPaintEvents = new ArrayList<>(); - private List linePaintEvents = new ArrayList<>(); - private List ovalPaintEvents = new ArrayList<>(); - private List drawnTextEventHistory = new ArrayList<>(); + private final List pathPaintEvents = new ArrayList<>(); + private final List circlePaintEvents = new ArrayList<>(); + private final List arcPaintEvents = new ArrayList<>(); + private final List rectPaintEvents = new ArrayList<>(); + private final List linePaintEvents = new ArrayList<>(); + private final List ovalPaintEvents = new ArrayList<>(); + private final List drawnTextEventHistory = new ArrayList<>(); private Paint drawnPaint; private Bitmap targetBitmap = ReflectionHelpers.callConstructor(Bitmap.class); private float translateX; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyChoreographer.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyChoreographer.java index 8d01deb103d..f4d6eca3c74 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyChoreographer.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyChoreographer.java @@ -30,7 +30,7 @@ public class ShadowLegacyChoreographer extends ShadowChoreographer { private static long FRAME_INTERVAL = Duration.ofMillis(10).toNanos(); private static final Thread MAIN_THREAD = Thread.currentThread(); private static SoftThreadLocal instance = makeThreadLocal(); - private Handler handler = new Handler(Looper.myLooper()); + private final Handler handler = new Handler(Looper.myLooper()); private static volatile int postCallbackDelayMillis = 0; private static volatile int postFrameCallbackDelayMillis = 0; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyLooper.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyLooper.java index e7069b480b3..11305a4d620 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyLooper.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacyLooper.java @@ -43,7 +43,7 @@ public class ShadowLegacyLooper extends ShadowLooper { // is called. This also allows us to implement the useful getLooperForThread() method. // Note that the main looper is handled differently and is not put in this hash, because we need // to be able to "switch" the thread that the main looper is associated with. - private static Map loopingLoopers = + private static final Map loopingLoopers = Collections.synchronizedMap(new WeakHashMap()); private static Looper mainLooper; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacySystemClock.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacySystemClock.java index 319b89586d5..289c9080b4e 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacySystemClock.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowLegacySystemClock.java @@ -24,7 +24,7 @@ // turn off shadowOf generation isInAndroidSdk = false) public class ShadowLegacySystemClock extends ShadowSystemClock { - private static long bootedAt = 0; + private static final long bootedAt = 0; private static long nanoTime = 0; private static final int MILLIS_PER_NANO = 1000000; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMediaPlayer.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMediaPlayer.java index f7be0533398..eae5f853fe9 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMediaPlayer.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMediaPlayer.java @@ -492,8 +492,8 @@ public void run(MediaPlayer mp, ShadowMediaPlayer smp) { /** Callback to use for scheduled errors. */ private static class ErrorCallback implements MediaEvent { - private int what; - private int extra; + private final int what; + private final int extra; public ErrorCallback(int what, int extra) { this.what = what; @@ -881,7 +881,7 @@ protected boolean isPlaying() { return state == STARTED; } - private static EnumSet preparableStates = EnumSet.of(INITIALIZED, STOPPED); + private static final EnumSet preparableStates = EnumSet.of(INITIALIZED, STOPPED); /** * Simulates {@link MediaPlayer#prepareAsync()}. Sleeps for {@link MediaInfo#getPreparationDelay() @@ -928,7 +928,7 @@ protected void prepareAsync() { } } - private static EnumSet startableStates = + private static final EnumSet startableStates = EnumSet.of(PREPARED, STARTED, PAUSED, PLAYBACK_COMPLETED); /** @@ -1488,7 +1488,7 @@ protected boolean native_setOutputDevice(int preferredDeviceId) { return true; } - private static EnumSet preparedStates = + private static final EnumSet preparedStates = EnumSet.of(PREPARED, STARTED, PAUSED, PLAYBACK_COMPLETED); /** diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMotionEvent.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMotionEvent.java index f575672a31c..c5a265969e0 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMotionEvent.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowMotionEvent.java @@ -53,7 +53,7 @@ @Implements(value = MotionEvent.class) public class ShadowMotionEvent extends ShadowInputEvent { - private static NativeObjRegistry nativeMotionEventRegistry = + private static final NativeObjRegistry nativeMotionEventRegistry = new NativeObjRegistry<>(NativeInput.MotionEvent.class); private static final int HISTORY_CURRENT = -0x80000000; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowNativePaint.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowNativePaint.java index 2ca0ce80fea..7eac9097011 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowNativePaint.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowNativePaint.java @@ -29,7 +29,7 @@ public class ShadowNativePaint { // nGetTextRunCursor methods are non-static - private PaintNatives paintNatives = new PaintNatives(); + private final PaintNatives paintNatives = new PaintNatives(); @Implementation(minSdk = O, maxSdk = U.SDK_INT) protected static long nGetNativeFinalizer() { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageInstaller.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageInstaller.java index d4a24033b66..1062d8e4340 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageInstaller.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageInstaller.java @@ -57,9 +57,9 @@ protected Bitmap getAppIcon() { // According to the documentation, the session ID is always non-zero: // https://developer.android.com/reference/android/content/pm/PackageInstaller#createSession(android.content.pm.PackageInstaller.SessionParams) private int nextSessionId = 1; - private Map sessionInfos = new HashMap<>(); - private Map sessions = new HashMap<>(); - private Set callbackInfos = Collections.synchronizedSet(new HashSet<>()); + private final Map sessionInfos = new HashMap<>(); + private final Map sessions = new HashMap<>(); + private final Set callbackInfos = Collections.synchronizedSet(new HashSet<>()); private final Map uninstalledPackages = new HashMap<>(); private static class CallbackInfo { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageManager.java index 630e099a423..57cb92debe6 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPackageManager.java @@ -143,7 +143,7 @@ public class ShadowPackageManager { static final SortedMap> providerFilters = new TreeMap<>(); static final SortedMap> receiverFilters = new TreeMap<>(); - private static Map packageArchiveInfo = new HashMap<>(); + private static final Map packageArchiveInfo = new HashMap<>(); static final Map packageStatsMap = new HashMap<>(); static final Map packageInstallerMap = new HashMap<>(); static final Map packageInstallSourceInfoMap = new HashMap<>(); diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPathParser.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPathParser.java index 21eb62ea303..f73ba771c28 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPathParser.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPathParser.java @@ -154,8 +154,8 @@ private static void extract(String s, int start, ExtractFloatResult result) { } public static class PathDataNode { - private char mType; - private float[] mParams; + private final char mType; + private final float[] mParams; private PathDataNode(char type, float[] params) { mType = type; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedLooper.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedLooper.java index 4eeada1bb43..a7d6c1c598a 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedLooper.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedLooper.java @@ -64,7 +64,7 @@ public final class ShadowPausedLooper extends ShadowLooper { // Keep reference to all created Loopers so they can be torn down after test - private static Set loopingLoopers = + private static final Set loopingLoopers = Collections.synchronizedSet(Collections.newSetFromMap(new WeakHashMap())); private static boolean ignoreUncaughtExceptions = false; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedMessageQueue.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedMessageQueue.java index dd4d5535a32..f74c2537ad3 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedMessageQueue.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPausedMessageQueue.java @@ -41,7 +41,7 @@ public class ShadowPausedMessageQueue extends ShadowMessageQueue { @RealObject private MessageQueue realQueue; // just use this class as the native object - private static NativeObjRegistry nativeQueueRegistry = + private static final NativeObjRegistry nativeQueueRegistry = new NativeObjRegistry(ShadowPausedMessageQueue.class); private boolean isPolling = false; private ShadowPausedSystemClock.Listener clockListener; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPowerManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPowerManager.java index 8c2b04e3703..8a1bc996a26 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPowerManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowPowerManager.java @@ -140,7 +140,7 @@ public void setIsPowerSaveMode(boolean powerSaveMode) { isPowerSaveMode = powerSaveMode; } - private Map supportedWakeLockLevels = new HashMap<>(); + private final Map supportedWakeLockLevels = new HashMap<>(); @Implementation protected boolean isWakeLockLevelSupported(int level) { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowProcess.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowProcess.java index 40a20237853..a91412a6bba 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowProcess.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowProcess.java @@ -19,7 +19,7 @@ public class ShadowProcess { private static int pid; private static final int UID = getRandomApplicationUid(); private static Integer uidOverride; - private static int tid = getRandomApplicationUid(); + private static final int tid = getRandomApplicationUid(); private static final Object threadPrioritiesLock = new Object(); private static final Object killedProcessesLock = new Object(); // The range of thread priority values is specified by diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowRenderNodeAnimator.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowRenderNodeAnimator.java index cc7c758c173..7f87e61d643 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowRenderNodeAnimator.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowRenderNodeAnimator.java @@ -25,7 +25,7 @@ public class ShadowRenderNodeAnimator { private static final int STATE_FINISHED = 3; @RealObject RenderNodeAnimator realObject; - private Choreographer choreographer = Choreographer.getInstance(); + private final Choreographer choreographer = Choreographer.getInstance(); private boolean scheduled = false; private long startTime = -1; private boolean isEnding = false; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSensorManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSensorManager.java index ddd7bbbcd96..0db42ad3860 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSensorManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSensorManager.java @@ -33,7 +33,7 @@ /** Shadow for {@link SensorManager}. */ @Implements(value = SensorManager.class) public class ShadowSensorManager { - private static AtomicBoolean forceListenersToFail = new AtomicBoolean(); + private static final AtomicBoolean forceListenersToFail = new AtomicBoolean(); private static final Multimap sensorMap = Multimaps.synchronizedMultimap(HashMultimap.create()); private static final Multimap listeners = diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStatFs.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStatFs.java index 2e6cee8f8b8..87c030fb50c 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStatFs.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStatFs.java @@ -18,7 +18,7 @@ public class ShadowStatFs { public static final int BLOCK_SIZE = 4096; private static final Stats DEFAULT_STATS = new Stats(0, 0, 0); - private static TreeMap stats = new TreeMap<>(); + private static final TreeMap stats = new TreeMap<>(); private Stats stat; @Implementation diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSubscriptionManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSubscriptionManager.java index d9adb94cd97..25f3dbcb943 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSubscriptionManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowSubscriptionManager.java @@ -125,7 +125,7 @@ public static void setDefaultVoiceSubscriptionId(int defaultVoiceSubscriptionId) * Cache of phone IDs used by {@link getPhoneId}. Managed by {@link putPhoneId} and {@link * removePhoneId}. */ - private static Map phoneIds = new HashMap<>(); + private static final Map phoneIds = new HashMap<>(); /** * Cache of {@link SubscriptionInfo} used by {@link #getActiveSubscriptionInfoList}. Managed by @@ -149,13 +149,13 @@ public static void setDefaultVoiceSubscriptionId(int defaultVoiceSubscriptionId) * List of listeners to be notified if the list of {@link SubscriptionInfo} changes. Managed by * {@link #addOnSubscriptionsChangedListener} and {@link removeOnSubscriptionsChangedListener}. */ - private List listeners = new ArrayList<>(); + private final List listeners = new ArrayList<>(); /** * Cache of subscription ids used by {@link #isNetworkRoaming}. Managed by {@link * #setNetworkRoamingStatus} and {@link #clearNetworkRoamingStatus}. */ - private Set roamingSimSubscriptionIds = new HashSet<>(); + private final Set roamingSimSubscriptionIds = new HashSet<>(); /** * Returns the active list of {@link SubscriptionInfo} that were set via {@link diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTabHost.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTabHost.java index fad0b693359..3c95a16b0ae 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTabHost.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTabHost.java @@ -19,7 +19,7 @@ @SuppressWarnings({"UnusedDeclaration"}) @Implements(TabHost.class) public class ShadowTabHost extends ShadowViewGroup { - private List tabSpecs = new ArrayList<>(); + private final List tabSpecs = new ArrayList<>(); private TabHost.OnTabChangeListener listener; private int currentTab = -1; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTelephonyManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTelephonyManager.java index 3b298f71c00..be086713e08 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTelephonyManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTelephonyManager.java @@ -142,7 +142,7 @@ public class ShadowTelephonyManager { private String voiceMailAlphaTag; private static volatile int phoneCount = 1; private static volatile int activeModemCount = 1; - private static volatile Map subscriptionIdsToTelephonyManagers = + private static final Map subscriptionIdsToTelephonyManagers = Collections.synchronizedMap(new LinkedHashMap<>()); private PersistableBundle carrierConfig; private ServiceState serviceState; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTextView.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTextView.java index e7d29b4c434..9617b7c60ed 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTextView.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTextView.java @@ -28,9 +28,9 @@ public class ShadowTextView extends ShadowView { protected int selectionStart = -1; protected int selectionEnd = -1; - private List watchers = new ArrayList<>(); - private List previousKeyCodes = new ArrayList<>(); - private List previousKeyEvents = new ArrayList<>(); + private final List watchers = new ArrayList<>(); + private final List previousKeyCodes = new ArrayList<>(); + private final List previousKeyEvents = new ArrayList<>(); private int compoundDrawablesWithIntrinsicBoundsLeft; private int compoundDrawablesWithIntrinsicBoundsTop; private int compoundDrawablesWithIntrinsicBoundsRight; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUsageStatsManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUsageStatsManager.java index c634001c8a1..eefddb4f648 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUsageStatsManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUsageStatsManager.java @@ -69,7 +69,7 @@ public class ShadowUsageStatsManager { * Keys {@link UsageStats} objects by intervalType (e.g. {@link * UsageStatsManager#INTERVAL_WEEKLY}). */ - private static SetMultimap usageStatsByIntervalType = + private static final SetMultimap usageStatsByIntervalType = Multimaps.synchronizedSetMultimap(HashMultimap.create()); private static final Map appStandbyBuckets = Maps.newConcurrentMap(); @@ -681,7 +681,7 @@ public static void reset() { * of the Android API. */ public static class UsageStatsBuilder { - private UsageStats usageStats = new UsageStats(); + private final UsageStats usageStats = new UsageStats(); // Use {@link #newBuilder} to construct builders. private UsageStatsBuilder() {} @@ -725,7 +725,7 @@ public UsageStatsBuilder setLastTimeUsed(long lastTimeUsed) { * API. */ public static class EventBuilder { - private Event event = new Event(); + private final Event event = new Event(); private EventBuilder() {} diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVelocityTracker.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVelocityTracker.java index aed29a460e1..69f431fff85 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVelocityTracker.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVelocityTracker.java @@ -18,8 +18,8 @@ public class ShadowVelocityTracker { private final Movement[] movements = new Movement[HISTORY_SIZE]; private int curIndex = 0; - private SparseArray computedVelocityX = new SparseArray<>(); - private SparseArray computedVelocityY = new SparseArray<>(); + private final SparseArray computedVelocityX = new SparseArray<>(); + private final SparseArray computedVelocityY = new SparseArray<>(); private void maybeInitialize() { if (initialized) { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVirtualRefBasePtr.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVirtualRefBasePtr.java index 6823a785284..107e64e083c 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVirtualRefBasePtr.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowVirtualRefBasePtr.java @@ -37,7 +37,7 @@ protected static synchronized void nDecStrong(long ptr) { } private static final class RefHolder { - private T nativeThing; + private final T nativeThing; private int refCount; private RefHolder(T object) { diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWallpaperManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWallpaperManager.java index ab76f02ffec..34384f28d84 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWallpaperManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWallpaperManager.java @@ -47,7 +47,7 @@ public class ShadowWallpaperManager { private static boolean isWallpaperSupported = true; private static WallpaperInfo wallpaperInfo = null; private static final List wallpaperCommandRecords = new ArrayList<>(); - private static AtomicInteger wallpaperId = new AtomicInteger(0); + private static final AtomicInteger wallpaperId = new AtomicInteger(0); private static int lockScreenId; private static int homeScreenId; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWebView.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWebView.java index 8847b5e2f06..6f1b5b7744f 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWebView.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWebView.java @@ -50,11 +50,11 @@ public class ShadowWebView extends ShadowViewGroup { private static PackageInfo packageInfo = null; - private List allCreatedPorts = new ArrayList<>(); + private final List allCreatedPorts = new ArrayList<>(); private String lastUrl; private Map lastAdditionalHttpHeaders; - private HashMap javascriptInterfaces = new HashMap<>(); - private WebSettings webSettings = new RoboWebSettings(); + private final HashMap javascriptInterfaces = new HashMap<>(); + private final WebSettings webSettings = new RoboWebSettings(); private WebViewClient webViewClient = null; private boolean clearCacheCalled = false; private boolean clearCacheIncludeDiskFiles = false; diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWifiManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWifiManager.java index 1061fee1e5e..44c07d30357 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWifiManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowWifiManager.java @@ -81,7 +81,7 @@ public class ShadowWifiManager { private boolean isWpa3SaeH2eSupported = false; private boolean isWpa3SaePublicKeySupported = false; private boolean isWpa3SuiteBSupported = false; - private AtomicInteger activeLockCount = new AtomicInteger(0); + private final AtomicInteger activeLockCount = new AtomicInteger(0); private final BitSet readOnlyNetworkIds = new BitSet(); private final ConcurrentHashMap wifiUsabilityStatsListeners = new ConcurrentHashMap<>(); diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/util/DataSource.java b/shadows/framework/src/main/java/org/robolectric/shadows/util/DataSource.java index b3128e56310..0d943525f8b 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/util/DataSource.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/util/DataSource.java @@ -18,7 +18,7 @@ * @author Fr Jeremy Krieg */ public class DataSource { - private String dataSource; + private final String dataSource; @SuppressWarnings("ObjectToString") private static final FileDescriptorTransform DEFAULT_FD_TRANSFORM =