507 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			507 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package com.google.android.material.timepicker;
 | |
| 
 | |
| import android.app.Dialog;
 | |
| import android.content.Context;
 | |
| import android.content.DialogInterface;
 | |
| import android.content.res.ColorStateList;
 | |
| import android.content.res.TypedArray;
 | |
| import android.os.Bundle;
 | |
| import android.text.TextUtils;
 | |
| import android.util.Pair;
 | |
| import android.util.TypedValue;
 | |
| import android.view.LayoutInflater;
 | |
| import android.view.View;
 | |
| import android.view.ViewGroup;
 | |
| import android.view.ViewStub;
 | |
| import android.view.Window;
 | |
| import android.widget.Button;
 | |
| import android.widget.LinearLayout;
 | |
| import android.widget.TextView;
 | |
| import androidx.core.view.ViewCompat;
 | |
| import androidx.fragment.app.DialogFragment;
 | |
| import com.google.android.material.R;
 | |
| import com.google.android.material.button.MaterialButton;
 | |
| import com.google.android.material.resources.MaterialAttributes;
 | |
| import com.google.android.material.shape.MaterialShapeDrawable;
 | |
| import com.google.android.material.timepicker.TimePickerView;
 | |
| import java.util.Iterator;
 | |
| import java.util.LinkedHashSet;
 | |
