How infinityabir/snap2do works
Snap2Do is a native Android app that turns imported screenshots into reviewed, executable actions. Users import an image or sample preset, receive Gemini-produced structured analysis, review and edit proposed action fields, then confirm an action that launches a native Android intent; execution status is retained in local history. The graph reflects the README’s documented workflow and capabilities; implementation excerpts were not provided, so unsampled internals and unverified links are omitted.
Main entry points: ScreenshotActionApp.kt App entry · AppDatabase.kt Room database · importscreen Screenshot import · action Action confirmation
Components 21
App experience
- App entry
app/src/main/java/com/example/ScreenshotActionApp.kt - Screenshot import
app/src/main/java/com/example/ui/screens/importscreen - Sample presets
app/src/main/java/com/example/data/model/SampleScreenshotPreset.kt - Analysis results
app/src/main/java/com/example/ui/screens/analysis - Action confirmation
app/src/main/java/com/example/ui/screens/action - History browsing
app/src/main/java/com/example/ui/screens/history - Onboarding settings
app/src/main/java/com/example/ui/screens/settings - Paywall
app/src/main/java/com/example/ui/screens/paywall
Screenshot analysis
- Analysis models
app/src/main/java/com/example/data/model/ActionModels.kt - Analysis repository
app/src/main/java/com/example/data/repository/AnalysisRepository.kt - Gemini vision
app/src/main/java/com/example/data/remote/GeminiVisionServiceImpl.kt - Gemini service
app/src/main/java/com/example/data/remote/GeminiService.kt
Action handling
- Action executor
app/src/main/java/com/example/domain/ActionExecutor.kt - Field validator
app/src/main/java/com/example/domain/Validator.kt
Local data
- Room database
app/src/main/java/com/example/data/local/AppDatabase.kt - Stored entities
app/src/main/java/com/example/data/local/entity/Entities.kt - Analysis and action DAOs
app/src/main/java/com/example/data/local/dao/Daos.kt - User preferences
app/src/main/java/com/example/data/local/PreferencesManager.kt
Other components
- User
- Gemini Vision API
- Android apps
Connections 23
- User → App entry: opens
README.md - App entry → Screenshot import: navigates to
README.md - User → Screenshot import: imports screenshot
README.md - Screenshot import → Sample presets: offers samples
README.md - Screenshot import → Analysis repository: submits image
README.md - Analysis repository → Gemini vision: requests analysis
README.md - Gemini vision → Gemini service: uses service
README.md - Gemini service → Gemini Vision API: sends image
README.md - Gemini vision → Analysis models: parses result
README.md - Analysis repository → Room database: stores analysis
README.md - App entry → Analysis results: navigates to
README.md - Analysis results → Action confirmation: reviews proposal
README.md - Action confirmation → Field validator: validates fields
README.md - Action confirmation → Action executor: confirms action
README.md - Action executor → Android apps: launches intents
README.md - Action executor → Room database: saves execution status
README.md - History browsing → Room database: browses history
README.md - Room database → Analysis and action DAOs: uses DAOs
README.md - Room database → Stored entities: stores entities
README.md - App entry → History browsing: navigates to
README.md - App entry → Onboarding settings: navigates to
README.md - App entry → Paywall: navigates to
README.md - Onboarding settings → User preferences: stores preferences
README.md