96 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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();
 | |
|         }
 | |
|     }
 | |
| }
 |