How pppscn/smsforwarder works
SmsForwarder is an Android app for monitoring device events, applying forwarding rules, and delivering messages through configurable channels. Its other major capabilities are remote device control through a local HTTP server and client, and configurable automatic tasks. The graph preserves these distinct workflows and the persistence layer; several links are documented product flows, while unsampled implementation details are left unverified.
Main entry points: SendWorker.kt Message dispatch · repository Data repositories · Core.kt Repository access · App.kt Application setup
Components 20
Event forwarding
- Device events
- Event receivers
app/src/main/kotlin/cn/ppps/forwarder/receiver/SmsReceiver.kt - Notification capture
app/src/main/kotlin/cn/ppps/forwarder/service/NotificationService.kt - Forwarding rules
app/src/main/kotlin/cn/ppps/forwarder/database/entity/Rule.kt - Message dispatch
app/src/main/kotlin/cn/ppps/forwarder/workers/SendWorker.kt - Delivery channels
app/src/main/kotlin/cn/ppps/forwarder/utils/sender
Automatic tasks
- Task editor
app/src/main/kotlin/cn/ppps/forwarder/fragment/TasksEditFragment.kt - Task scheduling
app/src/main/kotlin/cn/ppps/forwarder/utils/task/TaskUtils.kt - Task actions
app/src/main/kotlin/cn/ppps/forwarder/workers/ActionWorker.kt
Remote control
- Remote client
app/src/main/kotlin/cn/ppps/forwarder/fragment/ClientFragment.kt - HTTP server
app/src/main/kotlin/cn/ppps/forwarder/utils/HttpServerUtils.kt - Control endpoints
app/src/main/kotlin/cn/ppps/forwarder/server/controller/ContactController.kt - Device operations
app/src/main/kotlin/cn/ppps/forwarder/service/LocationService.kt
Configuration data
- App database
app/src/main/kotlin/cn/ppps/forwarder/database/AppDatabase.kt - Data repositories
app/src/main/kotlin/cn/ppps/forwarder/database/repository
Android app
- Application setup
app/src/main/kotlin/cn/ppps/forwarder/App.kt - Repository access
app/src/main/kotlin/cn/ppps/forwarder/core/Core.kt - App screens
app/src/main/kotlin/cn/ppps/forwarder/activity/MainActivity.kt
Other components
- Phone user
- Messaging services
Connections 20
- Phone user → App screens: configures
README.md - Device events → Event receivers: triggers
- Device events → Notification capture: triggers
README.md - Event receivers → Message dispatch: forwards events
README.md - Notification capture → Message dispatch: dispatches
app/src/main/kotlin/cn/ppps/forwarder/service/NotificationService.kt - Message dispatch → Forwarding rules: checks rules
README.md - Message dispatch → Delivery channels: delivers via
README.md - Delivery channels → Messaging services: sends messages
README.md - Phone user → Task editor: defines tasks
README.md - Task editor → Task scheduling: schedules
- Task scheduling → Task actions: runs actions
- Phone user → Remote client: issues commands
README.md - Remote client → HTTP server: sends requests
app/src/main/kotlin/cn/ppps/forwarder/fragment/ClientFragment.kt - HTTP server → Control endpoints: routes requests
README.md - Control endpoints → Device operations: controls device
- Application setup → Repository access: initializes
app/src/main/kotlin/cn/ppps/forwarder/App.kt - Application setup → Data repositories: creates repositories
app/src/main/kotlin/cn/ppps/forwarder/App.kt - Repository access → Data repositories: exposes
app/src/main/kotlin/cn/ppps/forwarder/core/Core.kt - Data repositories → App database: accesses
- App screens → Repository access: uses data access