Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44038aa0 authored by Wink Saville's avatar Wink Saville
Browse files

Fix crash when mSST is null and change default to GSM.

parent d5a9af45
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -170,7 +170,7 @@ public interface Phone {
    int NT_MODE_EVDO_NO_CDMA = 6; /* EvDo only */
    int NT_MODE_GLOBAL       = 7; /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
                                     AVAILABLE Application Settings menu*/
    int PREFERRED_NT_MODE    = NT_MODE_GLOBAL;
    int PREFERRED_NT_MODE    = NT_MODE_GSM_ONLY;


    // Used for CDMA roaming mode
+8 −13
Original line number Diff line number Diff line
@@ -108,26 +108,23 @@ public class PhoneFactory {
                sCommandsInterface = new RIL(context, networkMode, cdmaSubscription);

                switch(networkMode) {
                    case RILConstants.NETWORK_MODE_WCDMA_PREF:
                    case RILConstants.NETWORK_MODE_GSM_ONLY:
                    case RILConstants.NETWORK_MODE_WCDMA_ONLY:
                    case RILConstants.NETWORK_MODE_GSM_UMTS:
                        sProxyPhone = new PhoneProxy(new GSMPhone(context,
                                sCommandsInterface, sPhoneNotifier));
                        Log.i(LOG_TAG, "Creating GSMPhone");
                        break;
                    case RILConstants.NETWORK_MODE_CDMA:
                    case RILConstants.NETWORK_MODE_CDMA_NO_EVDO:
                    case RILConstants.NETWORK_MODE_EVDO_NO_CDMA:
                    case RILConstants.NETWORK_MODE_GLOBAL:
                        sProxyPhone = new PhoneProxy(new CDMAPhone(context,
                                sCommandsInterface, sPhoneNotifier));
                        Log.i(LOG_TAG, "Creating CDMAPhone");
                        break;
                    case RILConstants.NETWORK_MODE_GLOBAL:
                    case RILConstants.NETWORK_MODE_WCDMA_PREF:
                    case RILConstants.NETWORK_MODE_GSM_ONLY:
                    case RILConstants.NETWORK_MODE_WCDMA_ONLY:
                    case RILConstants.NETWORK_MODE_GSM_UMTS:
                    default:
                        sProxyPhone = new PhoneProxy(new CDMAPhone(context,
                        sProxyPhone = new PhoneProxy(new GSMPhone(context,
                                sCommandsInterface, sPhoneNotifier));
                        Log.i(LOG_TAG, "Creating CDMAPhone");
                        Log.i(LOG_TAG, "Creating GSMPhone");
                        break;
                }
                sMadeDefaults = true;
            }
@@ -160,5 +157,3 @@ public class PhoneFactory {
        }
    }
}

+5 −9
Original line number Diff line number Diff line
@@ -565,22 +565,18 @@ public final class RIL extends BaseCommands implements CommandsInterface {
        mNetworkMode = networkMode;
        //At startup mPhoneType is first set from networkMode
        switch(networkMode) {
            case RILConstants.NETWORK_MODE_WCDMA_PREF:
            case RILConstants.NETWORK_MODE_GSM_ONLY:
            case RILConstants.NETWORK_MODE_WCDMA_ONLY:
            case RILConstants.NETWORK_MODE_GSM_UMTS:
                mPhoneType = RILConstants.GSM_PHONE;
                break;
            case RILConstants.NETWORK_MODE_CDMA:
            case RILConstants.NETWORK_MODE_CDMA_NO_EVDO:
            case RILConstants.NETWORK_MODE_EVDO_NO_CDMA:
                mPhoneType = RILConstants.CDMA_PHONE;
                break;
            case RILConstants.NETWORK_MODE_GLOBAL:
                mPhoneType = RILConstants.CDMA_PHONE;
                break;
            case RILConstants.NETWORK_MODE_WCDMA_PREF:
            case RILConstants.NETWORK_MODE_GSM_ONLY:
            case RILConstants.NETWORK_MODE_WCDMA_ONLY:
            case RILConstants.NETWORK_MODE_GSM_UMTS:
            default:
                mPhoneType = RILConstants.CDMA_PHONE;
                mPhoneType = RILConstants.GSM_PHONE;
        }

        PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ public interface RILConstants {
    int NETWORK_MODE_EVDO_NO_CDMA   = 6; /* EvDo only */
    int NETWORK_MODE_GLOBAL         = 7; /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
                                            AVAILABLE Application Settings menu*/
    int PREFERRED_NETWORK_MODE      = NETWORK_MODE_GLOBAL;
    int PREFERRED_NETWORK_MODE      = NETWORK_MODE_GSM_ONLY;

    /* CDMA subscription source. See ril.h RIL_REQUEST_CDMA_SET_SUBSCRIPTION */
    int SUBSCRIPTION_FROM_RUIM      = 0; /* CDMA subscription from RUIM when available */
+5 −0
Original line number Diff line number Diff line
@@ -475,6 +475,11 @@ public class CDMAPhone extends PhoneBase {
            // we report data connected

            ret = DataState.CONNECTED;
        } else if (mSST == null) {
            // Radio Technology Change is ongoning, dispose() and removeReferences() have
            // already been called

            ret = DataState.DISCONNECTED;
        } else if (mSST.getCurrentCdmaDataConnectionState()
                == ServiceState.RADIO_TECHNOLOGY_UNKNOWN) {
            // If we're out of service, open TCP sockets may still work
Loading