Loading src/java/com/android/internal/telephony/PhoneBase.java +78 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,18 @@ public abstract class PhoneBase extends Handler implements Phone { // Key used to read/write "disable DNS server check" pref (used for testing) public static final String DNS_SERVER_CHECK_DISABLED_KEY = "dns_server_check_disabled_key"; /** * Small container class used to hold information relevant to * the carrier selection process. operatorNumeric can be "" * if we are looking for automatic selection. operatorAlphaLong is the * corresponding operator name. */ protected static class NetworkSelectMessage { public Message message; public String operatorNumeric; public String operatorAlphaLong; } /* Instance Variables */ public CommandsInterface mCi; boolean mDnsCheckDisabled; Loading Loading @@ -375,6 +387,12 @@ public abstract class PhoneBase extends Handler implements Phone { onUpdateIccAvailability(); break; // handle the select network completion callbacks. case EVENT_SET_NETWORK_MANUAL_COMPLETE: case EVENT_SET_NETWORK_AUTOMATIC_COMPLETE: handleSetSelectNetwork((AsyncResult) msg.obj); break; default: throw new RuntimeException("unexpected event not handled"); } Loading Loading @@ -562,6 +580,66 @@ public abstract class PhoneBase extends Handler implements Phone { mMmiCompleteRegistrants.remove(h); } @Override public void setNetworkSelectionModeAutomatic(Message response) { // wrap the response message in our own message along with // an empty string (to indicate automatic selection) for the // operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = ""; nsm.operatorAlphaLong = ""; Message msg = obtainMessage(EVENT_SET_NETWORK_AUTOMATIC_COMPLETE, nsm); mCi.setNetworkSelectionModeAutomatic(msg); } @Override public void selectNetworkManually(OperatorInfo network, Message response) { // wrap the response message in our own message along with // the operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = network.getOperatorNumeric(); nsm.operatorAlphaLong = network.getOperatorAlphaLong(); Message msg = obtainMessage(EVENT_SET_NETWORK_MANUAL_COMPLETE, nsm); mCi.setNetworkSelectionModeManual(network.getOperatorNumeric(), msg); } /** * Used to track the settings upon completion of the network change. */ private void handleSetSelectNetwork(AsyncResult ar) { // look for our wrapper within the asyncresult, skip the rest if it // is null. if (!(ar.userObj instanceof NetworkSelectMessage)) { Rlog.e(LOG_TAG, "unexpected result from user object."); return; } NetworkSelectMessage nsm = (NetworkSelectMessage) ar.userObj; // found the object, now we send off the message we had originally // attached to the request. if (nsm.message != null) { AsyncResult.forMessage(nsm.message, ar.result, ar.exception); nsm.message.sendToTarget(); } // open the shared preferences editor, and write the value. // nsm.operatorNumeric is "" if we're in automatic.selection. SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences.Editor editor = sp.edit(); editor.putString(NETWORK_SELECTION_KEY, nsm.operatorNumeric); editor.putString(NETWORK_SELECTION_NAME_KEY, nsm.operatorAlphaLong); // commit and log the result. if (!editor.commit()) { Rlog.e(LOG_TAG, "failed to commit network selection preference"); } } /** * Method to retrieve the saved operator id from the Shared Preferences */ Loading src/java/com/android/internal/telephony/cdma/CDMALTEPhone.java +1 −79 Original line number Diff line number Diff line Loading @@ -56,36 +56,11 @@ public class CDMALTEPhone extends CDMAPhone { private SIMRecords mSimRecords; private IsimUiccRecords mIsimUiccRecords; /** * Small container class used to hold information relevant to * the carrier selection process. operatorNumeric can be "" * if we are looking for automatic selection. operatorAlphaLong is the * corresponding operator name. */ private static class NetworkSelectMessage { public Message message; public String operatorNumeric; public String operatorAlphaLong; } // Constructors public CDMALTEPhone(Context context, CommandsInterface ci, PhoneNotifier notifier) { super(context, ci, notifier, false); } @Override public void handleMessage (Message msg) { switch (msg.what) { // handle the select network completion callbacks. case EVENT_SET_NETWORK_MANUAL_COMPLETE: handleSetSelectNetwork((AsyncResult) msg.obj); break; default: super.handleMessage(msg); } } @Override protected void initSstIcc() { mSST = new CdmaLteServiceStateTracker(this); Loading Loading @@ -143,59 +118,6 @@ public class CDMALTEPhone extends CDMAPhone { return ret; } @Override public void selectNetworkManually(OperatorInfo network, Message response) { // wrap the response message in our own message along with // the operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = network.getOperatorNumeric(); nsm.operatorAlphaLong = network.getOperatorAlphaLong(); // get the message Message msg = obtainMessage(EVENT_SET_NETWORK_MANUAL_COMPLETE, nsm); mCi.setNetworkSelectionModeManual(network.getOperatorNumeric(), msg); } /** * Used to track the settings upon completion of the network change. */ private void handleSetSelectNetwork(AsyncResult ar) { // look for our wrapper within the asyncresult, skip the rest if it // is null. if (!(ar.userObj instanceof NetworkSelectMessage)) { loge("unexpected result from user object."); return; } NetworkSelectMessage nsm = (NetworkSelectMessage) ar.userObj; // found the object, now we send off the message we had originally // attached to the request. if (nsm.message != null) { if (DBG) log("sending original message to recipient"); AsyncResult.forMessage(nsm.message, ar.result, ar.exception); nsm.message.sendToTarget(); } // open the shared preferences editor, and write the value. // nsm.operatorNumeric is "" if we're in automatic.selection. SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences.Editor editor = sp.edit(); editor.putString(NETWORK_SELECTION_KEY, nsm.operatorNumeric); editor.putString(NETWORK_SELECTION_NAME_KEY, nsm.operatorAlphaLong); // commit and log the result. if (! editor.commit()) { loge("failed to commit network selection preference"); } } /** * Sets the "current" field in the telephony provider according to the * build-time operator numeric property Loading src/java/com/android/internal/telephony/cdma/CDMAPhone.java +0 −13 Original line number Diff line number Diff line Loading @@ -419,12 +419,6 @@ public class CDMAPhone extends PhoneBase { .isAlive()); } @Override public void setNetworkSelectionModeAutomatic(Message response) { Rlog.e(LOG_TAG, "method setNetworkSelectionModeAutomatic is NOT supported in CDMA!"); } @Override public void unregisterForSuppServiceNotification(Handler h) { Rlog.e(LOG_TAG, "method unregisterForSuppServiceNotification is NOT supported in CDMA!"); Loading Loading @@ -562,13 +556,6 @@ public class CDMAPhone extends PhoneBase { return mCT.mForegroundCall; } @Override public void selectNetworkManually(OperatorInfo network, Message response) { Rlog.e(LOG_TAG, "selectNetworkManually: not possible in CDMA"); } @Override public void setOnPostDialCharacter(Handler h, int what, Object obj) { mPostDialHandler = new Registrant(h, what, obj); Loading src/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +7 −0 Original line number Diff line number Diff line Loading @@ -292,12 +292,19 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { if (DBG) log("Receive EVENT_RUIM_READY and Send Request getCDMASubscription."); getSubscriptionInfoAndStartPollingThreads(); } // Only support automatic selection mode in CDMA. mPhone.setNetworkSelectionModeAutomatic(null); mPhone.prepareEri(); break; case EVENT_NV_READY: updatePhoneObject(); // Only support automatic selection mode in CDMA. mPhone.setNetworkSelectionModeAutomatic(null); // For Non-RUIM phones, the subscription information is stored in // Non Volatile. Here when Non-Volatile is ready, we can poll the CDMA // subscription info. Loading src/java/com/android/internal/telephony/gsm/GSMPhone.java +0 −89 Original line number Diff line number Diff line Loading @@ -1003,54 +1003,6 @@ public class GSMPhone extends PhoneBase { mCi.getAvailableNetworks(response); } /** * Small container class used to hold information relevant to * the carrier selection process. operatorNumeric can be "" * if we are looking for automatic selection. operatorAlphaLong is the * corresponding operator name. */ private static class NetworkSelectMessage { public Message message; public String operatorNumeric; public String operatorAlphaLong; } @Override public void setNetworkSelectionModeAutomatic(Message response) { // wrap the response message in our own message along with // an empty string (to indicate automatic selection) for the // operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = ""; nsm.operatorAlphaLong = ""; // get the message Message msg = obtainMessage(EVENT_SET_NETWORK_AUTOMATIC_COMPLETE, nsm); if (LOCAL_DEBUG) Rlog.d(LOG_TAG, "wrapping and sending message to connect automatically"); mCi.setNetworkSelectionModeAutomatic(msg); } @Override public void selectNetworkManually(OperatorInfo network, Message response) { // wrap the response message in our own message along with // the operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = network.getOperatorNumeric(); nsm.operatorAlphaLong = network.getOperatorAlphaLong(); // get the message Message msg = obtainMessage(EVENT_SET_NETWORK_MANUAL_COMPLETE, nsm); mCi.setNetworkSelectionModeManual(network.getOperatorNumeric(), msg); } @Override public void getNeighboringCids(Message response) { Loading Loading @@ -1341,12 +1293,6 @@ public class GSMPhone extends PhoneBase { processIccRecordEvents((Integer)ar.result); break; // handle the select network completion callbacks. case EVENT_SET_NETWORK_MANUAL_COMPLETE: case EVENT_SET_NETWORK_AUTOMATIC_COMPLETE: handleSetSelectNetwork((AsyncResult) msg.obj); break; case EVENT_SET_CLIR_COMPLETE: ar = (AsyncResult)msg.obj; if (ar.exception == null) { Loading Loading @@ -1426,41 +1372,6 @@ public class GSMPhone extends PhoneBase { return false; } /** * Used to track the settings upon completion of the network change. */ private void handleSetSelectNetwork(AsyncResult ar) { // look for our wrapper within the asyncresult, skip the rest if it // is null. if (!(ar.userObj instanceof NetworkSelectMessage)) { if (LOCAL_DEBUG) Rlog.d(LOG_TAG, "unexpected result from user object."); return; } NetworkSelectMessage nsm = (NetworkSelectMessage) ar.userObj; // found the object, now we send off the message we had originally // attached to the request. if (nsm.message != null) { if (LOCAL_DEBUG) Rlog.d(LOG_TAG, "sending original message to recipient"); AsyncResult.forMessage(nsm.message, ar.result, ar.exception); nsm.message.sendToTarget(); } // open the shared preferences editor, and write the value. // nsm.operatorNumeric is "" if we're in automatic.selection. SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences.Editor editor = sp.edit(); editor.putString(NETWORK_SELECTION_KEY, nsm.operatorNumeric); editor.putString(NETWORK_SELECTION_NAME_KEY, nsm.operatorAlphaLong); // commit and log the result. if (! editor.commit()) { Rlog.e(LOG_TAG, "failed to commit network selection preference"); } } /** * Saves CLIR setting so that we can re-apply it as necessary * (in case the RIL resets it across reboots). Loading Loading
src/java/com/android/internal/telephony/PhoneBase.java +78 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,18 @@ public abstract class PhoneBase extends Handler implements Phone { // Key used to read/write "disable DNS server check" pref (used for testing) public static final String DNS_SERVER_CHECK_DISABLED_KEY = "dns_server_check_disabled_key"; /** * Small container class used to hold information relevant to * the carrier selection process. operatorNumeric can be "" * if we are looking for automatic selection. operatorAlphaLong is the * corresponding operator name. */ protected static class NetworkSelectMessage { public Message message; public String operatorNumeric; public String operatorAlphaLong; } /* Instance Variables */ public CommandsInterface mCi; boolean mDnsCheckDisabled; Loading Loading @@ -375,6 +387,12 @@ public abstract class PhoneBase extends Handler implements Phone { onUpdateIccAvailability(); break; // handle the select network completion callbacks. case EVENT_SET_NETWORK_MANUAL_COMPLETE: case EVENT_SET_NETWORK_AUTOMATIC_COMPLETE: handleSetSelectNetwork((AsyncResult) msg.obj); break; default: throw new RuntimeException("unexpected event not handled"); } Loading Loading @@ -562,6 +580,66 @@ public abstract class PhoneBase extends Handler implements Phone { mMmiCompleteRegistrants.remove(h); } @Override public void setNetworkSelectionModeAutomatic(Message response) { // wrap the response message in our own message along with // an empty string (to indicate automatic selection) for the // operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = ""; nsm.operatorAlphaLong = ""; Message msg = obtainMessage(EVENT_SET_NETWORK_AUTOMATIC_COMPLETE, nsm); mCi.setNetworkSelectionModeAutomatic(msg); } @Override public void selectNetworkManually(OperatorInfo network, Message response) { // wrap the response message in our own message along with // the operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = network.getOperatorNumeric(); nsm.operatorAlphaLong = network.getOperatorAlphaLong(); Message msg = obtainMessage(EVENT_SET_NETWORK_MANUAL_COMPLETE, nsm); mCi.setNetworkSelectionModeManual(network.getOperatorNumeric(), msg); } /** * Used to track the settings upon completion of the network change. */ private void handleSetSelectNetwork(AsyncResult ar) { // look for our wrapper within the asyncresult, skip the rest if it // is null. if (!(ar.userObj instanceof NetworkSelectMessage)) { Rlog.e(LOG_TAG, "unexpected result from user object."); return; } NetworkSelectMessage nsm = (NetworkSelectMessage) ar.userObj; // found the object, now we send off the message we had originally // attached to the request. if (nsm.message != null) { AsyncResult.forMessage(nsm.message, ar.result, ar.exception); nsm.message.sendToTarget(); } // open the shared preferences editor, and write the value. // nsm.operatorNumeric is "" if we're in automatic.selection. SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences.Editor editor = sp.edit(); editor.putString(NETWORK_SELECTION_KEY, nsm.operatorNumeric); editor.putString(NETWORK_SELECTION_NAME_KEY, nsm.operatorAlphaLong); // commit and log the result. if (!editor.commit()) { Rlog.e(LOG_TAG, "failed to commit network selection preference"); } } /** * Method to retrieve the saved operator id from the Shared Preferences */ Loading
src/java/com/android/internal/telephony/cdma/CDMALTEPhone.java +1 −79 Original line number Diff line number Diff line Loading @@ -56,36 +56,11 @@ public class CDMALTEPhone extends CDMAPhone { private SIMRecords mSimRecords; private IsimUiccRecords mIsimUiccRecords; /** * Small container class used to hold information relevant to * the carrier selection process. operatorNumeric can be "" * if we are looking for automatic selection. operatorAlphaLong is the * corresponding operator name. */ private static class NetworkSelectMessage { public Message message; public String operatorNumeric; public String operatorAlphaLong; } // Constructors public CDMALTEPhone(Context context, CommandsInterface ci, PhoneNotifier notifier) { super(context, ci, notifier, false); } @Override public void handleMessage (Message msg) { switch (msg.what) { // handle the select network completion callbacks. case EVENT_SET_NETWORK_MANUAL_COMPLETE: handleSetSelectNetwork((AsyncResult) msg.obj); break; default: super.handleMessage(msg); } } @Override protected void initSstIcc() { mSST = new CdmaLteServiceStateTracker(this); Loading Loading @@ -143,59 +118,6 @@ public class CDMALTEPhone extends CDMAPhone { return ret; } @Override public void selectNetworkManually(OperatorInfo network, Message response) { // wrap the response message in our own message along with // the operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = network.getOperatorNumeric(); nsm.operatorAlphaLong = network.getOperatorAlphaLong(); // get the message Message msg = obtainMessage(EVENT_SET_NETWORK_MANUAL_COMPLETE, nsm); mCi.setNetworkSelectionModeManual(network.getOperatorNumeric(), msg); } /** * Used to track the settings upon completion of the network change. */ private void handleSetSelectNetwork(AsyncResult ar) { // look for our wrapper within the asyncresult, skip the rest if it // is null. if (!(ar.userObj instanceof NetworkSelectMessage)) { loge("unexpected result from user object."); return; } NetworkSelectMessage nsm = (NetworkSelectMessage) ar.userObj; // found the object, now we send off the message we had originally // attached to the request. if (nsm.message != null) { if (DBG) log("sending original message to recipient"); AsyncResult.forMessage(nsm.message, ar.result, ar.exception); nsm.message.sendToTarget(); } // open the shared preferences editor, and write the value. // nsm.operatorNumeric is "" if we're in automatic.selection. SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences.Editor editor = sp.edit(); editor.putString(NETWORK_SELECTION_KEY, nsm.operatorNumeric); editor.putString(NETWORK_SELECTION_NAME_KEY, nsm.operatorAlphaLong); // commit and log the result. if (! editor.commit()) { loge("failed to commit network selection preference"); } } /** * Sets the "current" field in the telephony provider according to the * build-time operator numeric property Loading
src/java/com/android/internal/telephony/cdma/CDMAPhone.java +0 −13 Original line number Diff line number Diff line Loading @@ -419,12 +419,6 @@ public class CDMAPhone extends PhoneBase { .isAlive()); } @Override public void setNetworkSelectionModeAutomatic(Message response) { Rlog.e(LOG_TAG, "method setNetworkSelectionModeAutomatic is NOT supported in CDMA!"); } @Override public void unregisterForSuppServiceNotification(Handler h) { Rlog.e(LOG_TAG, "method unregisterForSuppServiceNotification is NOT supported in CDMA!"); Loading Loading @@ -562,13 +556,6 @@ public class CDMAPhone extends PhoneBase { return mCT.mForegroundCall; } @Override public void selectNetworkManually(OperatorInfo network, Message response) { Rlog.e(LOG_TAG, "selectNetworkManually: not possible in CDMA"); } @Override public void setOnPostDialCharacter(Handler h, int what, Object obj) { mPostDialHandler = new Registrant(h, what, obj); Loading
src/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +7 −0 Original line number Diff line number Diff line Loading @@ -292,12 +292,19 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { if (DBG) log("Receive EVENT_RUIM_READY and Send Request getCDMASubscription."); getSubscriptionInfoAndStartPollingThreads(); } // Only support automatic selection mode in CDMA. mPhone.setNetworkSelectionModeAutomatic(null); mPhone.prepareEri(); break; case EVENT_NV_READY: updatePhoneObject(); // Only support automatic selection mode in CDMA. mPhone.setNetworkSelectionModeAutomatic(null); // For Non-RUIM phones, the subscription information is stored in // Non Volatile. Here when Non-Volatile is ready, we can poll the CDMA // subscription info. Loading
src/java/com/android/internal/telephony/gsm/GSMPhone.java +0 −89 Original line number Diff line number Diff line Loading @@ -1003,54 +1003,6 @@ public class GSMPhone extends PhoneBase { mCi.getAvailableNetworks(response); } /** * Small container class used to hold information relevant to * the carrier selection process. operatorNumeric can be "" * if we are looking for automatic selection. operatorAlphaLong is the * corresponding operator name. */ private static class NetworkSelectMessage { public Message message; public String operatorNumeric; public String operatorAlphaLong; } @Override public void setNetworkSelectionModeAutomatic(Message response) { // wrap the response message in our own message along with // an empty string (to indicate automatic selection) for the // operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = ""; nsm.operatorAlphaLong = ""; // get the message Message msg = obtainMessage(EVENT_SET_NETWORK_AUTOMATIC_COMPLETE, nsm); if (LOCAL_DEBUG) Rlog.d(LOG_TAG, "wrapping and sending message to connect automatically"); mCi.setNetworkSelectionModeAutomatic(msg); } @Override public void selectNetworkManually(OperatorInfo network, Message response) { // wrap the response message in our own message along with // the operator's id. NetworkSelectMessage nsm = new NetworkSelectMessage(); nsm.message = response; nsm.operatorNumeric = network.getOperatorNumeric(); nsm.operatorAlphaLong = network.getOperatorAlphaLong(); // get the message Message msg = obtainMessage(EVENT_SET_NETWORK_MANUAL_COMPLETE, nsm); mCi.setNetworkSelectionModeManual(network.getOperatorNumeric(), msg); } @Override public void getNeighboringCids(Message response) { Loading Loading @@ -1341,12 +1293,6 @@ public class GSMPhone extends PhoneBase { processIccRecordEvents((Integer)ar.result); break; // handle the select network completion callbacks. case EVENT_SET_NETWORK_MANUAL_COMPLETE: case EVENT_SET_NETWORK_AUTOMATIC_COMPLETE: handleSetSelectNetwork((AsyncResult) msg.obj); break; case EVENT_SET_CLIR_COMPLETE: ar = (AsyncResult)msg.obj; if (ar.exception == null) { Loading Loading @@ -1426,41 +1372,6 @@ public class GSMPhone extends PhoneBase { return false; } /** * Used to track the settings upon completion of the network change. */ private void handleSetSelectNetwork(AsyncResult ar) { // look for our wrapper within the asyncresult, skip the rest if it // is null. if (!(ar.userObj instanceof NetworkSelectMessage)) { if (LOCAL_DEBUG) Rlog.d(LOG_TAG, "unexpected result from user object."); return; } NetworkSelectMessage nsm = (NetworkSelectMessage) ar.userObj; // found the object, now we send off the message we had originally // attached to the request. if (nsm.message != null) { if (LOCAL_DEBUG) Rlog.d(LOG_TAG, "sending original message to recipient"); AsyncResult.forMessage(nsm.message, ar.result, ar.exception); nsm.message.sendToTarget(); } // open the shared preferences editor, and write the value. // nsm.operatorNumeric is "" if we're in automatic.selection. SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext()); SharedPreferences.Editor editor = sp.edit(); editor.putString(NETWORK_SELECTION_KEY, nsm.operatorNumeric); editor.putString(NETWORK_SELECTION_NAME_KEY, nsm.operatorAlphaLong); // commit and log the result. if (! editor.commit()) { Rlog.e(LOG_TAG, "failed to commit network selection preference"); } } /** * Saves CLIR setting so that we can re-apply it as necessary * (in case the RIL resets it across reboots). Loading