aboutsummaryrefslogtreecommitdiffstats
path: root/app
AgeCommit message (Collapse)AuthorFilesLines
46 hoursOptional app PIN, settings header, pink selection ringDanilo M.10-19/+244
- A PIN (4 to 8 digits, salted SHA-256 in prefs) set in Settings shows a logo splash with a PIN prompt at start and whenever the app returns after leaving the screen; Back there leaves the app. - Settings gets the back-arrow header shared with the folder grid (Ui.header) and scrolls, since the PIN fields overflow the screen. - Tile and list focus rings use the icon pink. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 hoursDo not clip the focus zoom of icon buttonsDanilo M.1-1/+2
The scaled icon draws into the button padding, which was clipped, so the full-bleed app logo lost its edges. The current-view mark moves down 2dp to clear the zoom. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 hoursPink scaled focus, current-view mark, app logo as HomeDanilo M.4-36/+45
From on-device testing: the grey focus box looked heavy, the current tab was not visible once focus moved into the content, and "Settings" was clipped. Focus now scales the icon and tints it with the logo pink; a pink bar marks the current view; the label is WRAP_CONTENT (the vertical default, MATCH_PARENT, did not widen its box). Home uses the app logo instead of loading Foldergram's from the instance. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 hoursAdd a launcher icon and banner: a photo glyph on a TVDanilo M.3-4/+30
Replaces the generic folder icon. Foldergram's own logo cannot be bundled (AGPLv3 asset in a GPLv2-only APK), so this is an original vector drawing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 hoursBack icon in folder view, softer focus, Back returns to HomeDanilo M.6-4/+44
From on-device testing: the folder grid had no visible way back, the white focus ring on icons was harsh, and Back on the Liked or Folders tab closed the app. Icon buttons now get a soft rounded highlight, tiles a thinner translucent ring, and Back leaves the app only from Home. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 hoursLazy-load folder content in random page orderDanilo M.6-54/+145
A folder with several thousand posts took ~10 s to open because FolderActivity and the Home row OK handler fetched every page before showing anything. Pages are now fetched one at a time in a shuffled page order (each page shuffled locally), the grid shows after the first page, and the viewer shares the list and pager so it keeps paging the folder. Reels use the same generic pager. Not a full shuffle: neighbours within a page stay together. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 hoursMask password fields, submit login from the keyboard, size picker entriesDanilo M.2-4/+11
setSingleLine() after setInputType() reset the password transformation, so the viewer password showed in clear text in setup and settings. On the TV the on-screen keyboard keeps the D-pad, so the keyboard done key now logs in. Instance entries wrap their text so the focus zoom no longer clips the first letter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 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>
46 hoursAdd settings screenDanilo M.1-0/+62
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 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>
46 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>
46 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>
46 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>
46 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>
47 hoursAdd LAN discovery and instance pickerDanilo M.4-1/+452
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 hoursAdd Foldergram API client, likes set and playlist hand-offDanilo M.3-2/+275
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 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>
47 hoursAdd Android project skeleton and Docker buildDanilo M.25-0/+398
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>