Merge "Import translations. DO NOT MERGE"
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 14e1fc8..c29c7be 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -686,6 +686,20 @@
<item>error</item>
</string-array>
+ <!-- Titles for frame time tracking preference. [CHAR LIMIT=35] -->
+ <string-array name="track_frame_time_entries">
+ <item>Off</item>
+ <item>On screen</item>
+ <item>In adb shell dumpsys gfxinfo</item>
+ </string-array>
+
+ <!-- Values for frame time tracking preference. -->
+ <string-array name="track_frame_time_values" translatable="false" >
+ <item>false</item>
+ <item>visual</item>
+ <item>true</item>
+ </string-array>
+
<!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
<string-array name="app_process_limit_entries">
<item>Standard limit</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ee82030..426162f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3957,8 +3957,6 @@
<!-- UI debug setting: profile time taken by hardware acceleration to render apps [CHAR LIMIT=25] -->
<string name="track_frame_time">Profile GPU rendering</string>
- <!-- UI debug setting: profile hardware acceleration summary [CHAR LIMIT=50] -->
- <string name="track_frame_time_summary">Measure rendering time in adb shell dumpsys gfxinfo</string>
<!-- UI debug setting: scaling factor for window animations [CHAR LIMIT=25] -->
<string name="window_animation_scale_title">Window animation scale</string>
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index e67aad1..616e958 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -183,10 +183,12 @@
android:title="@string/show_cpu_usage"
android:summary="@string/show_cpu_usage_summary"/>
- <CheckBoxPreference
+ <ListPreference
android:key="track_frame_time"
android:title="@string/track_frame_time"
- android:summary="@string/track_frame_time_summary"/>
+ android:persistent="false"
+ android:entries="@array/track_frame_time_entries"
+ android:entryValues="@array/track_frame_time_values" />
<ListPreference
android:key="enable_opengl_traces"
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 5e7573f..0edb437 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -166,11 +166,11 @@
private CheckBoxPreference mShowCpuUsage;
private CheckBoxPreference mForceHardwareUi;
private CheckBoxPreference mForceMsaa;
- private CheckBoxPreference mTrackFrameTime;
private CheckBoxPreference mShowHwScreenUpdates;
private CheckBoxPreference mShowHwLayersUpdates;
private CheckBoxPreference mShowHwOverdraw;
private CheckBoxPreference mDebugLayout;
+ private ListPreference mTrackFrameTime;
private ListPreference mWindowAnimationScale;
private ListPreference mTransitionAnimationScale;
private ListPreference mAnimatorDurationScale;
@@ -240,7 +240,9 @@
mShowCpuUsage = findAndInitCheckboxPref(SHOW_CPU_USAGE_KEY);
mForceHardwareUi = findAndInitCheckboxPref(FORCE_HARDWARE_UI_KEY);
mForceMsaa = findAndInitCheckboxPref(FORCE_MSAA_KEY);
- mTrackFrameTime = findAndInitCheckboxPref(TRACK_FRAME_TIME_KEY);
+ mTrackFrameTime = (ListPreference) findPreference(TRACK_FRAME_TIME_KEY);
+ mAllPrefs.add(mTrackFrameTime);
+ mTrackFrameTime.setOnPreferenceChangeListener(this);
mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
mShowHwOverdraw = findAndInitCheckboxPref(SHOW_HW_OVERDRAW_KEY);
@@ -708,14 +710,28 @@
}
private void updateTrackFrameTimeOptions() {
- updateCheckBox(mTrackFrameTime,
- SystemProperties.getBoolean(HardwareRenderer.PROFILE_PROPERTY, false));
+ String value = SystemProperties.get(HardwareRenderer.PROFILE_PROPERTY);
+ if (value == null) {
+ value = "";
+ }
+
+ CharSequence[] values = mTrackFrameTime.getEntryValues();
+ for (int i = 0; i < values.length; i++) {
+ if (value.contentEquals(values[i])) {
+ mTrackFrameTime.setValueIndex(i);
+ mTrackFrameTime.setSummary(mTrackFrameTime.getEntries()[i]);
+ return;
+ }
+ }
+ mTrackFrameTime.setValueIndex(0);
+ mTrackFrameTime.setSummary(mTrackFrameTime.getEntries()[0]);
}
- private void writeTrackFrameTimeOptions() {
+ private void writeTrackFrameTimeOptions(Object newValue) {
SystemProperties.set(HardwareRenderer.PROFILE_PROPERTY,
- mTrackFrameTime.isChecked() ? "true" : "false");
+ newValue == null ? "" : newValue.toString());
pokeSystemProperties();
+ updateTrackFrameTimeOptions();
}
private void updateShowHwScreenUpdatesOptions() {
@@ -1071,8 +1087,6 @@
writeHardwareUiOptions();
} else if (preference == mForceMsaa) {
writeMsaaOptions();
- } else if (preference == mTrackFrameTime) {
- writeTrackFrameTimeOptions();
} else if (preference == mShowHwScreenUpdates) {
writeShowHwScreenUpdatesOptions();
} else if (preference == mShowHwLayersUpdates) {
@@ -1108,6 +1122,9 @@
} else if (preference == mOpenGLTraces) {
writeOpenGLTracesOptions(newValue);
return true;
+ } else if (preference == mTrackFrameTime) {
+ writeTrackFrameTimeOptions(newValue);
+ return true;
} else if (preference == mEnableTracesPref) {
writeEnableTracesOptions();
return true;
diff --git a/src/com/android/settings/ProxySelector.java b/src/com/android/settings/ProxySelector.java
index f521d6d..9bb6dca 100644
--- a/src/com/android/settings/ProxySelector.java
+++ b/src/com/android/settings/ProxySelector.java
@@ -58,12 +58,16 @@
Button mClearButton;
Button mDefaultButton;
+ // Allows underscore char to supports proxies that do not
+ // follow the spec
+ private static final String HC = "a-zA-Z0-9\\_";
+
// Matches blank input, ips, and domain names
private static final String HOSTNAME_REGEXP =
- "^$|^[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*(\\.[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*)*$";
+ "^$|^[" + HC + "]+(\\-[" + HC + "]+)*(\\.[" + HC + "]+(\\-[" + HC + "]+)*)*$";
private static final Pattern HOSTNAME_PATTERN;
private static final String EXCLUSION_REGEXP =
- "$|^[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*(\\.[a-zA-Z0-9]+(\\-[a-zA-Z0-9]+)*)*$";
+ "$|^[" + HC + "]+(\\-[" + HC + "]+)*(\\.[" + HC + "]+(\\-[" + HC + "]+)*)*$";
private static final Pattern EXCLUSION_PATTERN;
static {
HOSTNAME_PATTERN = Pattern.compile(HOSTNAME_REGEXP);