[Android Q&A, Help & Troubleshooting] fcortes626:
So Long story short i have an android 4.1 double din in my car and i briked it. How? There is a setting called

model select and that setting does something to the MCU and when i selected the model (there was only 1) and the unit rebooted all native apps force close. Settings application opens but when i try to factory reset, update software, update MCU, or select model it force closes. I did manage to root the device and install terminal emulator and root explorer. the update files fro the system are encrypted and we dont know of any other way to update the Mcu to another version. So that is why i am here. to see if anyone could help and maybe reverse engineer and figure out how setting aplication updates the MCU.

I did decompile settings apk and found this in /smali/com/android/settings/AutoSettings.smali

const-string v1, "mcu_update"

invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v0

if-eqz v0, :cond_2

new-instance v0, Landroid/app/AlertDialog$Builder;

invoke-virtual {p0}, Lcom/android/settings/AutoSettings;->getActivity()Landroid/app/Activity;

move-result-object v1

invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V

invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder;

move-result-object v0

const v1, 0x7f0b068e

invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder;

move-result-object v0

new-instance v1, Lcom/android/settings/aK;

invoke-direct {v1, p0}, Lcom/android/settings/aK;-><init>(Lcom/android/settings/AutoSettings;)V

invoke-virtual {v0, v3, v1}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

move-result-object v0

invoke-virtual {v0, v4, v5}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

move-result-object v0

invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog;

goto :goto_0

:cond_2
invoke-virtual {p2}, Landroid/preference/Preference;->getKey()Ljava/lang/String;

move-result-object v0

in res/values/public.xml i found this: (Note: car update is Model Choose in strings.xml)

<public type="string" name="mcu_version" id="0x7f0b067e" />
<public type="string" name="mcu_version_default" id="0x7f0b067f" />
<public type="string" name="mcu_update_title" id="0x7f0b068c" />
<public type="string" name="mcu_update_summary" id="0x7f0b068d" />
<public type="string" name="sure_mcu_update" id="0x7f0b068e" />
<public type="string" name="car_update_title" id="0x7f0b06a4" />
<public type="string" name="car_update_summary" id="0x7f0b06a5" />
<public type="string" name="sure_car_update" id="0x7f0b06a6" />

in smali/com/android/settings/CarActivity.smali i found this

.method protected onListItemClick(Landroid/widget/ListView;Landroid/view/View;IJ)V
.locals 3

new-instance v0, Landroid/app/AlertDialog$Builder;

invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V

const v1, 0x1080027

invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setIcon(I)Landroid/app/AlertDialog$Builder;

move-result-object v0

const v1, 0x7f0b06a6

invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder;

move-result-object v0

const v1, 0x7f0b03d4

new-instance v2, Lcom/android/settings/by;

invoke-direct {v2, p0, p3}, Lcom/android/settings/by;-><init>(Lcom/android/settings/CarActivity;I)V

invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

move-result-object v0

const v1, 0x7f0b03d5

const/4 v2, 0x0

invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

move-result-object v0

invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog;

return-void
.end method

thats probably as far as i can get since i dont know much and nothing about smali. so if some one could help please do so thanks :fingers-crossed: