diff options
Diffstat (limited to 'main/src/cgeo/geocaching/utils/LazyInitializedList.java')
| -rw-r--r-- | main/src/cgeo/geocaching/utils/LazyInitializedList.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/utils/LazyInitializedList.java b/main/src/cgeo/geocaching/utils/LazyInitializedList.java index 27649e8..e607919 100644 --- a/main/src/cgeo/geocaching/utils/LazyInitializedList.java +++ b/main/src/cgeo/geocaching/utils/LazyInitializedList.java @@ -1,7 +1,10 @@ package cgeo.geocaching.utils; +import org.eclipse.jdt.annotation.NonNull; + import java.util.AbstractList; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.Callable; @@ -9,6 +12,7 @@ public abstract class LazyInitializedList<ElementType> extends AbstractList<Elem private volatile List<ElementType> list; + @NonNull private List<ElementType> getList() { if (list == null) { synchronized(this) { @@ -20,6 +24,10 @@ public abstract class LazyInitializedList<ElementType> extends AbstractList<Elem } catch (final Exception e) { Log.e("LazyInitializedList.getList", e); } + if (list == null) { + Log.e("LazyInitializedList.getList: using an empty list as a fallback"); + list = Collections.emptyList(); + } } } return list; |
