Loading res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -7366,4 +7366,10 @@ <!-- Summary of notification suggestion during optional steps of setup. [CHAR_LIMIT=80] --> <string name="notification_suggestion_summary">Show or hide notification content</string> <!-- Summary of developer options to set the smallest width of the screen [CHAR LIMIT=60]--> <string name="developer_density_summary"><xliff:g name="count" example="320">%d</xliff:g> dp</string> <!-- Title of developer options to set the smallest width of the screen [CHAR LIMIT=60]--> <string name="developer_smallest_width">Smallest width</string> </resources> res/xml/development_prefs.xml +4 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,10 @@ android:entries="@array/overlay_display_devices_entries" android:entryValues="@array/overlay_display_devices_values" /> <com.android.settings.display.DensityPreference android:key="density" android:title="@string/developer_smallest_width" /> </PreferenceCategory> <PreferenceCategory android:key="debug_hw_drawing_category" Loading src/com/android/settings/CustomEditTextPreference.java +1 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,7 @@ public class CustomEditTextPreference extends EditTextPreference { @Override public void onDialogClosed(boolean positiveResult) { super.onDialogClosed(positiveResult); getCustomizablePreference().onDialogClosed(positiveResult); } Loading src/com/android/settings/display/DensityPreference.java 0 → 100644 +74 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.android.settings.display; import android.content.Context; import android.content.res.Resources; import android.text.InputType; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.view.Display; import android.view.View; import android.widget.EditText; import com.android.settings.CustomEditTextPreference; import com.android.settings.R; import com.android.settingslib.display.DisplayDensityUtils; public class DensityPreference extends CustomEditTextPreference { public DensityPreference(Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onAttached() { super.onAttached(); setSummary(getContext().getString(R.string.developer_density_summary, getCurrentSwDp())); } private int getCurrentSwDp() { final Resources res = getContext().getResources(); final DisplayMetrics metrics = res.getDisplayMetrics(); final float density = metrics.density; final int minDimensionPx = Math.min(metrics.widthPixels, metrics.heightPixels); return (int) (minDimensionPx / density); } @Override protected void onBindDialogView(View view) { super.onBindDialogView(view); final EditText editText = (EditText) view.findViewById(android.R.id.edit); if (editText != null) { editText.setInputType(InputType.TYPE_CLASS_NUMBER); editText.setText(getCurrentSwDp() + ""); } } @Override protected void onDialogClosed(boolean positiveResult) { if (positiveResult) { final Resources res = getContext().getResources(); final DisplayMetrics metrics = res.getDisplayMetrics(); final int newSwDp = Math.max(Integer.parseInt(getText()), 320); final int minDimensionPx = Math.min(metrics.widthPixels, metrics.heightPixels); final int newDensity = DisplayMetrics.DENSITY_MEDIUM * minDimensionPx / newSwDp; final int densityDpi = Math.max(newDensity, 120); DisplayDensityUtils.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi); } } } Loading
res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -7366,4 +7366,10 @@ <!-- Summary of notification suggestion during optional steps of setup. [CHAR_LIMIT=80] --> <string name="notification_suggestion_summary">Show or hide notification content</string> <!-- Summary of developer options to set the smallest width of the screen [CHAR LIMIT=60]--> <string name="developer_density_summary"><xliff:g name="count" example="320">%d</xliff:g> dp</string> <!-- Title of developer options to set the smallest width of the screen [CHAR LIMIT=60]--> <string name="developer_smallest_width">Smallest width</string> </resources>
res/xml/development_prefs.xml +4 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,10 @@ android:entries="@array/overlay_display_devices_entries" android:entryValues="@array/overlay_display_devices_values" /> <com.android.settings.display.DensityPreference android:key="density" android:title="@string/developer_smallest_width" /> </PreferenceCategory> <PreferenceCategory android:key="debug_hw_drawing_category" Loading
src/com/android/settings/CustomEditTextPreference.java +1 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,7 @@ public class CustomEditTextPreference extends EditTextPreference { @Override public void onDialogClosed(boolean positiveResult) { super.onDialogClosed(positiveResult); getCustomizablePreference().onDialogClosed(positiveResult); } Loading
src/com/android/settings/display/DensityPreference.java 0 → 100644 +74 −0 Original line number Diff line number Diff line /* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.android.settings.display; import android.content.Context; import android.content.res.Resources; import android.text.InputType; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.view.Display; import android.view.View; import android.widget.EditText; import com.android.settings.CustomEditTextPreference; import com.android.settings.R; import com.android.settingslib.display.DisplayDensityUtils; public class DensityPreference extends CustomEditTextPreference { public DensityPreference(Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onAttached() { super.onAttached(); setSummary(getContext().getString(R.string.developer_density_summary, getCurrentSwDp())); } private int getCurrentSwDp() { final Resources res = getContext().getResources(); final DisplayMetrics metrics = res.getDisplayMetrics(); final float density = metrics.density; final int minDimensionPx = Math.min(metrics.widthPixels, metrics.heightPixels); return (int) (minDimensionPx / density); } @Override protected void onBindDialogView(View view) { super.onBindDialogView(view); final EditText editText = (EditText) view.findViewById(android.R.id.edit); if (editText != null) { editText.setInputType(InputType.TYPE_CLASS_NUMBER); editText.setText(getCurrentSwDp() + ""); } } @Override protected void onDialogClosed(boolean positiveResult) { if (positiveResult) { final Resources res = getContext().getResources(); final DisplayMetrics metrics = res.getDisplayMetrics(); final int newSwDp = Math.max(Integer.parseInt(getText()), 320); final int minDimensionPx = Math.min(metrics.widthPixels, metrics.heightPixels); final int newDensity = DisplayMetrics.DENSITY_MEDIUM * minDimensionPx / newSwDp; final int densityDpi = Math.max(newDensity, 120); DisplayDensityUtils.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi); } } }