From 40f350138b6f349ff1b44795ef563b4cbfa41d00 Mon Sep 17 00:00:00 2001 From: rparkins999 Date: Sun, 27 May 2018 22:31:35 +0100 Subject: [PATCH] Fix crash on bad number input and upgrade version to 2.2 --- app/build.gradle | 4 ++-- .../calendartrigger/activites/DefineStartFragment.java | 5 +++++ .../calendartrigger/activites/DefineStopFragment.java | 7 +++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 166b79c..5f0876c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,8 +19,8 @@ android { applicationId 'uk.co.yahoo.p1rpp.calendartrigger' minSdkVersion 21 targetSdkVersion 22 - versionCode 6 - versionName "2.1" + versionCode 7 + versionName "2.2" } buildTypes { release { diff --git a/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStartFragment.java b/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStartFragment.java index 65b2732..f2dbcec 100644 --- a/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStartFragment.java +++ b/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStartFragment.java @@ -7,6 +7,7 @@ import android.app.Fragment; import android.os.Bundle; +import android.text.InputFilter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -74,6 +75,9 @@ public void onResume() { ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT ); + InputFilter lf[] = { + new InputFilter.LengthFilter(6) + }; LinearLayout ll = (LinearLayout)ac.findViewById(R.id.definestartlayout); ll.removeAllViews(); @@ -98,6 +102,7 @@ public boolean onLongClick(View v) { lll.setPadding((int)(scale * 25.0), 0, 0, 0); minutesEditor = new EditText(ac); minutesEditor.setInputType(android.text.InputType.TYPE_CLASS_NUMBER); + minutesEditor.setFilters(lf); Integer i = new Integer(PrefsManager.getBeforeMinutes(ac, classNum)); minutesEditor.setText(i.toString(), TextView.BufferType.EDITABLE); diff --git a/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStopFragment.java b/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStopFragment.java index d0d6fd1..d9c8998 100644 --- a/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStopFragment.java +++ b/app/src/main/java/uk/co/yahoo/p1rpp/calendartrigger/activites/DefineStopFragment.java @@ -10,6 +10,7 @@ import android.content.pm.PackageManager; import android.os.Bundle; import android.support.v4.content.PermissionChecker; +import android.text.InputFilter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -85,6 +86,9 @@ public void onResume() { ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT ); + InputFilter lf[] = { + new InputFilter.LengthFilter(6) + }; LinearLayout ll = (LinearLayout)ac.findViewById(R.id.definestoplayout); ll.removeAllViews(); @@ -109,6 +113,7 @@ public boolean onLongClick(View v) { lll.setPadding((int)(scale * 25.0), 0, 0, 0); minutesEditor = new EditText(ac); minutesEditor.setInputType(android.text.InputType.TYPE_CLASS_NUMBER); + minutesEditor.setFilters(lf); Integer i = new Integer(PrefsManager.getAfterMinutes(ac, classNum)); minutesEditor.setText(i.toString(), TextView.BufferType.EDITABLE); @@ -164,6 +169,7 @@ public boolean onLongClick(View v) { stepCountEditor = new EditText(ac); stepCountEditor.setInputType( android.text.InputType.TYPE_CLASS_NUMBER); + stepCountEditor.setFilters(lf); i = haveStepCounter ? PrefsManager.getAfterSteps(ac, classNum) : 0; stepCountEditor.setText(String.valueOf(i), TextView.BufferType.EDITABLE); stepCountEditor.setEnabled(true); @@ -199,6 +205,7 @@ public boolean onLongClick(View v) { metresEditor = new EditText(ac); metresEditor.setInputType( android.text.InputType.TYPE_CLASS_NUMBER); + metresEditor.setFilters(lf); i = havelocation ? PrefsManager.getAfterMetres(ac, classNum) : 0; metresEditor.setText(String.valueOf(i), TextView.BufferType.EDITABLE); metresEditor.setEnabled(havelocation);