From 6231bb18acf53342be20470d2b175fd4bb31b9ee Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Tue, 7 Nov 2017 23:34:20 -0600 Subject: Bindings: Move to a separate package These are really app-independent reusable classes. Moving them to a separate package helps avoid polluting the main app package, and makes them easier to upgrade. Signed-off-by: Jason A. Donenfeld --- .../com/wireguard/android/ObservableTreeMap.java | 66 ---------------------- 1 file changed, 66 deletions(-) delete mode 100644 app/src/main/java/com/wireguard/android/ObservableTreeMap.java (limited to 'app/src/main/java/com/wireguard/android/ObservableTreeMap.java') diff --git a/app/src/main/java/com/wireguard/android/ObservableTreeMap.java b/app/src/main/java/com/wireguard/android/ObservableTreeMap.java deleted file mode 100644 index db72d857..00000000 --- a/app/src/main/java/com/wireguard/android/ObservableTreeMap.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.wireguard.android; - -import android.databinding.MapChangeRegistry; -import android.databinding.ObservableMap; -import android.support.annotation.NonNull; - -import java.util.Map; -import java.util.TreeMap; - -/** - * Observable version of a TreeMap. Only notifies for changes made through methods, not iterators or - * views. This behavior is in line with that of ObservableArrayMap. - */ - -public class ObservableTreeMap extends TreeMap implements ObservableSortedMap { - private transient MapChangeRegistry listeners; - - @Override - public void clear() { - super.clear(); - notifyChange(null); - } - - @Override - public void addOnMapChangedCallback( - final OnMapChangedCallback, K, V> listener) { - if (listeners == null) - listeners = new MapChangeRegistry(); - listeners.add(listener); - } - - private void notifyChange(final K key) { - if (listeners != null) - listeners.notifyChange(this, key); - } - - @Override - public V put(final K key, final V value) { - final V oldValue = super.put(key, value); - notifyChange(key); - return oldValue; - } - - @Override - public void putAll(@NonNull final Map map) { - super.putAll(map); - for (final K key : map.keySet()) - notifyChange(key); - } - - @Override - public V remove(final Object key) { - final V oldValue = super.remove(key); - @SuppressWarnings("unchecked") - final K k = (K) key; - notifyChange(k); - return oldValue; - } - - @Override - public void removeOnMapChangedCallback( - final OnMapChangedCallback, K, V> listener) { - if (listeners != null) - listeners.remove(listener); - } -} -- cgit v1.3-18-gd494