Skip to content

Commit 94d3bab

Browse files
neel1998CloudyPadmal
authored andcommitted
Fix fossasia#1759 multimeter record bug fixed (fossasia#1761)
* multimeter record bug fixed * stop button icon changed
1 parent 0a6d15b commit 94d3bab

File tree

2 files changed

+42
-49
lines changed

2 files changed

+42
-49
lines changed

app/src/main/java/io/pslab/activity/MultimeterActivity.java

Lines changed: 42 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -154,13 +154,13 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
154154
switchIsChecked = isChecked;
155155
SharedPreferences.Editor editor = multimeter_data.edit();
156156
editor.putBoolean("SwitchState", switchIsChecked);
157-
editor.commit();
157+
editor.apply();
158158
}
159159
});
160160
reset.setOnClickListener(new View.OnClickListener() {
161161
@Override
162162
public void onClick(View v) {
163-
multimeter_data.edit().clear().commit();
163+
multimeter_data.edit().clear().apply();
164164
switchIsChecked = false;
165165
aSwitch.setChecked(false);
166166
knobState = 2;
@@ -284,7 +284,7 @@ public void onClick(View v) {
284284
v.setEnabled(false);
285285
saveAndSetData(DataFormatter.formatDouble(scienceLab.getVoltage(knobMarker[knobState], 1), DataFormatter.LOW_PRECISION_FORMAT), getString(R.string.multimeter_voltage_unit));
286286
if (recordData)
287-
record(knobMarker[knobState], DataFormatter.formatDouble( scienceLab.getVoltage(knobMarker[knobState], 1), DataFormatter.LOW_PRECISION_FORMAT) + getString(R.string.multimeter_voltage_unit));
287+
record(knobMarker[knobState], DataFormatter.formatDouble(scienceLab.getVoltage(knobMarker[knobState], 1), DataFormatter.LOW_PRECISION_FORMAT) + getString(R.string.multimeter_voltage_unit));
288288
v.setEnabled(true);
289289
}
290290
break;
@@ -367,7 +367,7 @@ private void saveAndSetData(String Quantity, String Unit) {
367367
SharedPreferences.Editor editor = multimeter_data.edit();
368368
editor.putString("TextBox", Quantity);
369369
editor.putString("TextBoxUnit", Unit);
370-
editor.commit();
370+
editor.apply();
371371
quantity.setText(Quantity);
372372
unit.setText(Unit);
373373
}
@@ -380,7 +380,7 @@ private void record(String data, String value) {
380380
private void saveKnobState(int state) {
381381
SharedPreferences.Editor editor = multimeter_data.edit();
382382
editor.putInt("KnobState", state);
383-
editor.commit();
383+
editor.apply();
384384
}
385385

386386
@Override
@@ -406,52 +406,50 @@ public boolean onOptionsItemSelected(MenuItem item) {
406406
if (recordData) {
407407
item.setIcon(R.drawable.ic_record_white);
408408
recordData = false;
409-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_paused), null, null, Snackbar.LENGTH_LONG);
409+
if (isDataRecorded) {
410+
MenuItem item1 = menu.findItem(R.id.record_pause_data);
411+
item1.setIcon(R.drawable.ic_record_white);
412+
multimeterLogger.writeCSVFile(dataRecorded + "\n" + valueRecorded + "\n");
413+
dataRecorded = "Data";
414+
valueRecorded = "Value";
415+
// Export Data
416+
CustomSnackBar.showSnackBar(coordinatorLayout,
417+
getString(R.string.csv_store_text) + " " + multimeterLogger.getCurrentFilePath()
418+
, getString(R.string.delete_capital), new View.OnClickListener() {
419+
@Override
420+
public void onClick(View view) {
421+
new AlertDialog.Builder(MultimeterActivity.this, R.style.AlertDialogStyle)
422+
.setTitle(R.string.delete_file)
423+
.setMessage(R.string.delete_warning)
424+
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
425+
@Override
426+
public void onClick(DialogInterface dialogInterface, int i) {
427+
multimeterLogger.deleteFile();
428+
}
429+
})
430+
.setNegativeButton(R.string.cancel, null)
431+
.create()
432+
.show();
433+
}
434+
}, Snackbar.LENGTH_SHORT);
435+
isRecordingStarted = false;
436+
recordData = false;
437+
} else {
438+
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.nothing_to_export), null, null, Snackbar.LENGTH_SHORT);
439+
}
410440
} else {
411441
isDataRecorded = true;
412-
item.setIcon(R.drawable.pause_icon);
442+
item.setIcon(R.drawable.ic_record_stop_white);
413443
if (!isRecordingStarted) {
414444
multimeterLogger = new CSVLogger(getString(R.string.multimeter));
445+
multimeterLogger.prepareLogFile();
415446
isRecordingStarted = true;
416447
recordData = true;
417-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_start), null, null, Snackbar.LENGTH_LONG);
448+
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_start), null, null, Snackbar.LENGTH_SHORT);
418449
}
419450
}
420451
} else {
421-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.device_not_found), null, null, Snackbar.LENGTH_LONG);
422-
}
423-
break;
424-
case R.id.record_csv_data:
425-
if (isDataRecorded) {
426-
MenuItem item1 = menu.findItem(R.id.record_pause_data);
427-
item1.setIcon(R.drawable.ic_record_white);
428-
multimeterLogger.writeCSVFile(dataRecorded + "\n" + valueRecorded + "\n");
429-
dataRecorded = "Data";
430-
valueRecorded = "Value";
431-
// Export Data
432-
CustomSnackBar.showSnackBar(coordinatorLayout,
433-
getString(R.string.csv_store_text) + " " + multimeterLogger.getCurrentFilePath()
434-
, getString(R.string.delete_capital), new View.OnClickListener() {
435-
@Override
436-
public void onClick(View view) {
437-
new AlertDialog.Builder(MultimeterActivity.this, R.style.AlertDialogStyle)
438-
.setTitle(R.string.delete_file)
439-
.setMessage(R.string.delete_warning)
440-
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
441-
@Override
442-
public void onClick(DialogInterface dialogInterface, int i) {
443-
multimeterLogger.deleteFile();
444-
}
445-
})
446-
.setNegativeButton(R.string.cancel, null)
447-
.create()
448-
.show();
449-
}
450-
}, Snackbar.LENGTH_LONG);
451-
isRecordingStarted = false;
452-
recordData = false;
453-
} else {
454-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.nothing_to_export), null, null, Snackbar.LENGTH_LONG);
452+
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.device_not_found), null, null, Snackbar.LENGTH_SHORT);
455453
}
456454
break;
457455
case R.id.delete_csv_data:
@@ -462,9 +460,9 @@ public void onClick(DialogInterface dialogInterface, int i) {
462460
isRecordingStarted = false;
463461
isDataRecorded = false;
464462
multimeterLogger.deleteFile();
465-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_deleted), null, null, Snackbar.LENGTH_LONG);
463+
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_deleted), null, null, Snackbar.LENGTH_SHORT);
466464
} else
467-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.nothing_to_delete), null, null, Snackbar.LENGTH_LONG);
465+
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.nothing_to_delete), null, null, Snackbar.LENGTH_SHORT);
468466
break;
469467
case R.id.settings:
470468
Intent settingIntent = new Intent(this, SettingsActivity.class);

app/src/main/res/menu/multimeter_log_menu.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@
1616
android:icon="@drawable/menu_icon_save"
1717
android:title="@string/show_guide"
1818
app:showAsAction="never" />
19-
<item
20-
android:id="@+id/record_csv_data"
21-
android:icon="@drawable/menu_icon_save"
22-
android:title="@string/save_csv_data"
23-
app:showAsAction="never" />
2419
<item
2520
android:id="@+id/multimeter_show_data"
2621
android:icon="@drawable/menu_icon_save"

0 commit comments

Comments
 (0)