@@ -354,8 +354,18 @@ public boolean onLongClick(View v) {
354354 @ Override
355355 public boolean onEditorAction (TextView v , int actionId , KeyEvent event ) {
356356 removeStatusBar ();
357+ int previousDegree = degree ;
357358 if (actionId == EditorInfo .IME_ACTION_DONE ) {
358- degree = Integer .valueOf (degreeText1 .getText ().toString ());
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+ }
359369 if (degree > 360 || degree < 0 ) {
360370 degreeText1 .setText (getResources ().getString (R .string .zero ));
361371 seekArc1 .setProgress (0 );
@@ -380,8 +390,18 @@ public void onClick(View v) {
380390 @ Override
381391 public boolean onEditorAction (TextView v , int actionId , KeyEvent event ) {
382392 removeStatusBar ();
393+ int previousDegree = degree ;
383394 if (actionId == EditorInfo .IME_ACTION_DONE ) {
384- degree = Integer .valueOf (degreeText2 .getText ().toString ());
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+ }
385405 if (degree > 360 || degree < 0 ) {
386406 degreeText2 .setText (getResources ().getString (R .string .zero ));
387407 seekArc2 .setProgress (0 );
@@ -406,8 +426,18 @@ public void onClick(View v) {
406426 @ Override
407427 public boolean onEditorAction (TextView v , int actionId , KeyEvent event ) {
408428 removeStatusBar ();
429+ int previousDegree = degree ;
409430 if (actionId == EditorInfo .IME_ACTION_DONE ) {
410- degree = Integer .parseInt (degreeText3 .getText ().toString ());
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+ }
411441 if (degree > 360 || degree < 0 ) {
412442 degreeText3 .setText (getResources ().getString (R .string .zero ));
413443 seekArc3 .setProgress (0 );
@@ -432,8 +462,18 @@ public void onClick(View v) {
432462 @ Override
433463 public boolean onEditorAction (TextView v , int actionId , KeyEvent event ) {
434464 removeStatusBar ();
465+ int previousDegree = degree ;
435466 if (actionId == EditorInfo .IME_ACTION_DONE ) {
436- degree = Integer .valueOf (degreeText4 .getText ().toString ());
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+ }
437477 if (degree > 360 || degree < 0 ) {
438478 degreeText4 .setText (getResources ().getString (R .string .zero ));
439479 seekArc4 .setProgress (0 );
0 commit comments