Add temp docs
This commit is contained in:
52
README.md
52
README.md
@@ -1,2 +1,52 @@
|
||||
# app_ConfigProvisioner
|
||||
# Config Provisioner
|
||||
|
||||
## Overview
|
||||
Config Provisioner is an Android system service and broadcast receiver designed to automate device provisioning based on vendor-specific configuration. On device boot, it checks for a vendor configuration file (`/vendor/etc/config_provisioner/vendor.cfg`). If provisioning is enabled and a valid APK URL is provided, it downloads and installs a configuration APK, then configures the device setup wizard according to vendor preferences.
|
||||
|
||||
### Key Features
|
||||
- Runs automatically on boot (including locked boot)
|
||||
- Checks for vendor configuration file
|
||||
- Downloads and installs a configuration APK if required
|
||||
- Configures Android Setup Wizard (enables/disables, marks setup complete)
|
||||
- Persists provisioning state to avoid repeated runs
|
||||
|
||||
## Vendor Configuration File Format
|
||||
The vendor configuration file is located at `/vendor/etc/config_provisioner/vendor.cfg`. It is a simple key-value file with one setting per line. Lines starting with `#` are comments and ignored.
|
||||
|
||||
### Supported Keys
|
||||
- `enable_setup_wizard` (boolean: `true`/`false`/`1`/`0`)
|
||||
- Enables or disables the Android Setup Wizard after provisioning.
|
||||
- `enable_provisioning` (boolean: `true`/`false`/`1`/`0`)
|
||||
- Enables or disables the provisioning process.
|
||||
- `vendor_id` (string)
|
||||
- Identifier for the vendor/device.
|
||||
- `network_timeout` (integer, milliseconds)
|
||||
- Timeout for network operations (e.g., APK download).
|
||||
- `config_apk_url` (string, URL)
|
||||
- URL to the configuration APK to be downloaded and installed.
|
||||
|
||||
### Example
|
||||
```
|
||||
# Vendor configuration for Config Provisioner
|
||||
enable_setup_wizard=false
|
||||
enable_provisioning=true
|
||||
vendor_id=acme_corp
|
||||
network_timeout=30000
|
||||
config_apk_url=https://example.com/config/acme_config.apk
|
||||
```
|
||||
|
||||
## Default Values
|
||||
If a key is missing, the following defaults are used:
|
||||
- `enable_setup_wizard`: true
|
||||
- `enable_provisioning`: true
|
||||
- `network_timeout`: 30000
|
||||
- `config_apk_url`: https://default.example.com/config.apk
|
||||
|
||||
## Logging & Debugging
|
||||
The service logs all configuration values and provisioning steps to logcat under the tags `ConfigProvisioner` and `VendorConfig`.
|
||||
|
||||
## Permissions
|
||||
The app requires system-level permissions to install packages, access network state, receive boot events, and modify setup wizard state.
|
||||
|
||||
## License
|
||||
|
||||
|
Reference in New Issue
Block a user