How bazsalanszky/eternity works
Eternity is an Android client for browsing and engaging with Lemmy communities. The principal user journey is opening a feed, exploring posts and communities, then taking actions such as voting, saving, subscribing, or commenting. Separate areas cover account switching and inbox/profile content, plus themes and media handling. The README documents these capabilities, but sampled source excerpts are limited; the graph therefore uses broad source directories for documented subsystems and only depicts specific service/API wiring where an excerpt supports it.
Main entry points: ViewImageOrGifActivity.java Media viewing · LemmyAPI.java Lemmy API · MainActivity.java Main feeds · ViewSubredditDetailActivity.java Community views
Components 20
Browse Lemmy
- Main feeds
app/src/main/java/eu/toldi/infinityforlemmy/activities/MainActivity.java - Community views
app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewSubredditDetailActivity.java - Search and discovery
app/src/main/java/eu/toldi/infinityforlemmy/activities/SearchActivity.java - Lemmy API
app/src/main/java/eu/toldi/infinityforlemmy/apis/LemmyAPI.java - Post and comment views
app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewPostDetailActivity.java
Content actions
- Votes and saves
app/src/main/java/eu/toldi/infinityforlemmy/VoteThing.java - Comment workflows
app/src/main/java/eu/toldi/infinityforlemmy/comment/SendComment.java - Post submission
app/src/main/java/eu/toldi/infinityforlemmy/services/SubmitPostService.java
Accounts and inbox
- Account management
app/src/main/java/eu/toldi/infinityforlemmy/account/AccountRepository.java - Sign in
app/src/main/java/eu/toldi/infinityforlemmy/activities/LoginActivity.java - Inbox and messages
app/src/main/java/eu/toldi/infinityforlemmy/activities/InboxActivity.java - Profile content
app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewUserDetailActivity.java - Local app data
app/src/main/java/eu/toldi/infinityforlemmy/RedditDataRoomDatabase.java
Customization
- Themes and settings
app/src/main/java/eu/toldi/infinityforlemmy/activities/CustomizeThemeActivity.java - Theme preview
app/src/main/java/eu/toldi/infinityforlemmy/activities/CustomThemePreviewActivity.java
Media features
- Media viewing
app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewImageOrGifActivity.java - Media downloads
app/src/main/java/eu/toldi/infinityforlemmy/services/DownloadMediaService.java - Video downloads
app/src/main/java/eu/toldi/infinityforlemmy/services/DownloadRedditVideoService.java - Reddit API
app/src/main/java/eu/toldi/infinityforlemmy/apis/RedditAPI.java
Other components
- App user
Connections 20
- App user → Main feeds: opens feeds
- App user → Community views: explores communities
- App user → Search and discovery: discovers content
- App user → Post and comment views: opens posts
- App user → Votes and saves: engages
- App user → Comment workflows: comments
- App user → Post submission: creates posts
- App user → Sign in: signs in
- App user → Inbox and messages: checks inbox
- App user → Profile content: views profile
- App user → Themes and settings: customizes
- App user → Media viewing: views media
- Main feeds → Lemmy API: requests feeds
- Community views → Lemmy API: requests community
- Search and discovery → Lemmy API: searches
- Post submission → Reddit API: submits gallery
- Themes and settings → Theme preview: previews theme
- Media viewing → Media downloads: downloads media
- Media viewing → Video downloads: downloads video
- Account management → Local app data: persists account data