| Age | Commit message (Collapse) | Author | Files | Lines |
|
Home rows and the folder header show the folder's round picture next to
its name. Post tiles carry a photo or video mark in the top left, on a
dark dot so it reads on bright thumbnails. The viewer shows the current
post's folder picture and name in the top left; pictures come from the
last loaded folder list, so before one loads only the name shows.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Foldergram is unusably slow during a scan, so the splash (renamed from
LockActivity) now shows on every start and return to the app: PIN if
set, then it polls /api/scan-progress every 5 s and stays on "Library
is indexing" until the scan ends. Home connects only after the splash.
Builds and deploys; the indexing path is not yet tested on the TV.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
- 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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
- 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>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
- 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>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
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>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|