Skip to content

Commit d070599

Browse files
neel1998makoteq
authored andcommitted
degree and second symbols added to robotic arm timeline (fossasia#1968)
1 parent 4a191ce commit d070599

File tree

2 files changed

+41
-29
lines changed

2 files changed

+41
-29
lines changed

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

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,11 @@ public void onClick(View v) {
150150
scrollView = findViewById(R.id.horizontal_scroll_view);
151151
servoCSVLogger = new CSVLogger(getResources().getString(R.string.robotic_arm));
152152

153+
degreeText1.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
154+
degreeText2.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
155+
degreeText3.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
156+
degreeText4.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
157+
153158
LinearLayout.LayoutParams servoControllerParams = new LinearLayout.LayoutParams(screen_width / 4 - 4, screen_height / 2 - 4);
154159
servoControllerParams.setMargins(2, 5, 2, 0);
155160
servo1Layout.setLayoutParams(servoControllerParams);
@@ -173,7 +178,7 @@ public void onClick(View v) {
173178
timeLineBox.setLayoutParams(servoTimeLineBoxParams);
174179
timeLineBox.setPadding(5, 5, 5, 5);
175180
TextView timeText = timeLineBox.findViewById(R.id.timeline_box_time_text);
176-
timeText.setText(String.valueOf(i + 1));
181+
timeText.setText(String.valueOf(i + 1) + getResources().getString(R.string.robotic_arm_second_unit));
177182
timeLineBox.setOnDragListener(servo1DragListener);
178183
servo1TimeLine.addView(timeLineBox, i);
179184
}
@@ -183,7 +188,7 @@ public void onClick(View v) {
183188
timeLineBox.setLayoutParams(servoTimeLineBoxParams);
184189
timeLineBox.setPadding(5, 5, 5, 5);
185190
TextView timeText = timeLineBox.findViewById(R.id.timeline_box_time_text);
186-
timeText.setText(String.valueOf(i + 1));
191+
timeText.setText(String.valueOf(i + 1) + getResources().getString(R.string.robotic_arm_second_unit));
187192
timeLineBox.setOnDragListener(servo2DragListener);
188193
servo2TimeLine.addView(timeLineBox, i);
189194
}
@@ -193,7 +198,7 @@ public void onClick(View v) {
193198
timeLineBox.setLayoutParams(servoTimeLineBoxParams);
194199
timeLineBox.setPadding(5, 5, 5, 5);
195200
TextView timeText = timeLineBox.findViewById(R.id.timeline_box_time_text);
196-
timeText.setText(String.valueOf(i + 1));
201+
timeText.setText(String.valueOf(i + 1) + getResources().getString(R.string.robotic_arm_second_unit));
197202
timeLineBox.setOnDragListener(servo3DragListener);
198203
servo3TimeLine.addView(timeLineBox, i);
199204
}
@@ -203,7 +208,7 @@ public void onClick(View v) {
203208
timeLineBox.setLayoutParams(servoTimeLineBoxParams);
204209
timeLineBox.setPadding(5, 5, 5, 5);
205210
TextView timeText = timeLineBox.findViewById(R.id.timeline_box_time_text);
206-
timeText.setText(String.valueOf(i + 1));
211+
timeText.setText(String.valueOf(i + 1) + getResources().getString(R.string.robotic_arm_second_unit));
207212
timeLineBox.setOnDragListener(servo4DragListener);
208213
servo4TimeLine.addView(timeLineBox, i);
209214
}
@@ -226,10 +231,10 @@ public void onClick(View v) {
226231
@Override
227232
public void onProgressChanged(SeekArc seekArc, int i, boolean b) {
228233
if (editEnter) {
229-
degreeText1.setText(String.valueOf(degree));
234+
degreeText1.setText(String.valueOf(degree) + getResources().getString(R.string.robotic_arm_degree_symbol));
230235
editEnter = false;
231236
} else {
232-
degreeText1.setText(String.valueOf((int) (i * 3.6)));
237+
degreeText1.setText(String.valueOf((int) (i * 3.6)) + getResources().getString(R.string.robotic_arm_degree_symbol));
233238
}
234239
degreeText1.setCursorVisible(false);
235240
}
@@ -249,10 +254,10 @@ public void onStopTrackingTouch(SeekArc seekArc) {
249254
@Override
250255
public void onProgressChanged(SeekArc seekArc, int i, boolean b) {
251256
if (editEnter) {
252-
degreeText2.setText(String.valueOf(degree));
257+
degreeText2.setText(String.valueOf(degree) + getResources().getString(R.string.robotic_arm_degree_symbol));
253258
editEnter = false;
254259
} else {
255-
degreeText2.setText(String.valueOf((int) (i * 3.6)));
260+
degreeText2.setText(String.valueOf((int) (i * 3.6)) + getResources().getString(R.string.robotic_arm_degree_symbol));
256261
}
257262
degreeText2.setCursorVisible(false);
258263
}
@@ -272,10 +277,10 @@ public void onStopTrackingTouch(SeekArc seekArc) {
272277
@Override
273278
public void onProgressChanged(SeekArc seekArc, int i, boolean b) {
274279
if (editEnter) {
275-
degreeText3.setText(String.valueOf(degree));
280+
degreeText3.setText(String.valueOf(degree) + getResources().getString(R.string.robotic_arm_degree_symbol));
276281
editEnter = false;
277282
} else {
278-
degreeText3.setText(String.valueOf((int) (i * 3.6)));
283+
degreeText3.setText(String.valueOf((int) (i * 3.6)) + getResources().getString(R.string.robotic_arm_degree_symbol));
279284
}
280285
degreeText3.setCursorVisible(false);
281286
}
@@ -295,10 +300,10 @@ public void onStopTrackingTouch(SeekArc seekArc) {
295300
@Override
296301
public void onProgressChanged(SeekArc seekArc, int i, boolean b) {
297302
if (editEnter) {
298-
degreeText4.setText(String.valueOf(degree));
303+
degreeText4.setText(String.valueOf(degree) + getResources().getString(R.string.robotic_arm_degree_symbol));
299304
editEnter = false;
300305
} else {
301-
degreeText4.setText(String.valueOf((int) (i * 3.6)));
306+
degreeText4.setText(String.valueOf((int) (i * 3.6)) + getResources().getString(R.string.robotic_arm_degree_symbol));
302307
}
303308
degreeText4.setCursorVisible(false);
304309
}
@@ -357,7 +362,7 @@ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
357362
if (actionId == EditorInfo.IME_ACTION_DONE) {
358363
degree = Integer.valueOf(degreeText1.getText().toString());
359364
if (degree > 360 || degree < 0) {
360-
degreeText1.setText(getResources().getString(R.string.zero));
365+
degreeText1.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
361366
seekArc1.setProgress(0);
362367
toastInvalidValueMessage();
363368
} else {
@@ -383,7 +388,7 @@ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
383388
if (actionId == EditorInfo.IME_ACTION_DONE) {
384389
degree = Integer.valueOf(degreeText2.getText().toString());
385390
if (degree > 360 || degree < 0) {
386-
degreeText2.setText(getResources().getString(R.string.zero));
391+
degreeText2.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
387392
seekArc2.setProgress(0);
388393
toastInvalidValueMessage();
389394
} else {
@@ -409,7 +414,7 @@ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
409414
if (actionId == EditorInfo.IME_ACTION_DONE) {
410415
degree = Integer.valueOf(degreeText3.getText().toString());
411416
if (degree > 360 || degree < 0) {
412-
degreeText3.setText(getResources().getString(R.string.zero));
417+
degreeText3.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
413418
seekArc3.setProgress(0);
414419
toastInvalidValueMessage();
415420
} else {
@@ -435,7 +440,7 @@ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
435440
if (actionId == EditorInfo.IME_ACTION_DONE) {
436441
degree = Integer.valueOf(degreeText4.getText().toString());
437442
if (degree > 360 || degree < 0) {
438-
degreeText4.setText(getResources().getString(R.string.zero));
443+
degreeText4.setText(getResources().getString(R.string.zero) + getResources().getString(R.string.robotic_arm_degree_symbol));
439444
seekArc4.setProgress(0);
440445
toastInvalidValueMessage();
441446
} else {
@@ -467,13 +472,13 @@ public void onTick(long millisUntilFinished) {
467472
timeIndicatorLayout.setLayoutParams(timeIndicatorParams);
468473
scrollView.smoothScrollBy(screen_width / 6, 0);
469474
String deg1 = ((TextView) servo1TimeLine.getChildAt(timelinePosition).findViewById(R.id.timeline_box_degree_text)).getText().toString();
470-
deg1 = (deg1.length() > 0) ? deg1 : "0";
475+
deg1 = (deg1.length() > 0) ? deg1.substring(0, deg1.length() - 1) : getResources().getString(R.string.zero);
471476
String deg2 = ((TextView) servo2TimeLine.getChildAt(timelinePosition).findViewById(R.id.timeline_box_degree_text)).getText().toString();
472-
deg2 = (deg2.length() > 0) ? deg2 : "0";
477+
deg2 = (deg2.length() > 0) ? deg2.substring(0, deg2.length() - 1) : getResources().getString(R.string.zero);
473478
String deg3 = ((TextView) servo3TimeLine.getChildAt(timelinePosition).findViewById(R.id.timeline_box_degree_text)).getText().toString();
474-
deg3 = (deg3.length() > 0) ? deg3 : "0";
479+
deg3 = (deg3.length() > 0) ? deg3.substring(0, deg3.length() - 1) : getResources().getString(R.string.zero);
475480
String deg4 = ((TextView) servo4TimeLine.getChildAt(timelinePosition).findViewById(R.id.timeline_box_degree_text)).getText().toString();
476-
deg4 = (deg4.length() > 0) ? deg4 : "0";
481+
deg4 = (deg4.length() > 0) ? deg4.substring(0, deg4.length() - 1) : getResources().getString(R.string.zero);
477482
if (scienceLab.isConnected()) {
478483
scienceLab.servo4(Double.valueOf(deg1), Double.valueOf(deg2), Double.valueOf(deg3), Double.valueOf(deg4));
479484
}
@@ -567,10 +572,10 @@ private void setReceivedData() {
567572
ArrayList servoDataList = new ArrayList(recordedServoData);
568573
for (int i = 0; i < servoDataList.size(); i++) {
569574
ServoData servoData = (ServoData) servoDataList.get(i);
570-
((TextView) servo1TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree1());
571-
((TextView) servo2TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree2());
572-
((TextView) servo3TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree3());
573-
((TextView) servo4TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree4());
575+
((TextView) servo1TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree1() + getResources().getString(R.string.robotic_arm_degree_symbol));
576+
((TextView) servo2TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree2() + getResources().getString(R.string.robotic_arm_degree_symbol));
577+
((TextView) servo3TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree3() + getResources().getString(R.string.robotic_arm_degree_symbol));
578+
((TextView) servo4TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).setText(servoData.getDegree4() + getResources().getString(R.string.robotic_arm_degree_symbol));
574579
}
575580
}
576581

@@ -585,18 +590,22 @@ private void saveTimeline() {
585590
double lat, lon;
586591
for (int i = 0; i < 60; i++) {
587592
timestamp = System.currentTimeMillis();
588-
degree1 = degree2 = degree3 = degree4 = "0";
593+
degree1 = degree2 = degree3 = degree4 = getResources().getString(R.string.zero);
589594
if (((TextView) servo1TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().length() > 0) {
590595
degree1 = ((TextView) servo1TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().toString();
596+
degree1 = degree1.substring(0, degree1.length() - 1);
591597
}
592598
if (((TextView) servo2TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().length() > 0) {
593599
degree2 = ((TextView) servo2TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().toString();
600+
degree2 = degree2.substring(0, degree2.length() - 1);
594601
}
595602
if (((TextView) servo3TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().length() > 0) {
596603
degree3 = ((TextView) servo3TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().toString();
604+
degree3 = degree3.substring(0, degree3.length() - 1);
597605
}
598606
if (((TextView) servo4TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().length() > 0) {
599607
degree4 = ((TextView) servo4TimeLine.getChildAt(i).findViewById(R.id.timeline_box_degree_text)).getText().toString();
608+
degree4 = degree4.substring(0, degree4.length() - 1);
600609
}
601610
if (gpsLogger.isGPSEnabled()) {
602611
Location location = gpsLogger.getDeviceLocation();
@@ -638,7 +647,7 @@ public boolean onDrag(View v, DragEvent event) {
638647
View view = (View) event.getLocalState();
639648
TextView text = view.findViewById(R.id.degreeText);
640649
if (view.getId() == R.id.servo_1) {
641-
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText());
650+
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText().toString());
642651
}
643652
}
644653
return true;
@@ -651,7 +660,7 @@ public boolean onDrag(View v, DragEvent event) {
651660
View view = (View) event.getLocalState();
652661
TextView text = view.findViewById(R.id.degreeText);
653662
if (view.getId() == R.id.servo_2) {
654-
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText());
663+
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText().toString());
655664
}
656665
}
657666
return true;
@@ -664,7 +673,7 @@ public boolean onDrag(View v, DragEvent event) {
664673
View view = (View) event.getLocalState();
665674
TextView text = view.findViewById(R.id.degreeText);
666675
if (view.getId() == R.id.servo_3) {
667-
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText());
676+
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText().toString());
668677
}
669678
}
670679
return true;
@@ -677,7 +686,7 @@ public boolean onDrag(View v, DragEvent event) {
677686
View view = (View) event.getLocalState();
678687
TextView text = view.findViewById(R.id.degreeText);
679688
if (view.getId() == R.id.servo_4) {
680-
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText());
689+
((TextView) v.findViewById(R.id.timeline_box_degree_text)).setText(text.getText().toString());
681690
}
682691
}
683692
return true;

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,9 @@
705705
<string name="ir_thermometer_desc">\u2022 The above pin configuration has to be same except for the pin
706706
GND. You can use any of the PSLab device GND pins.\n</string>
707707

708+
<string name="robotic_arm_second_unit">s</string>
709+
<string name="robotic_arm_degree_symbol">\u00B0</string>
710+
708711
<string name="high_limit">High Limit</string>
709712
<string name="update_period">Update Period</string>
710713
<string name="max_lx">Max (Lx)</string>

0 commit comments

Comments
 (0)