Skip to content

Commit 6617342

Browse files
committed
[DatePicker] Make picker not final and expose onPositiveButtonClick and onNegativeButtonClick
Resolves #1688 PiperOrigin-RevId: 651106986
1 parent fa5224e commit 6617342

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed

lib/java/com/google/android/material/datepicker/MaterialDatePicker.java

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
* developer guidance and design
7575
* guidelines.
7676
*/
77-
public final class MaterialDatePicker<S> extends DialogFragment {
77+
public class MaterialDatePicker<S> extends DialogFragment {
7878

7979
private static final String OVERRIDE_THEME_RES_ID = "OVERRIDE_THEME_RES_ID";
8080
private static final String DATE_SELECTOR_KEY = "DATE_SELECTOR_KEY";
@@ -344,17 +344,7 @@ public final View onCreateView(
344344
confirmButton.setContentDescription(
345345
getContext().getResources().getText(positiveButtonContentDescriptionResId));
346346
}
347-
confirmButton.setOnClickListener(
348-
new View.OnClickListener() {
349-
@Override
350-
public void onClick(View v) {
351-
for (MaterialPickerOnPositiveButtonClickListenersuper S> listener :
352-
onPositiveButtonClickListeners) {
353-
listener.onPositiveButtonClick(getSelection());
354-
}
355-
dismiss();
356-
}
357-
});
347+
confirmButton.setOnClickListener(this::onPositiveButtonClick);
358348

359349
Button cancelButton = root.findViewById(R.id.cancel_button);
360350
cancelButton.setTag(CANCEL_BUTTON_TAG);
@@ -369,19 +359,35 @@ public void onClick(View v) {
369359
cancelButton.setContentDescription(
370360
getContext().getResources().getText(negativeButtonContentDescriptionResId));
371361
}
372-
cancelButton.setOnClickListener(
373-
new View.OnClickListener() {
374-
@Override
375-
public void onClick(View v) {
376-
for (View.OnClickListener listener : onNegativeButtonClickListeners) {
377-
listener.onClick(v);
378-
}
379-
dismiss();
380-
}
381-
});
362+
cancelButton.setOnClickListener(this::onNegativeButtonClick);
382363
return root;
383364
}
384365

366+
/**
367+
* Called when the positive button on the picker has been clicked.
368+
*
369+
* @param view The view that was clicked.
370+
*/
371+
public void onPositiveButtonClick(@NonNull View view) {
372+
for (MaterialPickerOnPositiveButtonClickListenersuper S> listener :
373+
onPositiveButtonClickListeners) {
374+
listener.onPositiveButtonClick(getSelection());
375+
}
376+
dismiss();
377+
}
378+
379+
/**
380+
* Called when the negative button on the picker has been clicked.
381+
*
382+
* @param view The view that was clicked.
383+
*/
384+
public void onNegativeButtonClick(@NonNull View view) {
385+
for (View.OnClickListener listener : onNegativeButtonClickListeners) {
386+
listener.onClick(view);
387+
}
388+
dismiss();
389+
}
390+
385391
@Override
386392
public void onStart() {
387393
super.onStart();

0 commit comments

Comments
 (0)