|
2 | 2 |
|
3 | 3 | import android.support.annotation.CallSuper;
|
4 | 4 | import android.support.annotation.NonNull;
|
5 |
| -import android.support.annotation.RestrictTo; |
6 | 5 |
|
7 | 6 | import com.google.firebase.database.DataSnapshot;
|
8 | 7 | import com.google.firebase.database.DatabaseError;
|
9 | 8 |
|
10 |
| -import java.util.Collection; |
11 |
| -import java.util.Iterator; |
| 9 | +import java.util.AbstractList; |
12 | 10 | import java.util.List;
|
13 |
| -import java.util.ListIterator; |
14 | 11 | import java.util.concurrent.CopyOnWriteArrayList;
|
15 | 12 |
|
16 | 13 | /**
|
|
19 | 16 | *
|
20 | 17 | * @param <E> a POJO class to which the DataSnapshots can be converted.
|
21 | 18 | */
|
22 |
| -public abstract class ObservableSnapshotArray<E> extends ImmutableList<DataSnapshot> { |
| 19 | +public abstract class ObservableSnapshotArray<E> extends AbstractList<DataSnapshot> { |
23 | 20 | protected final List<ChangeEventListener> mListeners = new CopyOnWriteArrayList<>();
|
24 | 21 | protected final SnapshotParser<E> mParser;
|
25 | 22 |
|
@@ -133,70 +130,13 @@ public E getObject(int index) {
|
133 | 130 | return mParser.parseSnapshot(get(index));
|
134 | 131 | }
|
135 | 132 |
|
136 |
| - @Override |
137 |
| - public int size() { |
138 |
| - return getSnapshots().size(); |
139 |
| - } |
140 |
| - |
141 |
| - @Override |
142 |
| - public boolean isEmpty() { |
143 |
| - return getSnapshots().isEmpty(); |
144 |
| - } |
145 |
| - |
146 |
| - @Override |
147 |
| - public boolean contains(Object o) { |
148 |
| - return getSnapshots().contains(o); |
149 |
| - } |
150 |
| - |
151 |
| - @Override |
152 |
| - public Iterator<DataSnapshot> iterator() { |
153 |
| - return new ImmutableIterator(getSnapshots().iterator()); |
154 |
| - } |
155 |
| - |
156 |
| - @Override |
157 |
| - public DataSnapshot[] toArray() { |
158 |
| - return getSnapshots().toArray(new DataSnapshot[getSnapshots().size()]); |
159 |
| - } |
160 |
| - |
161 |
| - @Override |
162 |
| - public boolean containsAll(Collection<?> c) { |
163 |
| - return getSnapshots().containsAll(c); |
164 |
| - } |
165 |
| - |
166 | 133 | @Override
|
167 | 134 | public DataSnapshot get(int index) {
|
168 | 135 | return getSnapshots().get(index);
|
169 | 136 | }
|
170 | 137 |
|
171 | 138 | @Override
|
172 |
| - public int indexOf(Object o) { |
173 |
| - return getSnapshots().indexOf(o); |
174 |
| - } |
175 |
| - |
176 |
| - @Override |
177 |
| - public int lastIndexOf(Object o) { |
178 |
| - return getSnapshots().lastIndexOf(o); |
179 |
| - } |
180 |
| - |
181 |
| - @Override |
182 |
| - public ListIterator<DataSnapshot> listIterator() { |
183 |
| - return new ImmutableListIterator(getSnapshots().listIterator()); |
184 |
| - } |
185 |
| - |
186 |
| - @Override |
187 |
| - public ListIterator<DataSnapshot> listIterator(int index) { |
188 |
| - return new ImmutableListIterator(getSnapshots().listIterator(index)); |
189 |
| - } |
190 |
| - |
191 |
| - /** |
192 |
| - * Guaranteed to throw an exception. Use {@link #toArray()} instead to get an array of {@link |
193 |
| - * DataSnapshot}s. |
194 |
| - * |
195 |
| - * @throws UnsupportedOperationException always |
196 |
| - */ |
197 |
| - @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) |
198 |
| - @Override |
199 |
| - public final <T> T[] toArray(T[] a) { |
200 |
| - throw new UnsupportedOperationException(); |
| 139 | + public int size() { |
| 140 | + return getSnapshots().size(); |
201 | 141 | }
|
202 | 142 | }
|
0 commit comments