Add new setting to control overlay displays.
Change-Id: I9582bb149dca716699ef5977ef8f84bb3136e0c0
This commit is contained in:
@@ -652,6 +652,24 @@
|
|||||||
<item>10</item>
|
<item>10</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Titles for overlay display devices preference. [CHAR LIMIT=35] -->
|
||||||
|
<string-array name="overlay_display_devices_entries">
|
||||||
|
<item>None</item>
|
||||||
|
<item>720x480 mdpi</item>
|
||||||
|
<item>1280x720 tvdpi</item>
|
||||||
|
<item>1920x1080 xhdpi</item>
|
||||||
|
<item>1280x720 tvdpi and 1920x1080 xhdpi</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Values for overlay display devices preference. -->
|
||||||
|
<string-array name="overlay_display_devices_values" translatable="false" >
|
||||||
|
<item></item>
|
||||||
|
<item>720x480/160</item>
|
||||||
|
<item>1280x720/213</item>
|
||||||
|
<item>1920x1080/320</item>
|
||||||
|
<item>1280x720/213;1920x1080/320</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
<!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
|
<!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
|
||||||
<string-array name="app_process_limit_entries">
|
<string-array name="app_process_limit_entries">
|
||||||
<item>Standard limit</item>
|
<item>Standard limit</item>
|
||||||
|
@@ -3813,6 +3813,9 @@
|
|||||||
<!-- UI debug setting: scaling factor for all Animator-based animations [CHAR LIMIT=25] -->
|
<!-- UI debug setting: scaling factor for all Animator-based animations [CHAR LIMIT=25] -->
|
||||||
<string name="animator_duration_scale_title">Animator duration scale</string>
|
<string name="animator_duration_scale_title">Animator duration scale</string>
|
||||||
|
|
||||||
|
<!-- UI debug setting: simulate secondary display devices using overlays [CHAR LIMIT=25] -->
|
||||||
|
<string name="overlay_display_devices_title">Simulate secondary displays</string>
|
||||||
|
|
||||||
<!-- Preference category for application debugging development settings. [CHAR LIMIT=25] -->
|
<!-- Preference category for application debugging development settings. [CHAR LIMIT=25] -->
|
||||||
<string name="debug_applications_category">Apps</string>
|
<string name="debug_applications_category">Apps</string>
|
||||||
|
|
||||||
|
@@ -146,6 +146,13 @@
|
|||||||
android:title="@string/force_hw_ui"
|
android:title="@string/force_hw_ui"
|
||||||
android:summary="@string/force_hw_ui_summary"/>
|
android:summary="@string/force_hw_ui_summary"/>
|
||||||
|
|
||||||
|
<ListPreference
|
||||||
|
android:key="overlay_display_devices"
|
||||||
|
android:title="@string/overlay_display_devices_title"
|
||||||
|
android:persistent="false"
|
||||||
|
android:entries="@array/overlay_display_devices_entries"
|
||||||
|
android:entryValues="@array/overlay_display_devices_values" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:key="debug_monitoring_category"
|
<PreferenceCategory android:key="debug_monitoring_category"
|
||||||
|
@@ -97,6 +97,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
|
private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
|
||||||
private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
|
private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
|
||||||
private static final String ANIMATOR_DURATION_SCALE_KEY = "animator_duration_scale";
|
private static final String ANIMATOR_DURATION_SCALE_KEY = "animator_duration_scale";
|
||||||
|
private static final String OVERLAY_DISPLAY_DEVICES_KEY = "overlay_display_devices";
|
||||||
|
|
||||||
private static final String ENABLE_TRACES_KEY = "enable_traces";
|
private static final String ENABLE_TRACES_KEY = "enable_traces";
|
||||||
|
|
||||||
@@ -144,6 +145,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private ListPreference mWindowAnimationScale;
|
private ListPreference mWindowAnimationScale;
|
||||||
private ListPreference mTransitionAnimationScale;
|
private ListPreference mTransitionAnimationScale;
|
||||||
private ListPreference mAnimatorDurationScale;
|
private ListPreference mAnimatorDurationScale;
|
||||||
|
private ListPreference mOverlayDisplayDevices;
|
||||||
private MultiCheckPreference mEnableTracesPref;
|
private MultiCheckPreference mEnableTracesPref;
|
||||||
|
|
||||||
private CheckBoxPreference mImmediatelyDestroyActivities;
|
private CheckBoxPreference mImmediatelyDestroyActivities;
|
||||||
@@ -204,6 +206,9 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
mAnimatorDurationScale = (ListPreference) findPreference(ANIMATOR_DURATION_SCALE_KEY);
|
mAnimatorDurationScale = (ListPreference) findPreference(ANIMATOR_DURATION_SCALE_KEY);
|
||||||
mAllPrefs.add(mAnimatorDurationScale);
|
mAllPrefs.add(mAnimatorDurationScale);
|
||||||
mAnimatorDurationScale.setOnPreferenceChangeListener(this);
|
mAnimatorDurationScale.setOnPreferenceChangeListener(this);
|
||||||
|
mOverlayDisplayDevices = (ListPreference) findPreference(OVERLAY_DISPLAY_DEVICES_KEY);
|
||||||
|
mAllPrefs.add(mOverlayDisplayDevices);
|
||||||
|
mOverlayDisplayDevices.setOnPreferenceChangeListener(this);
|
||||||
mEnableTracesPref = (MultiCheckPreference)findPreference(ENABLE_TRACES_KEY);
|
mEnableTracesPref = (MultiCheckPreference)findPreference(ENABLE_TRACES_KEY);
|
||||||
String[] traceValues = new String[Trace.TRACE_TAGS.length];
|
String[] traceValues = new String[Trace.TRACE_TAGS.length];
|
||||||
for (int i=Trace.TRACE_FLAGS_START_BIT; i<traceValues.length; i++) {
|
for (int i=Trace.TRACE_FLAGS_START_BIT; i<traceValues.length; i++) {
|
||||||
@@ -360,6 +365,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
updateShowHwLayersUpdatesOptions();
|
updateShowHwLayersUpdatesOptions();
|
||||||
updateDebugLayoutOptions();
|
updateDebugLayoutOptions();
|
||||||
updateAnimationScaleOptions();
|
updateAnimationScaleOptions();
|
||||||
|
updateOverlayDisplayDevicesOptions();
|
||||||
updateEnableTracesOptions();
|
updateEnableTracesOptions();
|
||||||
updateImmediatelyDestroyActivitiesOptions();
|
updateImmediatelyDestroyActivitiesOptions();
|
||||||
updateAppProcessLimitOptions();
|
updateAppProcessLimitOptions();
|
||||||
@@ -379,6 +385,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
writeAnimationScaleOption(0, mWindowAnimationScale, null);
|
writeAnimationScaleOption(0, mWindowAnimationScale, null);
|
||||||
writeAnimationScaleOption(1, mTransitionAnimationScale, null);
|
writeAnimationScaleOption(1, mTransitionAnimationScale, null);
|
||||||
writeAnimationScaleOption(2, mAnimatorDurationScale, null);
|
writeAnimationScaleOption(2, mAnimatorDurationScale, null);
|
||||||
|
writeOverlayDisplayDevicesOptions(null);
|
||||||
writeEnableTracesOptions(0);
|
writeEnableTracesOptions(0);
|
||||||
writeAppProcessLimitOptions(null);
|
writeAppProcessLimitOptions(null);
|
||||||
mHaveDebugSettings = false;
|
mHaveDebugSettings = false;
|
||||||
@@ -683,6 +690,31 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateOverlayDisplayDevicesOptions() {
|
||||||
|
String value = Settings.System.getString(getActivity().getContentResolver(),
|
||||||
|
Settings.Secure.OVERLAY_DISPLAY_DEVICES);
|
||||||
|
if (value == null) {
|
||||||
|
value = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
CharSequence[] values = mOverlayDisplayDevices.getEntryValues();
|
||||||
|
for (int i = 0; i < values.length; i++) {
|
||||||
|
if (value.contentEquals(values[i])) {
|
||||||
|
mOverlayDisplayDevices.setValueIndex(i);
|
||||||
|
mOverlayDisplayDevices.setSummary(mOverlayDisplayDevices.getEntries()[i]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mOverlayDisplayDevices.setValueIndex(0);
|
||||||
|
mOverlayDisplayDevices.setSummary(mOverlayDisplayDevices.getEntries()[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void writeOverlayDisplayDevicesOptions(Object newValue) {
|
||||||
|
Settings.System.putString(getActivity().getContentResolver(),
|
||||||
|
Settings.Secure.OVERLAY_DISPLAY_DEVICES, (String)newValue);
|
||||||
|
updateOverlayDisplayDevicesOptions();
|
||||||
|
}
|
||||||
|
|
||||||
private void updateAppProcessLimitOptions() {
|
private void updateAppProcessLimitOptions() {
|
||||||
try {
|
try {
|
||||||
int limit = ActivityManagerNative.getDefault().getProcessLimit();
|
int limit = ActivityManagerNative.getDefault().getProcessLimit();
|
||||||
@@ -898,6 +930,9 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
} else if (preference == mAnimatorDurationScale) {
|
} else if (preference == mAnimatorDurationScale) {
|
||||||
writeAnimationScaleOption(2, mAnimatorDurationScale, newValue);
|
writeAnimationScaleOption(2, mAnimatorDurationScale, newValue);
|
||||||
return true;
|
return true;
|
||||||
|
} else if (preference == mOverlayDisplayDevices) {
|
||||||
|
writeOverlayDisplayDevicesOptions(newValue);
|
||||||
|
return true;
|
||||||
} else if (preference == mEnableTracesPref) {
|
} else if (preference == mEnableTracesPref) {
|
||||||
writeEnableTracesOptions();
|
writeEnableTracesOptions();
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user