2019-09-04 18:07:59 -04:00

43 lines
1.5 KiB
Java

/*
* Copyright 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.android.material.datepicker;
import androidx.fragment.app.Fragment;
import java.util.LinkedHashSet;
abstract class PickerFragment<S> extends Fragment {
protected final LinkedHashSet<OnSelectionChangedListener<S>> onSelectionChangedListeners =
new LinkedHashSet<>();
abstract DateSelector<S> getDateSelector();
/** Adds a listener for selection changes. */
boolean addOnSelectionChangedListener(OnSelectionChangedListener<S> listener) {
return onSelectionChangedListeners.add(listener);
}
/** Removes a listener for selection changes. */
boolean removeOnSelectionChangedListener(OnSelectionChangedListener<S> listener) {
return onSelectionChangedListeners.remove(listener);
}
/** Removes all listeners for selection changes. */
void clearOnSelectionChangedListeners() {
onSelectionChangedListeners.clear();
}
}