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 super S> 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 super S> 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();