private void writeClientValuePreference(int id, double value) { // update preferences switch (id) { case R.string.prefs_disk_max_pct_header: clientPrefs.disk_max_used_pct = value; break; case R.string.prefs_disk_min_free_gb_header: clientPrefs.disk_min_free_gb = value; break; case R.string.prefs_network_daily_xfer_limit_mb_header: clientPrefs.daily_xfer_limit_mb = value; break; case R.string.battery_charge_min_pct_header: clientPrefs.battery_charge_min_pct = value; break; case R.string.battery_temperature_max_header: clientPrefs.battery_max_temperature = value; break; case R.string.prefs_cpu_number_cpus_header: clientPrefs.max_ncpus_pct = value; // convert value back to number for layout update value = pctCpuCoresToNumber(value); break; case R.string.prefs_cpu_time_max_header: clientPrefs.cpu_usage_limit = value; break; case R.string.prefs_cpu_other_load_suspension_header: clientPrefs.suspend_cpu_usage = value; break; case R.string.prefs_memory_max_idle_header: clientPrefs.ram_max_used_idle_frac = value; break; default: if (Logging.DEBUG) Log.d(Logging.TAG, "onClick (dialog submit button), couldnt match ID"); Toast toast = Toast.makeText( getApplicationContext(), "ooops! something went wrong...", Toast.LENGTH_SHORT); toast.show(); return; } // update list item updateValuePref(id, value); // preferences adapted, write preferences to client new WriteClientPrefsAsync().execute(clientPrefs); }