diff options
author | Site Mao <sitem@codeaurora.org> | 2015-07-20 18:27:20 -0700 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2015-08-28 13:15:46 +0200 |
commit | 7521b096b00daeee10289f6da29cdc5596b1f1b7 (patch) | |
tree | da70c00b96952ee0b540fc197e22ded9024d1cb9 | |
parent | 82ca1bd947324ceb3c3adcb571a80a8f2d3ecd71 (diff) | |
download | android_packages_apps_Gello-7521b096b00daeee10289f6da29cdc5596b1f1b7.tar.gz android_packages_apps_Gello-7521b096b00daeee10289f6da29cdc5596b1f1b7.tar.bz2 android_packages_apps_Gello-7521b096b00daeee10289f6da29cdc5596b1f1b7.zip |
Add debug option to disable performance features for testing
Change-Id: I508448907a83fb32028cb28eb64b72f97a863fd0
-rw-r--r-- | res/values/strings.xml | 7 | ||||
-rw-r--r-- | res/xml/debug_preferences.xml | 8 | ||||
-rw-r--r-- | src/com/android/browser/BaseUi.java | 5 | ||||
-rw-r--r-- | src/com/android/browser/BrowserSettings.java | 5 | ||||
-rw-r--r-- | src/com/android/browser/PreferenceKeys.java | 1 | ||||
-rw-r--r-- | src/com/android/browser/preferences/DebugPreferencesFragment.java | 25 |
6 files changed, 48 insertions, 3 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 4b2021fb..e2205d18 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -657,6 +657,13 @@ <!-- Do not tranlsate. Development option --> <string name="pref_development_cpu_upload_path" translatable="false">Enable Cpu Upload Path</string> <!-- Do not tranlsate. Development option --> + <string name="pref_development_disable_perf" + translatable="false">High Performance features</string> + <string name="pref_development_disable_perf_on" + translatable="false">WebRefiner, WebAccelerator, EdgeNavigation enabled</string> + <string name="pref_development_disable_perf_off" + translatable="false">WebRefiner, WebAccelerator, EdgeNavigation disabled</string> + <!-- Do not tranlsate. Development option --> <string name="js_engine_flags" translatable="false">Set JS flags</string> <!-- Do not tranlsate. Development option --> <string name="pref_development_uastring" translatable="false">UAString</string> diff --git a/res/xml/debug_preferences.xml b/res/xml/debug_preferences.xml index f23ce121..e2441882 100644 --- a/res/xml/debug_preferences.xml +++ b/res/xml/debug_preferences.xml @@ -78,6 +78,14 @@ android:defaultValue="false" android:title="@string/pref_development_nav_dump" /> + <SwitchPreference + android:layout="@layout/swe_preference" + android:key="disable_perf" + android:defaultValue="true" + android:summaryOn="@string/pref_development_disable_perf_on" + android:summaryOff="@string/pref_development_disable_perf_off" + android:title="@string/pref_development_disable_perf" /> + <EditTextPreference android:layout="@layout/swe_preference" android:key="js_engine_flags" diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java index 2d53daa7..026e6612 100644 --- a/src/com/android/browser/BaseUi.java +++ b/src/com/android/browser/BaseUi.java @@ -686,8 +686,9 @@ public abstract class BaseUi implements UI { } public static boolean isUiLowPowerMode() { - return BrowserCommandLine.hasSwitch("ui-low-power-mode") || - BrowserSettings.getInstance().isPowerSaveModeEnabled(); + return BrowserCommandLine.hasSwitch("ui-low-power-mode") + || BrowserSettings.getInstance().isPowerSaveModeEnabled() + || BrowserSettings.getInstance().isDisablePerfFeatures(); } // ------------------------------------------------------------------------- diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java index 9de584d5..82402c17 100644 --- a/src/com/android/browser/BrowserSettings.java +++ b/src/com/android/browser/BrowserSettings.java @@ -901,6 +901,11 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, return mPrefs.getBoolean(PREF_ENABLE_HARDWARE_ACCEL_SKIA, false); } + public boolean isDisablePerfFeatures() { + // This value is flipped in the prefs. + return !mPrefs.getBoolean(PREF_DISABLE_PERF, true); + } + // ----------------------------- // getter/setters for hidden_debug_preferences.xml // ----------------------------- diff --git a/src/com/android/browser/PreferenceKeys.java b/src/com/android/browser/PreferenceKeys.java index 0cc635ae..2f144c51 100644 --- a/src/com/android/browser/PreferenceKeys.java +++ b/src/com/android/browser/PreferenceKeys.java @@ -53,6 +53,7 @@ public interface PreferenceKeys { // ---------------------- static final String PREF_ENABLE_HARDWARE_ACCEL = "enable_hardware_accel"; static final String PREF_ENABLE_HARDWARE_ACCEL_SKIA = "enable_hardware_accel_skia"; + static final String PREF_DISABLE_PERF = "disable_perf"; // ---------------------- // Keys for general_preferences.xml diff --git a/src/com/android/browser/preferences/DebugPreferencesFragment.java b/src/com/android/browser/preferences/DebugPreferencesFragment.java index 21e3080e..2283fb6a 100644 --- a/src/com/android/browser/preferences/DebugPreferencesFragment.java +++ b/src/com/android/browser/preferences/DebugPreferencesFragment.java @@ -19,18 +19,41 @@ package com.android.browser.preferences; import android.app.ActionBar; import android.os.Bundle; import android.preference.Preference; +import android.preference.SwitchPreference; import android.preference.Preference.OnPreferenceClickListener; +import android.preference.Preference.OnPreferenceChangeListener; +import com.android.browser.PreferenceKeys; import com.android.browser.R; +import org.codeaurora.swe.PermissionsServiceFactory; + public class DebugPreferencesFragment extends SWEPreferenceFragment - implements OnPreferenceClickListener { + implements OnPreferenceClickListener, OnPreferenceChangeListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the XML preferences file addPreferencesFromResource(R.xml.debug_preferences); + + SwitchPreference pref = (SwitchPreference) findPreference(PreferenceKeys.PREF_DISABLE_PERF); + pref.setOnPreferenceChangeListener(this); + } + + @Override + public boolean onPreferenceChange(Preference pref, Object objValue) { + if (getActivity() == null) { + return false; + } + + if (pref.getKey().equals(PreferenceKeys.PREF_DISABLE_PERF)) { + PermissionsServiceFactory.setDefaultPermissions( + PermissionsServiceFactory.PermissionType.WEBREFINER, (Boolean)objValue); + return true; + } + + return false; } @Override |