Skip to content

Commit e653cb8

Browse files
authored
refactor: added helper method (#2666)
1 parent 01d6ed0 commit e653cb8

File tree

1 file changed

+31
-76
lines changed

1 file changed

+31
-76
lines changed

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

Lines changed: 31 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -354,26 +354,8 @@ public boolean onLongClick(View v) {
354354
@Override
355355
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
356356
removeStatusBar();
357-
int previousDegree = degree;
358357
if (actionId == EditorInfo.IME_ACTION_DONE) {
359-
String degreeText = degreeText1.getText().toString().trim();
360-
if (degreeText.isEmpty()) {
361-
if (degree == 0) {
362-
degree = (int) (seekArc1.getProgress() * 3.6);
363-
} else {
364-
degree = previousDegree;
365-
}
366-
} else {
367-
degree = Integer.parseInt(degreeText1.getText().toString());
368-
}
369-
if (degree > 360 || degree < 0) {
370-
degreeText1.setText(getResources().getString(R.string.zero));
371-
seekArc1.setProgress(0);
372-
toastInvalidValueMessage();
373-
} else {
374-
seekArc1.setProgress((int) (degree / 3.6));
375-
editEnter = true;
376-
}
358+
processDegreeInput(degreeText1, seekArc1);
377359
}
378360
return false;
379361
}
@@ -390,26 +372,8 @@ public void onClick(View v) {
390372
@Override
391373
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
392374
removeStatusBar();
393-
int previousDegree = degree;
394375
if (actionId == EditorInfo.IME_ACTION_DONE) {
395-
String degreeText = degreeText2.getText().toString().trim();
396-
if (degreeText.isEmpty()) {
397-
if (degree == 0) {
398-
degree = (int) (seekArc2.getProgress() * 3.6);
399-
} else {
400-
degree = previousDegree;
401-
}
402-
} else {
403-
degree = Integer.parseInt(degreeText2.getText().toString());
404-
}
405-
if (degree > 360 || degree < 0) {
406-
degreeText2.setText(getResources().getString(R.string.zero));
407-
seekArc2.setProgress(0);
408-
toastInvalidValueMessage();
409-
} else {
410-
seekArc2.setProgress((int) (degree / 3.6));
411-
editEnter = true;
412-
}
376+
processDegreeInput(degreeText2, seekArc2);
413377
}
414378
return false;
415379
}
@@ -426,26 +390,8 @@ public void onClick(View v) {
426390
@Override
427391
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
428392
removeStatusBar();
429-
int previousDegree = degree;
430393
if (actionId == EditorInfo.IME_ACTION_DONE) {
431-
String degreeText = degreeText3.getText().toString().trim();
432-
if (degreeText.isEmpty()) {
433-
if (degree == 0) {
434-
degree = (int) (seekArc3.getProgress() * 3.6);
435-
} else {
436-
degree = previousDegree;
437-
}
438-
} else {
439-
degree = Integer.parseInt(degreeText3.getText().toString());
440-
}
441-
if (degree > 360 || degree < 0) {
442-
degreeText3.setText(getResources().getString(R.string.zero));
443-
seekArc3.setProgress(0);
444-
toastInvalidValueMessage();
445-
} else {
446-
seekArc3.setProgress((int) (degree / 3.6));
447-
editEnter = true;
448-
}
394+
processDegreeInput(degreeText3, seekArc3);
449395
}
450396
return false;
451397
}
@@ -462,26 +408,8 @@ public void onClick(View v) {
462408
@Override
463409
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
464410
removeStatusBar();
465-
int previousDegree = degree;
466411
if (actionId == EditorInfo.IME_ACTION_DONE) {
467-
String degreeText = degreeText4.getText().toString().trim();
468-
if (degreeText.isEmpty()) {
469-
if (degree == 0) {
470-
degree = (int) (seekArc4.getProgress() * 3.6);
471-
} else {
472-
degree = previousDegree;
473-
}
474-
} else {
475-
degree = Integer.parseInt(degreeText4.getText().toString());
476-
}
477-
if (degree > 360 || degree < 0) {
478-
degreeText4.setText(getResources().getString(R.string.zero));
479-
seekArc4.setProgress(0);
480-
toastInvalidValueMessage();
481-
} else {
482-
seekArc4.setProgress((int) (degree / 3.6));
483-
editEnter = true;
484-
}
412+
processDegreeInput(degreeText4, seekArc4);
485413
}
486414
return false;
487415
}
@@ -550,6 +478,33 @@ private void setReceivedData() {
550478
((TextView) servo4TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree4() + getResources().getString(R.string.robotic_arm_degree_symbol));
551479
}
552480
}
481+
private void processDegreeInput(EditText degreeText, SeekArc seekArc) {
482+
int previousDegree = degree;
483+
String degreeStr = degreeText.getText().toString().trim();
484+
485+
if (degreeStr.isEmpty()) {
486+
degree = (degree == 0) ? (int) (seekArc.getProgress() * 3.6) : previousDegree;
487+
} else {
488+
try {
489+
degree = Integer.parseInt(degreeStr);
490+
} catch (NumberFormatException e) {
491+
degreeText.setText(getResources().getString(R.string.zero));
492+
seekArc.setProgress(0);
493+
toastInvalidValueMessage();
494+
return;
495+
}
496+
}
497+
498+
if (degree > 360 || degree < 0) {
499+
degreeText.setText(getResources().getString(R.string.zero));
500+
seekArc.setProgress(0);
501+
toastInvalidValueMessage();
502+
} else {
503+
seekArc.setProgress((int) (degree / 3.6));
504+
editEnter = true;
505+
}
506+
}
507+
553508

554509
private void saveTimeline() {
555510
long block = System.currentTimeMillis();

0 commit comments

Comments
 (0)