Merge "[RRS] Activate investigation of screen_resolution in settingsstats" into tm-d1-dev am: 1f7fab03c8
am: f51951c9d3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19124855 Change-Id: If81fa8f115b89eb458b02736276940d8148458e4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -26,6 +26,7 @@ import android.content.res.Resources;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.hardware.display.DisplayManager;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Display;
|
||||
|
||||
@@ -56,6 +57,7 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment {
|
||||
private Resources mResources;
|
||||
private static final int FHD_INDEX = 0;
|
||||
private static final int QHD_INDEX = 1;
|
||||
private static final String RESOLUTION_METRIC_SETTING_KEY = "user_selected_resolution";
|
||||
private Display mDefaultDisplay;
|
||||
private String[] mScreenResolutionOptions;
|
||||
private Set<Point> mResolutions;
|
||||
@@ -157,6 +159,17 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment {
|
||||
@VisibleForTesting
|
||||
public void setDisplayMode(final int width) {
|
||||
mDisplayObserver.startObserve();
|
||||
|
||||
/** For store settings globally. */
|
||||
/** TODO(b/238061217): Moving to an atom with the same string */
|
||||
Settings.System.putString(
|
||||
getContext().getContentResolver(),
|
||||
RESOLUTION_METRIC_SETTING_KEY,
|
||||
getPreferMode(width).getPhysicalWidth()
|
||||
+ "x"
|
||||
+ getPreferMode(width).getPhysicalHeight());
|
||||
|
||||
/** Apply the resolution change. */
|
||||
mDefaultDisplay.setUserPreferredDisplayMode(getPreferMode(width));
|
||||
}
|
||||
|
||||
@@ -202,7 +215,6 @@ public class ScreenResolutionFragment extends RadioButtonPickerFragment {
|
||||
if (!mDisplayObserver.setPendingResolutionChange(selectedWidth)) {
|
||||
return;
|
||||
}
|
||||
|
||||
super.onRadioButtonClicked(selected);
|
||||
}
|
||||
|
||||
|
@@ -27,15 +27,12 @@ import android.view.Display;
|
||||
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.settingslib.widget.SelectorWithWidgetPreference;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ScreenResolutionFragmentTest {
|
||||
|
||||
private Context mContext;
|
||||
@@ -56,6 +53,7 @@ public class ScreenResolutionFragmentTest {
|
||||
public void getDefaultKey_FHD() {
|
||||
Display.Mode mode = new Display.Mode(0, FHD_WIDTH, 0, 0);
|
||||
doReturn(mode).when(mFragment).getDisplayMode();
|
||||
doReturn(mContext).when(mFragment).getContext();
|
||||
|
||||
mFragment.onAttach(mContext);
|
||||
assertThat(mFragment.getDefaultKey()).isEqualTo(mFragment.getKeyForResolution(FHD_WIDTH));
|
||||
@@ -66,6 +64,7 @@ public class ScreenResolutionFragmentTest {
|
||||
public void getDefaultKey_QHD() {
|
||||
Display.Mode mode = new Display.Mode(0, QHD_WIDTH, 0, 0);
|
||||
doReturn(mode).when(mFragment).getDisplayMode();
|
||||
doReturn(mContext).when(mFragment).getContext();
|
||||
|
||||
mFragment.onAttach(mContext);
|
||||
assertThat(mFragment.getDefaultKey()).isEqualTo(mFragment.getKeyForResolution(QHD_WIDTH));
|
||||
@@ -74,6 +73,7 @@ public class ScreenResolutionFragmentTest {
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void setDefaultKey_FHD() {
|
||||
doReturn(mContext).when(mFragment).getContext();
|
||||
mFragment.onAttach(mContext);
|
||||
|
||||
mFragment.setDefaultKey(mFragment.getKeyForResolution(FHD_WIDTH));
|
||||
@@ -84,6 +84,7 @@ public class ScreenResolutionFragmentTest {
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void setDefaultKey_QHD() {
|
||||
doReturn(mContext).when(mFragment).getContext();
|
||||
mFragment.onAttach(mContext);
|
||||
|
||||
mFragment.setDefaultKey(mFragment.getKeyForResolution(QHD_WIDTH));
|
||||
@@ -94,6 +95,7 @@ public class ScreenResolutionFragmentTest {
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void bindPreferenceExtra_setSummary() {
|
||||
doReturn(mContext).when(mFragment).getContext();
|
||||
mFragment.onAttach(mContext);
|
||||
SelectorWithWidgetPreference preference = new SelectorWithWidgetPreference(mContext);
|
||||
ScreenResolutionFragment.ScreenResolutionCandidateInfo candidates =
|
||||
|
Reference in New Issue
Block a user