diff --git a/src/com/android/settings/display/ScreenResolutionFragment.java b/src/com/android/settings/display/ScreenResolutionFragment.java index de7d25fefb9..daf1793f11f 100644 --- a/src/com/android/settings/display/ScreenResolutionFragment.java +++ b/src/com/android/settings/display/ScreenResolutionFragment.java @@ -369,6 +369,12 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment { 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);