How aquamarine5/chaoxingsignfaker works
ChaoxingSignFaker is an Android app for completing Chaoxing course and group sign-ins, including location, photo, QR, gesture, captcha, face-recognition, and multi-account workflows. Users navigate courses or groups, choose a sign-in method, provide any required evidence or verification, and submit through the app’s signing layer to Chaoxing. The tree and README establish several capabilities, but excerpts do not show all screen-to-handler wiring; those uncertain links are omitted. The optional rank-analysis integration is shown separately.
Main entry points: ChaoxingSignHandler.kt Sign coordinator · MainActivity.kt App entry · ChaoxingHttpClient.kt HTTP client · LocationSignScreen.kt Sign screens
Components 25
App navigation
- App entry
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/MainActivity.kt - Course screens
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/CourseListScreen.kt - Group screens
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/GroupListScreen.kt
Sign-in workflows
- Sign screens
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/LocationSignScreen.kt - Photo sign
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/PhotoSignScreen.kt - QR sign
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/QRCodeSignScreen.kt - Gesture sign
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/GestureSignScreen.kt - Sign coordinator
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/signer/ChaoxingSignHandler.kt - Sign methods
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/signer/ChaoxingSigner.kt - Captcha handling
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/components/CaptchaHandlerDialog.kt - Captcha prediction
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/api/ChaoxingCaptchaPredictor.kt - Face sign support
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/api/ChaoxingFaceHelper.kt
Chaoxing services
- Chaoxing APIs
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/api/ChaoxingSignHelper.kt - HTTP client
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/api/ChaoxingHttpClient.kt - Course and group APIs
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/api/ChaoxingCourseHelper.kt
Accounts and settings
- Login screen
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/LoginScreen.kt - Other accounts
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/OtherUserScreen.kt - Import account
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/ImportOtherUserActivity.kt - Client pool
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/api/ChaoxingHttpClientPool.kt - Preferences
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/screen/SettingScreen.kt - Local settings store
app/src/main/proto/datastore.proto
Rank analysis
- Rank analysis
app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/utilities/ChaoxingAnalyser.kt
Other components
- App user
- Chaoxing service
- Analysis service
Connections 23
- App user → App entry: opens
- App entry → Course screens: navigates
- App entry → Group screens: navigates
- Course screens → Sign screens: selects activity
- Group screens → Sign screens: selects activity
- Sign screens → Sign coordinator: starts sign-in
- Photo sign → Sign coordinator: submits photo
- QR sign → Sign coordinator: submits QR
- Gesture sign → Sign coordinator: submits gesture
- Sign coordinator → Sign methods: dispatches sign
- Captcha handling → Captcha prediction: requests prediction
- Sign coordinator → Face sign support: updates face status
- Sign methods → Chaoxing APIs: requests sign
- Chaoxing APIs → HTTP client: uses client
- Course and group APIs → HTTP client: uses client
- HTTP client → Chaoxing service: sends requests
- Login screen → HTTP client: authenticates
- Other accounts → Client pool: loads account
- Import account → Other accounts: adds account
- Client pool → Local settings store: reads sessions
- App entry → Local settings store: loads preferences
- Preferences → Local settings store: updates preferences
- Rank analysis → Analysis service: queries rank