Loading res/xml/power_menu_settings.xml +1 −8 Original line number Diff line number Diff line Loading @@ -29,15 +29,8 @@ android:title="@string/power_menu_screenshot_title" android:defaultValue="false" /> <ListPreference android:key="power_menu_expanded_desktop" android:title="@string/power_menu_expanded_desktop" android:entries="@array/expanded_desktop_entries" android:entryValues="@array/expanded_desktop_values" android:persistent="false" /> <CheckBoxPreference android:key="power_menu_expanded_desktop_no_navbar" android:key="power_menu_expanded_desktop" android:title="@string/power_menu_expanded_desktop" android:persistent="false" /> Loading res/xml/system_settings.xml +12 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,18 @@ android:fragment="com.android.settings.cyanogenmod.PowerWidget" android:title="@string/notification_drawer_title" /> <ListPreference android:key="expanded_desktop" android:title="@string/power_menu_expanded_desktop" android:entries="@array/expanded_desktop_entries" android:entryValues="@array/expanded_desktop_values" android:persistent="false" /> <CheckBoxPreference android:key="expanded_desktop_no_navbar" android:title="@string/power_menu_expanded_desktop" android:persistent="false" /> <PreferenceScreen android:key="power_menu" android:title="@string/power_menu_title" Loading src/com/android/settings/cyanogenmod/PowerMenu.java +15 −76 Original line number Diff line number Diff line Loading @@ -16,31 +16,23 @@ package com.android.settings.cyanogenmod; import android.content.res.Resources; import android.os.Bundle; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceScreen; import android.provider.Settings; import android.util.Log; import android.view.WindowManagerGlobal; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; public class PowerMenu extends SettingsPreferenceFragment implements OnPreferenceChangeListener { public class PowerMenu extends SettingsPreferenceFragment { private static final String TAG = "PowerMenu"; private static final String KEY_REBOOT = "power_menu_reboot"; private static final String KEY_SCREENSHOT = "power_menu_screenshot"; private static final String KEY_EXPANDED_DESKTOP = "power_menu_expanded_desktop"; private static final String KEY_EXPANDED_DESKTOP_NO_NAVBAR = "power_menu_expanded_desktop_no_navbar"; private static final String KEY_PROFILES = "power_menu_profiles"; private static final String KEY_AIRPLANE = "power_menu_airplane"; private static final String KEY_USER = "power_menu_user"; Loading @@ -48,8 +40,7 @@ public class PowerMenu extends SettingsPreferenceFragment implements private CheckBoxPreference mRebootPref; private CheckBoxPreference mScreenshotPref; private ListPreference mExpandedDesktopPref; private CheckBoxPreference mExpandedDesktopNoNavbarPref; private CheckBoxPreference mExpandedDesktopPref; private CheckBoxPreference mProfilesPref; private CheckBoxPreference mAirplanePref; private CheckBoxPreference mUserPref; Loading @@ -69,34 +60,19 @@ public class PowerMenu extends SettingsPreferenceFragment implements mScreenshotPref.setChecked((Settings.System.getInt(getContentResolver(), Settings.System.POWER_MENU_SCREENSHOT_ENABLED, 0) == 1)); PreferenceScreen prefSet = getPreferenceScreen(); mExpandedDesktopPref = (ListPreference) prefSet.findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopNoNavbarPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP_NO_NAVBAR); int expandedDesktopValue = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0); // Hide no-op "Status bar visible" mode on devices without navbar try { if (WindowManagerGlobal.getWindowManagerService().hasNavigationBar()) { mExpandedDesktopPref.setOnPreferenceChangeListener(this); mExpandedDesktopPref.setValue(String.valueOf(expandedDesktopValue)); updateExpandedDesktop(expandedDesktopValue); prefSet.removePreference(mExpandedDesktopNoNavbarPref); } else { mExpandedDesktopNoNavbarPref.setChecked(expandedDesktopValue > 0); prefSet.removePreference(mExpandedDesktopPref); } } catch (RemoteException e) { Log.e(TAG, "Error getting navigation bar status"); } mExpandedDesktopPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopPref.setChecked((Settings.System.getInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 0) == 1)); // Only enable if Expanded desktop support is also enabled boolean enabled = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0) != 0; mExpandedDesktopPref.setEnabled(enabled); mProfilesPref = (CheckBoxPreference) findPreference(KEY_PROFILES); mProfilesPref.setChecked((Settings.System.getInt(getContentResolver(), Settings.System.POWER_MENU_PROFILES_ENABLED, 1) == 1)); // Only enable if System Profiles are also enabled boolean enabled = Settings.System.getInt(getContentResolver(), enabled = Settings.System.getInt(getContentResolver(), Settings.System.SYSTEM_PROFILES_ENABLED, 1) == 1; mProfilesPref.setEnabled(enabled); Loading @@ -119,15 +95,6 @@ public class PowerMenu extends SettingsPreferenceFragment implements } public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == mExpandedDesktopPref) { int expandedDesktopValue = Integer.valueOf((String) newValue); updateExpandedDesktop(expandedDesktopValue); return true; } return false; } @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { boolean value; Loading @@ -137,9 +104,11 @@ public class PowerMenu extends SettingsPreferenceFragment implements Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_SCREENSHOT_ENABLED, value ? 1 : 0); } else if (preference == mExpandedDesktopNoNavbarPref) { value = mExpandedDesktopNoNavbarPref.isChecked(); updateExpandedDesktop(value ? 2 : 0); } else if (preference == mExpandedDesktopPref) { value = mExpandedDesktopPref.isChecked(); Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, value ? 1 : 0); } else if (preference == mRebootPref) { value = mRebootPref.isChecked(); Settings.System.putInt(getContentResolver(), Loading Loading @@ -171,34 +140,4 @@ public class PowerMenu extends SettingsPreferenceFragment implements return true; } private void updateExpandedDesktop(int value) { Resources res = getResources(); int summary = -1; Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, value); if (value == 0) { // Expanded desktop deactivated Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 0); summary = R.string.expanded_desktop_disabled; // Disable expanded desktop if enabled Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STATE, 0); } else if (value == 1) { Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_status_bar; } else if (value == 2) { Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_no_status_bar; } if (mExpandedDesktopPref != null && summary != -1) { mExpandedDesktopPref.setSummary(res.getString(summary)); } } } src/com/android/settings/cyanogenmod/SystemSettings.java +74 −1 Original line number Diff line number Diff line Loading @@ -16,17 +16,22 @@ package com.android.settings.cyanogenmod; import android.content.ContentResolver; import android.content.Context; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceScreen; import android.provider.Settings; import android.util.Log; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; Loading @@ -34,7 +39,8 @@ import com.android.settings.SettingsPreferenceFragment; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SystemSettings extends SettingsPreferenceFragment { public class SystemSettings extends SettingsPreferenceFragment implements Preference.OnPreferenceChangeListener { private static final String TAG = "SystemSettings"; private static final String KEY_NOTIFICATION_PULSE = "notification_pulse"; Loading @@ -49,10 +55,15 @@ public class SystemSettings extends SettingsPreferenceFragment { private static final String KEY_NOTIFICATION_DRAWER = "notification_drawer"; private static final String KEY_POWER_MENU = "power_menu"; private static final String KEY_PIE_CONTROL = "pie_control"; private static final String KEY_EXPANDED_DESKTOP = "expanded_desktop"; private static final String KEY_EXPANDED_DESKTOP_NO_NAVBAR = "expanded_desktop_no_navbar"; private PreferenceScreen mNotificationPulse; private PreferenceScreen mBatteryPulse; private PreferenceScreen mPieControl; private ListPreference mExpandedDesktopPref; private CheckBoxPreference mExpandedDesktopNoNavbarPref; private boolean mIsPrimary; @Override Loading Loading @@ -133,6 +144,29 @@ public class SystemSettings extends SettingsPreferenceFragment { mPieControl = null; } // Expanded desktop mExpandedDesktopPref = (ListPreference) findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopNoNavbarPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP_NO_NAVBAR); int expandedDesktopValue = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0); // Hide no-op "Status bar visible" mode on devices without navbar try { if (WindowManagerGlobal.getWindowManagerService().hasNavigationBar()) { mExpandedDesktopPref.setOnPreferenceChangeListener(this); mExpandedDesktopPref.setValue(String.valueOf(expandedDesktopValue)); updateExpandedDesktop(expandedDesktopValue); prefScreen.removePreference(mExpandedDesktopNoNavbarPref); } else { mExpandedDesktopNoNavbarPref.setOnPreferenceChangeListener(this); mExpandedDesktopNoNavbarPref.setChecked(expandedDesktopValue > 0); prefScreen.removePreference(mExpandedDesktopPref); } } catch (RemoteException e) { Log.e(TAG, "Error getting navigation bar status"); } // Don't display the lock clock preference if its not installed removePreferenceIfPackageNotInstalled(findPreference(KEY_LOCK_CLOCK)); } Loading Loading @@ -160,6 +194,20 @@ public class SystemSettings extends SettingsPreferenceFragment { super.onPause(); } public boolean onPreferenceChange(Preference preference, Object objValue) { if (preference == mExpandedDesktopPref) { int expandedDesktopValue = Integer.valueOf((String) objValue); updateExpandedDesktop(expandedDesktopValue); return true; } else if (preference == mExpandedDesktopNoNavbarPref) { boolean value = (Boolean) objValue; updateExpandedDesktop(value ? 2 : 0); return true; } return false; } private void updateLightPulseDescription() { if (Settings.System.getInt(getActivity().getContentResolver(), Settings.System.NOTIFICATION_LIGHT_PULSE, 0) == 1) { Loading Loading @@ -204,4 +252,29 @@ public class SystemSettings extends SettingsPreferenceFragment { } return false; } private void updateExpandedDesktop(int value) { ContentResolver cr = getContentResolver(); Resources res = getResources(); int summary = -1; Settings.System.putInt(cr, Settings.System.EXPANDED_DESKTOP_STYLE, value); if (value == 0) { // Expanded desktop deactivated Settings.System.putInt(cr, Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 0); Settings.System.putInt(cr, Settings.System.EXPANDED_DESKTOP_STATE, 0); summary = R.string.expanded_desktop_disabled; } else if (value == 1) { Settings.System.putInt(cr, Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_status_bar; } else if (value == 2) { Settings.System.putInt(cr, Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_no_status_bar; } if (mExpandedDesktopPref != null && summary != -1) { mExpandedDesktopPref.setSummary(res.getString(summary)); } } } Loading
res/xml/power_menu_settings.xml +1 −8 Original line number Diff line number Diff line Loading @@ -29,15 +29,8 @@ android:title="@string/power_menu_screenshot_title" android:defaultValue="false" /> <ListPreference android:key="power_menu_expanded_desktop" android:title="@string/power_menu_expanded_desktop" android:entries="@array/expanded_desktop_entries" android:entryValues="@array/expanded_desktop_values" android:persistent="false" /> <CheckBoxPreference android:key="power_menu_expanded_desktop_no_navbar" android:key="power_menu_expanded_desktop" android:title="@string/power_menu_expanded_desktop" android:persistent="false" /> Loading
res/xml/system_settings.xml +12 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,18 @@ android:fragment="com.android.settings.cyanogenmod.PowerWidget" android:title="@string/notification_drawer_title" /> <ListPreference android:key="expanded_desktop" android:title="@string/power_menu_expanded_desktop" android:entries="@array/expanded_desktop_entries" android:entryValues="@array/expanded_desktop_values" android:persistent="false" /> <CheckBoxPreference android:key="expanded_desktop_no_navbar" android:title="@string/power_menu_expanded_desktop" android:persistent="false" /> <PreferenceScreen android:key="power_menu" android:title="@string/power_menu_title" Loading
src/com/android/settings/cyanogenmod/PowerMenu.java +15 −76 Original line number Diff line number Diff line Loading @@ -16,31 +16,23 @@ package com.android.settings.cyanogenmod; import android.content.res.Resources; import android.os.Bundle; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceScreen; import android.provider.Settings; import android.util.Log; import android.view.WindowManagerGlobal; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; public class PowerMenu extends SettingsPreferenceFragment implements OnPreferenceChangeListener { public class PowerMenu extends SettingsPreferenceFragment { private static final String TAG = "PowerMenu"; private static final String KEY_REBOOT = "power_menu_reboot"; private static final String KEY_SCREENSHOT = "power_menu_screenshot"; private static final String KEY_EXPANDED_DESKTOP = "power_menu_expanded_desktop"; private static final String KEY_EXPANDED_DESKTOP_NO_NAVBAR = "power_menu_expanded_desktop_no_navbar"; private static final String KEY_PROFILES = "power_menu_profiles"; private static final String KEY_AIRPLANE = "power_menu_airplane"; private static final String KEY_USER = "power_menu_user"; Loading @@ -48,8 +40,7 @@ public class PowerMenu extends SettingsPreferenceFragment implements private CheckBoxPreference mRebootPref; private CheckBoxPreference mScreenshotPref; private ListPreference mExpandedDesktopPref; private CheckBoxPreference mExpandedDesktopNoNavbarPref; private CheckBoxPreference mExpandedDesktopPref; private CheckBoxPreference mProfilesPref; private CheckBoxPreference mAirplanePref; private CheckBoxPreference mUserPref; Loading @@ -69,34 +60,19 @@ public class PowerMenu extends SettingsPreferenceFragment implements mScreenshotPref.setChecked((Settings.System.getInt(getContentResolver(), Settings.System.POWER_MENU_SCREENSHOT_ENABLED, 0) == 1)); PreferenceScreen prefSet = getPreferenceScreen(); mExpandedDesktopPref = (ListPreference) prefSet.findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopNoNavbarPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP_NO_NAVBAR); int expandedDesktopValue = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0); // Hide no-op "Status bar visible" mode on devices without navbar try { if (WindowManagerGlobal.getWindowManagerService().hasNavigationBar()) { mExpandedDesktopPref.setOnPreferenceChangeListener(this); mExpandedDesktopPref.setValue(String.valueOf(expandedDesktopValue)); updateExpandedDesktop(expandedDesktopValue); prefSet.removePreference(mExpandedDesktopNoNavbarPref); } else { mExpandedDesktopNoNavbarPref.setChecked(expandedDesktopValue > 0); prefSet.removePreference(mExpandedDesktopPref); } } catch (RemoteException e) { Log.e(TAG, "Error getting navigation bar status"); } mExpandedDesktopPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopPref.setChecked((Settings.System.getInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 0) == 1)); // Only enable if Expanded desktop support is also enabled boolean enabled = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0) != 0; mExpandedDesktopPref.setEnabled(enabled); mProfilesPref = (CheckBoxPreference) findPreference(KEY_PROFILES); mProfilesPref.setChecked((Settings.System.getInt(getContentResolver(), Settings.System.POWER_MENU_PROFILES_ENABLED, 1) == 1)); // Only enable if System Profiles are also enabled boolean enabled = Settings.System.getInt(getContentResolver(), enabled = Settings.System.getInt(getContentResolver(), Settings.System.SYSTEM_PROFILES_ENABLED, 1) == 1; mProfilesPref.setEnabled(enabled); Loading @@ -119,15 +95,6 @@ public class PowerMenu extends SettingsPreferenceFragment implements } public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == mExpandedDesktopPref) { int expandedDesktopValue = Integer.valueOf((String) newValue); updateExpandedDesktop(expandedDesktopValue); return true; } return false; } @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { boolean value; Loading @@ -137,9 +104,11 @@ public class PowerMenu extends SettingsPreferenceFragment implements Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_SCREENSHOT_ENABLED, value ? 1 : 0); } else if (preference == mExpandedDesktopNoNavbarPref) { value = mExpandedDesktopNoNavbarPref.isChecked(); updateExpandedDesktop(value ? 2 : 0); } else if (preference == mExpandedDesktopPref) { value = mExpandedDesktopPref.isChecked(); Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, value ? 1 : 0); } else if (preference == mRebootPref) { value = mRebootPref.isChecked(); Settings.System.putInt(getContentResolver(), Loading Loading @@ -171,34 +140,4 @@ public class PowerMenu extends SettingsPreferenceFragment implements return true; } private void updateExpandedDesktop(int value) { Resources res = getResources(); int summary = -1; Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, value); if (value == 0) { // Expanded desktop deactivated Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 0); summary = R.string.expanded_desktop_disabled; // Disable expanded desktop if enabled Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STATE, 0); } else if (value == 1) { Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_status_bar; } else if (value == 2) { Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_no_status_bar; } if (mExpandedDesktopPref != null && summary != -1) { mExpandedDesktopPref.setSummary(res.getString(summary)); } } }
src/com/android/settings/cyanogenmod/SystemSettings.java +74 −1 Original line number Diff line number Diff line Loading @@ -16,17 +16,22 @@ package com.android.settings.cyanogenmod; import android.content.ContentResolver; import android.content.Context; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceScreen; import android.provider.Settings; import android.util.Log; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; Loading @@ -34,7 +39,8 @@ import com.android.settings.SettingsPreferenceFragment; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SystemSettings extends SettingsPreferenceFragment { public class SystemSettings extends SettingsPreferenceFragment implements Preference.OnPreferenceChangeListener { private static final String TAG = "SystemSettings"; private static final String KEY_NOTIFICATION_PULSE = "notification_pulse"; Loading @@ -49,10 +55,15 @@ public class SystemSettings extends SettingsPreferenceFragment { private static final String KEY_NOTIFICATION_DRAWER = "notification_drawer"; private static final String KEY_POWER_MENU = "power_menu"; private static final String KEY_PIE_CONTROL = "pie_control"; private static final String KEY_EXPANDED_DESKTOP = "expanded_desktop"; private static final String KEY_EXPANDED_DESKTOP_NO_NAVBAR = "expanded_desktop_no_navbar"; private PreferenceScreen mNotificationPulse; private PreferenceScreen mBatteryPulse; private PreferenceScreen mPieControl; private ListPreference mExpandedDesktopPref; private CheckBoxPreference mExpandedDesktopNoNavbarPref; private boolean mIsPrimary; @Override Loading Loading @@ -133,6 +144,29 @@ public class SystemSettings extends SettingsPreferenceFragment { mPieControl = null; } // Expanded desktop mExpandedDesktopPref = (ListPreference) findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopNoNavbarPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP_NO_NAVBAR); int expandedDesktopValue = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0); // Hide no-op "Status bar visible" mode on devices without navbar try { if (WindowManagerGlobal.getWindowManagerService().hasNavigationBar()) { mExpandedDesktopPref.setOnPreferenceChangeListener(this); mExpandedDesktopPref.setValue(String.valueOf(expandedDesktopValue)); updateExpandedDesktop(expandedDesktopValue); prefScreen.removePreference(mExpandedDesktopNoNavbarPref); } else { mExpandedDesktopNoNavbarPref.setOnPreferenceChangeListener(this); mExpandedDesktopNoNavbarPref.setChecked(expandedDesktopValue > 0); prefScreen.removePreference(mExpandedDesktopPref); } } catch (RemoteException e) { Log.e(TAG, "Error getting navigation bar status"); } // Don't display the lock clock preference if its not installed removePreferenceIfPackageNotInstalled(findPreference(KEY_LOCK_CLOCK)); } Loading Loading @@ -160,6 +194,20 @@ public class SystemSettings extends SettingsPreferenceFragment { super.onPause(); } public boolean onPreferenceChange(Preference preference, Object objValue) { if (preference == mExpandedDesktopPref) { int expandedDesktopValue = Integer.valueOf((String) objValue); updateExpandedDesktop(expandedDesktopValue); return true; } else if (preference == mExpandedDesktopNoNavbarPref) { boolean value = (Boolean) objValue; updateExpandedDesktop(value ? 2 : 0); return true; } return false; } private void updateLightPulseDescription() { if (Settings.System.getInt(getActivity().getContentResolver(), Settings.System.NOTIFICATION_LIGHT_PULSE, 0) == 1) { Loading Loading @@ -204,4 +252,29 @@ public class SystemSettings extends SettingsPreferenceFragment { } return false; } private void updateExpandedDesktop(int value) { ContentResolver cr = getContentResolver(); Resources res = getResources(); int summary = -1; Settings.System.putInt(cr, Settings.System.EXPANDED_DESKTOP_STYLE, value); if (value == 0) { // Expanded desktop deactivated Settings.System.putInt(cr, Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 0); Settings.System.putInt(cr, Settings.System.EXPANDED_DESKTOP_STATE, 0); summary = R.string.expanded_desktop_disabled; } else if (value == 1) { Settings.System.putInt(cr, Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_status_bar; } else if (value == 2) { Settings.System.putInt(cr, Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); summary = R.string.expanded_desktop_no_status_bar; } if (mExpandedDesktopPref != null && summary != -1) { mExpandedDesktopPref.setSummary(res.getString(summary)); } } }