Config glossary (Mason OS 3)
system
config_boot_on_power
os.configuration.system.config_boot_on_power
Allows the device to boot to Mason OS at power instead of staying at charger mode. The device will boot after a safe battery threshold. This threshold is device dependent. If disabled, the device will boot to charger mode.
Types: boolean
config_usb_host_enabled
os.configuration.system.config_usb_host_enabled
Sets the device to enable or disable the usb host. By default it is enabled, allowing for any device to be connected. Disabling prevents all devices from connecting over USB but still allows charging.
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 1
config_recovery_factory_reset_enabled
os.configuration.system.config_recovery_factory_reset_enabled
Sets the device to enable or disable the Wipe Data/Factory reset option on the recovery menu. If disabled, the option will not be visible or executable. By default it is enabled, showing the option on the recovery menu and allowing it's execution.
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 1
android
config_wifiOnly
os.configuration.android.config_wifiOnly
Flag indicating whether the device should ignore cellular and use wifi only
Types: boolean
config_globalActionsList
os.configuration.android.config_globalActionsList
Defines the default set of global actions. Actions may still be disabled or hidden based on the current state of the device. Each item must be one of the following strings: "power" = Power off "settings" = An action to launch settings "airplane" = Airplane mode toggle "bugreport" = Take bug report, if available "silent" = silent mode "users" = list of users "restart" = restart device
Types: array
config_supportAutoRotation
os.configuration.android.config_supportAutoRotation
If true, enables auto-rotation features using the accelerometer. Otherwise, auto-rotation is disabled. Applications may still request to use specific orientations but the sensor is ignored and sensor-based orientations are not available. Furthermore, all auto-rotation related settings are omitted from the system UI. In certain situations we may still use the accelerometer to determine the orientation, such as when docked if the dock is configured to enable the accelerometer.
Types: boolean
config_lowBatteryWarningLevel
os.configuration.android.config_lowBatteryWarningLevel
Display low battery warning when battery level dips to this value
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 15
config_minimumScreenOffTimeout
os.configuration.android.config_minimumScreenOffTimeout
Set the minimum user activity timeout, in milliseconds. The specified value becomes a lower bound for the SCREEN_OFF_TIMEOUT system setting which determines how soon the device will go to sleep when there is no user activity. This value must be greater than 0
.
Most importantly, the system uses the greater of config_minimumScreenOffTimeout
and SCREEN_OFF_TIMEOUT
setting in calculating the screen off timeout.
NOTES:
- The default value of the
SCREEN_OFF_TIMEOUT
system setting is 60 seconds - Despite the name of this config, when this timeout expires the device enters a low power state first. This implies that the screen may not turn off immediately, but rather be dimmed first, and then later turned off after an internal timeout expires. This cannot currently be controlled
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 10000
config_longPressOnPowerBehavior
os.configuration.android.config_longPressOnPowerBehavior
Control the behavior when the user long presses the power button. 0 - Nothing 1 - Global actions menu 2 - Power off (with confirmation) 3 - Power off (without confirmation) 100 - Send a broadcast with action "com.bymason.platform.LONG_PRESS_POWER"
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 1
config_notifications_block_list
os.configuration.android.config_notifications_block_list
Block a package from posting notifications.
Types: array
config_shortPressOnPowerBehavior
os.configuration.android.config_shortPressOnPowerBehavior
Controls the behavior when the user short presses the power button.
Value | Behavior when the power button is pressed |
0 | Do nothing; presses are completely ignored. The device does not go to sleep or into doze mode. |
1 (default) | This is the system default. This will cause the device to go to sleep, but not before going through a doze mode phase. |
2 | This will cause the device to skip Android's doze mode and go directly to sleep. |
3 | This will cause the device to skip Android's doze more and go directly to sleep. This will also cause the launcher application to be brought to the foreground. |
100 | Do nothing and send a broadcast with action "com.bymason.platform.SHORT_PRESS_POWER". |
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 3
config_doublePressOnPowerBehavior
os.configuration.android.config_doublePressOnPowerBehavior
Control the behavior when the user double presses the power button. 0 - Nothing 1 - Toggle theater mode setting 2 - Brightness boost
Types: integer, string (0[xX][0-9a-fA-F]8)0
config_triplePressOnPowerBehavior
os.configuration.android.config_triplePressOnPowerBehavior
Control the behavior when the user triple presses the power button. 0 - Nothing 1 - Toggle theater mode setting 2 - Brightness boost
Types: integer, string (0[xX][0-9a-fA-F]8)0
config_criticalBatteryWarningLevel
os.configuration.android.config_criticalBatteryWarningLevel
Display low battery warning when battery level dips to this value. Also, the battery stats are flushed to disk when we hit this level.
Types: integer, string (0[xX][0-9a-fA-F]8)Default: 5
config_screenBrightnessSettingDefault
os.configuration.android.config_screenBrightnessSettingDefault
Default screen brightness setting. Must be in the range specified by minimum and maximum.
Types: integer, string (0[xX][0-9a-fA-F]8)Default: 102
config_nonBlockableNotificationPackages
os.configuration.android.config_nonBlockableNotificationPackages
An array of packages for which notifications cannot be blocked.
Types: array
config_cameraDoubleTapPowerGestureEnabled
os.configuration.android.config_cameraDoubleTapPowerGestureEnabled
Allow the gesture to double tap the power button twice to start the camera while the device is non-interactive.
Types: boolean
Default: true
quick_settings_tiles_default
os.configuration.systemui.quick_settings_tiles_default
The default tiles to display in QuickSettings
Types: string
Default: "cell,wifi,bt,airplane"
systemui
config_quickSettingsTilesEditable
os.configuration.systemui.config_quickSettingsTilesEditable
Whether or not to enable QuickSettings options deletion, addition or rearrange.
Types: boolean
Default: true
config_showDeviceMonitoredWarning
os.configuration.systemui.config_showDeviceMonitoredWarning
Whether or not to show the device monitored warning in QuickSettings.
Types: boolean
Default: true
config_keyguardShowPhoneAffordance
os.configuration.systemui.config_keyguardShowPhoneAffordance
Show phone affordance on Keyguard
Types: boolean
Default: true
config_keyguardShowCameraAffordance
os.configuration.systemui.config_keyguardShowCameraAffordance
Show camera affordance on Keyguard
Types: boolean
Default: true
config_quickSettingsAppSettingsEnable
os.configuration.systemui.config_quickSettingsAppSettingsEnable
Whether or not to show the Settings App access in QuickSettings.
Types: boolean
Default: true
config_quickSettingsClockSettingEnable
os.configuration.systemui.config_quickSettingsClockSettingEnable
Whether or not to enable the Clock Settings App access in QuickSettings.
Types: boolean
Default: true
mason-core
config_xray_notify
os.configuration.mason-core.config_xray_notify
Whether to show a persistent notification while an X-Ray session is active
Types: boolean
Default: true
config_xray_enabled
os.configuration.mason-core.config_xray_enabled
Whether to enable the Mason X-Ray remote access feature
Types: boolean
Default: true
config_location_polling
os.configuration.mason-core.config_location_polling
Whether to allow the device(s) to report location to the Mason Dashboard.
Types: boolean
Default: true
config_locate_check_frequency
os.configuration.mason-core.config_locate_check_frequency
If config_location_polling is allowed, the frequency (in hours) of how often to report location information
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 24
config_destructive_commands_package
os.configuration.mason-core.config_destructive_commands_package
If specified, this package will be notified of destructive commands sent from the platform. Destructive commands include: REFURBISH, WIPE
Types: string
mason-fota
config_update_install_time
os.configuration.mason-fota.config_update_install_time
Target 24 hour install time for OS updates that have been downloaded. (needs to be between 0-23 for the hour and 0-60 for the minute, delimited with a colon or -1 for immediate install after update check)
Types: string
Default: "-1"
config_prompt_timeout_count
os.configuration.mason-fota.config_prompt_timeout_count
The time (in seconds) a user has before the pending update runs automatically from the update prompt.
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 60
config_install_prompt_package
os.configuration.mason-fota.config_install_prompt_package
Normally, OTA updates (for both project configurations as well as the operating system itself) are installed automatically by the system based upon the rules specified in the mason-fota
section of the project configuration YML. When the OTA is about to be installed, the device displays a dialog box with a countdown indicating as such. There may be instances where such a prompt may be inappropriate or undesirable (for instance, a tablet used in a healthcare setting should not reboot and update itself while in use).
This configuration allows you to specify the package name of an application that will instead be responsible for being notified of and subsequently initiating OTA installations.
If the package name represents a valid application currently on the device, that application will receive an intent broadcast from the system when it is time for an OTA installation. The intent will contain a string extra named "target_uuid"
which must be saved for later use. The intent filter shown here can be used to receive the broadcast (see right).
It is then up to the application specified to communicate when it is ready to do an install by calling masonamerica.platform.FotaManagerPrivileged#requestInstall(uuid)
via the Mason Framework API, passing in the value of the "target_uuid"
extra from earlier as a parameter.
NOTES:
- The intent is sent just prior to when the system would have normally attempted an automatic installation. Hence, any install times or check frequencies specified in the YML will still be in effect
- If this package name does not resolve to a valid application, the system will default to the usual configured behavior
- There should only ever be a single system update, so whenever a uuid is provided, any previous one may be discarded. Once
requestInstall()
is called, the uuid should be discarded - If empty or omitted, the system reverts to default OTA installation behavior
Types: string
config_update_check_frequency
os.configuration.mason-fota.config_update_check_frequency
The frequency for which to check for updates from boot, default is 24 hours
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 24
config_update_check_when_idle
os.configuration.mason-fota.config_update_check_when_idle
When true, only performs update checks when the device is idle. Note that this is incompatible with and will override config_update_check_backoff_period.
Types: boolean
config_update_check_network_type
os.configuration.mason-fota.config_update_check_network_type
NETWORK_TYPE_ANY The default update check network type, allows checks over any network Constant Value: 1 (0x00000001) NETWORK_TYPE_UNMETERED The update check requires network connectivity that is unmetered. Constant Value: 2 (0x00000002) NETWORK_TYPE_NOT_ROAMING The update check requires network connectivity that is not roaming. Constant Value: 3 (0x00000003)
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 1
config_default_connection_timeout
os.configuration.mason-fota.config_default_connection_timeout
The default connection timeout for the mason endpoint
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 60
config_update_check_when_charging
os.configuration.mason-fota.config_update_check_when_charging
When true, only performs update checks when the device is charging
Types: boolean
config_allow_download_over_metered
os.configuration.mason-fota.config_allow_download_over_metered
When true, performs application downloads over a metered network
Types: boolean
Default: true
config_update_check_backoff_period
os.configuration.mason-fota.config_update_check_backoff_period
The exponential backoff period in hours for a failed update check. Defaults to 5 hours. This configuration has no effect when config_update_check_when_idle is set to true.
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 5
config_show_download_in_downloads_ui
os.configuration.mason-fota.config_show_download_in_downloads_ui
When true, shows the applications downloads in the downloads ui of the OS
Types: boolean
config_update_prompt_prior_to_install
os.configuration.mason-fota.config_update_prompt_prior_to_install
Whether to prompt prior to fota install, if enabled a user has N (see config_prompt_timeout_count) seconds to cancel a pending update before it runs automatically.
Types: boolean
Default: true
config_update_install_battery_threshold
os.configuration.mason-fota.config_update_install_battery_threshold
Minimum battery level (as percentage) required for an update to be installed.
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 20
config_show_download_progress_as_notification
os.configuration.mason-fota.config_show_download_progress_as_notification
When true, shows the application download progress as a persistent notification
Types: boolean
mason-management
disable_camera
os.configuration.mason-management.disable_camera
Flag indicating whether or not to disable camera functionality
Types: boolean
hidden_packages
os.configuration.mason-management.hidden_packages
When a package is hidden it is unavailable for use, but the data and actual package file remain.
Types: array
disable_keyguard
os.configuration.mason-management.disable_keyguard
If set to True, the default lockscreen (swipe to unlock) will be disabled. Upon first boot after deploying the config, the device will still display the swipe lock screen only once. However, the lock screen will be no longer displayed subsequently after it was dismissed. When used in conjunction with 'direct_boot_package' and 'disable_keyguard,' the specified application will open directly after a device reboot, eliminating the need for an intermediate screen (keyguard/lock screen). If set to 'False,' upon device boot or wake-up, the keyguard (default lock screen) will be displayed first, requiring the user to swipe up before accessing the Mason OS. Note: If the user set a pin or pattern or password and fingerprint, this config will not disable that type of keyguard.
Types: boolean
disable_status_bar
os.configuration.mason-management.disable_status_bar
If True, the status will not be accessible system-wide. Pulling down from the top of the device will not render the status bar. If False, the status bar will be accessible by pulling down from the top of the device.
Types: boolean
lock_task_packages
os.configuration.mason-management.lock_task_packages
A white-list of package names of applications that can be pinned to the screen via context.setLockTaskMode() or via lockTaskMode in the manifest. For use by customers.
Types: array
config_global_proxy
os.configuration.mason-management.config_global_proxy
Value indicating the network-independent global HTTP proxy of the type specified config_global_proxy_type
. See the documentation for config_global_proxy_type
for more information.
Types: string
direct_boot_package
os.configuration.mason-management.direct_boot_package
The package name of the application to directly launch upon boot. The package name must refer to a valid Android application that follows the standard Android mechanism to mark a single "launchable" activity in its manifest.
Types: string
cert_installer_package
os.configuration.mason-management.cert_installer_package
The package name of the app to be set as a certificate installer.
Types: string
config_adb_public_keys
os.configuration.mason-management.config_adb_public_keys
List of ADB public keys that should be added to the system. This can be used to pre-authorize keys for known users. Removing a value here does not remove it from Android automatically.
Types: array
disable_screen_capture
os.configuration.mason-management.disable_screen_capture
Flag indicating whether or not to disable screen capture. If set to true
, then all screen capture actions including X-Ray Remote Control and Take Screenshot will not work.
The default is false
.
Types: boolean
config_global_proxy_type
os.configuration.mason-management.config_global_proxy_type
Sets a network-independent global HTTP proxy of a given type. This is useful for general internal/corporation-wide filtering scenarios. On a private network where the proxy is NOT accessible for any reason, this could break HTTP on a device. This value is ignored if config_global_proxy
is not set. Allowed values are: 'direct' - Specifies a direct proxy via host and port. It requires specification of config_global_proxy
and parses the latter as host[:port]
'pac' - This is used to specify proxy auto-config (PAC). It requires specification of config_global_proxy
and parses the latter as a URL to a PAC file. 'none' - This is the same as not specifying this configuration at all. The value of config_global_proxy
, if set, is ignored. This is the default. NOTE: Typical HTTP proxies are generally network dependent. This setting is not on a per-network basis, but rather has a global effect. NOTE 2: This proxy is only a recommendation and it is possible that some apps, especially native apps or those that use custom HTTP client implementations will ignore it. @see https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setRecommendedGlobalProxy(android.content.ComponentName,%20android.net.ProxyInfo)
@see https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file
Types: string
Default: "none"
default_keyboard_package
os.configuration.mason-management.default_keyboard_package
The package name of the keyboard to set as the default keyboard.
NOTES:
- The package name must refer to a valid Android application that follows the standard Android mechanism for declaring input methods.
- The package must be included in the app section as part of the config. See apps for how an Android application is included into the software build.
Types: string
enable_ime_with_hard_keyboard
os.configuration.mason-management.enable_ime_with_hard_keyboard
Flag indicating whether the soft input keyboard must be shown when a text input field is in focus even when an external keyboard is connected (such as an external Bluetooth hardware keyboard or a Bluetooth barcode scanner that uses the input device profile.)
Types: boolean
autogrant_runtime_permissions_packages
os.configuration.mason-management.autogrant_runtime_permissions_packages
Android does not always grant all permissions requested by an application in its Android manifest. For instance, runtime permissions (or permissions marked as "development") are never granted automatically. A common development-time workaround is to assign such permissions to applications via adb shell pm grant <pkg> <perm>
. This configuration value specifies an array of package names of apps that wish to be granted such permissions automatically without requiring the use of adb
. Note that each of the applications corresponding to the packages indicated below must specify each of these permissions also within their manifest (AndroidManifest.xml) for this to work correctly. Use with care as this allows for privilege escalation.
Types: array
default_runtime_permissions_grant_policy
os.configuration.mason-management.default_runtime_permissions_grant_policy
Sets the default permission grant policy for future runtime permission requests by apps that are installed either via config deployments, app deployments or adb
. Allowed values are: 'autogrant': Permission policy to always grant new permission requests for runtime permissions. Already granted or denied permissions are not affected. 'autodeny' : Permission policy to always deny new permission requests for runtime permissions. Already granted or denied permissions are not affected. 'prompt' : Permission policy to always prompt the user for new permission requests for runtime permissions. Already granted or denied permissions are not affected. NOTE: If this configuration key is omitted or has an invalid value, it defaults to 'prompt'. See also: autogrant_runtime_permissions_packages
Types: stringDefault: "prompt"
config_allow_install_from_unknown_sources
os.configuration.mason-management.config_allow_install_from_unknown_sources
Flag indicating whether or not to allow installation of apps from unknown sources
Types: boolean
mason-app-updater
config_update_install_time
os.configuration.mason-app-updater.config_update_install_time
Target 24 hour install time for application updates that have been downloaded. (needs to be between 0-23 for the hour and 0-60 for the minute, delimited with a colon or -1 for immediate install after update check)
Types: string
Default: "-1"
config_update_check_at_boot
os.configuration.mason-app-updater.config_update_check_at_boot
When true, performs an update check for all the packages at boot up regardless of other policies.
Types: boolean
Default: true
config_update_check_polling
os.configuration.mason-app-updater.config_update_check_polling
When true, performs polling update checks as defined by the config_update_check_frequency
Types: boolean
Default: true
config_update_check_frequency
os.configuration.mason-app-updater.config_update_check_frequency
The frequency for which to check for updates from boot, default is 24 hours
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 24
config_update_check_when_idle
os.configuration.mason-app-updater.config_update_check_when_idle
When true, only performs update checks when the device is idle. Note that this is incompatible with and will override config_update_check_backoff_period.
Types: boolean
config_update_check_network_type
os.configuration.mason-app-updater.config_update_check_network_type
NETWORK_TYPE_ANY The default update check network type, allows checks over any network Constant Value: 1 (0x00000001) NETWORK_TYPE_UNMETERED The update check requires network connectivity that is unmetered. Constant Value: 2 (0x00000002) NETWORK_TYPE_NOT_ROAMING The update check requires network connectivity that is not roaming. Constant Value: 3 (0x00000003)
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 1
config_default_connection_timeout
os.configuration.mason-app-updater.config_default_connection_timeout
The default connection timeout for the mason endpoint
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 60
config_update_check_when_charging
os.configuration.mason-app-updater.config_update_check_when_charging
When true, only performs update checks when the device is charging
Types: boolean
config_allow_download_over_metered
os.configuration.mason-app-updater.config_allow_download_over_metered
When true, performs application downloads over a metered network
Types: boolean
Default: true
config_update_check_backoff_period
os.configuration.mason-app-updater.config_update_check_backoff_period
The exponential backoff period in hours for a failed update check. Defaults to 5 hours. This configuration has no effect when config_update_check_when_idle is set to true.
Types: integer, string (0[xX][0-9a-fA-F]8)Default: 5
config_show_download_in_downloads_ui
os.configuration.mason-app-updater.config_show_download_in_downloads_ui
When true, shows the applications downloads in the downloads ui of the OS
Types: boolean
config_update_install_battery_threshold
os.configuration.mason-app-updater.config_update_install_battery_threshold
Minimum battery level (as percentage) required for an update to be installed when the device is not plugged to a power source.
Types: integer, string (0[xX][0-9a-fA-F]8)
Default: 20
config_show_download_progress_as_notification
os.configuration.mason-app-updater.config_show_download_progress_as_notification
When true, shows the application download progress as a persistent notification
Types: boolean
cellbroadcastreceiver
config_disable_all_cell_broadcast_alerts
os.configuration.cellbroadcastreceiver.config_disable_all_cell_broadcast_alerts
This configuration allows control over the default behavior of cell broadcast messages. If set to true
, these alerts (such as "presidential" or "storm warning" alerts) will be suppressed. The default is false
.
This configuration is appropriate for devices that are not intended to be used as primary communication devices.
Types: boolean