diff --git a/app/src/main/java/com/philliphsu/clock2/editalarm/GridLayoutNumpad.java b/app/src/main/java/com/philliphsu/clock2/editalarm/GridLayoutNumpad.java
index 63fddf5..7c738f7 100644
--- a/app/src/main/java/com/philliphsu/clock2/editalarm/GridLayoutNumpad.java
+++ b/app/src/main/java/com/philliphsu/clock2/editalarm/GridLayoutNumpad.java
@@ -66,7 +66,7 @@ public abstract class GridLayoutNumpad extends GridLayout implements View.OnClic
/**
* @return the number of digits we can input
*/
- protected abstract int capacity();
+ public abstract int capacity();
/**
* @return the layout resource that defines the children for this numpad
@@ -102,7 +102,7 @@ public abstract class GridLayoutNumpad extends GridLayout implements View.OnClic
/**
* @return the number of digits inputted
*/
- protected final int count() {
+ public final int count() {
return mCount;
}
diff --git a/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePicker.java b/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePicker.java
index 5f78bdb..070620b 100644
--- a/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePicker.java
+++ b/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePicker.java
@@ -65,7 +65,7 @@ public class NumpadTimePicker extends GridLayoutNumpad implements TimePicker {
}
@Override
- protected int capacity() {
+ public int capacity() {
return MAX_DIGITS;
}
diff --git a/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePickerDialog.java b/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePickerDialog.java
index 3abc66b..9e74fc7 100644
--- a/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePickerDialog.java
+++ b/app/src/main/java/com/philliphsu/clock2/editalarm/NumpadTimePickerDialog.java
@@ -44,6 +44,7 @@ public class NumpadTimePickerDialog extends DialogFragment implements NumpadTime
// Don't need to keep a reference to the dismiss ImageButton
@Bind(R.id.input_time) EditText mInputField;
@Bind(R.id.number_grid) NumpadTimePicker mNumpad;
+ @Bind(R.id.focus_grabber) View mFocusGrabber;
public NumpadTimePickerDialog() {
// Empty constructor required for dialog fragment.
@@ -156,5 +157,8 @@ public class NumpadTimePickerDialog extends DialogFragment implements NumpadTime
mInputField.setText(inputText);
// Move the cursor
mInputField.setSelection(mInputField.length());
+ if (mNumpad.count() == mNumpad.capacity()) {
+ mFocusGrabber.requestFocus();
+ }
}
}
diff --git a/app/src/main/res/layout/dialog_time_picker_numpad.xml b/app/src/main/res/layout/dialog_time_picker_numpad.xml
index 7d21558..9bcca3e 100644
--- a/app/src/main/res/layout/dialog_time_picker_numpad.xml
+++ b/app/src/main/res/layout/dialog_time_picker_numpad.xml
@@ -38,6 +38,14 @@
android:background="@android:color/transparent"
style="@style/TextAppearance.AppCompat.Inverse"/>
+
+
+