Merge "Set display size to all displays" into tm-qpr-dev am: 0066afbe15

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20664686

Change-Id: Ib3d9210dab71e6aa600bfa9f6f9ec5b68ab68dbc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Piotr Wilczyński
2023-01-20 10:11:00 +00:00
committed by Automerger Merge Worker
5 changed files with 33 additions and 32 deletions

View File

@@ -18,9 +18,7 @@ package com.android.settings.accessibility;
import android.content.Context;
import android.content.res.Resources;
import android.view.Display;
import com.android.settingslib.display.DisplayDensityConfiguration;
import com.android.settingslib.display.DisplayDensityUtils;
import java.util.Arrays;
@@ -31,11 +29,13 @@ import java.util.stream.Collectors;
* Data class for storing the configurations related to the display size.
*/
class DisplaySizeData extends PreviewSizeData<Integer> {
private final DisplayDensityUtils mDensity;
DisplaySizeData(Context context) {
super(context);
final DisplayDensityUtils density = new DisplayDensityUtils(getContext());
final int initialIndex = density.getCurrentIndex();
mDensity = new DisplayDensityUtils(getContext());
final int initialIndex = mDensity.getCurrentIndexForDefaultDisplay();
if (initialIndex < 0) {
// Failed to obtain default density, which means we failed to
// connect to the window manager service. Just use the current
@@ -46,9 +46,10 @@ class DisplaySizeData extends PreviewSizeData<Integer> {
setInitialIndex(0);
setValues(Collections.singletonList(densityDpi));
} else {
setDefaultValue(density.getDefaultDensity());
setDefaultValue(mDensity.getDefaultDensityForDefaultDisplay());
setInitialIndex(initialIndex);
setValues(Arrays.stream(density.getValues()).boxed().collect(Collectors.toList()));
setValues(Arrays.stream(mDensity.getDefaultDisplayDensityValues()).boxed()
.collect(Collectors.toList()));
}
}
@@ -56,10 +57,9 @@ class DisplaySizeData extends PreviewSizeData<Integer> {
void commit(int currentProgress) {
final int densityDpi = getValues().get(currentProgress);
if (densityDpi == getDefaultValue()) {
DisplayDensityConfiguration.clearForcedDisplayDensity(Display.DEFAULT_DISPLAY);
mDensity.clearForcedDisplayDensity();
} else {
DisplayDensityConfiguration.setForcedDisplayDensity(Display.DEFAULT_DISPLAY,
densityDpi);
mDensity.setForcedDisplayDensity(currentProgress);
}
}
}

View File

@@ -192,9 +192,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
@VisibleForTesting
protected boolean shouldShowLottie() {
DisplayDensityUtils displayDensity = new DisplayDensityUtils(getApplicationContext());
int currentDensityIndex = displayDensity.getCurrentIndex();
final int currentDensity = displayDensity.getValues()[currentDensityIndex];
final int defaultDensity = displayDensity.getDefaultDensity();
int currentDensityIndex = displayDensity.getCurrentIndexForDefaultDisplay();
final int currentDensity = displayDensity.getDefaultDisplayDensityValues()
[currentDensityIndex];
final int defaultDensity = displayDensity.getDefaultDensityForDefaultDisplay();
return defaultDensity == currentDensity;
}

View File

@@ -307,10 +307,11 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment {
}
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
final int currentIndex = density.getCurrentIndex();
final int defaultDensity = density.getDefaultDensity();
final int currentIndex = density.getCurrentIndexForDefaultDisplay();
final int defaultDensity = density.getDefaultDensityForDefaultDisplay();
if (density.getValues()[mCurrentIndex] == density.getDefaultDensity()) {
if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
== density.getDefaultDensityForDefaultDisplay()) {
return;
}
@@ -351,17 +352,17 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment {
private void restoreDensity() {
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
if (density.getValues()[mCurrentIndex] != density.getDefaultDensity()) {
DisplayDensityUtils.setForcedDisplayDensity(
Display.DEFAULT_DISPLAY, density.getValues()[mCurrentIndex]);
if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
!= density.getDefaultDensityForDefaultDisplay()) {
density.setForcedDisplayDensity(mCurrentIndex);
}
mDefaultDensity = density.getDefaultDensity();
mDefaultDensity = density.getDefaultDensityForDefaultDisplay();
}
private boolean isDensityChanged() {
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
if (density.getDefaultDensity() == mDefaultDensity) {
if (density.getDefaultDensityForDefaultDisplay() == 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.getCurrentIndex();
final int defaultIndex = density.getCurrentIndexForDefaultDisplay();
if (defaultIndex < 0) {
setVisible(false);
setEnabled(false);
} else if (TextUtils.isEmpty(getSummary())) {
final String[] entries = density.getEntries();
final int currentIndex = density.getCurrentIndex();
final String[] entries = density.getDefaultDisplayDensityEntries();
final int currentIndex = density.getCurrentIndexForDefaultDisplay();
setSummary(entries[currentIndex]);
}
}

View File

@@ -21,11 +21,9 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.Display;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.display.DisplayDensityConfiguration;
import com.android.settingslib.display.DisplayDensityUtils;
import com.android.settingslib.search.SearchIndexable;
@@ -37,6 +35,7 @@ public class ScreenZoomSettings extends PreviewSeekBarPreferenceFragment {
private int mDefaultDensity;
private int[] mValues;
private DisplayDensityUtils mDensity;
@Override
protected int getActivityLayoutResId() {
@@ -58,9 +57,9 @@ public class ScreenZoomSettings extends PreviewSeekBarPreferenceFragment {
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final DisplayDensityUtils density = new DisplayDensityUtils(getContext());
mDensity = new DisplayDensityUtils(getContext());
final int initialIndex = density.getCurrentIndex();
final int initialIndex = mDensity.getCurrentIndexForDefaultDisplay();
if (initialIndex < 0) {
// Failed to obtain default density, which means we failed to
// connect to the window manager service. Just use the current
@@ -71,10 +70,10 @@ public class ScreenZoomSettings extends PreviewSeekBarPreferenceFragment {
mInitialIndex = 0;
mDefaultDensity = densityDpi;
} else {
mValues = density.getValues();
mEntries = density.getEntries();
mValues = mDensity.getDefaultDisplayDensityValues();
mEntries = mDensity.getDefaultDisplayDensityEntries();
mInitialIndex = initialIndex;
mDefaultDensity = density.getDefaultDensity();
mDefaultDensity = mDensity.getDefaultDensityForDefaultDisplay();
}
getActivity().setTitle(R.string.screen_zoom_title);
@@ -95,9 +94,9 @@ public class ScreenZoomSettings extends PreviewSeekBarPreferenceFragment {
protected void commit() {
final int densityDpi = mValues[mCurrentIndex];
if (densityDpi == mDefaultDensity) {
DisplayDensityConfiguration.clearForcedDisplayDensity(Display.DEFAULT_DISPLAY);
mDensity.clearForcedDisplayDensity();
} else {
DisplayDensityConfiguration.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi);
mDensity.setForcedDisplayDensity(densityDpi);
}
}