aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
43 hoursFix viewer timer and lifecycle review findingsDanilo M.1-8/+18
- tick() refreshes lastTick on every tick, so a failed video no longer advances at once with its whole playback time. - Photo timer counts only once the photo is shown (or failed), so a slow load cannot advance before display. - Slides started while the activity is stopped stay paused and stopped; onStart re-prepares them. - toggleLike error UI guard no longer indexes a replaced playlist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursDocument build, deploy and test commandsDanilo M.2-4/+27
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursAdd settings screenDanilo M.1-0/+62
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursFix viewer review findingsDanilo M.2-14/+59
- Reels paging: drop page callbacks after destroy or a replaced playlist - Scope Glide loads to views and clear them in onDestroy (no deprecated Glide.with(Activity)) - Stop the player in onStop, re-prepare in onStart - Photo timer uses real elapsed time and starts when the photo is on screen - Reels: continue past the old last post when a new page arrives; "No reels" when empty - Likes: ordered single-thread executor, newer toggle wins on error, no "null" in toast - Note the unbounded frame grab limitation Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursAdd fullscreen viewer with blurred backdrop, auto-advance and double-OK likesDanilo M.1-0/+364
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursFix lifecycle, focus loss, crossfade and tab race review findingsDanilo M.3-17/+54
- MainActivity: remove rotate callbacks in onDestroy, ignore connect results once destroyed, rotate the background only while resumed, guard the fade end action. - HomeRows: each row owns one TileAdapter over a mutable list; rebinds refill it and notifyDataSetChanged instead of setAdapter, so focus and scroll survive a sample arriving (change payload keeps the holder). - Crossfade: flip front only on onResourceReady, cancel the animation before resetting alpha. - Tab loads ignore errors from a tab that is no longer shown; Home does not fire a second /folders request while one is in flight. - Load the instance logo after login in connect(). - FolderActivity: request grid focus after layout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursAdd main screen with top bar, Home rows, Liked and Folders tabsDanilo M.3-0/+390
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursFocus the first action, ignore an empty URL, reset tile zoom on rebindDanilo M.2-1/+8
Review follow-ups: after a failed scan or connect nothing had focus, so the first D-pad press was swallowed; an empty manual URL produced a confusing "Cannot reach http://" error; a recycled tile could keep the 1.08 focus zoom. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursAdd LAN discovery and instance pickerDanilo M.4-1/+452
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursAdd Foldergram API client, likes set and playlist hand-offDanilo M.3-2/+275
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursAdd post parsing, URL helpers, health check and double-OK logic with testsDanilo M.5-0/+289
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursAdd Android project skeleton and Docker buildDanilo M.28-0/+468
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursUse the /images/:id/like alias, present on older instances tooDanilo M.2-2/+3
The live instance predates /api/posts/:id/like; upstream keeps the /images alias. The instance also has no carousel fields, which Post already handles by falling back to the top-level media. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursPlan: strip the trailing newline from the password fileDanilo M.1-1/+1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 hoursPlan: read the viewer password from /tmp/mygram.pwDanilo M.1-5/+6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
44 hoursAdd implementation planDanilo M.1-0/+2616
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
44 hoursSpec: top bar layout with Foldergram logo as HomeDanilo M.1-2/+13
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
44 hoursSpec: prefer icons over text buttonsDanilo M.1-1/+15
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
44 hoursAdd approved app design specDanilo M.2-11/+180
Design for the Android TV client: instance discovery by subnet scan, viewer-password login, Home rows with blurred rotating background, Reels, Liked and Folders tabs, and a fullscreen viewer with blurred backdrop, auto-advance, progress bar and double-OK likes. AGENTS.md now points at the spec instead of listing open decisions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
44 hoursInitial commit: project docs and licenseDanilo M.4-0/+446
Native Android TV client for browsing a self-hosted Foldergram instance. Adds AGENTS.md with scope, target device and open decisions, a thin CLAUDE.md pointing at it, README and the GPLv2 license. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>