From 49851ac32a2ec771ca9eb248c3819dbe33555c77 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Mon, 11 May 2015 16:58:34 -0400 Subject: [PATCH] Add SystemUI Tuner Control Change-Id: I321c3263612c752409beb46f4c96826954b96e26 --- res/values/strings.xml | 3 +++ res/xml/development_prefs.xml | 5 ++++ .../android/settings/DevelopmentSettings.java | 27 +++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index 242177a39bb..5a450c591e2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -6585,4 +6585,7 @@ App notification preferences + + Show SystemUI Tuner + diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index ecab7009b0a..7ab44ca9b62 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -60,6 +60,11 @@ android:summary="@string/runningservices_settings_summary" android:fragment="com.android.settings.applications.RunningServices" /> + + diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 3c964c9da5d..4d89bf5536d 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -97,6 +97,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment */ public static final String PREF_SHOW = "show"; + private static final ComponentName SYSUI_TWEAK = new ComponentName("com.android.systemui", + "com.android.systemui.tuner.TunerActivity"); + private static final String ENABLE_ADB = "enable_adb"; private static final String CLEAR_ADB_KEYS = "clear_adb_keys"; private static final String ENABLE_TERMINAL = "enable_terminal"; @@ -112,6 +115,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final String BUGREPORT = "bugreport"; private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power"; private static final String OPENGL_TRACES_PROPERTY = "debug.egl.trace"; + private static final String TWEAK_UI_KEY = "tweak_ui"; private static final String DEBUG_APP_KEY = "debug_app"; private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger"; @@ -260,6 +264,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private Dialog mAdbKeysDialog; private boolean mUnavailable; + private SwitchPreference mTweakUiPref; + @Override protected int getMetricsCategory() { return MetricsLogger.DEVELOPMENT; @@ -392,6 +398,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mAllPrefs.add(mShowAllANRs); mResetSwitchPrefs.add(mShowAllANRs); + mTweakUiPref = findAndInitSwitchPref(TWEAK_UI_KEY); + Preference hdcpChecking = findPreference(HDCP_CHECKING_KEY); if (hdcpChecking != null) { mAllPrefs.add(hdcpChecking); @@ -593,6 +601,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateSimulateColorSpace(); updateUseNuplayerOptions(); updateUSBAudioOptions(); + updateTweakUi(); } private void resetDangerousOptions() { @@ -1069,6 +1078,21 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } } + private void updateTweakUi() { + updateSwitchPreference(mTweakUiPref, getActivity().getPackageManager() + .getComponentEnabledSetting(SYSUI_TWEAK) + == PackageManager.COMPONENT_ENABLED_STATE_ENABLED); + mTweakUiPref.setOnPreferenceChangeListener(this); + } + + private void writeTweakUi(Object newValue) { + Boolean enabled = (Boolean) newValue; + getActivity().getPackageManager().setComponentEnabledSetting(SYSUI_TWEAK, + enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED + : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, + PackageManager.DONT_KILL_APP); + } + private void updateUseNuplayerOptions() { updateSwitchPreference( mUseAwesomePlayer, SystemProperties.getBoolean(USE_AWESOMEPLAYER_PROPERTY, false)); @@ -1669,6 +1693,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment } else if (preference == mSimulateColorSpace) { writeSimulateColorSpace(newValue); return true; + } else if (preference == mTweakUiPref) { + writeTweakUi(newValue); + return true; } return false; }