kopia lustrzana https://github.com/ryukoposting/Signal-Android
29 wiersze
1.3 KiB
Java
29 wiersze
1.3 KiB
Java
package org.thoughtcrime.securesms.components.settings;
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
import org.thoughtcrime.securesms.R;
|
|
import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory;
|
|
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter;
|
|
|
|
/**
|
|
* Reusable adapter for generic settings list.
|
|
*/
|
|
public class BaseSettingsAdapter extends MappingAdapter {
|
|
|
|
public BaseSettingsAdapter() {
|
|
registerFactory(SettingHeader.Item.class, SettingHeader.ViewHolder::new, R.layout.base_settings_header_item);
|
|
registerFactory(SettingProgress.Item.class, SettingProgress.ViewHolder::new, R.layout.base_settings_progress_item);
|
|
}
|
|
|
|
public void configureSingleSelect(@NonNull SingleSelectSetting.SingleSelectSelectionChangedListener selectionChangedListener) {
|
|
registerFactory(SingleSelectSetting.Item.class,
|
|
new LayoutFactory<>(v -> new SingleSelectSetting.ViewHolder(v, selectionChangedListener), R.layout.single_select_item));
|
|
}
|
|
|
|
public void configureCustomizableSingleSelect(@NonNull CustomizableSingleSelectSetting.CustomizableSingleSelectionListener selectionListener) {
|
|
registerFactory(CustomizableSingleSelectSetting.Item.class,
|
|
new LayoutFactory<>(v -> new CustomizableSingleSelectSetting.ViewHolder(v, selectionListener), R.layout.customizable_single_select_item));
|
|
}
|
|
}
|