Modify it in multisimpreferenceactivity. java.
Modify 1: function ischecked () Private Boolean ischecked (string preference, int sim_id ){
Sharedpreferences prefs = preferencemanager. getdefasharsharedpreferences (this );
If (mintentpreference. Equals (smspreferenceactivity. sms_delivery_report_mode )){
Return prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + smspreferenceactivity. sms_delivery_report_mode, false );
} Else if (mintentpreference. Equals (mmspreferenceactivity. mms_delivery_report_mode )){
Return prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + mmspreferenceactivity. mms_delivery_report_mode, false );
} Else if (mintentpreference. Equals (mmspreferenceactivity. auto_retrieval )){
Return prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + mmspreferenceactivity. auto_retrieval, true );
} Else if (mintentpreference. Equals (mmspreferenceactivity. read_report_mode )){
If (featureoption. evdo_dt_support & isusimtype (INT) (mlistsiminfo. Get (sim_id). getslot ())){
(Msimpreferenceslist. Get (mlistsiminfo. Get (sim_id). getslot (). setenabled (false );
Return false;
}
Return prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + mmspreferenceactivity. read_report_mode, false );
} Else if (mintentpreference. Equals (mmspreferenceactivity. retrieval_during_roaming )){
If (prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + mmspreferenceactivity. auto_retrieval, true) = false ){
(Msimpreferenceslist. Get (mlistsiminfo. Get (sim_id). getslot (). setenabled (false );
}
Return prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + mmspreferenceactivity. retrieval_during_roaming, false );
} Else if (mintentpreference. Equals (mmspreferenceactivity. read_report_auto_reply )){
If (featureoption. evdo_dt_support & isusimtype (INT) (mlistsiminfo. Get (sim_id). getslot ())){
(Msimpreferenceslist. Get (mlistsiminfo. Get (sim_id). getslot (). setenabled (false );
Return false;
}
Return prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + mmspreferenceactivity. read_report_auto_reply, false );
** Add start **
} Else if (mintentpreference. Equals (mmspreferenceactivity. mms_enable_to_send_delivery_report )){
Return prefs. getboolean (long. tostring (mlistsiminfo. Get (sim_id). getsimid () + "_" + mmspreferenceactivity. mms_enable_to_send_delivery_report, false );
** End of adding **
}
Return true;
}
Modify 2: function onpreferencetreeclick () Public Boolean onpreferencetreeclick (preferencescreen, preference ){
Int I = 0;
Int currentslotid =-1;
Long currentsimid =-1;
Currentslotid = msimpreferenceslist. indexof (preference );
For (siminfo: mlistsiminfo ){
If (siminfo. getslot () = currentslotid ){
Currentsimid = siminfo. getsimid ();
Break;
}
}
Log. D (TAG, "onpreferencetreeclick [slotid]" + currentslotid );
Log. D (TAG, "onpreferencetreeclick [simid]" + currentsimid );
Sharedpreferences. Editor editor = preferencemanager. getdefasharsharedpreferences (this). Edit ();
If (mintentpreference. Equals (smspreferenceactivity. sms_delivery_report_mode )){
Editor. putboolean (long. tostring (currentsimid) + "_" + smspreferenceactivity. sms_delivery_report_mode,
(Advancedcheckboxpreference) preference). ischecked ());
} Else if (mintentpreference. Equals (mmspreferenceactivity. mms_delivery_report_mode )){
Editor. putboolean (long. tostring (currentsimid) + "_" + mmspreferenceactivity. mms_delivery_report_mode,
(Advancedcheckboxpreference) preference). ischecked ());
} Else if (mintentpreference. Equals (mmspreferenceactivity. auto_retrieval )){
Editor. putboolean (long. tostring (currentsimid) + "_" + mmspreferenceactivity. auto_retrieval,
(Advancedcheckboxpreference) preference). ischecked ());
} Else if (mintentpreference. Equals (mmspreferenceactivity. read_report_mode )){
Editor. putboolean (long. tostring (currentsimid) + "_" + mmspreferenceactivity. read_report_mode,
(Advancedcheckboxpreference) preference). ischecked ());
} Else if (mintentpreference. Equals (mmspreferenceactivity. retrieval_during_roaming )){
Editor. putboolean (long. tostring (currentsimid) + "_" + mmspreferenceactivity. retrieval_during_roaming,
(Advancedcheckboxpreference) preference). ischecked ());
} Else if (mintentpreference. Equals (mmspreferenceactivity. read_report_auto_reply )){
Editor. putboolean (long. tostring (currentsimid) + "_" + mmspreferenceactivity. read_report_auto_reply,
(Advancedcheckboxpreference) preference). ischecked (); ** add start **
} Else if (mintentpreference. Equals (mmspreferenceactivity. mms_enable_to_send_delivery_report )){
Editor. putboolean (long. tostring (currentsimid) + "_" + mmspreferenceactivity. mms_enable_to_send_delivery_report,
(Advancedcheckboxpreference) preference). ischecked ());
** End of adding **
}
Editor. Apply ();
Return super. onpreferencetreeclick (preferencescreen, preference );
}