220 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			220 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package com.google.android.material.timepicker;
 | |
| 
 | |
| import android.content.Context;
 | |
| import android.text.TextUtils;
 | |
| import android.util.AttributeSet;
 | |
| import android.view.GestureDetector;
 | |
| import android.view.LayoutInflater;
 | |
| import android.view.MotionEvent;
 | |
| import android.view.View;
 | |
| import android.widget.Checkable;
 | |
| import androidx.constraintlayout.widget.ConstraintLayout;
 | |
| import androidx.core.view.AccessibilityDelegateCompat;
 | |
| import androidx.core.view.ViewCompat;
 | |
| import com.google.android.material.R;
 | |
| import com.google.android.material.button.MaterialButtonToggleGroup;
 | |
| import com.google.android.material.chip.Chip;
 | |
| import com.google.android.material.timepicker.ClockHandView;
 | |
| import java.util.Locale;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| class TimePickerView extends ConstraintLayout implements TimePickerControls {
 | |
|     static final String GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME = "android.view.View";
 | |
|     private final ClockFaceView clockFace;
 | |
|     private final ClockHandView clockHandView;
 | |
|     private final Chip hourView;
 | |
|     private final Chip minuteView;
 | |
|     private OnDoubleTapListener onDoubleTapListener;
 | |
|     private OnPeriodChangeListener onPeriodChangeListener;
 | |
|     private OnSelectionChange onSelectionChangeListener;
 | |
|     private final View.OnClickListener selectionListener;
 | |
|     private final MaterialButtonToggleGroup toggle;
 | |
| 
 | |
|     interface OnDoubleTapListener {
 | |
|         void onDoubleTap();
 | |
|     }
 | |
| 
 | |
|     interface OnPeriodChangeListener {
 | |
|         void onPeriodChange(int i);
 | |
|     }
 | |
| 
 | |
|     interface OnSelectionChange {
 | |
|         void onSelectionChanged(int i);
 | |
|     }
 | |
| 
 | |
|     void setOnDoubleTapListener(OnDoubleTapListener onDoubleTapListener) {
 | |
|         this.onDoubleTapListener = onDoubleTapListener;
 | |
|     }
 | |
| 
 | |
|     void setOnPeriodChangeListener(OnPeriodChangeListener onPeriodChangeListener) {
 | |
|         this.onPeriodChangeListener = onPeriodChangeListener;
 | |
|     }
 | |
| 
 | |
|     void setOnSelectionChangeListener(OnSelectionChange onSelectionChange) {
 | |
|         this.onSelectionChangeListener = onSelectionChange;
 | |
|     }
 | |
| 
 | |
|     public TimePickerView(Context context) {
 | |
|         this(context, null);
 | |
|     }
 | |
| 
 | |
|     public TimePickerView(Context context, AttributeSet attributeSet) {
 | |
|         this(context, attributeSet, 0);
 | |
|     }
 | |
| 
 | |
|     public TimePickerView(Context context, AttributeSet attributeSet, int i) {
 | |
|         super(context, attributeSet, i);
 | |
|         this.selectionListener = new View.OnClickListener() { // from class: com.google.android.material.timepicker.TimePickerView.1
 | |
|             @Override // android.view.View.OnClickListener
 | |
|             public void onClick(View view) {
 | |
|                 if (TimePickerView.this.onSelectionChangeListener != null) {
 | |
|                     TimePickerView.this.onSelectionChangeListener.onSelectionChanged(((Integer) view.getTag(R.id.selection_type)).intValue());
 | |
|                 }
 | |
|             }
 | |
|         };
 | |
|         LayoutInflater.from(context).inflate(R.layout.material_timepicker, this);
 | |
|         this.clockFace = (ClockFaceView) findViewById(R.id.material_clock_face);
 | |
|         MaterialButtonToggleGroup materialButtonToggleGroup = (MaterialButtonToggleGroup) findViewById(R.id.material_clock_period_toggle);
 | |
|         this.toggle = materialButtonToggleGroup;
 | |
|         materialButtonToggleGroup.addOnButtonCheckedListener(new MaterialButtonToggleGroup.OnButtonCheckedListener() { // from class: com.google.android.material.timepicker.TimePickerView$$ExternalSyntheticLambda0
 | |
|             @Override // com.google.android.material.button.MaterialButtonToggleGroup.OnButtonCheckedListener
 | |
|             public final void onButtonChecked(MaterialButtonToggleGroup materialButtonToggleGroup2, int i2, boolean z) {
 | |
|                 TimePickerView.this.m283x9f44237d(materialButtonToggleGroup2, i2, z);
 | |
|             }
 | |
|         });
 | |
|         this.minuteView = (Chip) findViewById(R.id.material_minute_tv);
 | |
|         this.hourView = (Chip) findViewById(R.id.material_hour_tv);
 | |
|         this.clockHandView = (ClockHandView) findViewById(R.id.material_clock_hand);
 | |
|         setupDoubleTap();
 | |
|         setUpDisplay();
 | |
|     }
 | |
| 
 | |
|     /* renamed from: lambda$new$0$com-google-android-material-timepicker-TimePickerView, reason: not valid java name */
 | |
|     /* synthetic */ void m283x9f44237d(MaterialButtonToggleGroup materialButtonToggleGroup, int i, boolean z) {
 | |
|         if (z && this.onPeriodChangeListener != null) {
 | |
|             this.onPeriodChangeListener.onPeriodChange(i == R.id.material_clock_period_pm_button ? 1 : 0);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private void setupDoubleTap() {
 | |
|         final GestureDetector gestureDetector = new GestureDetector(getContext(), new GestureDetector.SimpleOnGestureListener() { // from class: com.google.android.material.timepicker.TimePickerView.2
 | |
|             @Override // android.view.GestureDetector.SimpleOnGestureListener, android.view.GestureDetector.OnDoubleTapListener
 | |
|             public boolean onDoubleTap(MotionEvent motionEvent) {
 | |
|                 OnDoubleTapListener onDoubleTapListener = TimePickerView.this.onDoubleTapListener;
 | |
|                 if (onDoubleTapListener == null) {
 | |
|                     return false;
 | |
|                 }
 | |
|                 onDoubleTapListener.onDoubleTap();
 | |
|                 return true;
 | |
|             }
 | |
|         });
 | |
|         View.OnTouchListener onTouchListener = new View.OnTouchListener() { // from class: com.google.android.material.timepicker.TimePickerView.3
 | |
|             /* JADX WARN: Multi-variable type inference failed */
 | |
|             @Override // android.view.View.OnTouchListener
 | |
|             public boolean onTouch(View view, MotionEvent motionEvent) {
 | |
|                 if (((Checkable) view).isChecked()) {
 | |
|                     return gestureDetector.onTouchEvent(motionEvent);
 | |
|                 }
 | |
|                 return false;
 | |
|             }
 | |
|         };
 | |
|         this.minuteView.setOnTouchListener(onTouchListener);
 | |
|         this.hourView.setOnTouchListener(onTouchListener);
 | |
|     }
 | |
| 
 | |
|     public void setMinuteHourDelegate(AccessibilityDelegateCompat accessibilityDelegateCompat) {
 | |
|         ViewCompat.setAccessibilityDelegate(this.hourView, accessibilityDelegateCompat);
 | |
|     }
 | |
| 
 | |
|     public void setHourClickDelegate(AccessibilityDelegateCompat accessibilityDelegateCompat) {
 | |
|         ViewCompat.setAccessibilityDelegate(this.minuteView, accessibilityDelegateCompat);
 | |
|     }
 | |
| 
 | |
|     private void setUpDisplay() {
 | |
|         this.minuteView.setTag(R.id.selection_type, 12);
 | |
|         this.hourView.setTag(R.id.selection_type, 10);
 | |
|         this.minuteView.setOnClickListener(this.selectionListener);
 | |
|         this.hourView.setOnClickListener(this.selectionListener);
 | |
|         this.minuteView.setAccessibilityClassName(GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME);
 | |
|         this.hourView.setAccessibilityClassName(GENERIC_VIEW_ACCESSIBILITY_CLASS_NAME);
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.timepicker.TimePickerControls
 | |
|     public void setValues(String[] strArr, int i) {
 | |
|         this.clockFace.setValues(strArr, i);
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.timepicker.TimePickerControls
 | |
|     public void setHandRotation(float f) {
 | |
|         this.clockHandView.setHandRotation(f);
 | |
|     }
 | |
| 
 | |
|     public void setHandRotation(float f, boolean z) {
 | |
|         this.clockHandView.setHandRotation(f, z);
 | |
|     }
 | |
| 
 | |
|     public void setAnimateOnTouchUp(boolean z) {
 | |
|         this.clockHandView.setAnimateOnTouchUp(z);
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.timepicker.TimePickerControls
 | |
|     public void updateTime(int i, int i2, int i3) {
 | |
|         int i4;
 | |
|         if (i == 1) {
 | |
|             i4 = R.id.material_clock_period_pm_button;
 | |
|         } else {
 | |
|             i4 = R.id.material_clock_period_am_button;
 | |
|         }
 | |
|         this.toggle.check(i4);
 | |
|         Locale locale = getResources().getConfiguration().locale;
 | |
|         String format = String.format(locale, TimeModel.ZERO_LEADING_NUMBER_FORMAT, Integer.valueOf(i3));
 | |
|         String format2 = String.format(locale, TimeModel.ZERO_LEADING_NUMBER_FORMAT, Integer.valueOf(i2));
 | |
|         if (!TextUtils.equals(this.minuteView.getText(), format)) {
 | |
|             this.minuteView.setText(format);
 | |
|         }
 | |
|         if (TextUtils.equals(this.hourView.getText(), format2)) {
 | |
|             return;
 | |
|         }
 | |
|         this.hourView.setText(format2);
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.timepicker.TimePickerControls
 | |
|     public void setActiveSelection(int i) {
 | |
|         updateSelection(this.minuteView, i == 12);
 | |
|         updateSelection(this.hourView, i == 10);
 | |
|     }
 | |
| 
 | |
|     private void updateSelection(Chip chip, boolean z) {
 | |
|         chip.setChecked(z);
 | |
|         ViewCompat.setAccessibilityLiveRegion(chip, z ? 2 : 0);
 | |
|     }
 | |
| 
 | |
|     public void addOnRotateListener(ClockHandView.OnRotateListener onRotateListener) {
 | |
|         this.clockHandView.addOnRotateListener(onRotateListener);
 | |
|     }
 | |
| 
 | |
|     public void setOnActionUpListener(ClockHandView.OnActionUpListener onActionUpListener) {
 | |
|         this.clockHandView.setOnActionUpListener(onActionUpListener);
 | |
|     }
 | |
| 
 | |
|     public void showToggle() {
 | |
|         this.toggle.setVisibility(0);
 | |
|     }
 | |
| 
 | |
|     @Override // android.view.View
 | |
|     protected void onVisibilityChanged(View view, int i) {
 | |
|         super.onVisibilityChanged(view, i);
 | |
|         if (view == this && i == 0) {
 | |
|             this.hourView.sendAccessibilityEvent(8);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     int getCurrentLevel() {
 | |
|         return this.clockFace.getCurrentLevel();
 | |
|     }
 | |
| 
 | |
|     void setCurrentLevel(int i) {
 | |
|         this.clockFace.setCurrentLevel(i);
 | |
|     }
 | |
| }
 |