Loading res/values/arrays.xml +0 −10 Original line number Diff line number Diff line Loading @@ -1239,16 +1239,6 @@ <item>2</item> </string-array> <string-array name="expanded_desktop_entries_no_navbar" translatable="false"> <item>@string/expanded_desktop_disabled</item> <item>@string/expanded_desktop_no_status_bar</item> </string-array> <string-array name="expanded_desktop_values_no_navbar" translatable="false"> <item>0</item> <item>2</item> </string-array> <!-- Quick pulldown --> <string-array name="quick_pulldown_entries" translatable="false"> <item>@string/quick_pulldown_off</item> Loading res/xml/power_menu_settings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,11 @@ android:entryValues="@array/expanded_desktop_values" android:persistent="false" /> <CheckBoxPreference android:key="power_menu_expanded_desktop_no_navbar" android:title="@string/power_menu_expanded_desktop" android:persistent="false" /> <CheckBoxPreference android:key="power_menu_profiles" android:title="@string/power_menu_profiles_title" Loading src/com/android/settings/cyanogenmod/PowerMenu.java +30 −14 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ public class PowerMenu extends SettingsPreferenceFragment implements 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 @@ -47,7 +48,8 @@ public class PowerMenu extends SettingsPreferenceFragment implements private CheckBoxPreference mRebootPref; private CheckBoxPreference mScreenshotPref; ListPreference mExpandedDesktopPref; private ListPreference mExpandedDesktopPref; private CheckBoxPreference mExpandedDesktopNoNavbarPref; private CheckBoxPreference mProfilesPref; private CheckBoxPreference mAirplanePref; private CheckBoxPreference mUserPref; Loading @@ -69,16 +71,21 @@ public class PowerMenu extends SettingsPreferenceFragment implements PreferenceScreen prefSet = getPreferenceScreen(); mExpandedDesktopPref = (ListPreference) prefSet.findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopPref.setOnPreferenceChangeListener(this); mExpandedDesktopNoNavbarPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP_NO_NAVBAR); int expandedDesktopValue = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0); mExpandedDesktopPref.setValue(String.valueOf(expandedDesktopValue)); updateExpandedDesktopSummary(expandedDesktopValue); // Hide no-op "Status bar visible" mode on devices without navbar try { if (!WindowManagerGlobal.getWindowManagerService().hasNavigationBar()) { mExpandedDesktopPref.setEntries(R.array.expanded_desktop_entries_no_navbar); mExpandedDesktopPref.setEntryValues(R.array.expanded_desktop_values_no_navbar); 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"); Loading Loading @@ -115,9 +122,7 @@ public class PowerMenu extends SettingsPreferenceFragment implements public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == mExpandedDesktopPref) { int expandedDesktopValue = Integer.valueOf((String) newValue); Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, expandedDesktopValue); updateExpandedDesktopSummary(expandedDesktopValue); updateExpandedDesktop(expandedDesktopValue); return true; } return false; Loading @@ -132,6 +137,9 @@ 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 == mRebootPref) { value = mRebootPref.isChecked(); Settings.System.putInt(getContentResolver(), Loading Loading @@ -164,25 +172,33 @@ public class PowerMenu extends SettingsPreferenceFragment implements return true; } private void updateExpandedDesktopSummary(int value) { 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); mExpandedDesktopPref.setSummary(res.getString(R.string.expanded_desktop_disabled)); 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); mExpandedDesktopPref.setSummary(res.getString(R.string.expanded_desktop_status_bar)); summary = R.string.expanded_desktop_status_bar; } else if (value == 2) { Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); mExpandedDesktopPref.setSummary(res.getString(R.string.expanded_desktop_no_status_bar)); summary = R.string.expanded_desktop_no_status_bar; } if (mExpandedDesktopPref != null && summary != -1) { mExpandedDesktopPref.setSummary(res.getString(summary)); } } } Loading
res/values/arrays.xml +0 −10 Original line number Diff line number Diff line Loading @@ -1239,16 +1239,6 @@ <item>2</item> </string-array> <string-array name="expanded_desktop_entries_no_navbar" translatable="false"> <item>@string/expanded_desktop_disabled</item> <item>@string/expanded_desktop_no_status_bar</item> </string-array> <string-array name="expanded_desktop_values_no_navbar" translatable="false"> <item>0</item> <item>2</item> </string-array> <!-- Quick pulldown --> <string-array name="quick_pulldown_entries" translatable="false"> <item>@string/quick_pulldown_off</item> Loading
res/xml/power_menu_settings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,11 @@ android:entryValues="@array/expanded_desktop_values" android:persistent="false" /> <CheckBoxPreference android:key="power_menu_expanded_desktop_no_navbar" android:title="@string/power_menu_expanded_desktop" android:persistent="false" /> <CheckBoxPreference android:key="power_menu_profiles" android:title="@string/power_menu_profiles_title" Loading
src/com/android/settings/cyanogenmod/PowerMenu.java +30 −14 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ public class PowerMenu extends SettingsPreferenceFragment implements 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 @@ -47,7 +48,8 @@ public class PowerMenu extends SettingsPreferenceFragment implements private CheckBoxPreference mRebootPref; private CheckBoxPreference mScreenshotPref; ListPreference mExpandedDesktopPref; private ListPreference mExpandedDesktopPref; private CheckBoxPreference mExpandedDesktopNoNavbarPref; private CheckBoxPreference mProfilesPref; private CheckBoxPreference mAirplanePref; private CheckBoxPreference mUserPref; Loading @@ -69,16 +71,21 @@ public class PowerMenu extends SettingsPreferenceFragment implements PreferenceScreen prefSet = getPreferenceScreen(); mExpandedDesktopPref = (ListPreference) prefSet.findPreference(KEY_EXPANDED_DESKTOP); mExpandedDesktopPref.setOnPreferenceChangeListener(this); mExpandedDesktopNoNavbarPref = (CheckBoxPreference) findPreference(KEY_EXPANDED_DESKTOP_NO_NAVBAR); int expandedDesktopValue = Settings.System.getInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, 0); mExpandedDesktopPref.setValue(String.valueOf(expandedDesktopValue)); updateExpandedDesktopSummary(expandedDesktopValue); // Hide no-op "Status bar visible" mode on devices without navbar try { if (!WindowManagerGlobal.getWindowManagerService().hasNavigationBar()) { mExpandedDesktopPref.setEntries(R.array.expanded_desktop_entries_no_navbar); mExpandedDesktopPref.setEntryValues(R.array.expanded_desktop_values_no_navbar); 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"); Loading Loading @@ -115,9 +122,7 @@ public class PowerMenu extends SettingsPreferenceFragment implements public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == mExpandedDesktopPref) { int expandedDesktopValue = Integer.valueOf((String) newValue); Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_DESKTOP_STYLE, expandedDesktopValue); updateExpandedDesktopSummary(expandedDesktopValue); updateExpandedDesktop(expandedDesktopValue); return true; } return false; Loading @@ -132,6 +137,9 @@ 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 == mRebootPref) { value = mRebootPref.isChecked(); Settings.System.putInt(getContentResolver(), Loading Loading @@ -164,25 +172,33 @@ public class PowerMenu extends SettingsPreferenceFragment implements return true; } private void updateExpandedDesktopSummary(int value) { 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); mExpandedDesktopPref.setSummary(res.getString(R.string.expanded_desktop_disabled)); 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); mExpandedDesktopPref.setSummary(res.getString(R.string.expanded_desktop_status_bar)); summary = R.string.expanded_desktop_status_bar; } else if (value == 2) { Settings.System.putInt(getContentResolver(), Settings.System.POWER_MENU_EXPANDED_DESKTOP_ENABLED, 1); mExpandedDesktopPref.setSummary(res.getString(R.string.expanded_desktop_no_status_bar)); summary = R.string.expanded_desktop_no_status_bar; } if (mExpandedDesktopPref != null && summary != -1) { mExpandedDesktopPref.setSummary(res.getString(summary)); } } }