From 3b56d6d596d957836de3bcd45b83cdca2fab56c7 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sat, 28 May 2016 10:16:21 -0400 Subject: [PATCH] Add missing file --- .../uhabits/models/ModelObservable.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 app/src/main/java/org/isoron/uhabits/models/ModelObservable.java diff --git a/app/src/main/java/org/isoron/uhabits/models/ModelObservable.java b/app/src/main/java/org/isoron/uhabits/models/ModelObservable.java new file mode 100644 index 000000000..a8f12cab7 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/models/ModelObservable.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.models; + +import java.util.LinkedList; +import java.util.List; + +public class ModelObservable +{ + List listeners; + + public ModelObservable() + { + super(); + listeners = new LinkedList<>(); + } + + public interface Listener + { + void onModelChange(); + } + + public void addListener(Listener l) + { + listeners.add(l); + } + + public void removeListener(Listener l) + { + listeners.remove(l); + } + + void notifyListeners() + { + for(Listener l : listeners) l.onModelChange(); + } +}