From a787fe534f09faac98116f0e62cf93135c49fa5d Mon Sep 17 00:00:00 2001 From: neel1998 Date: Sat, 25 May 2019 01:20:44 +0530 Subject: [PATCH 1/2] degree text made editable --- .../io/pslab/activity/RoboticArmActivity.java | 90 +++++++++++++++++-- .../res/layout/servo_controller_layout.xml | 8 +- 2 files changed, 91 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/pslab/activity/RoboticArmActivity.java b/app/src/main/java/io/pslab/activity/RoboticArmActivity.java index 459093740..a39025c35 100644 --- a/app/src/main/java/io/pslab/activity/RoboticArmActivity.java +++ b/app/src/main/java/io/pslab/activity/RoboticArmActivity.java @@ -6,9 +6,13 @@ import android.os.Bundle; import android.view.Display; import android.view.DragEvent; +import android.view.KeyEvent; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; +import android.view.inputmethod.EditorInfo; +import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; @@ -18,9 +22,11 @@ public class RoboticArmActivity extends AppCompatActivity { - private TextView degreeText1, degreeText2, degreeText3, degreeText4; + private EditText degreeText1, degreeText2, degreeText3, degreeText4; private SeekArc seekArc1, seekArc2, seekArc3, seekArc4; private LinearLayout servo1TimeLine, servo2TimeLine, servo3TimeLine, servo4TimeLine; + private int degree; + private boolean editEnter = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -81,11 +87,17 @@ protected void onCreate(Bundle savedInstanceState) { TextView servo4Title = servo4Layout.findViewById(R.id.servo_title); servo4Title.setText(getResources().getString(R.string.servo4_title)); + removeStatusBar(); seekArc1.setOnSeekArcChangeListener(new SeekArc.OnSeekArcChangeListener() { @Override public void onProgressChanged(SeekArc seekArc, int i, boolean b) { - degreeText1.setText(String.valueOf(Math.round(i * 3.6))); + if (editEnter) { + degreeText1.setText(String.valueOf(degree)); + editEnter = false; + } else { + degreeText1.setText(String.valueOf((int) (i * 3.6))); + } } @Override @@ -102,7 +114,12 @@ public void onStopTrackingTouch(SeekArc seekArc) { seekArc2.setOnSeekArcChangeListener(new SeekArc.OnSeekArcChangeListener() { @Override public void onProgressChanged(SeekArc seekArc, int i, boolean b) { - degreeText2.setText(String.valueOf(Math.round(i * 3.6))); + if (editEnter) { + degreeText2.setText(String.valueOf(degree)); + editEnter = false; + } else { + degreeText2.setText(String.valueOf((int) (i * 3.6))); + } } @Override @@ -119,7 +136,12 @@ public void onStopTrackingTouch(SeekArc seekArc) { seekArc3.setOnSeekArcChangeListener(new SeekArc.OnSeekArcChangeListener() { @Override public void onProgressChanged(SeekArc seekArc, int i, boolean b) { - degreeText3.setText(String.valueOf(Math.round(i * 3.6))); + if (editEnter) { + degreeText3.setText(String.valueOf(degree)); + editEnter = false; + } else { + degreeText3.setText(String.valueOf((int) (i * 3.6))); + } } @Override @@ -136,7 +158,12 @@ public void onStopTrackingTouch(SeekArc seekArc) { seekArc4.setOnSeekArcChangeListener(new SeekArc.OnSeekArcChangeListener() { @Override public void onProgressChanged(SeekArc seekArc, int i, boolean b) { - degreeText4.setText(String.valueOf(Math.round(i * 3.6))); + if (editEnter) { + degreeText4.setText(String.valueOf(degree)); + editEnter = false; + } else { + degreeText4.setText(String.valueOf((int) (i * 3.6))); + } } @Override @@ -261,6 +288,59 @@ public boolean onDrag(View v, DragEvent event) { return true; } }); + + degreeText1.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + removeStatusBar(); + if (actionId == EditorInfo.IME_ACTION_DONE) { + degree = Integer.valueOf(degreeText1.getText().toString()); + seekArc1.setProgress((int) (degree / 3.6)); + editEnter = true; + } + return false; + } + }); + + degreeText2.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + removeStatusBar(); + if (actionId == EditorInfo.IME_ACTION_DONE) { + degree = Integer.valueOf(degreeText2.getText().toString()); + seekArc2.setProgress((int) (degree / 3.6)); + editEnter = true; + } + return false; + } + }); + + degreeText3.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + removeStatusBar(); + if (actionId == EditorInfo.IME_ACTION_DONE) { + degree = Integer.valueOf(degreeText3.getText().toString()); + seekArc3.setProgress((int) (degree / 3.6)); + editEnter = true; + } + return false; + } + }); + + degreeText4.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + removeStatusBar(); + if (actionId == EditorInfo.IME_ACTION_DONE) { + degree = Integer.valueOf(degreeText4.getText().toString()); + seekArc4.setProgress((int) (degree / 3.6)); + editEnter = true; + } + return false; + } + }); + } @Override diff --git a/app/src/main/res/layout/servo_controller_layout.xml b/app/src/main/res/layout/servo_controller_layout.xml index 5b190efbb..fe42bd91d 100644 --- a/app/src/main/res/layout/servo_controller_layout.xml +++ b/app/src/main/res/layout/servo_controller_layout.xml @@ -38,12 +38,16 @@ seekarc:startAngle="0" seekarc:sweepAngle="360" /> - + android:textSize="36sp" + android:inputType="number" + android:maxLines="1" + android:imeOptions="flagNoExtractUi" + /> \ No newline at end of file From 8be87b30fc561a5686e68185f43629ffd72c8773 Mon Sep 17 00:00:00 2001 From: neel1998 Date: Mon, 27 May 2019 11:13:10 +0530 Subject: [PATCH 2/2] Codacy resolved --- app/src/main/java/io/pslab/activity/RoboticArmActivity.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/io/pslab/activity/RoboticArmActivity.java b/app/src/main/java/io/pslab/activity/RoboticArmActivity.java index a39025c35..484d218b5 100644 --- a/app/src/main/java/io/pslab/activity/RoboticArmActivity.java +++ b/app/src/main/java/io/pslab/activity/RoboticArmActivity.java @@ -8,7 +8,6 @@ import android.view.DragEvent; import android.view.KeyEvent; import android.view.LayoutInflater; -import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; import android.view.inputmethod.EditorInfo;