How laetuz/holomarket works
HoloMarket is a legacy Android app-store client: users browse featured and categorized apps, search paginated listings, inspect app details and versions, then download an APK for installation. Separate flows support account access and settings. The graph reflects documented capabilities and sampled activity/network behavior; presenter and detail wiring not shown in the excerpts is kept at subsystem level rather than inferred in detail.
Main entry points: ApiTask.java HTTP API client · MainActivity.java Home and featured · AppListActivity.java Search and listings · AppDetailActivity.java App detail screen
Components 22
App discovery
- Home and featured
app/src/main/java/id/neotica/holomarket/ui/feature/home/MainActivity.java - Category browsing
app/src/main/java/id/neotica/holomarket/ui/feature/category/CategoriesActivity.java - Search and listings
app/src/main/java/id/neotica/holomarket/ui/feature/applist/AppListActivity.java - App data models
app/src/main/java/id/neotica/holomarket/model/AppModel.java
Account and settings
- Login flow
app/src/main/java/id/neotica/holomarket/feature/auth/login/ui/LoginActivity.java - Login presenter
app/src/main/java/id/neotica/holomarket/feature/auth/login/presenter/LoginPresenter.java - Registration flow
app/src/main/java/id/neotica/holomarket/feature/auth/register/ui/RegisterActivity.java - Registration presenter
app/src/main/java/id/neotica/holomarket/feature/auth/register/presenter/RegisterPresenter.java - Settings and logout
app/src/main/java/id/neotica/holomarket/ui/feature/settings/SettingsActivity.java - Auth preferences
app/src/main/java/id/neotica/holomarket/utils/AuthManager.java
App details and install
- App detail screen
app/src/main/java/id/neotica/holomarket/feature/detail/ui/AppDetailActivity.java - Detail presenter
app/src/main/java/id/neotica/holomarket/feature/detail/presenter/AppDetailPresenter.java - Ratings presenter
app/src/main/java/id/neotica/holomarket/feature/detail/presenter/RatingsPresenter.java - Version data
app/src/main/java/id/neotica/holomarket/model/VersionModel.java - APK download
app/src/main/java/id/neotica/holomarket/network/DownloadTask.java
Shared runtime
- HTTP API client
app/src/main/java/id/neotica/holomarket/network/ApiTask.java - Crash recovery
app/src/main/java/id/neotica/holomarket/utils/CrashCatcher.java
Other components
- Device user
- HoloMarket API
- APK file service
- Android installer
- Device storage
Connections 31
- Device user → Home and featured: opens
- Home and featured → Category browsing: opens topic
- Home and featured → HTTP API client: requests feeds
- Category browsing → HTTP API client: loads categories
- Category browsing → Search and listings: opens category
- Device user → Search and listings: searches or browses
- Search and listings → HTTP API client: requests pages
- Search and listings → App data models: maps results
- Search and listings → App detail screen: opens app
- Device user → Login flow: signs in
- Login flow → Login presenter: submits credentials
- Login presenter → Auth preferences: stores tokens
- Login presenter → HTTP API client: authenticates
- Device user → Registration flow: creates account
- Registration flow → Registration presenter: submits details
- Registration presenter → HTTP API client: registers account
- Home and featured → Settings and logout: opens settings
- Settings and logout → Auth preferences: reads or clears
- Device user → App detail screen: views app
- App detail screen → Detail presenter: requests details
- Detail presenter → HTTP API client: loads app data
- App detail screen → Ratings presenter: requests ratings
- Detail presenter → Version data: uses versions
- App detail screen → APK download: starts download
- APK download → APK file service: fetches APK
- APK download → Device storage: writes APK
- APK download → Android installer: launches install
- HTTP API client → HoloMarket API: sends requests
- HTTP API client → Auth preferences: reads auth headers
- Login flow → Crash recovery: initializes recovery
- Home and featured → Crash recovery: shows saved crash