Fix various java warnings

Change-Id: I4c4381e1755831df2c4f41279800fd6af173e4ed
diff --git a/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java b/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java
index b6a55e3..18dc693 100644
--- a/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java
+++ b/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java
@@ -31,7 +31,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
@@ -61,11 +60,6 @@
 
     public static final String TAG = BaseSetupWizardActivity.class.getSimpleName();
 
-    protected static final int TRANSITION_ID_NONE = -1;
-    protected static final int TRANSITION_ID_DEFAULT = 1;
-    protected static final int TRANSITION_ID_SLIDE = 2;
-    protected static final int TRANSITION_ID_FADE = 3;
-
     private NavigationLayout mNavigationBar;
 
     private final BroadcastReceiver finishReceiver = new BroadcastReceiver() {
@@ -204,13 +198,6 @@
         }
     }
 
-    protected boolean isNextAllowed() {
-        if (mNavigationBar != null) {
-            mNavigationBar.getNextButton().isEnabled();
-        }
-        return false;
-    }
-
     protected void onNextPressed() {
         nextAction(RESULT_OK);
     }
@@ -242,10 +229,6 @@
         }
     }
 
-    public void onNavigateBack() {
-        getOnBackPressedDispatcher().onBackPressed();
-    }
-
     public void onNavigateNext() {
         onNextPressed();
     }
@@ -337,44 +320,6 @@
         }
     }
 
-    protected final void applyForwardTransition(int transitionId) {
-        if (transitionId == TRANSITION_ID_SLIDE) {
-            overrideActivityTransition(OVERRIDE_TRANSITION_OPEN, R.anim.sud_slide_next_in,
-                    R.anim.sud_slide_next_out);
-        } else if (transitionId == TRANSITION_ID_FADE) {
-            overrideActivityTransition(OVERRIDE_TRANSITION_OPEN, android.R.anim.fade_in,
-                    android.R.anim.fade_out);
-        } else if (transitionId == TRANSITION_ID_DEFAULT) {
-            TypedArray typedArray = obtainStyledAttributes(android.R.style.Animation_Activity,
-                    new int[]{android.R.attr.activityOpenEnterAnimation,
-                            android.R.attr.activityOpenExitAnimation});
-            overrideActivityTransition(OVERRIDE_TRANSITION_OPEN, typedArray.getResourceId(0, 0),
-                    typedArray.getResourceId(1, 0));
-            typedArray.recycle();
-        } else if (transitionId == TRANSITION_ID_NONE) {
-            overrideActivityTransition(OVERRIDE_TRANSITION_OPEN, 0, 0);
-        }
-    }
-
-    protected final void applyBackwardTransition(int transitionId) {
-        if (transitionId == TRANSITION_ID_SLIDE) {
-            overrideActivityTransition(OVERRIDE_TRANSITION_CLOSE, R.anim.sud_slide_back_in,
-                    R.anim.sud_slide_back_out);
-        } else if (transitionId == TRANSITION_ID_FADE) {
-            overrideActivityTransition(OVERRIDE_TRANSITION_CLOSE, android.R.anim.fade_in,
-                    android.R.anim.fade_out);
-        } else if (transitionId == TRANSITION_ID_DEFAULT) {
-            TypedArray typedArray = obtainStyledAttributes(android.R.style.Animation_Activity,
-                    new int[]{android.R.attr.activityCloseEnterAnimation,
-                            android.R.attr.activityCloseExitAnimation});
-            overrideActivityTransition(OVERRIDE_TRANSITION_CLOSE, typedArray.getResourceId(0, 0),
-                    typedArray.getResourceId(1, 0));
-            typedArray.recycle();
-        } else if (transitionId == TRANSITION_ID_NONE) {
-            overrideActivityTransition(OVERRIDE_TRANSITION_CLOSE, 0, 0);
-        }
-    }
-
     protected final boolean tryEnablingWifi() {
         WifiManager wifiManager = getSystemService(WifiManager.class);
         return wifiManager.setWifiEnabled(true);
diff --git a/src/org/lineageos/setupwizard/BiometricActivity.java b/src/org/lineageos/setupwizard/BiometricActivity.java
index 08f7f34..40eb3a8 100644
--- a/src/org/lineageos/setupwizard/BiometricActivity.java
+++ b/src/org/lineageos/setupwizard/BiometricActivity.java
@@ -23,8 +23,6 @@
 
 public class BiometricActivity extends SubBaseActivity {
 
-    public static final String TAG = BiometricActivity.class.getSimpleName();
-
     @Override
     protected void onStartSubactivity() {
         Intent intent = new Intent(ACTION_SETUP_BIOMETRIC);
diff --git a/src/org/lineageos/setupwizard/DateTimeActivity.java b/src/org/lineageos/setupwizard/DateTimeActivity.java
index b45f463..32c8530 100644
--- a/src/org/lineageos/setupwizard/DateTimeActivity.java
+++ b/src/org/lineageos/setupwizard/DateTimeActivity.java
@@ -37,6 +37,7 @@
 import android.widget.TextView;
 import android.widget.TimePicker;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.DialogFragment;
 
 import com.android.settingslib.datetime.ZoneGetter;
@@ -44,7 +45,6 @@
 import org.lineageos.setupwizard.util.SetupWizardUtils;
 
 import java.util.Calendar;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -53,15 +53,10 @@
 public class DateTimeActivity extends BaseSetupWizardActivity implements
         TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener {
 
-    public static final String TAG = DateTimeActivity.class.getSimpleName();
-
     private static final String KEY_ID = "id"; // value: String
     private static final String KEY_DISPLAYNAME = "name"; // value: String
     private static final String KEY_GMT = "gmt"; // value: String
     private static final String KEY_OFFSET = "offset"; // value: int (Integer)
-    private static final String XMLTAG_TIMEZONE = "timezone";
-
-    private static final int HOURS_1 = 60 * 60000;
 
     private TimeZone mCurrentTimeZone;
     private TextView mDateTextView;
@@ -207,14 +202,13 @@
 
         final TimeZoneComparator comparator = new TimeZoneComparator(KEY_OFFSET);
         final List<Map<String, Object>> sortedList = ZoneGetter.getZonesList(context);
-        Collections.sort(sortedList, comparator);
-        final SimpleAdapter adapter = new SimpleAdapter(context,
+        sortedList.sort(comparator);
+
+        return new SimpleAdapter(context,
                 sortedList,
                 R.layout.date_time_setup_custom_list_item_2,
                 from,
                 to);
-
-        return adapter;
     }
 
     private static int getTimeZoneIndex(SimpleAdapter adapter, TimeZone tz) {
@@ -259,16 +253,12 @@
     }
 
     private static class TimeZoneComparator implements Comparator<Map<?, ?>> {
-        private String mSortingKey;
+        private final String mSortingKey;
 
         public TimeZoneComparator(String sortingKey) {
             mSortingKey = sortingKey;
         }
 
-        public void setSortingKey(String sortingKey) {
-            mSortingKey = sortingKey;
-        }
-
         public int compare(Map<?, ?> map1, Map<?, ?> map2) {
             Object value1 = map1.get(mSortingKey);
             Object value2 = map2.get(mSortingKey);
@@ -287,7 +277,7 @@
         }
 
         private boolean isComparable(Object value) {
-            return (value != null) && (value instanceof Comparable);
+            return (value instanceof Comparable);
         }
     }
 
@@ -297,8 +287,7 @@
         private static final String TAG = TimePickerFragment.class.getSimpleName();
 
         public static TimePickerFragment newInstance() {
-            TimePickerFragment frag = new TimePickerFragment();
-            return frag;
+            return new TimePickerFragment();
         }
 
         @Override
@@ -306,6 +295,7 @@
             ((DateTimeActivity) getActivity()).onTimeSet(view, hourOfDay, minute);
         }
 
+        @NonNull
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
             final Calendar calendar = Calendar.getInstance();
@@ -324,8 +314,7 @@
         private static final String TAG = DatePickerFragment.class.getSimpleName();
 
         public static DatePickerFragment newInstance() {
-            DatePickerFragment frag = new DatePickerFragment();
-            return frag;
+            return new DatePickerFragment();
         }
 
         @Override
@@ -333,6 +322,7 @@
             ((DateTimeActivity) getActivity()).onDateSet(view, year, month, day);
         }
 
+        @NonNull
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
             final Calendar calendar = Calendar.getInstance();
diff --git a/src/org/lineageos/setupwizard/FinishActivity.java b/src/org/lineageos/setupwizard/FinishActivity.java
index 0e71ccb..30b7eab 100644
--- a/src/org/lineageos/setupwizard/FinishActivity.java
+++ b/src/org/lineageos/setupwizard/FinishActivity.java
@@ -81,7 +81,7 @@
             if (LOGV) {
                 Log.v(TAG, "onReceive intent=" + intent);
             }
-            if (intent != null && intent.getAction() == ACTION_FINISHED) {
+            if (intent != null && intent.getAction().equals(ACTION_FINISHED)) {
                 unregisterReceiver(mIntentReceiver);
                 completeSetup();
             }
@@ -96,7 +96,7 @@
             logActivityState("onCreate savedInstanceState=" + savedInstanceState);
         }
         mSetupWizardApp = (SetupWizardApp) getApplication();
-        mBackground = (ImageView) findViewById(R.id.background);
+        mBackground = findViewById(R.id.background);
         setNextText(R.string.start);
 
         // Edge-to-edge. Needed for the background view to fill the full screen.
@@ -231,7 +231,7 @@
 
             try {
                 overlayManager.setEnabledExclusiveInCategory(selectedNavMode, USER_CURRENT);
-            } catch (Exception e) {
+            } catch (Exception ignored) {
             }
         }
     }
