Fixes to numpad interactions

This commit is contained in:
Phillip Hsu 2016-06-02 20:48:38 -07:00
parent 68fb80b42b
commit c2707b12b2
3 changed files with 21 additions and 4 deletions

View File

@ -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) {
if (event.getActionMasked() == MotionEvent.ACTION_UP && mNumpad.getVisibility() != View.VISIBLE) {
mNumpad.setVisibility(View.VISIBLE);
}
return true;
}

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z"/>
</vector>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/NumpadButton"
style="@style/NumberButton"
android:src="@drawable/ic_collapse_24dp"/>