public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == mNetTrafficState) { int intState = Integer.valueOf((String) newValue); mNetTrafficVal = setBit(mNetTrafficVal, MASK_UP, getBit(intState, MASK_UP)); mNetTrafficVal = setBit(mNetTrafficVal, MASK_DOWN, getBit(intState, MASK_DOWN)); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.NETWORK_TRAFFIC_STATE, mNetTrafficVal); int index = mNetTrafficState.findIndexOfValue((String) newValue); mNetTrafficState.setSummary(mNetTrafficState.getEntries()[index]); updateNetworkTrafficState(index); return true; } else if (preference == mNetTrafficColor) { String hex = ColorPickerPreference.convertToARGB(Integer.valueOf(String.valueOf(newValue))); preference.setSummary(hex); int intHex = ColorPickerPreference.convertToColorInt(hex); Settings.System.putInt(getContentResolver(), Settings.System.NETWORK_TRAFFIC_COLOR, intHex); return true; } else if (preference == mNetTrafficUnit) { mNetTrafficVal = setBit(mNetTrafficVal, MASK_UNIT, ((String) newValue).equals("1")); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.NETWORK_TRAFFIC_STATE, mNetTrafficVal); int index = mNetTrafficUnit.findIndexOfValue((String) newValue); mNetTrafficUnit.setSummary(mNetTrafficUnit.getEntries()[index]); return true; } else if (preference == mNetTrafficPeriod) { int intState = Integer.valueOf((String) newValue); mNetTrafficVal = setBit(mNetTrafficVal, MASK_PERIOD, false) + (intState << 16); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.NETWORK_TRAFFIC_STATE, mNetTrafficVal); int index = mNetTrafficPeriod.findIndexOfValue((String) newValue); mNetTrafficPeriod.setSummary(mNetTrafficPeriod.getEntries()[index]); return true; } else if (preference == mNetTrafficAutohide) { boolean value = (Boolean) newValue; Settings.System.putInt( getActivity().getContentResolver(), Settings.System.NETWORK_TRAFFIC_AUTOHIDE, value ? 1 : 0); return true; } else if (preference == mNetTrafficAutohideThreshold) { int threshold = (Integer) newValue; Settings.System.putInt( getActivity().getContentResolver(), Settings.System.NETWORK_TRAFFIC_AUTOHIDE_THRESHOLD, threshold * 1); return true; } return false; }
@Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == menuDisplayLocation) { int val = Integer.parseInt((String) newValue); Settings.System.putInt(mContentRes, Settings.System.MENU_LOCATION, val); refreshSettings(); mNavBarMenuDisplay.setEnabled(val < 4 ? true : false); return true; } else if (preference == mNavBarMenuDisplay) { Settings.System.putInt( mContentRes, Settings.System.MENU_VISIBILITY, Integer.parseInt((String) newValue)); return true; } else if (preference == mNavigationBarWidth) { String newVal = (String) newValue; int dp = Integer.parseInt(newVal); int width = mapChosenDpToPixels(dp); Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_WIDTH, width); return true; } else if (preference == mNavigationBarHeight) { String newVal = (String) newValue; int dp = Integer.parseInt(newVal); int height = mapChosenDpToPixels(dp); Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_HEIGHT, height); return true; } else if (preference == mNavBarHideTimeout) { int val = Integer.parseInt((String) newValue); Settings.System.putInt(mContentRes, Settings.System.NAV_HIDE_TIMEOUT, val); return true; } else if (preference == mNavigationBarHeightLandscape) { String newVal = (String) newValue; int dp = Integer.parseInt(newVal); int height = mapChosenDpToPixels(dp); Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_HEIGHT_LANDSCAPE, height); return true; } else if (preference == mNavigationColor) { String hex = ColorPickerPreference.convertToARGB(Integer.valueOf(String.valueOf(newValue))); preference.setSummary(hex); int intHex = ColorPickerPreference.convertToColorInt(hex) & 0x00FFFFFF; Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_COLOR, intHex); refreshSettings(); return true; } else if (preference == mNavigationBarColor) { String hex = ColorPickerPreference.convertToARGB(Integer.valueOf(String.valueOf(newValue))); preference.setSummary(hex); int intHex = ColorPickerPreference.convertToColorInt(hex); Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_TINT, intHex); refreshSettings(); return true; } else if (preference == mNavigationBarGlowColor) { String hex = ColorPickerPreference.convertToARGB(Integer.valueOf(String.valueOf(newValue))); preference.setSummary(hex); int intHex = ColorPickerPreference.convertToColorInt(hex); Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_GLOW_TINT, intHex); refreshSettings(); return true; } else if (preference == mGlowTimes) { // format is (on|off) both in MS String value = (String) newValue; String[] breakIndex = value.split("\\|"); int onTime = Integer.valueOf(breakIndex[0]); int offTime = Integer.valueOf(breakIndex[1]); Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_GLOW_DURATION[0], offTime); Settings.System.putInt(mContentRes, Settings.System.NAVIGATION_BAR_GLOW_DURATION[1], onTime); updateGlowTimesSummary(); return true; } else if (preference == mButtonAlpha) { float val = Float.parseFloat((String) newValue); Settings.System.putFloat( mContentRes, Settings.System.NAVIGATION_BAR_BUTTON_ALPHA, val * 0.01f); refreshSettings(); return true; } else if (preference == mDragHandleOpacity) { String newVal = (String) newValue; int op = Integer.parseInt(newVal); Settings.System.putInt(mContentRes, Settings.System.DRAG_HANDLE_OPACITY, op); return true; } else if (preference == mDragHandleWidth) { String newVal = (String) newValue; int dp = Integer.parseInt(newVal); // int height = mapChosenDpToPixels(dp); Settings.System.putInt(mContentRes, Settings.System.DRAG_HANDLE_WEIGHT, dp); return true; } else if (preference == mWidthPort) { float val = Float.parseFloat((String) newValue); Settings.System.putFloat(mContentRes, Settings.System.NAVIGATION_BAR_WIDTH_PORT, val * 0.4f); return true; } else if (preference == mWidthLand) { float val = Float.parseFloat((String) newValue); Settings.System.putFloat(mContentRes, Settings.System.NAVIGATION_BAR_WIDTH_LAND, val * 0.4f); return true; } return false; }
public boolean onPreferenceChange(Preference preference, Object newValue) { if (!mCheckPreferences) { return false; } AlertDialog dialog; if (preference == mClockAmPmStyle) { int val = Integer.parseInt((String) newValue); int index = mClockAmPmStyle.findIndexOfValue((String) newValue); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_AM_PM_STYLE, val); mClockAmPmStyle.setSummary(mClockAmPmStyle.getEntries()[index]); return true; } else if (preference == mClockStyle) { int val = Integer.parseInt((String) newValue); int index = mClockStyle.findIndexOfValue((String) newValue); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_STYLE, val); mClockStyle.setSummary(mClockStyle.getEntries()[index]); return true; } else if (preference == mColorPicker) { String hex = ColorPickerPreference.convertToARGB(Integer.valueOf(String.valueOf(newValue))); preference.setSummary(hex); int intHex = ColorPickerPreference.convertToColorInt(hex); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_COLOR, intHex); return true; } else if (preference == mClockDateDisplay) { int val = Integer.parseInt((String) newValue); int index = mClockDateDisplay.findIndexOfValue((String) newValue); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_DATE_DISPLAY, val); mClockDateDisplay.setSummary(mClockDateDisplay.getEntries()[index]); if (val == 0) { mClockDateStyle.setEnabled(false); mClockDateFormat.setEnabled(false); } else { mClockDateStyle.setEnabled(true); mClockDateFormat.setEnabled(true); } return true; } else if (preference == mClockDateStyle) { int val = Integer.parseInt((String) newValue); int index = mClockDateStyle.findIndexOfValue((String) newValue); Settings.System.putInt( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_DATE_STYLE, val); mClockDateStyle.setSummary(mClockDateStyle.getEntries()[index]); parseClockDateFormats(); return true; } else if (preference == mStatusBarClock) { Settings.System.putInt( getActivity().getApplicationContext().getContentResolver(), Settings.System.STATUS_BAR_CLOCK, (Boolean) newValue ? 1 : 0); return true; } else if (preference == mClockDateFormat) { int index = mClockDateFormat.findIndexOfValue((String) newValue); if (index == CUSTOM_CLOCK_DATE_FORMAT_INDEX) { AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); alert.setTitle(R.string.clock_date_string_edittext_title); alert.setMessage(R.string.clock_date_string_edittext_summary); final EditText input = new EditText(getActivity()); String oldText = Settings.System.getString( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_DATE_FORMAT); if (oldText != null) { input.setText(oldText); } alert.setView(input); alert.setPositiveButton( R.string.menu_save, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int whichButton) { String value = input.getText().toString(); if (value.equals("")) { return; } Settings.System.putString( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_DATE_FORMAT, value); return; } }); alert.setNegativeButton( R.string.menu_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int which) { return; } }); dialog = alert.create(); dialog.show(); } else { if ((String) newValue != null) { Settings.System.putString( getActivity().getContentResolver(), Settings.System.STATUSBAR_CLOCK_DATE_FORMAT, (String) newValue); } } return true; } return false; }