How andvipgroup/vcamera works
VCamera is an Android app for configuring camera substitution and managing apps in virtual user spaces. The main workflow is to open settings, choose a camera source and protection mode, then save configuration for the camera-substitution runtime; the README also describes photo, video, network-video, and image-transform capabilities. A separate workflow selects host apps and installs them into a virtual user space. The supplied excerpts show settings and app-management behavior, but not the camera hook or media playback implementation, so those integration details are represented only at a high level.
Main entry points: MainActivity.kt Main screen · AppsRepository.kt Apps repository · ListActivity.kt App picker · SettingFragment.java Camera settings
Components 22
Camera configuration
- Settings screen
app/src/main/java/virtual/camera/app/view/setting/SettingActivity.kt - Camera settings
app/src/main/java/virtual/camera/app/view/setting/SettingFragment.java - Media selection
app/src/main/java/virtual/camera/app/view/setting/SettingFragment.java - Saved camera configuration
app/src/main/java/virtual/camera/app/view/setting/SettingFragment.java - Camera substitution runtime
Virtual app management
- Main screen
app/src/main/java/virtual/camera/app/view/main/MainActivity.kt - App picker
app/src/main/java/virtual/camera/app/view/list/ListActivity.kt - App-list view model
app/src/main/java/virtual/camera/app/view/list/ListViewModel.kt - Virtual-space apps
app/src/main/java/virtual/camera/app/view/apps/AppsFragment.kt - Apps view model
app/src/main/java/virtual/camera/app/view/apps/AppsViewModel.kt - Apps repository
app/src/main/java/virtual/camera/app/data/AppsRepository.kt - GMS manager
app/src/main/java/virtual/camera/app/view/gms/GmsManagerActivity.kt - GMS view model
app/src/main/java/virtual/camera/app/view/gms/GmsViewModel.kt - GMS repository
app/src/main/java/virtual/camera/app/data/GmsRepository.kt - Module repository
app/src/main/java/virtual/camera/app/data/XpRepository.kt
App platform services
- App records
app/src/main/java/virtual/camera/app/bean/AppInfo.kt - User preferences
app/src/main/java/virtual/camera/app/app/AppManager.kt - Virtualization API
Environment check
- Environment demo
check_env_demo/code/MainActivity.java - Native path check
check_env_demo/code/native-lib.cpp
Other components
- User
- Camera-using app
Connections 25
- User → Main screen: opens
- Main screen → Settings screen: opens
- User → Camera settings: configures
- Camera settings → Media selection: selects media
- Camera settings → Saved camera configuration: saves settings
- Camera substitution runtime → Saved camera configuration: reads settings
- Camera substitution runtime → Camera-using app: substitutes camera
- User → App picker: chooses app
- Main screen → App picker: opens
- App picker → App-list view model: requests apps
- App-list view model → Apps repository: loads list
- Apps repository → Virtualization API: queries packages
- Apps repository → App records: creates records
- App picker → Main screen: returns selection
- Main screen → Virtual-space apps: routes install
- Virtual-space apps → Apps view model: requests actions
- Apps view model → Apps repository: delegates operations
- Apps repository → Virtualization API: installs or launches
- Apps repository → User preferences: updates ordering
- Main screen → User preferences: stores remarks
- User → GMS manager: manages GMS
- GMS manager → GMS view model: requests changes
- GMS view model → GMS repository: delegates
- User → Environment demo: runs check
- Environment demo → Native path check: calls native method