.class public Lorg/greenrobot/greendao/query/LazyList; .super Ljava/lang/Object; .source "LazyList.java" # interfaces .implements Ljava/util/List; .implements Ljava/io/Closeable; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lorg/greenrobot/greendao/query/LazyList$LazyIterator; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Ljava/util/List<", "TE;>;", "Ljava/io/Closeable;" } .end annotation # instance fields .field private final cursor:Landroid/database/Cursor; .field private final daoAccess:Lorg/greenrobot/greendao/InternalQueryDaoAccess; .annotation system Ldalvik/annotation/Signature; value = { "Lorg/greenrobot/greendao/InternalQueryDaoAccess<", "TE;>;" } .end annotation .end field .field private final entities:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "TE;>;" } .end annotation .end field .field private volatile loadedCount:I .field private final lock:Ljava/util/concurrent/locks/ReentrantLock; .field private final size:I # direct methods .method constructor (Lorg/greenrobot/greendao/InternalQueryDaoAccess;Landroid/database/Cursor;Z)V .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lorg/greenrobot/greendao/InternalQueryDaoAccess<", "TE;>;", "Landroid/database/Cursor;", "Z)V" } .end annotation .line 132 invoke-direct {p0}, Ljava/lang/Object;->()V .line 133 iput-object p2, p0, Lorg/greenrobot/greendao/query/LazyList;->cursor:Landroid/database/Cursor; .line 134 iput-object p1, p0, Lorg/greenrobot/greendao/query/LazyList;->daoAccess:Lorg/greenrobot/greendao/InternalQueryDaoAccess; .line 135 invoke-interface {p2}, Landroid/database/Cursor;->getCount()I move-result p1 iput p1, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I const/4 v0, 0x0 if-eqz p3, :cond_24 .line 137 new-instance p3, Ljava/util/ArrayList; invoke-direct {p3, p1}, Ljava/util/ArrayList;->(I)V iput-object p3, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; const/4 p1, 0x0 .line 138 :goto_18 iget p3, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I if-ge p1, p3, :cond_26 .line 139 iget-object p3, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {p3, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z add-int/lit8 p1, p1, 0x1 goto :goto_18 .line 142 :cond_24 iput-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; .line 144 :cond_26 iget p1, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I if-nez p1, :cond_2d .line 145 invoke-interface {p2}, Landroid/database/Cursor;->close()V .line 148 :cond_2d new-instance p1, Ljava/util/concurrent/locks/ReentrantLock; invoke-direct {p1}, Ljava/util/concurrent/locks/ReentrantLock;->()V iput-object p1, p0, Lorg/greenrobot/greendao/query/LazyList;->lock:Ljava/util/concurrent/locks/ReentrantLock; return-void .end method .method static synthetic access$000(Lorg/greenrobot/greendao/query/LazyList;)I .registers 1 .line 45 iget p0, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I return p0 .end method # virtual methods .method public add(ILjava/lang/Object;)V .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(ITE;)V" } .end annotation .line 200 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public add(Ljava/lang/Object;)Z .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "(TE;)Z" } .end annotation .line 195 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public addAll(ILjava/util/Collection;)Z .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(I", "Ljava/util/Collection<", "+TE;>;)Z" } .end annotation .line 210 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public addAll(Ljava/util/Collection;)Z .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "+TE;>;)Z" } .end annotation .line 205 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method protected checkCached()V .registers 3 .line 161 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; if-eqz v0, :cond_5 return-void .line 162 :cond_5 new-instance v0, Lorg/greenrobot/greendao/DaoException; const-string v1, "This operation only works with cached lazy lists" invoke-direct {v0, v1}, Lorg/greenrobot/greendao/DaoException;->(Ljava/lang/String;)V throw v0 .end method .method public clear()V .registers 2 .line 215 new-instance v0, Ljava/lang/UnsupportedOperationException; invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;->()V throw v0 .end method .method public close()V .registers 2 .line 178 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->cursor:Landroid/database/Cursor; invoke-interface {v0}, Landroid/database/Cursor;->close()V return-void .end method .method public contains(Ljava/lang/Object;)Z .registers 3 .line 220 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->loadRemaining()V .line 221 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public containsAll(Ljava/util/Collection;)Z .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;)Z" } .end annotation .line 226 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->loadRemaining()V .line 227 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->containsAll(Ljava/util/Collection;)Z move-result p1 return p1 .end method .method public get(I)Ljava/lang/Object; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(I)TE;" } .end annotation .line 232 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; if-eqz v0, :cond_3f .line 233 invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v0 if-nez v0, :cond_3e .line 235 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->lock:Ljava/util/concurrent/locks/ReentrantLock; invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V .line 237 :try_start_f iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v0 if-nez v0, :cond_31 .line 239 invoke-virtual {p0, p1}, Lorg/greenrobot/greendao/query/LazyList;->loadEntity(I)Ljava/lang/Object; move-result-object v0 .line 240 iget-object v1, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v1, p1, v0}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object; .line 242 iget p1, p0, Lorg/greenrobot/greendao/query/LazyList;->loadedCount:I add-int/lit8 p1, p1, 0x1 iput p1, p0, Lorg/greenrobot/greendao/query/LazyList;->loadedCount:I .line 243 iget p1, p0, Lorg/greenrobot/greendao/query/LazyList;->loadedCount:I iget v1, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I if-ne p1, v1, :cond_31 .line 244 iget-object p1, p0, Lorg/greenrobot/greendao/query/LazyList;->cursor:Landroid/database/Cursor; invoke-interface {p1}, Landroid/database/Cursor;->close()V :try_end_31 .catchall {:try_start_f .. :try_end_31} :catchall_37 .line 248 :cond_31 iget-object p1, p0, Lorg/greenrobot/greendao/query/LazyList;->lock:Ljava/util/concurrent/locks/ReentrantLock; invoke-virtual {p1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V goto :goto_3e :catchall_37 move-exception p1 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->lock:Ljava/util/concurrent/locks/ReentrantLock; invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V throw p1 :cond_3e :goto_3e return-object v0 .line 253 :cond_3f iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->lock:Ljava/util/concurrent/locks/ReentrantLock; invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V .line 255 :try_start_44 invoke-virtual {p0, p1}, Lorg/greenrobot/greendao/query/LazyList;->loadEntity(I)Ljava/lang/Object; move-result-object p1 :try_end_48 .catchall {:try_start_44 .. :try_end_48} :catchall_4e .line 257 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->lock:Ljava/util/concurrent/locks/ReentrantLock; invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V return-object p1 :catchall_4e move-exception p1 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->lock:Ljava/util/concurrent/locks/ReentrantLock; invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V throw p1 .end method .method public getLoadedCount()I .registers 2 .line 186 iget v0, p0, Lorg/greenrobot/greendao/query/LazyList;->loadedCount:I return v0 .end method .method public indexOf(Ljava/lang/Object;)I .registers 3 .line 277 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->loadRemaining()V .line 278 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->indexOf(Ljava/lang/Object;)I move-result p1 return p1 .end method .method public isClosed()Z .registers 2 .line 182 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->cursor:Landroid/database/Cursor; invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z move-result v0 return v0 .end method .method public isEmpty()Z .registers 2 .line 283 iget v0, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I if-nez v0, :cond_6 const/4 v0, 0x1 goto :goto_7 :cond_6 const/4 v0, 0x0 :goto_7 return v0 .end method .method public isLoadedCompletely()Z .registers 3 .line 190 iget v0, p0, Lorg/greenrobot/greendao/query/LazyList;->loadedCount:I iget v1, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I if-ne v0, v1, :cond_8 const/4 v0, 0x1 goto :goto_9 :cond_8 const/4 v0, 0x0 :goto_9 return v0 .end method .method public iterator()Ljava/util/Iterator; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Iterator<", "TE;>;" } .end annotation .line 288 new-instance v0, Lorg/greenrobot/greendao/query/LazyList$LazyIterator; const/4 v1, 0x0 invoke-direct {v0, p0, v1, v1}, Lorg/greenrobot/greendao/query/LazyList$LazyIterator;->(Lorg/greenrobot/greendao/query/LazyList;IZ)V return-object v0 .end method .method public lastIndexOf(Ljava/lang/Object;)I .registers 3 .line 293 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->loadRemaining()V .line 294 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->lastIndexOf(Ljava/lang/Object;)I move-result p1 return p1 .end method .method public bridge synthetic listIterator()Ljava/util/ListIterator; .registers 2 .line 45 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->listIterator()Lorg/greenrobot/greendao/query/CloseableListIterator; move-result-object v0 return-object v0 .end method .method public listIterator(I)Ljava/util/ListIterator; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(I)", "Ljava/util/ListIterator<", "TE;>;" } .end annotation .line 309 new-instance v0, Lorg/greenrobot/greendao/query/LazyList$LazyIterator; const/4 v1, 0x0 invoke-direct {v0, p0, p1, v1}, Lorg/greenrobot/greendao/query/LazyList$LazyIterator;->(Lorg/greenrobot/greendao/query/LazyList;IZ)V return-object v0 .end method .method public listIterator()Lorg/greenrobot/greendao/query/CloseableListIterator; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lorg/greenrobot/greendao/query/CloseableListIterator<", "TE;>;" } .end annotation .line 299 new-instance v0, Lorg/greenrobot/greendao/query/LazyList$LazyIterator; const/4 v1, 0x0 invoke-direct {v0, p0, v1, v1}, Lorg/greenrobot/greendao/query/LazyList$LazyIterator;->(Lorg/greenrobot/greendao/query/LazyList;IZ)V return-object v0 .end method .method public listIteratorAutoClose()Lorg/greenrobot/greendao/query/CloseableListIterator; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lorg/greenrobot/greendao/query/CloseableListIterator<", "TE;>;" } .end annotation .line 304 new-instance v0, Lorg/greenrobot/greendao/query/LazyList$LazyIterator; const/4 v1, 0x0 const/4 v2, 0x1 invoke-direct {v0, p0, v1, v2}, Lorg/greenrobot/greendao/query/LazyList$LazyIterator;->(Lorg/greenrobot/greendao/query/LazyList;IZ)V return-object v0 .end method .method protected loadEntity(I)Ljava/lang/Object; .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(I)TE;" } .end annotation .line 264 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->cursor:Landroid/database/Cursor; invoke-interface {v0, p1}, Landroid/database/Cursor;->moveToPosition(I)Z move-result v0 if-eqz v0, :cond_2a .line 268 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->daoAccess:Lorg/greenrobot/greendao/InternalQueryDaoAccess; iget-object v1, p0, Lorg/greenrobot/greendao/query/LazyList;->cursor:Landroid/database/Cursor; const/4 v2, 0x0 const/4 v3, 0x1 invoke-virtual {v0, v1, v2, v3}, Lorg/greenrobot/greendao/InternalQueryDaoAccess;->loadCurrent(Landroid/database/Cursor;IZ)Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_15 return-object v0 .line 270 :cond_15 new-instance v0, Lorg/greenrobot/greendao/DaoException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Loading of entity failed (null) at position " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Lorg/greenrobot/greendao/DaoException;->(Ljava/lang/String;)V throw v0 .line 266 :cond_2a new-instance v0, Lorg/greenrobot/greendao/DaoException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Could not move to cursor location " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Lorg/greenrobot/greendao/DaoException;->(Ljava/lang/String;)V throw v0 .end method .method public loadRemaining()V .registers 3 .line 153 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->checkCached()V .line 154 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 const/4 v1, 0x0 :goto_a if-ge v1, v0, :cond_12 .line 156 invoke-virtual {p0, v1}, Lorg/greenrobot/greendao/query/LazyList;->get(I)Ljava/lang/Object; add-int/lit8 v1, v1, 0x1 goto :goto_a :cond_12 return-void .end method .method public peak(I)Ljava/lang/Object; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(I)TE;" } .end annotation .line 168 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; if-eqz v0, :cond_9 .line 169 invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object p1 return-object p1 :cond_9 const/4 p1, 0x0 return-object p1 .end method .method public remove(I)Ljava/lang/Object; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "(I)TE;" } .end annotation .line 314 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public remove(Ljava/lang/Object;)Z .registers 2 .line 319 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public removeAll(Ljava/util/Collection;)Z .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;)Z" } .end annotation .line 324 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public retainAll(Ljava/util/Collection;)Z .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;)Z" } .end annotation .line 329 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public set(ILjava/lang/Object;)Ljava/lang/Object; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(ITE;)TE;" } .end annotation .line 334 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public size()I .registers 2 .line 339 iget v0, p0, Lorg/greenrobot/greendao/query/LazyList;->size:I return v0 .end method .method public subList(II)Ljava/util/List; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(II)", "Ljava/util/List<", "TE;>;" } .end annotation .line 344 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->checkCached()V move v0, p1 :goto_4 if-ge v0, p2, :cond_c .line 346 invoke-virtual {p0, v0}, Lorg/greenrobot/greendao/query/LazyList;->get(I)Ljava/lang/Object; add-int/lit8 v0, v0, 0x1 goto :goto_4 .line 348 :cond_c iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0, p1, p2}, Ljava/util/List;->subList(II)Ljava/util/List; move-result-object p1 return-object p1 .end method .method public toArray()[Ljava/lang/Object; .registers 2 .line 353 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->loadRemaining()V .line 354 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->toArray()[Ljava/lang/Object; move-result-object v0 return-object v0 .end method .method public toArray([Ljava/lang/Object;)[Ljava/lang/Object; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "([TT;)[TT;" } .end annotation .line 359 invoke-virtual {p0}, Lorg/greenrobot/greendao/query/LazyList;->loadRemaining()V .line 360 iget-object v0, p0, Lorg/greenrobot/greendao/query/LazyList;->entities:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object p1 return-object p1 .end method