diff options
Diffstat (limited to 'app/src/main/java/mygram/droid/Api.java')
| -rw-r--r-- | app/src/main/java/mygram/droid/Api.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/app/src/main/java/mygram/droid/Api.java b/app/src/main/java/mygram/droid/Api.java index f603b1b..c7d08eb 100644 --- a/app/src/main/java/mygram/droid/Api.java +++ b/app/src/main/java/mygram/droid/Api.java @@ -35,6 +35,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.Callable; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -46,6 +47,9 @@ final class Api { static final ExecutorService IO = Executors.newFixedThreadPool(4); private static final int TIMEOUT_MS = 15000; private static final int PAGE = 60; + /** Folder slug to picture URL, filled by folders(); the viewer reads it. */ + // ponytail: empty until a folder list has loaded once, so the viewer then shows the name alone. + static final Map<String, String> AVATARS = new ConcurrentHashMap<>(); private Api() { } @@ -161,6 +165,9 @@ final class Api { List<Folder> out = new ArrayList<>(); for (int i = 0; i < items.length(); i++) out.add(new Folder(items.getJSONObject(i), Prefs.server())); + for (Folder f : out) + if (f.avatarUrl != null) + AVATARS.put(f.slug, f.avatarUrl); out.sort((a, b) -> Long.compare(b.latest, a.latest)); return out; } |