| import java.util.Set;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| public final class MaterialTimePicker extends DialogFragment implements TimePickerView.OnDoubleTapListener {
 | |
|     public static final int INPUT_MODE_CLOCK = 0;
 | |
|     static final String INPUT_MODE_EXTRA = "TIME_PICKER_INPUT_MODE";
 | |
|     public static final int INPUT_MODE_KEYBOARD = 1;
 | |
|     static final String NEGATIVE_BUTTON_TEXT_EXTRA = "TIME_PICKER_NEGATIVE_BUTTON_TEXT";
 | |
|     static final String NEGATIVE_BUTTON_TEXT_RES_EXTRA = "TIME_PICKER_NEGATIVE_BUTTON_TEXT_RES";
 | |
|     static final String OVERRIDE_THEME_RES_ID = "TIME_PICKER_OVERRIDE_THEME_RES_ID";
 | |
|     static final String POSITIVE_BUTTON_TEXT_EXTRA = "TIME_PICKER_POSITIVE_BUTTON_TEXT";
 | |
|     static final String POSITIVE_BUTTON_TEXT_RES_EXTRA = "TIME_PICKER_POSITIVE_BUTTON_TEXT_RES";
 | |
|     static final String TIME_MODEL_EXTRA = "TIME_PICKER_TIME_MODEL";
 | |
|     static final String TITLE_RES_EXTRA = "TIME_PICKER_TITLE_RES";
 | |
|     static final String TITLE_TEXT_EXTRA = "TIME_PICKER_TITLE_TEXT";
 | |
|     private TimePickerPresenter activePresenter;
 | |
|     private Button cancelButton;
 | |
|     private int clockIcon;
 | |
|     private int keyboardIcon;
 | |
|     private MaterialButton modeButton;
 | |
|     private CharSequence negativeButtonText;
 | |
|     private CharSequence positiveButtonText;
 | |
|     private ViewStub textInputStub;
 | |
|     private TimeModel time;
 | |
|     private TimePickerClockPresenter timePickerClockPresenter;
 | |
|     private TimePickerTextInputPresenter timePickerTextInputPresenter;
 | |
|     private TimePickerView timePickerView;
 | |
|     private CharSequence titleText;
 | |
|     private final Set<View.OnClickListener> positiveButtonListeners = new LinkedHashSet();
 | |
|     private final Set<View.OnClickListener> negativeButtonListeners = new LinkedHashSet();
 | |
|     private final Set<DialogInterface.OnCancelListener> cancelListeners = new LinkedHashSet();
 | |
|     private final Set<DialogInterface.OnDismissListener> dismissListeners = new LinkedHashSet();
 | |
|     private int titleResId = 0;
 | |
|     private int positiveButtonTextResId = 0;
 | |
|     private int negativeButtonTextResId = 0;
 | |
|     private int inputMode = 0;
 | |
|     private int overrideThemeResId = 0;
 | |
| 
 | |
|     public int getInputMode() {
 | |
|         return this.inputMode;
 | |
|     }
 | |
| 
 | |
|     TimePickerClockPresenter getTimePickerClockPresenter() {
 | |
|         return this.timePickerClockPresenter;
 | |
|     }
 | |
| 
 | |
|     void setActivePresenter(TimePickerPresenter timePickerPresenter) {
 | |
|         this.activePresenter = timePickerPresenter;
 | |
|     }
 | |
| 
 | |
|     /* JADX INFO: Access modifiers changed from: private */
 | |
|     public static MaterialTimePicker newInstance(Builder builder) {
 | |
|         MaterialTimePicker materialTimePicker = new MaterialTimePicker();
 | |
|         Bundle bundle = new Bundle();
 | |
|         bundle.putParcelable(TIME_MODEL_EXTRA, builder.time);
 | |
|         if (builder.inputMode != null) {
 | |
|             bundle.putInt(INPUT_MODE_EXTRA, builder.inputMode.intValue());
 | |
|         }
 | |
|         bundle.putInt(TITLE_RES_EXTRA, builder.titleTextResId);
 | |
|         if (builder.titleText != null) {
 | |
|             bundle.putCharSequence(TITLE_TEXT_EXTRA, builder.titleText);
 | |
|         }
 | |
|         bundle.putInt(POSITIVE_BUTTON_TEXT_RES_EXTRA, builder.positiveButtonTextResId);
 | |
|         if (builder.positiveButtonText != null) {
 | |
|             bundle.putCharSequence(POSITIVE_BUTTON_TEXT_EXTRA, builder.positiveButtonText);
 | |
|         }
 | |
|         bundle.putInt(NEGATIVE_BUTTON_TEXT_RES_EXTRA, builder.negativeButtonTextResId);
 | |
|         if (builder.negativeButtonText != null) {
 | |
|             bundle.putCharSequence(NEGATIVE_BUTTON_TEXT_EXTRA, builder.negativeButtonText);
 | |
|         }
 | |
|         bundle.putInt(OVERRIDE_THEME_RES_ID, builder.overrideThemeResId);
 | |
|         materialTimePicker.setArguments(bundle);
 | |
|         return materialTimePicker;
 | |
|     }
 | |
| 
 | |
|     public int getMinute() {
 | |
|         return this.time.minute;
 | |
|     }
 | |
| 
 | |
|     public void setMinute(int i) {
 | |
|         this.time.setMinute(i);
 | |
|         TimePickerPresenter timePickerPresenter = this.activePresenter;
 | |
|         if (timePickerPresenter != null) {
 | |
|             timePickerPresenter.invalidate();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public int getHour() {
 | |
|         return this.time.hour % 24;
 | |
|     }
 | |
| 
 | |
|     public void setHour(int i) {
 | |
|         this.time.setHour(i);
 | |
|         TimePickerPresenter timePickerPresenter = this.activePresenter;
 | |
|         if (timePickerPresenter != null) {
 | |
|             timePickerPresenter.invalidate();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.DialogFragment
 | |
|     public final Dialog onCreateDialog(Bundle bundle) {
 | |
|         Dialog dialog = new Dialog(requireContext(), getThemeResId());
 | |
|         Context context = dialog.getContext();
 | |
|         MaterialShapeDrawable materialShapeDrawable = new MaterialShapeDrawable(context, null, R.attr.materialTimePickerStyle, R.style.Widget_MaterialComponents_TimePicker);
 | |
|         TypedArray obtainStyledAttributes = context.obtainStyledAttributes(null, R.styleable.MaterialTimePicker, R.attr.materialTimePickerStyle, R.style.Widget_MaterialComponents_TimePicker);
 | |
|         this.clockIcon = obtainStyledAttributes.getResourceId(R.styleable.MaterialTimePicker_clockIcon, 0);
 | |
|         this.keyboardIcon = obtainStyledAttributes.getResourceId(R.styleable.MaterialTimePicker_keyboardIcon, 0);
 | |
|         int color = obtainStyledAttributes.getColor(R.styleable.MaterialTimePicker_backgroundTint, 0);
 | |
|         obtainStyledAttributes.recycle();
 | |
|         materialShapeDrawable.initializeElevationOverlay(context);
 | |
|         materialShapeDrawable.setFillColor(ColorStateList.valueOf(color));
 | |
|         Window window = dialog.getWindow();
 | |
|         window.setBackgroundDrawable(materialShapeDrawable);
 | |
|         window.requestFeature(1);
 | |
|         window.setLayout(-2, -2);
 | |
|         materialShapeDrawable.setElevation(ViewCompat.getElevation(window.getDecorView()));
 | |
|         return dialog;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.DialogFragment, androidx.fragment.app.Fragment
 | |
|     public void onCreate(Bundle bundle) {
 | |
|         super.onCreate(bundle);
 | |
|         if (bundle == null) {
 | |
|             bundle = getArguments();
 | |
|         }
 | |
|         restoreState(bundle);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.DialogFragment, androidx.fragment.app.Fragment
 | |
|     public void onSaveInstanceState(Bundle bundle) {
 | |
|         super.onSaveInstanceState(bundle);
 | |
|         bundle.putParcelable(TIME_MODEL_EXTRA, this.time);
 | |
|         bundle.putInt(INPUT_MODE_EXTRA, this.inputMode);
 | |
|         bundle.putInt(TITLE_RES_EXTRA, this.titleResId);
 | |
|         bundle.putCharSequence(TITLE_TEXT_EXTRA, this.titleText);
 | |
|         bundle.putInt(POSITIVE_BUTTON_TEXT_RES_EXTRA, this.positiveButtonTextResId);
 | |
|         bundle.putCharSequence(POSITIVE_BUTTON_TEXT_EXTRA, this.positiveButtonText);
 | |
|         bundle.putInt(NEGATIVE_BUTTON_TEXT_RES_EXTRA, this.negativeButtonTextResId);
 | |
|         bundle.putCharSequence(NEGATIVE_BUTTON_TEXT_EXTRA, this.negativeButtonText);
 | |
|         bundle.putInt(OVERRIDE_THEME_RES_ID, this.overrideThemeResId);
 | |
|     }
 | |
| 
 | |
|     private void restoreState(Bundle bundle) {
 | |
|         if (bundle == null) {
 | |
|             return;
 | |
|         }
 | |
|         TimeModel timeModel = (TimeModel) bundle.getParcelable(TIME_MODEL_EXTRA);
 | |
|         this.time = timeModel;
 | |
|         if (timeModel == null) {
 | |
|             this.time = new TimeModel();
 | |
|         }
 | |
|         this.inputMode = bundle.getInt(INPUT_MODE_EXTRA, this.time.format != 1 ? 0 : 1);
 | |
|         this.titleResId = bundle.getInt(TITLE_RES_EXTRA, 0);
 | |
|         this.titleText = bundle.getCharSequence(TITLE_TEXT_EXTRA);
 | |
|         this.positiveButtonTextResId = bundle.getInt(POSITIVE_BUTTON_TEXT_RES_EXTRA, 0);
 | |
|         this.positiveButtonText = bundle.getCharSequence(POSITIVE_BUTTON_TEXT_EXTRA);
 | |
|         this.negativeButtonTextResId = bundle.getInt(NEGATIVE_BUTTON_TEXT_RES_EXTRA, 0);
 | |
|         this.negativeButtonText = bundle.getCharSequence(NEGATIVE_BUTTON_TEXT_EXTRA);
 | |
|         this.overrideThemeResId = bundle.getInt(OVERRIDE_THEME_RES_ID, 0);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.Fragment
 | |
|     public final View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
 | |
|         ViewGroup viewGroup2 = (ViewGroup) layoutInflater.inflate(R.layout.material_timepicker_dialog, viewGroup);
 | |
|         TimePickerView timePickerView = (TimePickerView) viewGroup2.findViewById(R.id.material_timepicker_view);
 | |
|         this.timePickerView = timePickerView;
 | |
|         timePickerView.setOnDoubleTapListener(this);
 | |
|         this.textInputStub = (ViewStub) viewGroup2.findViewById(R.id.material_textinput_timepicker);
 | |
|         this.modeButton = (MaterialButton) viewGroup2.findViewById(R.id.material_timepicker_mode_button);
 | |
|         TextView textView = (TextView) viewGroup2.findViewById(R.id.header_title);
 | |
|         int i = this.titleResId;
 | |
|         if (i != 0) {
 | |
|             textView.setText(i);
 | |
|         } else if (!TextUtils.isEmpty(this.titleText)) {
 | |
|             textView.setText(this.titleText);
 | |
|         }
 | |
|         updateInputMode(this.modeButton);
 | |
|         Button button = (Button) viewGroup2.findViewById(R.id.material_timepicker_ok_button);
 | |
|         button.setOnClickListener(new View.OnClickListener() { // from class: com.google.android.material.timepicker.MaterialTimePicker.1
 | |
|             @Override // android.view.View.OnClickListener
 | |
|             public void onClick(View view) {
 | |
|                 Iterator it = MaterialTimePicker.this.positiveButtonListeners.iterator();
 | |
|                 while (it.hasNext()) {
 | |
|                     ((View.OnClickListener) it.next()).onClick(view);
 | |
|                 }
 | |
|                 MaterialTimePicker.this.dismiss();
 | |
|             }
 | |
|         });
 | |
|         int i2 = this.positiveButtonTextResId;
 | |
|         if (i2 != 0) {
 | |
|             button.setText(i2);
 | |
|         } else if (!TextUtils.isEmpty(this.positiveButtonText)) {
 | |
|             button.setText(this.positiveButtonText);
 | |
|         }
 | |
|         Button button2 = (Button) viewGroup2.findViewById(R.id.material_timepicker_cancel_button);
 | |
|         this.cancelButton = button2;
 | |
|         button2.setOnClickListener(new View.OnClickListener() { // from class: com.google.android.material.timepicker.MaterialTimePicker.2
 | |
|             @Override // android.view.View.OnClickListener
 | |
|             public void onClick(View view) {
 | |
|                 Iterator it = MaterialTimePicker.this.negativeButtonListeners.iterator();
 | |
|                 while (it.hasNext()) {
 | |
|                     ((View.OnClickListener) it.next()).onClick(view);
 | |
|                 }
 | |
|                 MaterialTimePicker.this.dismiss();
 | |
|             }
 | |
|         });
 | |
|         int i3 = this.negativeButtonTextResId;
 | |
|         if (i3 != 0) {
 | |
|             this.cancelButton.setText(i3);
 | |
|         } else if (!TextUtils.isEmpty(this.negativeButtonText)) {
 | |
|             this.cancelButton.setText(this.negativeButtonText);
 | |
|         }
 | |
|         updateCancelButtonVisibility();
 | |
|         this.modeButton.setOnClickListener(new View.OnClickListener() { // from class: com.google.android.material.timepicker.MaterialTimePicker.3
 | |
|             @Override // android.view.View.OnClickListener
 | |
|             public void onClick(View view) {
 | |
|                 MaterialTimePicker materialTimePicker = MaterialTimePicker.this;
 | |
|                 materialTimePicker.inputMode = materialTimePicker.inputMode == 0 ? 1 : 0;
 | |
|                 MaterialTimePicker materialTimePicker2 = MaterialTimePicker.this;
 | |
|                 materialTimePicker2.updateInputMode(materialTimePicker2.modeButton);
 | |
|             }
 | |
|         });
 | |
|         return viewGroup2;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.Fragment
 | |
|     public void onViewCreated(View view, Bundle bundle) {
 | |
|         super.onViewCreated(view, bundle);
 | |
|         if (this.activePresenter instanceof TimePickerTextInputPresenter) {
 | |
|             view.postDelayed(new Runnable() { // from class: com.google.android.material.timepicker.MaterialTimePicker$$ExternalSyntheticLambda0
 | |
|                 @Override // java.lang.Runnable
 | |
|                 public final void run() {
 | |
|                     MaterialTimePicker.this.m281xac73da03();
 | |
|                 }
 | |
|             }, 100L);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /* renamed from: lambda$onViewCreated$0$com-google-android-material-timepicker-MaterialTimePicker, reason: not valid java name */
 | |
|     /* synthetic */ void m281xac73da03() {
 | |
|         TimePickerPresenter timePickerPresenter = this.activePresenter;
 | |
|         if (timePickerPresenter instanceof TimePickerTextInputPresenter) {
 | |
|             ((TimePickerTextInputPresenter) timePickerPresenter).resetChecked();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.DialogFragment, androidx.fragment.app.Fragment
 | |
|     public void onDestroyView() {
 | |
|         super.onDestroyView();
 | |
|         this.activePresenter = null;
 | |
|         this.timePickerClockPresenter = null;
 | |
|         this.timePickerTextInputPresenter = null;
 | |
|         TimePickerView timePickerView = this.timePickerView;
 | |
|         if (timePickerView != null) {
 | |
|             timePickerView.setOnDoubleTapListener(null);
 | |
|             this.timePickerView = null;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.DialogFragment, android.content.DialogInterface.OnCancelListener
 | |
|     public final void onCancel(DialogInterface dialogInterface) {
 | |
|         Iterator<DialogInterface.OnCancelListener> it = this.cancelListeners.iterator();
 | |
|         while (it.hasNext()) {
 | |
|             it.next().onCancel(dialogInterface);
 | |
|         }
 | |
|         super.onCancel(dialogInterface);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.DialogFragment, android.content.DialogInterface.OnDismissListener
 | |
|     public final void onDismiss(DialogInterface dialogInterface) {
 | |
|         Iterator<DialogInterface.OnDismissListener> it = this.dismissListeners.iterator();
 | |
|         while (it.hasNext()) {
 | |
|             it.next().onDismiss(dialogInterface);
 | |
|         }
 | |
|         super.onDismiss(dialogInterface);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.fragment.app.DialogFragment
 | |
|     public void setCancelable(boolean z) {
 | |
|         super.setCancelable(z);
 | |
|         updateCancelButtonVisibility();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.timepicker.TimePickerView.OnDoubleTapListener
 | |
|     public void onDoubleTap() {
 | |
|         this.inputMode = 1;
 | |
|         updateInputMode(this.modeButton);
 | |
|         this.timePickerTextInputPresenter.resetChecked();
 | |
|     }
 | |
| 
 | |
|     /* JADX INFO: Access modifiers changed from: private */
 | |
|     public void updateInputMode(MaterialButton materialButton) {
 | |
|         if (materialButton == null || this.timePickerView == null || this.textInputStub == null) {
 | |
|             return;
 | |
|         }
 | |
|         TimePickerPresenter timePickerPresenter = this.activePresenter;
 | |
|         if (timePickerPresenter != null) {
 | |
|             timePickerPresenter.hide();
 | |
|         }
 | |
|         TimePickerPresenter initializeOrRetrieveActivePresenterForMode = initializeOrRetrieveActivePresenterForMode(this.inputMode, this.timePickerView, this.textInputStub);
 | |
|         this.activePresenter = initializeOrRetrieveActivePresenterForMode;
 | |
|         initializeOrRetrieveActivePresenterForMode.show();
 | |
|         this.activePresenter.invalidate();
 | |
|         Pair<Integer, Integer> dataForMode = dataForMode(this.inputMode);
 | |
|         materialButton.setIconResource(((Integer) dataForMode.first).intValue());
 | |
|         materialButton.setContentDescription(getResources().getString(((Integer) dataForMode.second).intValue()));
 | |
|         materialButton.sendAccessibilityEvent(4);
 | |
|     }
 | |
| 
 | |
|     private void updateCancelButtonVisibility() {
 | |
|         Button button = this.cancelButton;
 | |
|         if (button != null) {
 | |
|             button.setVisibility(isCancelable() ? 0 : 8);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private TimePickerPresenter initializeOrRetrieveActivePresenterForMode(int i, TimePickerView timePickerView, ViewStub viewStub) {
 | |
|         if (i != 0) {
 | |
|             if (this.timePickerTextInputPresenter == null) {
 | |
|                 this.timePickerTextInputPresenter = new TimePickerTextInputPresenter((LinearLayout) viewStub.inflate(), this.time);
 | |
|             }
 | |
|             this.timePickerTextInputPresenter.clearCheck();
 | |
|             return this.timePickerTextInputPresenter;
 | |
|         }
 | |
|         TimePickerClockPresenter timePickerClockPresenter = this.timePickerClockPresenter;
 | |
|         if (timePickerClockPresenter == null) {
 | |
|             timePickerClockPresenter = new TimePickerClockPresenter(timePickerView, this.time);
 | |
|         }
 | |
|         this.timePickerClockPresenter = timePickerClockPresenter;
 | |
|         return timePickerClockPresenter;
 | |
|     }
 | |
| 
 | |
|     private Pair<Integer, Integer> dataForMode(int i) {
 | |
|         if (i == 0) {
 | |
|             return new Pair<>(Integer.valueOf(this.keyboardIcon), Integer.valueOf(R.string.material_timepicker_text_input_mode_description));
 | |
|         }
 | |
|         if (i == 1) {
 | |
|             return new Pair<>(Integer.valueOf(this.clockIcon), Integer.valueOf(R.string.material_timepicker_clock_mode_description));
 | |
|         }
 | |
|         throw new IllegalArgumentException("no icon for mode: " + i);
 | |
|     }
 | |
| 
 | |
|     public boolean addOnPositiveButtonClickListener(View.OnClickListener onClickListener) {
 | |
|         return this.positiveButtonListeners.add(onClickListener);
 | |
|     }
 | |
| 
 | |
|     public boolean removeOnPositiveButtonClickListener(View.OnClickListener onClickListener) {
 | |
|         return this.positiveButtonListeners.remove(onClickListener);
 | |
|     }
 | |
| 
 | |
|     public void clearOnPositiveButtonClickListeners() {
 | |
|         this.positiveButtonListeners.clear();
 | |
|     }
 | |
| 
 | |
|     public boolean addOnNegativeButtonClickListener(View.OnClickListener onClickListener) {
 | |
|         return this.negativeButtonListeners.add(onClickListener);
 | |
|     }
 | |
| 
 | |
|     public boolean removeOnNegativeButtonClickListener(View.OnClickListener onClickListener) {
 | |
|         return this.negativeButtonListeners.remove(onClickListener);
 | |
|     }
 | |
| 
 | |
|     public void clearOnNegativeButtonClickListeners() {
 | |
|         this.negativeButtonListeners.clear();
 | |
|     }
 | |
| 
 | |
|     public boolean addOnCancelListener(DialogInterface.OnCancelListener onCancelListener) {
 | |
|         return this.cancelListeners.add(onCancelListener);
 | |
|     }
 | |
| 
 | |
|     public boolean removeOnCancelListener(DialogInterface.OnCancelListener onCancelListener) {
 | |
|         return this.cancelListeners.remove(onCancelListener);
 | |
|     }
 | |
| 
 | |
|     public void clearOnCancelListeners() {
 | |
|         this.cancelListeners.clear();
 | |
|     }
 | |
| 
 | |
|     public boolean addOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
 | |
|         return this.dismissListeners.add(onDismissListener);
 | |
|     }
 | |
| 
 | |
|     public boolean removeOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
 | |
|         return this.dismissListeners.remove(onDismissListener);
 | |
|     }
 | |
| 
 | |
|     public void clearOnDismissListeners() {
 | |
|         this.dismissListeners.clear();
 | |
|     }
 | |
| 
 | |
|     private int getThemeResId() {
 | |
|         int i = this.overrideThemeResId;
 | |
|         if (i != 0) {
 | |
|             return i;
 | |
|         }
 | |
|         TypedValue resolve = MaterialAttributes.resolve(requireContext(), R.attr.materialTimePickerTheme);
 | |
|         if (resolve == null) {
 | |
|             return 0;
 | |
|         }
 | |
|         return resolve.data;
 | |
|     }
 | |
| 
 | |
|     public static final class Builder {
 | |
|         private Integer inputMode;
 | |
|         private CharSequence negativeButtonText;
 | |
|         private CharSequence positiveButtonText;
 | |
|         private CharSequence titleText;
 | |
|         private TimeModel time = new TimeModel();
 | |
|         private int titleTextResId = 0;
 | |
|         private int positiveButtonTextResId = 0;
 | |
|         private int negativeButtonTextResId = 0;
 | |
|         private int overrideThemeResId = 0;
 | |
| 
 | |
|         public Builder setNegativeButtonText(int i) {
 | |
|             this.negativeButtonTextResId = i;
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setNegativeButtonText(CharSequence charSequence) {
 | |
|             this.negativeButtonText = charSequence;
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setPositiveButtonText(int i) {
 | |
|             this.positiveButtonTextResId = i;
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setPositiveButtonText(CharSequence charSequence) {
 | |
|             this.positiveButtonText = charSequence;
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setTheme(int i) {
 | |
|             this.overrideThemeResId = i;
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setTitleText(int i) {
 | |
|             this.titleTextResId = i;
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setTitleText(CharSequence charSequence) {
 | |
|             this.titleText = charSequence;
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setInputMode(int i) {
 | |
|             this.inputMode = Integer.valueOf(i);
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setHour(int i) {
 | |
|             this.time.setHourOfDay(i);
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setMinute(int i) {
 | |
|             this.time.setMinute(i);
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public Builder setTimeFormat(int i) {
 | |
|             int i2 = this.time.hour;
 | |
|             int i3 = this.time.minute;
 | |
|             TimeModel timeModel = new TimeModel(i);
 | |
|             this.time = timeModel;
 | |
|             timeModel.setMinute(i3);
 | |
|             this.time.setHourOfDay(i2);
 | |
|             return this;
 | |
|         }
 | |
| 
 | |
|         public MaterialTimePicker build() {
 | |
|             return MaterialTimePicker.newInstance(this);
 | |
|         }
 | |
|     }
 | |
| }
 |