SettingsStorage
Settings[edit | edit source]
DataManager[edit | edit source]
A lot of runtime settings live in the DataManager framework. These are stored in SQLite databases on the /extdata Partition.
These are not writen from the Java layer, but via JNI (libdatamanager_jni.so) and some libraries written in C++ (libdatamgr{service,sqlitedb,testmode}.so)
On an Appradio4 for example, these exist:
BTPresetInfo.db OtherInfo.db PlayResumeInfo.db SettingInfo.db SXILogoInfo.db TagDataInfo.db
For each of the databases, a bakDATABASE and a DATABASE-journal exist (where DATABASE is e.g. OtherInfo.db).
The schema of these tables is:
CREATE TABLE datamgrtb (id TEXT primary key not null, value BLOB, crc INTEGER);
We know thus far:
- The table name is always datamgrtb
- id is of the format x##y#z#tags#name (more on this later)
- crc is a plain old CRC32 of the data in blob
Entry format[edit | edit source]
x is a number. It corresponds to the file where the setting is stored:
File | x Number |
---|---|
BTPresetInfo.db | 3 |
OtherInfo.db | 6 |
PlayResumeInfo.db | 1 |
SettingInfo.db | 2 |
SXILogoInfo.db | 5* |
TagDataInfo.db | 4* |
*: Inferred from order of strings in DataManager binary
y and z are also numbers. We've seen 1 and 2 used.
The tags may be multiple strings (separated by a #) which give the system an indication of what to do with the setting. The following have been observed:
Tag | Meaning |
---|---|
A | Delete this value on restart. (Mnemonic: "When car's ACC key position is turned off") |
B | Delete this value on re-init. (Mnemonic: "When car's Battery is turned off") |
P | Delete this value on "Power Off" (unclear what this means). |
FAL | |
FBT | |
FS | |
FT |
Known Settings[edit | edit source]
Setting | Value | Meaning |
---|---|---|
6##1#1#A#B#FAL#MODESMARTPHONECONFIRM | 0x01 | User has confirmed the Smartphone Warning |
... please help by completing this list with what you find
Properties[edit | edit source]
Some Android properties influence the run-time behaviour of AVIC units. Most notably:
Setting | Value | Meaning |
---|---|---|
build.type | user | Don't show HDCP settings in Developer Debug menu (set in build.prop) |
sys.pioneer.misc.navi_pl_cation | sys.pioneer.navi_pl_on | Don't show navi prompt |
sys.pioneer.navi_pl_off | Show navi prompt (?) | |
sys.catch.modelinfo | AVN, (and then maybe more) | Whether to start HomeActivityNavi or HomeActivityAVH |
sys.modelinfo | J, (and then maybe more) | If it's a Japan model (and needs to show the Caution screen as 4sec interstitial) |
NOR[edit | edit source]
Some device specific setting live in /dev/mtd/mtd1