Skip to content

Custom icons for Android#2023

Merged
sictiru merged 2 commits intomainfrom
android-custom-icons
Jan 19, 2026
Merged

Custom icons for Android#2023
sictiru merged 2 commits intomainfrom
android-custom-icons

Conversation

@samuelclay
Copy link
Copy Markdown
Owner

Display custom icons (emoji, preset, or uploaded images) for folders and feeds throughout the Android app. Icons are set via web/iOS and synced to Android for display only.

Features:

  • Parse folder_icons and feed_icons from /reader/feeds API response
  • Render emoji icons using Canvas text drawing
  • Render uploaded icons by decoding base64 PNG data
  • Render preset icons from bundled assets (heroicons-solid, lucide)
  • Apply optional color tinting to preset icons
  • Cache rendered icons in LruCache for performance
  • Persist icons to SQLite for immediate display on app launch

Display locations updated:

  • Main feed/folder list (FolderListAdapter)
  • Feed chooser for widgets (FeedChooserAdapter)
  • Story list toolbar (FeedItemsList, FolderItemsList)
  • Reading view toolbar (FeedReading, FolderReading)
  • Story row feed icons (StoryViewAdapter)
  • Reading item header (ReadingItemFragment)

Display custom icons (emoji, preset, or uploaded images) for folders and
feeds throughout the Android app. Icons are set via web/iOS and synced
to Android for display only.

Features:
- Parse folder_icons and feed_icons from /reader/feeds API response
- Render emoji icons using Canvas text drawing
- Render uploaded icons by decoding base64 PNG data
- Render preset icons from bundled assets (heroicons-solid, lucide)
- Apply optional color tinting to preset icons
- Cache rendered icons in LruCache for performance
- Persist icons to SQLite for immediate display on app launch

Display locations updated:
- Main feed/folder list (FolderListAdapter)
- Feed chooser for widgets (FeedChooserAdapter)
- Story list toolbar (FeedItemsList, FolderItemsList)
- Reading view toolbar (FeedReading, FolderReading)
- Story row feed icons (StoryViewAdapter)
- Reading item header (ReadingItemFragment)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@samuelclay samuelclay requested a review from sictiru January 8, 2026 00:01
Copy link
Copy Markdown
Collaborator

@sictiru sictiru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of the .png files need to be converted to WebP format. This can easily be done in Android Studio. The default 75% encoding quality will suffice. It will save ~135kb in the final bundle that gets downloaded by each user.
Otherwise LGTM.

@sictiru
Copy link
Copy Markdown
Collaborator

sictiru commented Jan 19, 2026

Pushed up the updated webp assets.

@sictiru sictiru merged commit fa7a684 into main Jan 19, 2026
1 check passed
@sictiru sictiru deleted the android-custom-icons branch January 19, 2026 18:05
@samuelclay
Copy link
Copy Markdown
Owner Author

Thanks for handling those!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants