ADD week 5
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
package com.google.android.material.timepicker;
|
||||
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
class TimePickerTextInputKeyController implements TextView.OnEditorActionListener, View.OnKeyListener {
|
||||
private final ChipTextInputComboView hourLayoutComboView;
|
||||
private boolean keyListenerRunning = false;
|
||||
private final ChipTextInputComboView minuteLayoutComboView;
|
||||
private final TimeModel time;
|
||||
|
||||
TimePickerTextInputKeyController(ChipTextInputComboView chipTextInputComboView, ChipTextInputComboView chipTextInputComboView2, TimeModel timeModel) {
|
||||
this.hourLayoutComboView = chipTextInputComboView;
|
||||
this.minuteLayoutComboView = chipTextInputComboView2;
|
||||
this.time = timeModel;
|
||||
}
|
||||
|
||||
public void bind() {
|
||||
TextInputLayout textInput = this.hourLayoutComboView.getTextInput();
|
||||
TextInputLayout textInput2 = this.minuteLayoutComboView.getTextInput();
|
||||
EditText editText = textInput.getEditText();
|
||||
EditText editText2 = textInput2.getEditText();
|
||||
editText.setImeOptions(268435461);
|
||||
editText2.setImeOptions(268435462);
|
||||
editText.setOnEditorActionListener(this);
|
||||
editText.setOnKeyListener(this);
|
||||
editText2.setOnKeyListener(this);
|
||||
}
|
||||
|
||||
private void moveSelection(int i) {
|
||||
this.minuteLayoutComboView.setChecked(i == 12);
|
||||
this.hourLayoutComboView.setChecked(i == 10);
|
||||
this.time.selection = i;
|
||||
}
|
||||
|
||||
@Override // android.widget.TextView.OnEditorActionListener
|
||||
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
|
||||
boolean z = i == 5;
|
||||
if (z) {
|
||||
moveSelection(12);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
||||
@Override // android.view.View.OnKeyListener
|
||||
public boolean onKey(View view, int i, KeyEvent keyEvent) {
|
||||
boolean onHourKeyPress;
|
||||
if (this.keyListenerRunning) {
|
||||
return false;
|
||||
}
|
||||
this.keyListenerRunning = true;
|
||||
EditText editText = (EditText) view;
|
||||
if (this.time.selection == 12) {
|
||||
onHourKeyPress = onMinuteKeyPress(i, keyEvent, editText);
|
||||
} else {
|
||||
onHourKeyPress = onHourKeyPress(i, keyEvent, editText);
|
||||
}
|
||||
this.keyListenerRunning = false;
|
||||
return onHourKeyPress;
|
||||
}
|
||||
|
||||
private boolean onMinuteKeyPress(int i, KeyEvent keyEvent, EditText editText) {
|
||||
if (i == 67 && keyEvent.getAction() == 0 && TextUtils.isEmpty(editText.getText())) {
|
||||
moveSelection(10);
|
||||
return true;
|
||||
}
|
||||
clearPrefilledText(editText);
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean onHourKeyPress(int i, KeyEvent keyEvent, EditText editText) {
|
||||
Editable text = editText.getText();
|
||||
if (text == null) {
|
||||
return false;
|
||||
}
|
||||
if (i >= 7 && i <= 16 && keyEvent.getAction() == 1 && editText.getSelectionStart() == 2 && text.length() == 2) {
|
||||
moveSelection(12);
|
||||
return true;
|
||||
}
|
||||
clearPrefilledText(editText);
|
||||
return false;
|
||||
}
|
||||
|
||||
private void clearPrefilledText(EditText editText) {
|
||||
if (editText.getSelectionStart() == 0 && editText.length() == 2) {
|
||||
editText.getText().clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user