summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSite Mao <sitem@codeaurora.org>2015-07-20 18:27:20 -0700
committerjrizzoli <joey@cyanogenmoditalia.it>2015-08-28 13:15:46 +0200
commit7521b096b00daeee10289f6da29cdc5596b1f1b7 (patch)
treeda70c00b96952ee0b540fc197e22ded9024d1cb9
parent82ca1bd947324ceb3c3adcb571a80a8f2d3ecd71 (diff)
downloadandroid_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.xml7
-rw-r--r--res/xml/debug_preferences.xml8
-rw-r--r--src/com/android/browser/BaseUi.java5
-rw-r--r--src/com/android/browser/BrowserSettings.java5
-rw-r--r--src/com/android/browser/PreferenceKeys.java1
-rw-r--r--src/com/android/browser/preferences/DebugPreferencesFragment.java25
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