Settings crashed when changing the Screen Resolution

Check if index is out of bound

Bug: 288256336
Test: Change to Full resolution, set Smallest width to 426 dp, then
switch to High resolution
Test: atest ScreenResolutionFragmentTest

Change-Id: Ida4128e76e097050b01deae91c9d669e58ab9e8f
diff --git a/src/com/android/settings/display/ScreenResolutionFragment.java b/src/com/android/settings/display/ScreenResolutionFragment.java
index de7d25f..daf1793 100644
--- a/src/com/android/settings/display/ScreenResolutionFragment.java
+++ b/src/com/android/settings/display/ScreenResolutionFragment.java
@@ -369,6 +369,12 @@
 
         private void restoreDensity() {
             final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
+            /* If current density is the same as a default density of other resolutions,
+             * then mCurrentIndex may be out of boundary.
+             */
+            if (density.getDefaultDisplayDensityValues().length <= mCurrentIndex) {
+                mCurrentIndex = density.getCurrentIndexForDefaultDisplay();
+            }
             if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
                     != density.getDefaultDensityForDefaultDisplay()) {
                 density.setForcedDisplayDensity(mCurrentIndex);