diff --git a/src/org/lineageos/setupwizard/LineageSettingsActivity.java b/src/org/lineageos/setupwizard/LineageSettingsActivity.java
index 808cbd4..5cf5adb 100644
--- a/src/org/lineageos/setupwizard/LineageSettingsActivity.java
+++ b/src/org/lineageos/setupwizard/LineageSettingsActivity.java
@@ -34,8 +34,6 @@
 
 public class LineageSettingsActivity extends BaseSetupWizardActivity {
 
-    public static final String TAG = LineageSettingsActivity.class.getSimpleName();
-
     private SetupWizardApp mSetupWizardApp;
 
     private CheckBox mMetrics;
diff --git a/src/org/lineageos/setupwizard/LocaleActivity.java b/src/org/lineageos/setupwizard/LocaleActivity.java
index c68f538..3fdf9d1 100644
--- a/src/org/lineageos/setupwizard/LocaleActivity.java
+++ b/src/org/lineageos/setupwizard/LocaleActivity.java
@@ -51,8 +51,6 @@
 
 public class LocaleActivity extends BaseSetupWizardActivity {
 
-    public static final String TAG = LocaleActivity.class.getSimpleName();
-
     private ArrayAdapter<com.android.internal.app.LocalePicker.LocaleInfo> mLocaleAdapter;
     private Locale mCurrentLocale;
     private int[] mAdapterIndices;
@@ -89,9 +87,7 @@
         mLanguagePicker.setNextRight(getNextButton().getId());
         mLanguagePicker.requestFocus();
         if (getResources().getBoolean(R.bool.config_isLargeNoTouch)) {
-            mLanguagePicker.setOnClickListener((View v) -> {
-                getNextButton().performClick();
-            });
+            mLanguagePicker.setOnClickListener((View v) -> getNextButton().performClick());
         }
         loadLanguages();
     }
diff --git a/src/org/lineageos/setupwizard/LocationSettingsActivity.java b/src/org/lineageos/setupwizard/LocationSettingsActivity.java
index 24e2669..b276490 100644
--- a/src/org/lineageos/setupwizard/LocationSettingsActivity.java
+++ b/src/org/lineageos/setupwizard/LocationSettingsActivity.java
@@ -27,9 +27,6 @@
 
 public class LocationSettingsActivity extends BaseSetupWizardActivity {
 
-    public static final String TAG =
-            LocationSettingsActivity.class.getSimpleName().substring(0, 22);
-
     private CheckBox mLocationAccess;
     private CheckBox mLocationAgpsAccess;
 
@@ -47,14 +44,12 @@
         mLocationManager = getSystemService(LocationManager.class);
         mUserManager = getSystemService(UserManager.class);
         View locationAccessView = findViewById(R.id.location);
-        locationAccessView.setOnClickListener(v -> {
-            mLocationAccess.setChecked(!mLocationAccess.isChecked());
-        });
+        locationAccessView.setOnClickListener(
+                v -> mLocationAccess.setChecked(!mLocationAccess.isChecked()));
         View locationAgpsAccessView = findViewById(R.id.location_agps);
         if (mUserManager.isMainUser()) {
-            locationAgpsAccessView.setOnClickListener(v -> {
-                mLocationAgpsAccess.setChecked(!mLocationAgpsAccess.isChecked());
-            });
+            locationAgpsAccessView.setOnClickListener(
+                    v -> mLocationAgpsAccess.setChecked(!mLocationAgpsAccess.isChecked()));
         } else {
             locationAgpsAccessView.setVisibility(View.GONE);
         }
diff --git a/src/org/lineageos/setupwizard/NavigationLayout.java b/src/org/lineageos/setupwizard/NavigationLayout.java
index ed5edbf..b109dfd 100644
--- a/src/org/lineageos/setupwizard/NavigationLayout.java
+++ b/src/org/lineageos/setupwizard/NavigationLayout.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The LineageOS Project
+ * Copyright (C) 2021-2024 The LineageOS Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,8 +31,6 @@
      * namely when the user clicks on the back or next button.
      */
     public interface NavigationBarListener {
-        void onNavigateBack();
-
         void onNavigateNext();
 
         void onSkip();
diff --git a/src/org/lineageos/setupwizard/NavigationSettingsActivity.java b/src/org/lineageos/setupwizard/NavigationSettingsActivity.java
index 035df83..e810713 100644
--- a/src/org/lineageos/setupwizard/NavigationSettingsActivity.java
+++ b/src/org/lineageos/setupwizard/NavigationSettingsActivity.java
@@ -34,7 +34,6 @@
 import android.widget.CheckBox;
 import android.widget.RadioButton;
 import android.widget.RadioGroup;
-import android.widget.RadioGroup.OnCheckedChangeListener;
 
 import com.airbnb.lottie.LottieAnimationView;
 
@@ -44,8 +43,6 @@
 
 public class NavigationSettingsActivity extends BaseSetupWizardActivity {
 
-    public static final String TAG = NavigationSettingsActivity.class.getSimpleName();
-
     private SetupWizardApp mSetupWizardApp;
 
     private boolean mIsTaskbarEnabled;
diff --git a/src/org/lineageos/setupwizard/NetworkSetupActivity.java b/src/org/lineageos/setupwizard/NetworkSetupActivity.java
index 7e777de..4c9d515 100644
--- a/src/org/lineageos/setupwizard/NetworkSetupActivity.java
+++ b/src/org/lineageos/setupwizard/NetworkSetupActivity.java
@@ -30,8 +30,6 @@
 
 public class NetworkSetupActivity extends SubBaseActivity {
 
-    public static final String TAG = NetworkSetupActivity.class.getSimpleName();
-
     @Override
     protected void onStartSubactivity() {
         if (SetupWizardUtils.isOwner()) {
diff --git a/src/org/lineageos/setupwizard/ScreenLockActivity.java b/src/org/lineageos/setupwizard/ScreenLockActivity.java
index 3498d27..87f0528 100644
--- a/src/org/lineageos/setupwizard/ScreenLockActivity.java
+++ b/src/org/lineageos/setupwizard/ScreenLockActivity.java
@@ -23,8 +23,6 @@
 
 public class ScreenLockActivity extends SubBaseActivity {
 
-    public static final String TAG = ScreenLockActivity.class.getSimpleName();
-
     @Override
     protected void onStartSubactivity() {
         Intent intent = new Intent(ACTION_SETUP_LOCKSCREEN);
diff --git a/src/org/lineageos/setupwizard/SetupWizardApp.java b/src/org/lineageos/setupwizard/SetupWizardApp.java
index 538c1db..97cc8b3 100644
--- a/src/org/lineageos/setupwizard/SetupWizardApp.java
+++ b/src/org/lineageos/setupwizard/SetupWizardApp.java
@@ -45,9 +45,6 @@
     public static final String ACTION_EMERGENCY_DIAL = "com.android.phone.EmergencyDialer.DIAL";
     public static final String ACTION_LOAD = "com.android.wizard.LOAD";
 
-    public static final String EXTRA_HAS_MULTIPLE_USERS = "hasMultipleUsers";
-    public static final String EXTRA_TITLE = "title";
-    public static final String EXTRA_DETAILS = "details";
     public static final String EXTRA_SCRIPT_URI = "scriptUri";
     public static final String EXTRA_ACTION_ID = "actionId";
     public static final String EXTRA_RESULT_CODE = "com.android.setupwizard.ResultCode";
@@ -94,17 +91,6 @@
         return sStatusBarManager;
     }
 
-    public boolean isRadioReady() {
-        return mIsRadioReady;
-    }
-
-    public void setRadioReady(boolean radioReady) {
-        if (!mIsRadioReady && radioReady) {
-            mHandler.removeCallbacks(mRadioTimeoutRunnable);
-        }
-        mIsRadioReady = radioReady;
-    }
-
     public boolean ignoreSimLocale() {
         return mIgnoreSimLocale;
     }
diff --git a/src/org/lineageos/setupwizard/SimMissingActivity.java b/src/org/lineageos/setupwizard/SimMissingActivity.java
index 4336fdc..dff41b3 100644
--- a/src/org/lineageos/setupwizard/SimMissingActivity.java
+++ b/src/org/lineageos/setupwizard/SimMissingActivity.java
@@ -23,8 +23,6 @@
 
 public class SimMissingActivity extends BaseSetupWizardActivity {
 
-    public static final String TAG = SimMissingActivity.class.getSimpleName();
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
diff --git a/src/org/lineageos/setupwizard/SubBaseActivity.java b/src/org/lineageos/setupwizard/SubBaseActivity.java
index 66376e3..b1f262a 100644
--- a/src/org/lineageos/setupwizard/SubBaseActivity.java
+++ b/src/org/lineageos/setupwizard/SubBaseActivity.java
@@ -38,10 +38,6 @@
 
     protected abstract void onStartSubactivity();
 
-    protected void onSubactivityCanceled(Intent data) {
-        // Do nothing.
-    }
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         if (LOGV) {
diff --git a/src/org/lineageos/setupwizard/ThemeSettingsActivity.java b/src/org/lineageos/setupwizard/ThemeSettingsActivity.java
index fe0c2bd..8c00463 100644
--- a/src/org/lineageos/setupwizard/ThemeSettingsActivity.java
+++ b/src/org/lineageos/setupwizard/ThemeSettingsActivity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2023 The LineageOS Project
+ * Copyright (C) 2023-2024 The LineageOS Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,7 +24,6 @@
 import androidx.annotation.Nullable;
 
 public class ThemeSettingsActivity extends BaseSetupWizardActivity {
-    public static final String TAG = ThemeSettingsActivity.class.getSimpleName();
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
diff --git a/src/org/lineageos/setupwizard/UpdateRecoveryActivity.java b/src/org/lineageos/setupwizard/UpdateRecoveryActivity.java
index 52a0177..7ba5c11 100644
--- a/src/org/lineageos/setupwizard/UpdateRecoveryActivity.java
+++ b/src/org/lineageos/setupwizard/UpdateRecoveryActivity.java
@@ -53,9 +53,8 @@
         mRecoveryUpdateCheckbox = findViewById(R.id.update_recovery_checkbox);
 
         View cbView = findViewById(R.id.update_recovery_checkbox_view);
-        cbView.setOnClickListener(v -> {
-            mRecoveryUpdateCheckbox.setChecked(!mRecoveryUpdateCheckbox.isChecked());
-        });
+        cbView.setOnClickListener(
+                v -> mRecoveryUpdateCheckbox.setChecked(!mRecoveryUpdateCheckbox.isChecked()));
 
         // Allow overriding the default checkbox state
         if (sFirstTime) {
diff --git a/src/org/lineageos/setupwizard/WelcomeActivity.java b/src/org/lineageos/setupwizard/WelcomeActivity.java
index 10ea618..1771970 100644
--- a/src/org/lineageos/setupwizard/WelcomeActivity.java
+++ b/src/org/lineageos/setupwizard/WelcomeActivity.java
@@ -33,8 +33,6 @@
 
 public class WelcomeActivity extends SubBaseActivity {
 
-    public static final String TAG = WelcomeActivity.class.getSimpleName();
-
     @Override
     protected void onStartSubactivity() {
     }
diff --git a/src/org/lineageos/setupwizard/util/SetupWizardUtils.java b/src/org/lineageos/setupwizard/util/SetupWizardUtils.java
index 7b15533..92cfd34 100644
--- a/src/org/lineageos/setupwizard/util/SetupWizardUtils.java
+++ b/src/org/lineageos/setupwizard/util/SetupWizardUtils.java
@@ -18,7 +18,6 @@
 package org.lineageos.setupwizard.util;
 
 import static android.content.Context.MODE_PRIVATE;
-import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
 import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
 import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
 import static android.content.pm.PackageManager.DONT_KILL_APP;
@@ -137,18 +136,6 @@
         return !featureHidden;
     }
 
-    public static boolean isRadioReady(Context context, ServiceState state) {
-        final SetupWizardApp setupWizardApp = (SetupWizardApp) context.getApplicationContext();
-        if (setupWizardApp.isRadioReady()) {
-            return true;
-        } else {
-            final boolean ready = state != null
-                    && state.getState() != ServiceState.STATE_POWER_OFF;
-            setupWizardApp.setRadioReady(ready);
-            return ready;
-        }
-    }
-
     public static boolean isOwner() {
         return UserHandle.myUserId() == 0;
     }
@@ -335,7 +322,7 @@
                 COMPONENT_ENABLED_STATE_DISABLED);
     }
 
-    public static void disableComponent(Context context, Class cls) {
+    public static void disableComponent(Context context, Class<?> cls) {
         setComponentEnabledState(context, new ComponentName(context, cls),
                 COMPONENT_ENABLED_STATE_DISABLED);
     }
@@ -345,16 +332,6 @@
                 COMPONENT_ENABLED_STATE_ENABLED);
     }
 
-    public static void resetComponentSets(Context context, int flags) {
-        setComponentListEnabledState(context, getComponentSets(context, flags),
-                COMPONENT_ENABLED_STATE_DEFAULT);
-    }
-
-    public static void resetComponent(Context context, Class<?> cls) {
-        setComponentEnabledState(context, new ComponentName(context, cls),
-                COMPONENT_ENABLED_STATE_DEFAULT);
-    }
-
     public static void setComponentEnabledState(Context context, ComponentName componentName,
             int enabledState) {
         context.getPackageManager().setComponentEnabledSetting(componentName,
@@ -370,7 +347,7 @@
 
     public static List<ComponentName> getComponentSets(Context context, int flags) {
         int i = 0;
-        List<ComponentName> componentNames = new ArrayList();
+        List<ComponentName> componentNames = new ArrayList<>();
         try {
             PackageInfo allInfo = context.getPackageManager()
                     .getPackageInfo(context.getPackageName(), flags);
@@ -394,7 +371,7 @@
                     }
                 }
             }
-        } catch (PackageManager.NameNotFoundException e) {
+        } catch (PackageManager.NameNotFoundException ignored) {
         }
         return componentNames;
     }
diff --git a/src/org/lineageos/setupwizard/widget/LocalePicker.java b/src/org/lineageos/setupwizard/widget/LocalePicker.java
index 2a19e32..99bcac9 100644
--- a/src/org/lineageos/setupwizard/widget/LocalePicker.java
+++ b/src/org/lineageos/setupwizard/widget/LocalePicker.java
@@ -27,7 +27,6 @@
 import android.graphics.Paint.Align;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
-import android.icu.text.DecimalFormatSymbols;
 import android.os.Bundle;
 import android.text.InputFilter;
 import android.text.InputType;
@@ -154,58 +153,6 @@
     private static final int SIZE_UNSPECIFIED = -1;
 
     /**
-     * Use a custom NumberPicker formatting callback to use two-digit minutes strings like "01".
-     * Keeping a static formatter etc. is the most efficient way to do this; it avoids creating
-     * temporary objects on every call to format().
-     */
-    private static class TwoDigitFormatter implements LocalePicker.Formatter {
-        final StringBuilder mBuilder = new StringBuilder();
-
-        char mZeroDigit;
-        java.util.Formatter mFmt;
-
-        final Object[] mArgs = new Object[1];
-
-        TwoDigitFormatter() {
-            final Locale locale = Locale.getDefault();
-            init(locale);
-        }
-
-        private void init(Locale locale) {
-            mFmt = createFormatter(locale);
-            mZeroDigit = getZeroDigit(locale);
-        }
-
-        public String format(int value) {
-            final Locale currentLocale = Locale.getDefault();
-            if (mZeroDigit != getZeroDigit(currentLocale)) {
-                init(currentLocale);
-            }
-            mArgs[0] = value;
-            mBuilder.delete(0, mBuilder.length());
-            mFmt.format("%02d", mArgs);
-            return mFmt.toString();
-        }
-
-        private static char getZeroDigit(Locale locale) {
-            return DecimalFormatSymbols.getInstance(locale).getZeroDigit();
-        }
-
-        private java.util.Formatter createFormatter(Locale locale) {
-            return new java.util.Formatter(mBuilder, locale);
-        }
-    }
-
-    private static final TwoDigitFormatter sTwoDigitFormatter = new TwoDigitFormatter();
-
-    /**
-     * @hide
-     */
-    public static Formatter getTwoDigitFormatter() {
-        return sTwoDigitFormatter;
-    }
-
-    /**
      * The increment button.
      */
     private final ImageButton mIncrementButton;
@@ -296,14 +243,9 @@
     private Formatter mFormatter;
 
     /**
-     * The speed for updating the value form long press.
-     */
-    private long mLongPressUpdateInterval = DEFAULT_LONG_PRESS_UPDATE_INTERVAL;
-
-    /**
      * Cache for the string representation of selector indices.
      */
-    private final SparseArray<String> mSelectorIndexToStringCache = new SparseArray<String>();
+    private final SparseArray<String> mSelectorIndexToStringCache = new SparseArray<>();
 
     /**
      * The selector indices whose value are show by the selector.
@@ -674,14 +616,12 @@
 
         // input text
         mInputText = findViewById(R.id.localepicker_input);
-        mInputText.setOnFocusChangeListener(new OnFocusChangeListener() {
-            public void onFocusChange(View v, boolean hasFocus) {
-                if (hasFocus) {
-                    mInputText.selectAll();
-                } else {
-                    mInputText.setSelection(0, 0);
-                    validateInputTextView(v);
-                }
+        mInputText.setOnFocusChangeListener((v, hasFocus) -> {
+            if (hasFocus) {
+                mInputText.selectAll();
+            } else {
+                mInputText.setSelection(0, 0);
+                validateInputTextView(v);
             }
         });
         mInputText.setFilters(new InputFilter[]{
@@ -803,49 +743,47 @@
             return false;
         }
         final int action = event.getActionMasked();
-        switch (action) {
-            case MotionEvent.ACTION_DOWN: {
-                removeAllCallbacks();
-                mInputText.setVisibility(View.INVISIBLE);
-                mLastDownOrMoveEventY = mLastDownEventY = event.getY();
-                mLastDownEventTime = event.getEventTime();
-                mIngonreMoveEvents = false;
-                mShowSoftInputOnTap = false;
-                // Handle pressed state before any state change.
-                if (mLastDownEventY < mTopSelectionDividerTop) {
-                    if (mScrollState == OnScrollListener.SCROLL_STATE_IDLE) {
-                        mPressedStateHelper.buttonPressDelayed(
-                                PressedStateHelper.BUTTON_DECREMENT);
-                    }
-                } else if (mLastDownEventY > mBottomSelectionDividerBottom) {
-                    if (mScrollState == OnScrollListener.SCROLL_STATE_IDLE) {
-                        mPressedStateHelper.buttonPressDelayed(
-                                PressedStateHelper.BUTTON_INCREMENT);
-                    }
+        if (action == MotionEvent.ACTION_DOWN) {
+            removeAllCallbacks();
+            mInputText.setVisibility(View.INVISIBLE);
+            mLastDownOrMoveEventY = mLastDownEventY = event.getY();
+            mLastDownEventTime = event.getEventTime();
+            mIngonreMoveEvents = false;
+            mShowSoftInputOnTap = false;
+            // Handle pressed state before any state change.
+            if (mLastDownEventY < mTopSelectionDividerTop) {
+                if (mScrollState == OnScrollListener.SCROLL_STATE_IDLE) {
+                    mPressedStateHelper.buttonPressDelayed(
+                            PressedStateHelper.BUTTON_DECREMENT);
                 }
-                // Make sure we support flinging inside scrollables.
-                getParent().requestDisallowInterceptTouchEvent(true);
-                if (!mFlingScroller.isFinished()) {
-                    mFlingScroller.forceFinished(true);
-                    mAdjustScroller.forceFinished(true);
-                    onScrollStateChange(OnScrollListener.SCROLL_STATE_IDLE);
-                } else if (!mAdjustScroller.isFinished()) {
-                    mFlingScroller.forceFinished(true);
-                    mAdjustScroller.forceFinished(true);
-                } else if (mLastDownEventY < mTopSelectionDividerTop) {
-                    hideSoftInput();
-                    postChangeCurrentByOneFromLongPress(
-                            false, ViewConfiguration.getLongPressTimeout());
-                } else if (mLastDownEventY > mBottomSelectionDividerBottom) {
-                    hideSoftInput();
-                    postChangeCurrentByOneFromLongPress(
-                            true, ViewConfiguration.getLongPressTimeout());
-                } else {
-                    mShowSoftInputOnTap = true;
-                    postBeginSoftInputOnLongPressCommand();
+            } else if (mLastDownEventY > mBottomSelectionDividerBottom) {
+                if (mScrollState == OnScrollListener.SCROLL_STATE_IDLE) {
+                    mPressedStateHelper.buttonPressDelayed(
+                            PressedStateHelper.BUTTON_INCREMENT);
                 }
-                return true;
             }
+            // Make sure we support flinging inside scrollables.
+            getParent().requestDisallowInterceptTouchEvent(true);
+            if (!mFlingScroller.isFinished()) {
+                mFlingScroller.forceFinished(true);
+                mAdjustScroller.forceFinished(true);
+                onScrollStateChange(OnScrollListener.SCROLL_STATE_IDLE);
+            } else if (!mAdjustScroller.isFinished()) {
+                mFlingScroller.forceFinished(true);
+                mAdjustScroller.forceFinished(true);
+            } else if (mLastDownEventY < mTopSelectionDividerTop) {
+                hideSoftInput();
+                postChangeCurrentByOneFromLongPress(
+                        false, ViewConfiguration.getLongPressTimeout());
+            } else if (mLastDownEventY > mBottomSelectionDividerBottom) {
+                hideSoftInput();
+                postChangeCurrentByOneFromLongPress(
+                        true, ViewConfiguration.getLongPressTimeout());
+            } else {
+                mShowSoftInputOnTap = true;
+                postBeginSoftInputOnLongPressCommand();
+            }
+            return true;
         }
         return false;
     }
@@ -1128,34 +1066,14 @@
     }
 
     /**
-     * Set the formatter to be used for formatting the current value.
-     * <p>
-     * Note: If you have provided alternative values for the values this formatter is never
-     * invoked.
-     * </p>
-     *
-     * @param formatter The formatter object. If formatter is <code>null</code>, {@link
-     *                  String#valueOf(int)} will be used.
-     * @see #setDisplayedValues(String[])
-     */
-    public void setFormatter(Formatter formatter) {
-        if (formatter == mFormatter) {
-            return;
-        }
-        mFormatter = formatter;
-        initializeSelectorWheelIndices();
-        updateInputTextView();
-    }
-
-    /**
      * Set the current value for the number picker.
      * <p>
-     * If the argument is less than the {@link LocalePicker#getMinValue()} and {@link
+     * If the argument is less than the getMinValue() and {@link
      * LocalePicker#getWrapSelectorWheel()} is <code>false</code> the current value is set to the
-     * {@link LocalePicker#getMinValue()} value.
+     * getMinValue() value.
      * </p>
      * <p>
-     * If the argument is less than the {@link LocalePicker#getMinValue()} and {@link
+     * If the argument is less than the getMinValue() and {@link
      * LocalePicker#getWrapSelectorWheel()} is <code>true</code> the current value is set to the
      * {@link LocalePicker#getMaxValue()} value.
      * </p>
@@ -1167,12 +1085,11 @@
      * <p>
      * If the argument is less than the {@link LocalePicker#getMaxValue()} and {@link
      * LocalePicker#getWrapSelectorWheel()} is <code>true</code> the current value is set to the
-     * {@link LocalePicker#getMinValue()} value.
+     * getMinValue() value.
      * </p>
      *
      * @param value The current value.
      * @see #setWrapSelectorWheel(boolean)
-     * @see #setMinValue(int)
      * @see #setMaxValue(int)
      */
     public void setValue(int value) {
@@ -1239,8 +1156,8 @@
             maxTextWidth = (int) (numberOfDigits * maxDigitWidth);
         } else {
             final int valueCount = mDisplayedValues.length;
-            for (int i = 0; i < valueCount; i++) {
-                final float textWidth = mSelectorWheelPaint.measureText(mDisplayedValues[i]);
+            for (String displayedValue : mDisplayedValues) {
+                final float textWidth = mSelectorWheelPaint.measureText(displayedValue);
                 if (textWidth > maxTextWidth) {
                     maxTextWidth = (int) textWidth;
                 }
@@ -1248,11 +1165,7 @@
         }
         maxTextWidth += mInputText.getPaddingLeft() + mInputText.getPaddingRight();
         if (mMaxWidth != maxTextWidth) {
-            if (maxTextWidth > mMinWidth) {
-                mMaxWidth = maxTextWidth;
-            } else {
-                mMaxWidth = mMinWidth;
-            }
+            mMaxWidth = Math.max(maxTextWidth, mMinWidth);
             invalidate();
         }
     }
@@ -1261,7 +1174,6 @@
      * Gets whether the selector wheel wraps when reaching the min/max value.
      *
      * @return True if the selector wheel wraps.
-     * @see #getMinValue()
      * @see #getMaxValue()
      */
     public boolean getWrapSelectorWheel() {
@@ -1269,15 +1181,15 @@
     }
 
     /**
-     * Sets whether the selector wheel shown during flinging/scrolling should wrap around the {@link
-     * LocalePicker#getMinValue()} and {@link LocalePicker#getMaxValue()} values.
+     * Sets whether the selector wheel shown during flinging/scrolling should wrap around the
+     * getMinValue() and {@link LocalePicker#getMaxValue()} values.
      * <p>
      * By default if the range (max - min) is more than the number of items shown on the selector
      * wheel the selector wheel wrapping is enabled.
      * </p>
      * <p>
      * <strong>Note:</strong> If the number of items, i.e. the range (
-     * {@link #getMaxValue()} - {@link #getMinValue()}) is less than the number of items shown on
+     * {@link #getMaxValue()} - getMinValue()) is less than the number of items shown on
      * the selector wheel, the selector wheel will not wrap. Hence, in such a case calling this
      * method is a NOP.
      * </p>
@@ -1292,20 +1204,6 @@
     }
 
     /**
-     * Sets the speed at which the numbers be incremented and decremented when the up and down
-     * buttons are long pressed respectively.
-     * <p>
-     * The default value is 300 ms.
-     * </p>
-     *
-     * @param intervalMillis The speed (in milliseconds) at which the numbers will be incremented
-     *                       and decremented.
-     */
-    public void setOnLongPressUpdateInterval(long intervalMillis) {
-        mLongPressUpdateInterval = intervalMillis;
-    }
-
-    /**
      * Returns the value of the picker.
      *
      * @return The value.
@@ -1324,35 +1222,6 @@
     }
 
     /**
-     * Sets the min value of the picker.
-     *
-     * @param minValue The min value inclusive.
-     *
-     *                 <strong>Note:</strong> The length of the displayed values array
-     *                 set via {@link #setDisplayedValues(String[])} must be equal to the range of
-     *                 selectable numbers which is equal to {@link #getMaxValue()} - {@link
-     *                 #getMinValue()} + 1.
-     */
-    public void setMinValue(int minValue) {
-        if (mMinValue == minValue) {
-            return;
-        }
-        if (minValue < 0) {
-            throw new IllegalArgumentException("minValue must be >= 0");
-        }
-        mMinValue = minValue;
-        if (mMinValue > mValue) {
-            mValue = mMinValue;
-        }
-        boolean wrapSelectorWheel = mMaxValue - mMinValue > mSelectorIndices.length;
-        setWrapSelectorWheel(wrapSelectorWheel);
-        initializeSelectorWheelIndices();
-        updateInputTextView();
-        tryComputeMaxWidth();
-        invalidate();
-    }
-
-    /**
      * Returns the max value of the picker.
      *
      * @return The max value.
@@ -1365,11 +1234,11 @@
      * Sets the max value of the picker.
      *
      * @param maxValue The max value inclusive.
-     *
+     * <p>
      *                 <strong>Note:</strong> The length of the displayed values array
      *                 set via {@link #setDisplayedValues(String[])} must be equal to the range of
-     *                 selectable numbers which is equal to {@link #getMaxValue()} - {@link
-     *                 #getMinValue()} + 1.
+     *                 selectable numbers which is equal to {@link #getMaxValue()} -
+     *                 getMinValue() + 1.
      */
     public void setMaxValue(int maxValue) {
         if (mMaxValue == maxValue) {
@@ -1391,22 +1260,13 @@
     }
 
     /**
-     * Gets the values to be displayed instead of string values.
-     *
-     * @return The displayed values.
-     */
-    public String[] getDisplayedValues() {
-        return mDisplayedValues;
-    }
-
-    /**
      * Sets the values to be displayed.
      *
      * @param displayedValues The displayed values.
-     *
+     * <p>
      *                        <strong>Note:</strong> The length of the displayed values array
      *                        must be equal to the range of selectable numbers which is equal to
-     *                        {@link #getMaxValue()} - {@link #getMinValue()} + 1.
+     *                        {@link #getMaxValue()} - getMinValue() + 1.
      */
     public void setDisplayedValues(String[] displayedValues) {
         if (mDisplayedValues == displayedValues) {
@@ -1446,7 +1306,7 @@
             super.onDraw(canvas);
             return;
         }
-        float x = (mRight - mLeft) / 2;
+        float x = (float) (mRight - mLeft) / 2;
         float y = mCurrentScrollOffset;
 
         // draw the virtual buttons pressed state if needed
@@ -1530,16 +1390,14 @@
         }
         final int size = MeasureSpec.getSize(measureSpec);
         final int mode = MeasureSpec.getMode(measureSpec);
-        switch (mode) {
-            case MeasureSpec.EXACTLY:
-                return measureSpec;
-            case MeasureSpec.AT_MOST:
-                return MeasureSpec.makeMeasureSpec(Math.min(size, maxSize), MeasureSpec.EXACTLY);
-            case MeasureSpec.UNSPECIFIED:
-                return MeasureSpec.makeMeasureSpec(maxSize, MeasureSpec.EXACTLY);
-            default:
-                throw new IllegalArgumentException("Unknown measure mode: " + mode);
-        }
+        return switch (mode) {
+            case MeasureSpec.EXACTLY -> measureSpec;
+            case MeasureSpec.AT_MOST -> MeasureSpec.makeMeasureSpec(Math.min(size, maxSize),
+                    MeasureSpec.EXACTLY);
+            case MeasureSpec.UNSPECIFIED -> MeasureSpec.makeMeasureSpec(maxSize,
+                    MeasureSpec.EXACTLY);
+            default -> throw new IllegalArgumentException("Unknown measure mode: " + mode);
+        };
     }
 
     /**
@@ -1784,8 +1642,7 @@
 
     /**
      * Updates the view of this NumberPicker. If displayValues were specified in the string
-     * corresponding to the index specified by the current value will be returned. Otherwise, the
-     * formatter specified in {@link #setFormatter} will be used to format the number.
+     * corresponding to the index specified by the current value will be returned.
      *
      * @return Whether the text was updated.
      */
@@ -1879,13 +1736,8 @@
      * @return The selected index given its displayed <code>value</code>.
      */
     private int getSelectedPos(String value) {
-        if (mDisplayedValues == null) {
-            try {
-                return Integer.parseInt(value);
-            } catch (NumberFormatException e) {
-                // Ignore as if it's not a number we don't care
-            }
-        } else {
+        // Ignore as if it's not a number we don't care
+        if (mDisplayedValues != null) {
             for (int i = 0; i < mDisplayedValues.length; i++) {
                 // Don't force the user to type in jan when ja will do
                 value = value.toLowerCase();
@@ -1898,12 +1750,11 @@
              * The user might have typed in a number into the month field i.e.
              * 10 instead of OCT so support that too.
              */
-            try {
-                return Integer.parseInt(value);
-            } catch (NumberFormatException e) {
-
-                // Ignore as if it's not a number we don't care
-            }
+        }
+        try {
+            return Integer.parseInt(value);
+        } catch (NumberFormatException e) {
+            // Ignore as if it's not a number we don't care
         }
         return mMinValue;
     }
@@ -1930,11 +1781,11 @@
             // Latin digits are the common case
             '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
             // Arabic-Indic
-            '\u0660', '\u0661', '\u0662', '\u0663', '\u0664', '\u0665', '\u0666', '\u0667', '\u0668'
-            , '\u0669',
+            '٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨'
+            , '٩',
             // Extended Arabic-Indic
-            '\u06f0', '\u06f1', '\u06f2', '\u06f3', '\u06f4', '\u06f5', '\u06f6', '\u06f7', '\u06f8'
-            , '\u06f9'
+            '۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸'
+            , '۹'
     };
 
     /**
@@ -1966,7 +1817,7 @@
                 String result = String.valueOf(dest.subSequence(0, dstart)) + filtered
                         + dest.subSequence(dend, dest.length());
 
-                if ("".equals(result)) {
+                if (result.isEmpty()) {
                     return result;
                 }
                 int val = getSelectedPos(result);
@@ -2131,13 +1982,13 @@
         @Override
         public void run() {
             changeValueByOne(mIncrement);
-            postDelayed(this, mLongPressUpdateInterval);
+            /**
+             * The speed for updating the value form long press.
+             */
+            postDelayed(this, DEFAULT_LONG_PRESS_UPDATE_INTERVAL);
         }
     }
 
-    /**
-     * @hide
-     */
     public static class CustomEditText extends EditText {
 
         public CustomEditText(Context context, AttributeSet attrs) {
@@ -2185,27 +2036,25 @@
 
         @Override
         public AccessibilityNodeInfo createAccessibilityNodeInfo(int virtualViewId) {
-            switch (virtualViewId) {
-                case View.NO_ID:
-                    return createAccessibilityNodeInfoForNumberPicker(mScrollX, mScrollY,
-                            mScrollX + (mRight - mLeft), mScrollY + (mBottom - mTop));
-                case VIRTUAL_VIEW_ID_DECREMENT:
-                    return createAccessibilityNodeInfoForVirtualButton(VIRTUAL_VIEW_ID_DECREMENT,
-                            getVirtualDecrementButtonText(), mScrollX, mScrollY,
-                            mScrollX + (mRight - mLeft),
-                            mTopSelectionDividerTop + mSelectionDividerHeight);
-                case VIRTUAL_VIEW_ID_INPUT:
-                    return createAccessibiltyNodeInfoForInputText(mScrollX,
-                            mTopSelectionDividerTop + mSelectionDividerHeight,
-                            mScrollX + (mRight - mLeft),
-                            mBottomSelectionDividerBottom - mSelectionDividerHeight);
-                case VIRTUAL_VIEW_ID_INCREMENT:
-                    return createAccessibilityNodeInfoForVirtualButton(VIRTUAL_VIEW_ID_INCREMENT,
-                            getVirtualIncrementButtonText(), mScrollX,
-                            mBottomSelectionDividerBottom - mSelectionDividerHeight,
-                            mScrollX + (mRight - mLeft), mScrollY + (mBottom - mTop));
-            }
-            return super.createAccessibilityNodeInfo(virtualViewId);
+            return switch (virtualViewId) {
+                case View.NO_ID -> createAccessibilityNodeInfoForNumberPicker(mScrollX, mScrollY,
+                        mScrollX + (mRight - mLeft), mScrollY + (mBottom - mTop));
+                case VIRTUAL_VIEW_ID_DECREMENT -> createAccessibilityNodeInfoForVirtualButton(
+                        VIRTUAL_VIEW_ID_DECREMENT,
+                        getVirtualDecrementButtonText(), mScrollX, mScrollY,
+                        mScrollX + (mRight - mLeft),
+                        mTopSelectionDividerTop + mSelectionDividerHeight);
+                case VIRTUAL_VIEW_ID_INPUT -> createAccessibiltyNodeInfoForInputText(mScrollX,
+                        mTopSelectionDividerTop + mSelectionDividerHeight,
+                        mScrollX + (mRight - mLeft),
+                        mBottomSelectionDividerBottom - mSelectionDividerHeight);
+                case VIRTUAL_VIEW_ID_INCREMENT -> createAccessibilityNodeInfoForVirtualButton(
+                        VIRTUAL_VIEW_ID_INCREMENT,
+                        getVirtualIncrementButtonText(), mScrollX,
+                        mBottomSelectionDividerBottom - mSelectionDividerHeight,
+                        mScrollX + (mRight - mLeft), mScrollY + (mBottom - mTop));
+                default -> super.createAccessibilityNodeInfo(virtualViewId);
+            };
         }
 
         @Override
@@ -2215,7 +2064,7 @@
                 return Collections.emptyList();
             }
             String searchedLowerCase = searched.toLowerCase();
-            List<AccessibilityNodeInfo> result = new ArrayList<AccessibilityNodeInfo>();
+            List<AccessibilityNodeInfo> result = new ArrayList<>();
             switch (virtualViewId) {
                 case View.NO_ID: {
                     findAccessibilityNodeInfosByTextInChild(searchedLowerCase,
@@ -2494,11 +2343,10 @@
             Rect boundsInParent = mTempRect;
             boundsInParent.set(left, top, right, bottom);
             info.setVisibleToUser(isVisibleToUser(boundsInParent));
-            Rect boundsInScreen = boundsInParent;
             int[] locationOnScreen = mTempArray;
             getLocationOnScreen(locationOnScreen);
-            boundsInScreen.offset(locationOnScreen[0], locationOnScreen[1]);
-            info.setBoundsInScreen(boundsInScreen);
+            boundsInParent.offset(locationOnScreen[0], locationOnScreen[1]);
+            info.setBoundsInScreen(boundsInParent);
             return info;
         }
 
@@ -2516,11 +2364,10 @@
             Rect boundsInParent = mTempRect;
             boundsInParent.set(left, top, right, bottom);
             info.setVisibleToUser(isVisibleToUser(boundsInParent));
-            Rect boundsInScreen = boundsInParent;
             int[] locationOnScreen = mTempArray;
             getLocationOnScreen(locationOnScreen);
-            boundsInScreen.offset(locationOnScreen[0], locationOnScreen[1]);
-            info.setBoundsInScreen(boundsInScreen);
+            boundsInParent.offset(locationOnScreen[0], locationOnScreen[1]);
+            info.setBoundsInScreen(boundsInParent);
 
             if (mAccessibilityFocusedView != virtualViewId) {
                 info.addAction(AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS);
@@ -2563,12 +2410,11 @@
 
             info.setVisibleToUser(isVisibleToUser());
 
-            Rect boundsInScreen = boundsInParent;
             int[] locationOnScreen = mTempArray;
             getLocationOnScreen(locationOnScreen);
-            boundsInScreen.offset(locationOnScreen[0], locationOnScreen[1]);
-            boundsInScreen.scale(applicationScale);
-            info.setBoundsInScreen(boundsInScreen);
+            boundsInParent.offset(locationOnScreen[0], locationOnScreen[1]);
+            boundsInParent.scale(applicationScale);
+            info.setBoundsInScreen(boundsInParent);
 
             if (mAccessibilityFocusedView != View.NO_ID) {
                 info.addAction(AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS);
diff --git a/src/org/lineageos/setupwizard/wizardmanager/WizardAction.java b/src/org/lineageos/setupwizard/wizardmanager/WizardAction.java
index a9a56be..bd545dc 100644
--- a/src/org/lineageos/setupwizard/wizardmanager/WizardAction.java
+++ b/src/org/lineageos/setupwizard/wizardmanager/WizardAction.java
@@ -141,7 +141,7 @@
         if (resultCode == null) {
             transitions.setDefaultAction(action);
         } else {
-            transitions.put(Integer.valueOf(resultCode).intValue(), action);
+            transitions.put(Integer.parseInt(resultCode), action);
         }
     }
 
diff --git a/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java b/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java
index 127fecf..bcb53c0 100644
--- a/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java
+++ b/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java
@@ -44,7 +44,7 @@
 
     private static final String TAG = WizardManager.class.getSimpleName();
 
-    private static final HashMap<String, WizardScript> sWizardScripts = new HashMap();
+    private static final HashMap<String, WizardScript> sWizardScripts = new HashMap<>();
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -185,8 +185,8 @@
     }
 
     private static boolean isIntentAvailable(Context context, Intent intent) {
-        return context.getPackageManager().queryIntentActivities(intent,
-                PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
+        return !context.getPackageManager().queryIntentActivities(intent,
+                PackageManager.MATCH_DEFAULT_ONLY).isEmpty();
     }
 
     private static WizardScript getWizardScript(Context context, String scriptUri) {
diff --git a/src/org/lineageos/setupwizard/wizardmanager/WizardScript.java b/src/org/lineageos/setupwizard/wizardmanager/WizardScript.java
index 5521be2..12bd389 100644
--- a/src/org/lineageos/setupwizard/wizardmanager/WizardScript.java
+++ b/src/org/lineageos/setupwizard/wizardmanager/WizardScript.java
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2016 The CyanogenMod Project
- * Copyright (C) 2017 The LineageOS Project
+ * Copyright (C) 2017-2024 The LineageOS Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -113,14 +113,14 @@
 
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeString(this.mFirstActionId);
-        dest.writeTypedList(new ArrayList(this.mActions.values()));
+        dest.writeTypedList(new ArrayList<>(this.mActions.values()));
     }
 
-    public static final Creator<WizardScript> CREATOR = new Creator<WizardScript>() {
+    public static final Creator<WizardScript> CREATOR = new Creator<>() {
         public WizardScript createFromParcel(Parcel source) {
             String firstActionId = source.readString();
-            HashMap<String, WizardAction> actions = new HashMap();
-            ArrayList<WizardAction> actionList = new ArrayList();
+            HashMap<String, WizardAction> actions = new HashMap<>();
+            ArrayList<WizardAction> actionList = new ArrayList<>();
             source.readTypedList(actionList, WizardAction.CREATOR);
             for (WizardAction action : actionList) {
                 actions.put(action.getId(), action);
@@ -135,7 +135,6 @@
 
     public static WizardScript loadFromUri(Context context, String uriString) {
         XmlPullParser xmlPullParser;
-        WizardScript wizardScript = null;
         try {
             ContentResolver.OpenResourceIdResult openResourceIdResult =
                     context.getContentResolver().getResourceId(Uri
@@ -163,15 +162,15 @@
         } catch (XmlPullParserException e) {
             Log.e(TAG, "Ill-formatted wizard_script: " + uriString);
             Log.e(TAG, e.getMessage());
-            return wizardScript;
+            return null;
         } catch (FileNotFoundException fnfe) {
             Log.e(TAG, "Cannot find file: " + uriString);
             Log.e(TAG, fnfe.getMessage());
-            return wizardScript;
+            return null;
         } catch (IOException ioe) {
             Log.e(TAG, "Unable to read wizard_script: " + uriString);
             Log.e(TAG, ioe.getMessage());
-            return wizardScript;
+            return null;
         }
     }
 
@@ -189,7 +188,7 @@
             throw new XmlPullParserException("WizardScript must define a firstAction");
         }
 
-        HashMap wizardActions = new HashMap();
+        HashMap<String, WizardAction> wizardActions = new HashMap<>();
         int type;
         final int depth = parser.getDepth();
         while (((type = parser.next()) != XmlPullParser.END_TAG ||
@@ -198,9 +197,7 @@
             if (next != XmlPullParser.END_TAG || next != XmlPullParser.TEXT) {
                 if (TAG_WIZARD_ACTION.equals(parser.getName())) {
                     WizardAction action = WizardAction.parseWizardAction(parser);
-                    if (action != null) {
-                        wizardActions.put(action.getId(), action);
-                    }
+                    wizardActions.put(action.getId(), action);
                 } else {
                     XmlUtils.skipCurrentTag(parser);
                 }
diff --git a/src/org/lineageos/setupwizard/wizardmanager/WizardTransitions.java b/src/org/lineageos/setupwizard/wizardmanager/WizardTransitions.java
index 8ad853d..cd0d98c 100644
--- a/src/org/lineageos/setupwizard/wizardmanager/WizardTransitions.java
+++ b/src/org/lineageos/setupwizard/wizardmanager/WizardTransitions.java
@@ -24,6 +24,8 @@
 import android.util.Log;
 import android.util.SparseArray;
 
+import androidx.annotation.NonNull;
+
 import java.util.Objects;
 
 public class WizardTransitions extends SparseArray<String> implements Parcelable {
@@ -69,6 +71,7 @@
         super.put(key, value);
     }
 
+    @NonNull
     public String toString() {
         return super.toString() + " mDefaultAction: " + mDefaultAction;
     }
@@ -95,7 +98,7 @@
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeString(mDefaultAction);
         int size = size();
-        SparseArray sparseArray = new SparseArray<>(size);
+        SparseArray<String> sparseArray = new SparseArray<>(size);
         for (int i = 0; i < size; i++) {
             sparseArray.put(keyAt(i), valueAt(i));
         }