/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
android/src/com/mapswithme/maps/base/Observable.java
35 строк
826 B
Александр Зацепин
[android] Fixed build
22 окт 2019, 15:11
22 окт 2019, 15:11
bac3808
Код
Авторство
О чём код?
package com.mapswithme.maps.base; import androidx.annotation.NonNull; import java.util.ArrayList; import java.util.List; public abstract class Observable<T extends DataChangedListener> { @NonNull private final List<T> mListeners = new ArrayList<>(); public void registerListener(@NonNull T listener) { if (mListeners.contains(listener)) throw new IllegalStateException("Observer " + listener + " is already registered."); mListeners.add(listener); } public void unregisterListener(@NonNull T listener) { int index = mListeners.indexOf(listener); if (index == -1) throw new IllegalStateException("Observer " + listener + " was not registered."); mListeners.remove(index); } protected void notifyChanged() { for (T item : mListeners) item.onChanged(); } }