From c2707b12b23357775f41338593a1c5c8c6ae5868 Mon Sep 17 00:00:00 2001 From: Phillip Hsu Date: Thu, 2 Jun 2016 20:48:38 -0700 Subject: [PATCH] Fixes to numpad interactions --- .../clock2/editalarm/EditAlarmActivity.java | 14 +++++++++++--- app/src/main/res/drawable/ic_collapse_24dp.xml | 9 +++++++++ app/src/main/res/layout/numpad_collapse.xml | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/drawable/ic_collapse_24dp.xml diff --git a/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmActivity.java b/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmActivity.java index e3bd498..4cd2436 100644 --- a/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmActivity.java +++ b/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmActivity.java @@ -58,12 +58,14 @@ public class EditAlarmActivity extends BaseActivity implements AlarmNumpad.KeyLi protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setWeekDaysText(); + mNumpad.setKeyListener(this); long alarmId = getIntent().getLongExtra(EXTRA_ALARM_ID, -1); if (alarmId > -1) { mAlarm = AlarmsRepository.getInstance(this).getItem(alarmId); if (mAlarm != null) { + mNumpad.setTime(mAlarm.hour(), mAlarm.minutes()); mSwitch.setChecked(mAlarm.isEnabled()); - mTimeText.setText(getTimeFormat(this).format(new Date(mAlarm.ringsAt()))); + //mTimeText.setText(getTimeFormat(this).format(new Date(mAlarm.ringsAt()))); for (int i = SUNDAY; i <= SATURDAY; i++) { // What position in the week is this day located at? int at = DaysOfWeek.getInstance(this).positionOf(i); @@ -98,7 +100,6 @@ public class EditAlarmActivity extends BaseActivity implements AlarmNumpad.KeyLi mSelectedRingtoneUri = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM); mNumpad.setVisibility(View.VISIBLE); } - mNumpad.setKeyListener(this); updateRingtoneButtonText(); } @@ -152,21 +153,25 @@ public class EditAlarmActivity extends BaseActivity implements AlarmNumpad.KeyLi public void onAcceptChanges() { mNumpad.setVisibility(View.GONE); mSwitch.setChecked(true); + mSwitch.requestFocus(); } @Override public void onNumberInput(String formattedInput) { mTimeText.setText(formattedInput); + mTimeText.setSelection(mTimeText.length()); } @Override public void onCollapse() { mNumpad.setVisibility(View.GONE); + mSwitch.requestFocus(); } @Override public void onBackspace(String newStr) { mTimeText.setText(newStr); + mTimeText.setSelection(mTimeText.length()); if (!mNumpad.checkTimeValid() && mSwitch.isChecked()) { mSwitch.setChecked(false); } @@ -176,11 +181,14 @@ public class EditAlarmActivity extends BaseActivity implements AlarmNumpad.KeyLi public void onLongBackspace() { mTimeText.setText(""); mSwitch.setChecked(false); + mTimeText.setSelection(0); } @OnTouch(R.id.input_time) boolean touch(MotionEvent event) { - mNumpad.setVisibility(View.VISIBLE); + if (event.getActionMasked() == MotionEvent.ACTION_UP && mNumpad.getVisibility() != View.VISIBLE) { + mNumpad.setVisibility(View.VISIBLE); + } return true; } diff --git a/app/src/main/res/drawable/ic_collapse_24dp.xml b/app/src/main/res/drawable/ic_collapse_24dp.xml new file mode 100644 index 0000000..8d57dbc --- /dev/null +++ b/app/src/main/res/drawable/ic_collapse_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/numpad_collapse.xml b/app/src/main/res/layout/numpad_collapse.xml index 50968fd..4f0126f 100644 --- a/app/src/main/res/layout/numpad_collapse.xml +++ b/app/src/main/res/layout/numpad_collapse.xml @@ -1,4 +1,4 @@ \ No newline at end of file