package com.google.android.material.timepicker; import android.view.View; import android.view.accessibility.AccessibilityManager; import androidx.core.content.ContextCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.exifinterface.media.ExifInterface; import com.google.android.material.R; import com.google.android.material.timepicker.ClockHandView; import com.google.android.material.timepicker.TimePickerView; /* loaded from: classes2.dex */ class TimePickerClockPresenter implements ClockHandView.OnRotateListener, TimePickerView.OnSelectionChange, TimePickerView.OnPeriodChangeListener, ClockHandView.OnActionUpListener, TimePickerPresenter { private static final int DEGREES_PER_HOUR = 30; private static final int DEGREES_PER_MINUTE = 6; private boolean broadcasting = false; private float hourRotation; private float minuteRotation; private final TimeModel time; private final TimePickerView timePickerView; private static final String[] HOUR_CLOCK_VALUES = {"12", "1", ExifInterface.GPS_MEASUREMENT_2D, ExifInterface.GPS_MEASUREMENT_3D, "4", "5", "6", "7", "8", "9", "10", "11"}; private static final String[] HOUR_CLOCK_24_VALUES = {"00", "1", ExifInterface.GPS_MEASUREMENT_2D, ExifInterface.GPS_MEASUREMENT_3D, "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}; private static final String[] MINUTE_CLOCK_VALUES = {"00", "5", "10", "15", "20", "25", "30", "35", "40", "45", "50", "55"}; public TimePickerClockPresenter(TimePickerView timePickerView, TimeModel timeModel) { this.timePickerView = timePickerView; this.time = timeModel; initialize(); } @Override // com.google.android.material.timepicker.TimePickerPresenter public void initialize() { if (this.time.format == 0) { this.timePickerView.showToggle(); } this.timePickerView.addOnRotateListener(this); this.timePickerView.setOnSelectionChangeListener(this); this.timePickerView.setOnPeriodChangeListener(this); this.timePickerView.setOnActionUpListener(this); updateValues(); invalidate(); } @Override // com.google.android.material.timepicker.TimePickerPresenter public void invalidate() { this.hourRotation = getHourRotation(); this.minuteRotation = this.time.minute * 6; setSelection(this.time.selection, false); updateTime(); } @Override // com.google.android.material.timepicker.TimePickerPresenter public void show() { this.timePickerView.setVisibility(0); } @Override // com.google.android.material.timepicker.TimePickerPresenter public void hide() { this.timePickerView.setVisibility(8); } private String[] getHourClockValues() { return this.time.format == 1 ? HOUR_CLOCK_24_VALUES : HOUR_CLOCK_VALUES; } @Override // com.google.android.material.timepicker.ClockHandView.OnRotateListener public void onRotate(float f, boolean z) { if (this.broadcasting) { return; } int i = this.time.hour; int i2 = this.time.minute; int round = Math.round(f); if (this.time.selection == 12) { this.time.setMinute((round + 3) / 6); this.minuteRotation = (float) Math.floor(this.time.minute * 6); } else { int i3 = (round + 15) / 30; if (this.time.format == 1) { i3 %= 12; if (this.timePickerView.getCurrentLevel() == 2) { i3 += 12; } } this.time.setHour(i3); this.hourRotation = getHourRotation(); } if (z) { return; } updateTime(); performHapticFeedback(i, i2); } private void performHapticFeedback(int i, int i2) { if (this.time.minute == i2 && this.time.hour == i) { return; } this.timePickerView.performHapticFeedback(4); } @Override // com.google.android.material.timepicker.TimePickerView.OnSelectionChange public void onSelectionChanged(int i) { setSelection(i, true); } @Override // com.google.android.material.timepicker.TimePickerView.OnPeriodChangeListener public void onPeriodChange(int i) { this.time.setPeriod(i); } void setSelection(int i, boolean z) { boolean z2 = i == 12; this.timePickerView.setAnimateOnTouchUp(z2); this.time.selection = i; this.timePickerView.setValues(z2 ? MINUTE_CLOCK_VALUES : getHourClockValues(), z2 ? R.string.material_minute_suffix : this.time.getHourContentDescriptionResId()); updateCurrentLevel(); this.timePickerView.setHandRotation(z2 ? this.minuteRotation : this.hourRotation, z); this.timePickerView.setActiveSelection(i); this.timePickerView.setMinuteHourDelegate(new ClickActionDelegate(this.timePickerView.getContext(), R.string.material_hour_selection) { // from class: com.google.android.material.timepicker.TimePickerClockPresenter.1 @Override // com.google.android.material.timepicker.ClickActionDelegate, androidx.core.view.AccessibilityDelegateCompat public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) { super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat); accessibilityNodeInfoCompat.setContentDescription(view.getResources().getString(TimePickerClockPresenter.this.time.getHourContentDescriptionResId(), String.valueOf(TimePickerClockPresenter.this.time.getHourForDisplay()))); } }); this.timePickerView.setHourClickDelegate(new ClickActionDelegate(this.timePickerView.getContext(), R.string.material_minute_selection) { // from class: com.google.android.material.timepicker.TimePickerClockPresenter.2 @Override // com.google.android.material.timepicker.ClickActionDelegate, androidx.core.view.AccessibilityDelegateCompat public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) { super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat); accessibilityNodeInfoCompat.setContentDescription(view.getResources().getString(R.string.material_minute_suffix, String.valueOf(TimePickerClockPresenter.this.time.minute))); } }); } private void updateCurrentLevel() { int i = 1; if (this.time.selection == 10 && this.time.format == 1 && this.time.hour >= 12) { i = 2; } this.timePickerView.setCurrentLevel(i); } @Override // com.google.android.material.timepicker.ClockHandView.OnActionUpListener public void onActionUp(float f, boolean z) { this.broadcasting = true; int i = this.time.minute; int i2 = this.time.hour; if (this.time.selection == 10) { this.timePickerView.setHandRotation(this.hourRotation, false); AccessibilityManager accessibilityManager = (AccessibilityManager) ContextCompat.getSystemService(this.timePickerView.getContext(), AccessibilityManager.class); if (accessibilityManager == null || !accessibilityManager.isTouchExplorationEnabled()) { setSelection(12, true); } } else { int round = Math.round(f); if (!z) { this.time.setMinute(((round + 15) / 30) * 5); this.minuteRotation = this.time.minute * 6; } this.timePickerView.setHandRotation(this.minuteRotation, z); } this.broadcasting = false; updateTime(); performHapticFeedback(i2, i); } private void updateTime() { this.timePickerView.updateTime(this.time.period, this.time.getHourForDisplay(), this.time.minute); } private void updateValues() { updateValues(HOUR_CLOCK_VALUES, TimeModel.NUMBER_FORMAT); updateValues(MINUTE_CLOCK_VALUES, TimeModel.ZERO_LEADING_NUMBER_FORMAT); } private void updateValues(String[] strArr, String str) { for (int i = 0; i < strArr.length; i++) { strArr[i] = TimeModel.formatText(this.timePickerView.getResources(), strArr[i], str); } } private int getHourRotation() { return (this.time.getHourForDisplay() * 30) % 360; } }