[Xperia Z Q&A, Help & Troubleshooting] norborae:
Hello.

Before ask I did a lot of researching in 2 days but unfortunately it did not success.

The question:

An encrypted android phone will ask password when boot the system.

I have a xperia android phone and I set the language to english,

but on the password screen it always load language (chinese) from my sim card.

How can I set the specific language of this screen?

Basiclly I want inject the boot process.

Things I found:

1. Languages setting are stored in /data/property/persist.sys.language,

but it's on the decrypted fs,

on the password screen /data will mount to tmpfs so it won't be load from here.

2. Sim language are stored in prop gsm.sim.operator.iso-country and gsm.operator.iso-country,

and managed by telephonymanager,

can see some releated codes by searching PROPERTY_ICC_OPERATOR_ISO_COUNTRY and ACTION_SIM_STATE_CHANGED.

3. Then I patched /system/bin/mount and /system/bin/setprop,

let them call "setprop persist.sys.language us" after "realcommand $@"

but looks like android not use these command during the boot process.

There's another way to do:

1. decompress and modify telephony-common.odex,

but it's signed, if I modify it the system wont boot.

2. modify kernel.sin and init.rc, require the factory reset so I didn't try yet,

I even not sure set persist.sys.language will work.

Log:

<quote>

D/PhoneStatusBarPolicy( 995): updateSimState for subscription :0

I/PowerManagerService( 734): Boot animation finished.

I/ActivityManager( 734): Config changes=1400 {1.0 ?mcc?mnc en_US ldltr sw360dp w360dp h567dp 320dpi nrml port finger -keyb/v/h -nav/h skinPackageSeq.1 s.6}

D/QcConnectivityService( 734): getMobileDataEnabled returning true

D/StatusBar.NetworkController( 995): In updateSimIcon simState= ABSENT

D/StatusBar.NetworkController( 995): refreshViews: Data not connected!! Set no data type icon / Roaming

D/PhoneStatusBarPolicy( 995): updateSimState for subscription :0

D/StatusBar.NetworkController( 995): In updateSimIcon simState= READY

D/StatusBar.NetworkController( 995): refreshViews: Data not connected!! Set no data type icon / Roaming

D/PhoneStatusBarPolicy( 995): updateSimState for subscription :0

D/StatusBar.NetworkController( 995): In updateSimIcon simState= UNKNOWN

D/StatusBar.NetworkController( 995): refreshViews: Data not connected!! Set no data type icon / Roaming

D/PhoneStatusBarPolicy( 995): updateSimState for subscription :0

D/StatusBar.NetworkController( 995): refreshViews: Data not connected!! Set no data type icon / Roaming

I/ActivityManager( 734): Config changes=3404 {1.0 ?mcc?mnc zh_CN ldltr sw360dp w360dp h567dp 320dpi nrml port finger -keyb/v/h -nav/h skinPackageSeq.1 s.7}

I/WifiService( 734): WifiService trying to set country code to cn with persist set to true

I/InputMethodManagerService( 734): Selected default: com.sonyericsson.textinput.chinese/.glue.InputMethodServiceGlue

I/ActivityManager( 734): Config changes=1403 {1.0 460mcc2mnc zh_CN ldltr sw360dp w360dp h567dp 320dpi nrml port finger -keyb/v/h -nav/h skinPackageSeq.1 s.8}

W/InputMethodManagerService( 734): Illegal subtype state: old subtype = null, new subtype = null

D/QcConnectivityService( 734): getMobileDataEnabled returning true

D/StatusBar.NetworkController( 995): refreshViews: Data not connected!! Set no data type icon / Roaming

D/StatusBar.NetworkController( 995): refreshViews: Data not connected!! Set no data type icon / Roaming

D/StatusBar.NetworkController( 995): In updateSimIcon simState= UNKNOWN

</auote>

If you have any experience about it please help me, thanks !