public static List<Voltage> getVolts(final SharedPreferences preferences) { final List<Voltage> volts = new ArrayList<Voltage>(); try { BufferedReader br = new BufferedReader(new FileReader(MV_TABLE0), 256); String line = ""; while ((line = br.readLine()) != null) { final String[] values = line.split("\\s+"); if (values != null) { if (values.length >= 2) { final String freq = values[0].replace("mhz:", ""); final String currentMv = values[1]; final String savedMv = preferences.getString(freq, currentMv); final Voltage voltage = new Voltage(); voltage.setFreq(freq); voltage.setCurrentMV(currentMv); voltage.setSavedMV(savedMv); volts.add(voltage); } } } br.close(); } catch (FileNotFoundException e) { Log.d(TAG, MV_TABLE0 + " does not exist"); } catch (IOException e) { Log.d(TAG, "Error reading " + MV_TABLE0); } return volts; }
@Override public View getView(final int position, View convertView, ViewGroup parent) { final ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.list_volt, null); holder = new ViewHolder(); holder.mFreq = (TextView) convertView.findViewById(R.id.Freq); holder.mCurrentMV = (TextView) convertView.findViewById(R.id.mVCurrent); holder.mSavedMV = (TextView) convertView.findViewById(R.id.mVSaved); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final Voltage voltage = mVoltages.get(position); holder.setFreq(voltage.getFreq()); holder.setCurrentMV(voltage.getCurrentMV()); holder.setSavedMV(voltage.getSavedMV()); return convertView; }
protected Dialog onCreateDialog(final int id) { switch (id) { case DIALOG_EDIT_VOLT: final LayoutInflater factory = LayoutInflater.from(this); final View voltageDialog = factory.inflate(R.layout.voltage_dialog, null); final EditText voltageEdit = (EditText) voltageDialog.findViewById(R.id.voltageEdit); final SeekBar voltageSeek = (SeekBar) voltageDialog.findViewById(R.id.voltageSeek); final TextView voltageMeter = (TextView) voltageDialog.findViewById(R.id.voltageMeter); final String savedMv = mVoltage.getSavedMV(); final int savedVolt = Integer.parseInt(savedMv); voltageEdit.setText(savedMv); voltageEdit.addTextChangedListener( new TextWatcher() { @Override public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { final String text = voltageEdit.getText().toString(); int value = 0; try { value = Integer.parseInt(text); } catch (NumberFormatException nfe) { return; } voltageMeter.setText(text + " mV"); final int index = getNearestStepIndex(value); voltageSeek.setProgress(index); } }); voltageMeter.setText(savedMv + " mV"); voltageSeek.setMax(40); voltageSeek.setProgress(getNearestStepIndex(savedVolt)); voltageSeek.setOnSeekBarChangeListener( new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar sb, int progress, boolean fromUser) { if (fromUser) { final String volt = Integer.toString(STEPS[progress]); voltageMeter.setText(volt + " mV"); voltageEdit.setText(volt); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } }); return new AlertDialog.Builder(VoltageControlActivity.this) .setTitle(mVoltage.getFreq() + " MHz Voltage") .setView(voltageDialog) .setPositiveButton( "Save", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { removeDialog(id); final String value = voltageEdit.getText().toString(); SharedPreferences.Editor editor = preferences.edit(); editor.putString(mVoltage.getFreq(), value); editor.commit(); mVoltage.setSavedMV(value); mAdapter.notifyDataSetChanged(); } }) .setOnCancelListener( new OnCancelListener() { @Override public void onCancel(DialogInterface arg0) { removeDialog(id); } }) .create(); default: return null; } };