Set the same density to all displays

Bug: 324439718
Test: manual
Test: atest DisplaySizeDataTest
Test: atest ScreenResolutionFragmentTest
Flag: EXEMPT bugfix
Change-Id: Ibe8b15be8968545c701a872103c1c20fa698228f
This commit is contained in:
Piotr Wilczyński
2024-10-09 14:17:47 +00:00
parent 56dd252385
commit 2f9f582310
6 changed files with 27 additions and 32 deletions

View File

@@ -325,11 +325,10 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment {
}
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
final int currentIndex = density.getCurrentIndexForDefaultDisplay();
final int defaultDensity = density.getDefaultDensityForDefaultDisplay();
final int currentIndex = density.getCurrentIndex();
final int defaultDensity = density.getDefaultDensity();
if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
== density.getDefaultDensityForDefaultDisplay()) {
if (density.getValues()[mCurrentIndex] == density.getDefaultDensity()) {
return;
}
@@ -373,20 +372,19 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment {
/* 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.getValues().length <= mCurrentIndex) {
mCurrentIndex = density.getCurrentIndex();
}
if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
!= density.getDefaultDensityForDefaultDisplay()) {
if (density.getValues()[mCurrentIndex] != density.getDefaultDensity()) {
density.setForcedDisplayDensity(mCurrentIndex);
}
mDefaultDensity = density.getDefaultDensityForDefaultDisplay();
mDefaultDensity = density.getDefaultDensity();
}
private boolean isDensityChanged() {
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
if (density.getDefaultDensityForDefaultDisplay() == mDefaultDensity) {
if (density.getDefaultDensity() == mDefaultDensity) {
return false;
}

View File

@@ -36,13 +36,13 @@ public class ScreenZoomPreference extends Preference {
android.R.attr.preferenceStyle));
final DisplayDensityUtils density = new DisplayDensityUtils(context);
final int defaultIndex = density.getCurrentIndexForDefaultDisplay();
final int defaultIndex = density.getCurrentIndex();
if (defaultIndex < 0) {
setVisible(false);
setEnabled(false);
} else if (TextUtils.isEmpty(getSummary())) {
final String[] entries = density.getDefaultDisplayDensityEntries();
final int currentIndex = density.getCurrentIndexForDefaultDisplay();
final String[] entries = density.getEntries();
final int currentIndex = density.getCurrentIndex();
setSummary(entries[currentIndex]);
}
}