diff --git a/lib/java/com/google/android/material/datepicker/MaterialDatePicker.java b/lib/java/com/google/android/material/datepicker/MaterialDatePicker.java index bf3ecb24869..c6898a5b738 100644 --- a/lib/java/com/google/android/material/datepicker/MaterialDatePicker.java +++ b/lib/java/com/google/android/material/datepicker/MaterialDatePicker.java @@ -74,7 +74,7 @@ * developer guidance and design * guidelines. */ -public final class MaterialDatePicker extends DialogFragment { +public class MaterialDatePicker extends DialogFragment { private static final String OVERRIDE_THEME_RES_ID = "OVERRIDE_THEME_RES_ID"; private static final String DATE_SELECTOR_KEY = "DATE_SELECTOR_KEY"; @@ -344,17 +344,7 @@ public final View onCreateView( confirmButton.setContentDescription( getContext().getResources().getText(positiveButtonContentDescriptionResId)); } - confirmButton.setOnClickListener( - new View.OnClickListener() { - @Override - public void onClick(View v) { - for (MaterialPickerOnPositiveButtonClickListener listener : - onPositiveButtonClickListeners) { - listener.onPositiveButtonClick(getSelection()); - } - dismiss(); - } - }); + confirmButton.setOnClickListener(this::onPositiveButtonClick); Button cancelButton = root.findViewById(R.id.cancel_button); cancelButton.setTag(CANCEL_BUTTON_TAG); @@ -369,19 +359,35 @@ public void onClick(View v) { cancelButton.setContentDescription( getContext().getResources().getText(negativeButtonContentDescriptionResId)); } - cancelButton.setOnClickListener( - new View.OnClickListener() { - @Override - public void onClick(View v) { - for (View.OnClickListener listener : onNegativeButtonClickListeners) { - listener.onClick(v); - } - dismiss(); - } - }); + cancelButton.setOnClickListener(this::onNegativeButtonClick); return root; } + /** + * Called when the positive button on the picker has been clicked. + * + * @param view The view that was clicked. + */ + public void onPositiveButtonClick(@NonNull View view) { + for (MaterialPickerOnPositiveButtonClickListener listener : + onPositiveButtonClickListeners) { + listener.onPositiveButtonClick(getSelection()); + } + dismiss(); + } + + /** + * Called when the negative button on the picker has been clicked. + * + * @param view The view that was clicked. + */ + public void onNegativeButtonClick(@NonNull View view) { + for (View.OnClickListener listener : onNegativeButtonClickListeners) { + listener.onClick(view); + } + dismiss(); + } + @Override public void onStart() { super.onStart();