Please make the following changes in Multisimpreferenceactivity.java, please feedback the results after verification.
Altogether modified 2. Modification 1: function isChecked ()Private Boolean isChecked (String preference,int sim_id) {
Sharedpreferences prefs = preferencemanager.getdefaultsharedpreferences (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);
* * Increase 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);
* * Added End * *
}
return true;
}
Modification 2: Function Onpreferencetreeclick () public boolean Onpreferencetreeclick (Preferencescreen preferencescreen, Preference Pre Ference) {
int i = 0;
int currentslotid =-1;
Long currentsimid =-1;
Currentslotid = msimpreferenceslist.indexof (preference);
for (Siminfo 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.getdefaultsharedpreferences (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 ());* * Increase 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 ());
* * Added End * *
}
Editor.apply ();
Return Super.onpreferencetreeclick (preferencescreen, preference);
}
When inserting a dual sim on the Android TDD platform, check the option to return the report, remove the tick, and do not work