Loading packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +0 −4 Original line number Diff line number Diff line Loading @@ -1515,10 +1515,6 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadSetting(stmt, Settings.Secure.CDMA_CELL_BROADCAST_SMS, RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED); // Set the preferred cdma subscription to 0 = Subscription from RUIM, when available loadSetting(stmt, Settings.Secure.PREFERRED_CDMA_SUBSCRIPTION, RILConstants.PREFERRED_CDMA_SUBSCRIPTION); // Don't do this. The SystemServer will initialize ADB_ENABLED from a // persistent system property instead. //loadSetting(stmt, Settings.Secure.ADB_ENABLED, 0); Loading telephony/java/android/telephony/ServiceState.java +32 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,11 @@ public class ServiceState implements Parcelable { public static final int RADIO_TECHNOLOGY_LTE = 14; /** @hide */ public static final int RADIO_TECHNOLOGY_HSPAP = 15; /** * GSM radio technology only supports voice. It does not support data. * @hide */ public static final int RADIO_TECHNOLOGY_GSM = 16; /** * Available registration states for GSM, UMTS and CDMA. Loading Loading @@ -447,6 +452,9 @@ public class ServiceState implements Parcelable { case 15: rtString = "HSPAP"; break; case 16: rtString = "GSM"; break; default: rtString = "Unexpected"; Log.w(LOG_TAG, "Unexpected radioTechnology=" + rt); Loading Loading @@ -654,4 +662,28 @@ public class ServiceState implements Parcelable { public int getSystemId() { return this.mSystemId; } /** @hide */ public static boolean isGsm(int radioTechnology) { return radioTechnology == RADIO_TECHNOLOGY_GPRS || radioTechnology == RADIO_TECHNOLOGY_EDGE || radioTechnology == RADIO_TECHNOLOGY_UMTS || radioTechnology == RADIO_TECHNOLOGY_HSDPA || radioTechnology == RADIO_TECHNOLOGY_HSUPA || radioTechnology == RADIO_TECHNOLOGY_HSPA || radioTechnology == RADIO_TECHNOLOGY_LTE || radioTechnology == RADIO_TECHNOLOGY_HSPAP || radioTechnology == RADIO_TECHNOLOGY_GSM; } /** @hide */ public static boolean isCdma(int radioTechnology) { return radioTechnology == RADIO_TECHNOLOGY_IS95A || radioTechnology == RADIO_TECHNOLOGY_IS95B || radioTechnology == RADIO_TECHNOLOGY_1xRTT || radioTechnology == RADIO_TECHNOLOGY_EVDO_0 || radioTechnology == RADIO_TECHNOLOGY_EVDO_A || radioTechnology == RADIO_TECHNOLOGY_EVDO_B || radioTechnology == RADIO_TECHNOLOGY_EHRPD; } } telephony/java/com/android/internal/telephony/BaseCommands.java +6 −189 Original line number Diff line number Diff line Loading @@ -39,9 +39,6 @@ public abstract class BaseCommands implements CommandsInterface { //***** Instance Variables protected Context mContext; protected RadioState mState = RadioState.RADIO_UNAVAILABLE; protected RadioState mSimState = RadioState.RADIO_UNAVAILABLE; protected RadioState mRuimState = RadioState.RADIO_UNAVAILABLE; protected RadioState mNvState = RadioState.RADIO_UNAVAILABLE; protected Object mStateMonitor = new Object(); protected RegistrantList mRadioStateChangedRegistrants = new RegistrantList(); Loading @@ -49,15 +46,10 @@ public abstract class BaseCommands implements CommandsInterface { protected RegistrantList mAvailRegistrants = new RegistrantList(); protected RegistrantList mOffOrNotAvailRegistrants = new RegistrantList(); protected RegistrantList mNotAvailRegistrants = new RegistrantList(); protected RegistrantList mSIMReadyRegistrants = new RegistrantList(); protected RegistrantList mSIMLockedRegistrants = new RegistrantList(); protected RegistrantList mRUIMReadyRegistrants = new RegistrantList(); protected RegistrantList mRUIMLockedRegistrants = new RegistrantList(); protected RegistrantList mNVReadyRegistrants = new RegistrantList(); protected RegistrantList mCallStateRegistrants = new RegistrantList(); protected RegistrantList mVoiceNetworkStateRegistrants = new RegistrantList(); protected RegistrantList mDataNetworkStateRegistrants = new RegistrantList(); protected RegistrantList mRadioTechnologyChangedRegistrants = new RegistrantList(); protected RegistrantList mVoiceRadioTechChangedRegistrants = new RegistrantList(); protected RegistrantList mIccStatusChangedRegistrants = new RegistrantList(); protected RegistrantList mVoicePrivacyOnRegistrants = new RegistrantList(); protected RegistrantList mVoicePrivacyOffRegistrants = new RegistrantList(); Loading Loading @@ -118,19 +110,6 @@ public abstract class BaseCommands implements CommandsInterface { return mState; } public RadioState getSimState() { return mSimState; } public RadioState getRuimState() { return mRuimState; } public RadioState getNvState() { return mNvState; } public void registerForRadioStateChanged(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); Loading Loading @@ -217,100 +196,6 @@ public abstract class BaseCommands implements CommandsInterface { } } /** Any transition into SIM_READY */ public void registerForSIMReady(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mSIMReadyRegistrants.add(r); if (mSimState.isSIMReady()) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForSIMReady(Handler h) { synchronized (mStateMonitor) { mSIMReadyRegistrants.remove(h); } } /** Any transition into RUIM_READY */ public void registerForRUIMReady(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mRUIMReadyRegistrants.add(r); if (mRuimState.isRUIMReady()) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForRUIMReady(Handler h) { synchronized(mStateMonitor) { mRUIMReadyRegistrants.remove(h); } } /** Any transition into NV_READY */ public void registerForNVReady(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mNVReadyRegistrants.add(r); if (mNvState.isNVReady()) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForNVReady(Handler h) { synchronized (mStateMonitor) { mNVReadyRegistrants.remove(h); } } public void registerForSIMLockedOrAbsent(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mSIMLockedRegistrants.add(r); if (mSimState == RadioState.SIM_LOCKED_OR_ABSENT) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForSIMLockedOrAbsent(Handler h) { synchronized (mStateMonitor) { mSIMLockedRegistrants.remove(h); } } public void registerForRUIMLockedOrAbsent(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mRUIMLockedRegistrants.add(r); if (mRuimState == RadioState.RUIM_LOCKED_OR_ABSENT) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForRUIMLockedOrAbsent(Handler h) { synchronized (mStateMonitor) { mRUIMLockedRegistrants.remove(h); } } public void registerForCallStateChanged(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); Loading Loading @@ -341,13 +226,13 @@ public abstract class BaseCommands implements CommandsInterface { mDataNetworkStateRegistrants.remove(h); } public void registerForRadioTechnologyChanged(Handler h, int what, Object obj) { public void registerForVoiceRadioTechChanged(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); mRadioTechnologyChangedRegistrants.add(r); mVoiceRadioTechChangedRegistrants.add(r); } public void unregisterForRadioTechnologyChanged(Handler h) { mRadioTechnologyChangedRegistrants.remove(h); public void unregisterForVoiceRadioTechChanged(Handler h) { mVoiceRadioTechChangedRegistrants.remove(h); } public void registerForIccStatusChanged(Handler h, int what, Object obj) { Loading Loading @@ -697,8 +582,7 @@ public abstract class BaseCommands implements CommandsInterface { * This function is called only by RIL.java when receiving unsolicited * RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED * * RadioState has 5 values : RADIO_OFF, RADIO_UNAVAILABLE, SIM_NOT_READY, * SIM_LOCKED_OR_ABSENT, and SIM_READY. * RadioState has 3 values : RADIO_OFF, RADIO_UNAVAILABLE, RADIO_ON. * * @param newState new RadioState decoded from RIL_UNSOL_RADIO_STATE_CHANGED */ Loading @@ -719,22 +603,6 @@ public abstract class BaseCommands implements CommandsInterface { return; } // FIXME: Use Constants or Enums if(mState.getType() == 0) { mSimState = mState; mRuimState = mState; mNvState = mState; } else if (mState.getType() == 1) { mSimState = mState; } else if (mState.getType() == 2) { mRuimState = mState; } else if (mState.getType() == 3) { mNvState = mState; } mRadioStateChangedRegistrants.notifyRegistrants(); if (mState.isAvailable() && !oldState.isAvailable()) { Loading @@ -748,30 +616,6 @@ public abstract class BaseCommands implements CommandsInterface { mNotAvailRegistrants.notifyRegistrants(); } if (mState.isSIMReady() && !oldState.isSIMReady()) { Log.d(LOG_TAG,"Notifying: SIM ready"); mSIMReadyRegistrants.notifyRegistrants(); } if (mState == RadioState.SIM_LOCKED_OR_ABSENT) { Log.d(LOG_TAG,"Notifying: SIM locked or absent"); mSIMLockedRegistrants.notifyRegistrants(); } if (mState.isRUIMReady() && !oldState.isRUIMReady()) { Log.d(LOG_TAG,"Notifying: RUIM ready"); mRUIMReadyRegistrants.notifyRegistrants(); } if (mState == RadioState.RUIM_LOCKED_OR_ABSENT) { Log.d(LOG_TAG,"Notifying: RUIM locked or absent"); mRUIMLockedRegistrants.notifyRegistrants(); } if (mState.isNVReady() && !oldState.isNVReady()) { Log.d(LOG_TAG,"Notifying: NV ready"); mNVReadyRegistrants.notifyRegistrants(); } if (mState.isOn() && !oldState.isOn()) { Log.d(LOG_TAG,"Notifying: Radio On"); mOnRegistrants.notifyRegistrants(); Loading @@ -783,33 +627,6 @@ public abstract class BaseCommands implements CommandsInterface { Log.d(LOG_TAG,"Notifying: radio off or not available"); mOffOrNotAvailRegistrants.notifyRegistrants(); } /* Radio Technology Change events * NOTE: isGsm and isCdma have no common states in RADIO_OFF or RADIO_UNAVAILABLE; the * current phone is determined by mPhoneType * NOTE: at startup no phone have been created and the RIL determines the mPhoneType * looking based on the networkMode set by the PhoneFactory in the constructor */ if (mState.isGsm() && oldState.isCdma()) { Log.d(LOG_TAG,"Notifying: radio technology change CDMA to GSM"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } if (mState.isGsm() && !oldState.isOn() && (mPhoneType == Phone.PHONE_TYPE_CDMA)) { Log.d(LOG_TAG,"Notifying: radio technology change CDMA OFF to GSM"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } if (mState.isCdma() && oldState.isGsm()) { Log.d(LOG_TAG,"Notifying: radio technology change GSM to CDMA"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } if (mState.isCdma() && !oldState.isOn() && (mPhoneType == Phone.PHONE_TYPE_GSM)) { Log.d(LOG_TAG,"Notifying: radio technology change GSM OFF to CDMA"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } } } Loading telephony/java/com/android/internal/telephony/CommandsInterface.java +11 −93 Original line number Diff line number Diff line Loading @@ -20,81 +20,24 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import android.os.Message; import android.os.Handler; import android.util.Log; /** * {@hide} */ public interface CommandsInterface { enum RadioState { RADIO_OFF(0), /* Radio explictly powered off (eg CFUN=0) */ RADIO_UNAVAILABLE(0), /* Radio unavailable (eg, resetting or not booted) */ SIM_NOT_READY(1), /* Radio is on, but the SIM interface is not ready */ SIM_LOCKED_OR_ABSENT(1), /* SIM PIN locked, PUK required, network personalization, or SIM absent */ SIM_READY(1), /* Radio is on and SIM interface is available */ RUIM_NOT_READY(2), /* Radio is on, but the RUIM interface is not ready */ RUIM_READY(2), /* Radio is on and the RUIM interface is available */ RUIM_LOCKED_OR_ABSENT(2), /* RUIM PIN locked, PUK required, network personalization locked, or RUIM absent */ NV_NOT_READY(3), /* Radio is on, but the NV interface is not available */ NV_READY(3); /* Radio is on and the NV interface is available */ RADIO_OFF, /* Radio explicitly powered off (eg CFUN=0) */ RADIO_UNAVAILABLE, /* Radio unavailable (eg, resetting or not booted) */ RADIO_ON; /* Radio is on */ public boolean isOn() /* and available...*/ { return this == SIM_NOT_READY || this == SIM_LOCKED_OR_ABSENT || this == SIM_READY || this == RUIM_NOT_READY || this == RUIM_READY || this == RUIM_LOCKED_OR_ABSENT || this == NV_NOT_READY || this == NV_READY; } private int stateType; private RadioState (int type) { stateType = type; } public int getType() { return stateType; return this == RADIO_ON; } public boolean isAvailable() { return this != RADIO_UNAVAILABLE; } public boolean isSIMReady() { return this == SIM_READY; } public boolean isRUIMReady() { return this == RUIM_READY; } public boolean isNVReady() { return this == NV_READY; } public boolean isGsm() { if (BaseCommands.getLteOnCdmaModeStatic() == Phone.LTE_ON_CDMA_TRUE) { return false; } else { return this == SIM_NOT_READY || this == SIM_LOCKED_OR_ABSENT || this == SIM_READY; } } public boolean isCdma() { if (BaseCommands.getLteOnCdmaModeStatic() == Phone.LTE_ON_CDMA_TRUE) { return true; } else { return this == RUIM_NOT_READY || this == RUIM_READY || this == RUIM_LOCKED_OR_ABSENT || this == NV_NOT_READY || this == NV_READY; } } } //***** Constants Loading Loading @@ -168,11 +111,9 @@ public interface CommandsInterface { static final int CDMA_SMS_FAIL_CAUSE_ENCODING_PROBLEM = 96; //***** Methods RadioState getRadioState(); RadioState getSimState(); RadioState getRuimState(); RadioState getNvState(); void getVoiceRadioTechnology(Message result); /** * Fires on any RadioState transition Loading @@ -185,6 +126,9 @@ public interface CommandsInterface { void registerForRadioStateChanged(Handler h, int what, Object obj); void unregisterForRadioStateChanged(Handler h); void registerForVoiceRadioTechChanged(Handler h, int what, Object obj); void unregisterForVoiceRadioTechChanged(Handler h); /** * Fires on any transition into RadioState.isOn() * Fires immediately if currently in that state Loading Loading @@ -222,18 +166,8 @@ public interface CommandsInterface { void unregisterForOffOrNotAvailable(Handler h); /** * Fires on any transition into SIM_READY * Fires immediately if if currently in that state * In general, actions should be idempotent. State may change * before event is received. * Fires on any change in ICC status */ void registerForSIMReady(Handler h, int what, Object obj); void unregisterForSIMReady(Handler h); /** Any transition into SIM_LOCKED_OR_ABSENT */ void registerForSIMLockedOrAbsent(Handler h, int what, Object obj); void unregisterForSIMLockedOrAbsent(Handler h); void registerForIccStatusChanged(Handler h, int what, Object obj); void unregisterForIccStatusChanged(Handler h); Loading @@ -244,28 +178,12 @@ public interface CommandsInterface { void registerForDataNetworkStateChanged(Handler h, int what, Object obj); void unregisterForDataNetworkStateChanged(Handler h); void registerForRadioTechnologyChanged(Handler h, int what, Object obj); void unregisterForRadioTechnologyChanged(Handler h); void registerForNVReady(Handler h, int what, Object obj); void unregisterForNVReady(Handler h); void registerForRUIMLockedOrAbsent(Handler h, int what, Object obj); void unregisterForRUIMLockedOrAbsent(Handler h); /** InCall voice privacy notifications */ void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj); void unregisterForInCallVoicePrivacyOn(Handler h); void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj); void unregisterForInCallVoicePrivacyOff(Handler h); /** * Fires on any transition into RUIM_READY * Fires immediately if if currently in that state * In general, actions should be idempotent. State may change * before event is received. */ void registerForRUIMReady(Handler h, int what, Object obj); void unregisterForRUIMReady(Handler h); /** * unlike the register* methods, there's only one new 3GPP format SMS handler. * if you need to unregister, you should also tell the radio to stop Loading telephony/java/com/android/internal/telephony/DataConnectionTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ public abstract class DataConnectionTracker extends Handler { protected static final int EVENT_DO_RECOVERY = BASE + 18; protected static final int EVENT_APN_CHANGED = BASE + 19; protected static final int EVENT_CDMA_DATA_DETACHED = BASE + 20; protected static final int EVENT_NV_READY = BASE + 21; protected static final int EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED = BASE + 21; protected static final int EVENT_PS_RESTRICT_ENABLED = BASE + 22; protected static final int EVENT_PS_RESTRICT_DISABLED = BASE + 23; public static final int EVENT_CLEAN_UP_CONNECTION = BASE + 24; Loading Loading
packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +0 −4 Original line number Diff line number Diff line Loading @@ -1515,10 +1515,6 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadSetting(stmt, Settings.Secure.CDMA_CELL_BROADCAST_SMS, RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED); // Set the preferred cdma subscription to 0 = Subscription from RUIM, when available loadSetting(stmt, Settings.Secure.PREFERRED_CDMA_SUBSCRIPTION, RILConstants.PREFERRED_CDMA_SUBSCRIPTION); // Don't do this. The SystemServer will initialize ADB_ENABLED from a // persistent system property instead. //loadSetting(stmt, Settings.Secure.ADB_ENABLED, 0); Loading
telephony/java/android/telephony/ServiceState.java +32 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,11 @@ public class ServiceState implements Parcelable { public static final int RADIO_TECHNOLOGY_LTE = 14; /** @hide */ public static final int RADIO_TECHNOLOGY_HSPAP = 15; /** * GSM radio technology only supports voice. It does not support data. * @hide */ public static final int RADIO_TECHNOLOGY_GSM = 16; /** * Available registration states for GSM, UMTS and CDMA. Loading Loading @@ -447,6 +452,9 @@ public class ServiceState implements Parcelable { case 15: rtString = "HSPAP"; break; case 16: rtString = "GSM"; break; default: rtString = "Unexpected"; Log.w(LOG_TAG, "Unexpected radioTechnology=" + rt); Loading Loading @@ -654,4 +662,28 @@ public class ServiceState implements Parcelable { public int getSystemId() { return this.mSystemId; } /** @hide */ public static boolean isGsm(int radioTechnology) { return radioTechnology == RADIO_TECHNOLOGY_GPRS || radioTechnology == RADIO_TECHNOLOGY_EDGE || radioTechnology == RADIO_TECHNOLOGY_UMTS || radioTechnology == RADIO_TECHNOLOGY_HSDPA || radioTechnology == RADIO_TECHNOLOGY_HSUPA || radioTechnology == RADIO_TECHNOLOGY_HSPA || radioTechnology == RADIO_TECHNOLOGY_LTE || radioTechnology == RADIO_TECHNOLOGY_HSPAP || radioTechnology == RADIO_TECHNOLOGY_GSM; } /** @hide */ public static boolean isCdma(int radioTechnology) { return radioTechnology == RADIO_TECHNOLOGY_IS95A || radioTechnology == RADIO_TECHNOLOGY_IS95B || radioTechnology == RADIO_TECHNOLOGY_1xRTT || radioTechnology == RADIO_TECHNOLOGY_EVDO_0 || radioTechnology == RADIO_TECHNOLOGY_EVDO_A || radioTechnology == RADIO_TECHNOLOGY_EVDO_B || radioTechnology == RADIO_TECHNOLOGY_EHRPD; } }
telephony/java/com/android/internal/telephony/BaseCommands.java +6 −189 Original line number Diff line number Diff line Loading @@ -39,9 +39,6 @@ public abstract class BaseCommands implements CommandsInterface { //***** Instance Variables protected Context mContext; protected RadioState mState = RadioState.RADIO_UNAVAILABLE; protected RadioState mSimState = RadioState.RADIO_UNAVAILABLE; protected RadioState mRuimState = RadioState.RADIO_UNAVAILABLE; protected RadioState mNvState = RadioState.RADIO_UNAVAILABLE; protected Object mStateMonitor = new Object(); protected RegistrantList mRadioStateChangedRegistrants = new RegistrantList(); Loading @@ -49,15 +46,10 @@ public abstract class BaseCommands implements CommandsInterface { protected RegistrantList mAvailRegistrants = new RegistrantList(); protected RegistrantList mOffOrNotAvailRegistrants = new RegistrantList(); protected RegistrantList mNotAvailRegistrants = new RegistrantList(); protected RegistrantList mSIMReadyRegistrants = new RegistrantList(); protected RegistrantList mSIMLockedRegistrants = new RegistrantList(); protected RegistrantList mRUIMReadyRegistrants = new RegistrantList(); protected RegistrantList mRUIMLockedRegistrants = new RegistrantList(); protected RegistrantList mNVReadyRegistrants = new RegistrantList(); protected RegistrantList mCallStateRegistrants = new RegistrantList(); protected RegistrantList mVoiceNetworkStateRegistrants = new RegistrantList(); protected RegistrantList mDataNetworkStateRegistrants = new RegistrantList(); protected RegistrantList mRadioTechnologyChangedRegistrants = new RegistrantList(); protected RegistrantList mVoiceRadioTechChangedRegistrants = new RegistrantList(); protected RegistrantList mIccStatusChangedRegistrants = new RegistrantList(); protected RegistrantList mVoicePrivacyOnRegistrants = new RegistrantList(); protected RegistrantList mVoicePrivacyOffRegistrants = new RegistrantList(); Loading Loading @@ -118,19 +110,6 @@ public abstract class BaseCommands implements CommandsInterface { return mState; } public RadioState getSimState() { return mSimState; } public RadioState getRuimState() { return mRuimState; } public RadioState getNvState() { return mNvState; } public void registerForRadioStateChanged(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); Loading Loading @@ -217,100 +196,6 @@ public abstract class BaseCommands implements CommandsInterface { } } /** Any transition into SIM_READY */ public void registerForSIMReady(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mSIMReadyRegistrants.add(r); if (mSimState.isSIMReady()) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForSIMReady(Handler h) { synchronized (mStateMonitor) { mSIMReadyRegistrants.remove(h); } } /** Any transition into RUIM_READY */ public void registerForRUIMReady(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mRUIMReadyRegistrants.add(r); if (mRuimState.isRUIMReady()) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForRUIMReady(Handler h) { synchronized(mStateMonitor) { mRUIMReadyRegistrants.remove(h); } } /** Any transition into NV_READY */ public void registerForNVReady(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mNVReadyRegistrants.add(r); if (mNvState.isNVReady()) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForNVReady(Handler h) { synchronized (mStateMonitor) { mNVReadyRegistrants.remove(h); } } public void registerForSIMLockedOrAbsent(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mSIMLockedRegistrants.add(r); if (mSimState == RadioState.SIM_LOCKED_OR_ABSENT) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForSIMLockedOrAbsent(Handler h) { synchronized (mStateMonitor) { mSIMLockedRegistrants.remove(h); } } public void registerForRUIMLockedOrAbsent(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); synchronized (mStateMonitor) { mRUIMLockedRegistrants.add(r); if (mRuimState == RadioState.RUIM_LOCKED_OR_ABSENT) { r.notifyRegistrant(new AsyncResult(null, null, null)); } } } public void unregisterForRUIMLockedOrAbsent(Handler h) { synchronized (mStateMonitor) { mRUIMLockedRegistrants.remove(h); } } public void registerForCallStateChanged(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); Loading Loading @@ -341,13 +226,13 @@ public abstract class BaseCommands implements CommandsInterface { mDataNetworkStateRegistrants.remove(h); } public void registerForRadioTechnologyChanged(Handler h, int what, Object obj) { public void registerForVoiceRadioTechChanged(Handler h, int what, Object obj) { Registrant r = new Registrant (h, what, obj); mRadioTechnologyChangedRegistrants.add(r); mVoiceRadioTechChangedRegistrants.add(r); } public void unregisterForRadioTechnologyChanged(Handler h) { mRadioTechnologyChangedRegistrants.remove(h); public void unregisterForVoiceRadioTechChanged(Handler h) { mVoiceRadioTechChangedRegistrants.remove(h); } public void registerForIccStatusChanged(Handler h, int what, Object obj) { Loading Loading @@ -697,8 +582,7 @@ public abstract class BaseCommands implements CommandsInterface { * This function is called only by RIL.java when receiving unsolicited * RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED * * RadioState has 5 values : RADIO_OFF, RADIO_UNAVAILABLE, SIM_NOT_READY, * SIM_LOCKED_OR_ABSENT, and SIM_READY. * RadioState has 3 values : RADIO_OFF, RADIO_UNAVAILABLE, RADIO_ON. * * @param newState new RadioState decoded from RIL_UNSOL_RADIO_STATE_CHANGED */ Loading @@ -719,22 +603,6 @@ public abstract class BaseCommands implements CommandsInterface { return; } // FIXME: Use Constants or Enums if(mState.getType() == 0) { mSimState = mState; mRuimState = mState; mNvState = mState; } else if (mState.getType() == 1) { mSimState = mState; } else if (mState.getType() == 2) { mRuimState = mState; } else if (mState.getType() == 3) { mNvState = mState; } mRadioStateChangedRegistrants.notifyRegistrants(); if (mState.isAvailable() && !oldState.isAvailable()) { Loading @@ -748,30 +616,6 @@ public abstract class BaseCommands implements CommandsInterface { mNotAvailRegistrants.notifyRegistrants(); } if (mState.isSIMReady() && !oldState.isSIMReady()) { Log.d(LOG_TAG,"Notifying: SIM ready"); mSIMReadyRegistrants.notifyRegistrants(); } if (mState == RadioState.SIM_LOCKED_OR_ABSENT) { Log.d(LOG_TAG,"Notifying: SIM locked or absent"); mSIMLockedRegistrants.notifyRegistrants(); } if (mState.isRUIMReady() && !oldState.isRUIMReady()) { Log.d(LOG_TAG,"Notifying: RUIM ready"); mRUIMReadyRegistrants.notifyRegistrants(); } if (mState == RadioState.RUIM_LOCKED_OR_ABSENT) { Log.d(LOG_TAG,"Notifying: RUIM locked or absent"); mRUIMLockedRegistrants.notifyRegistrants(); } if (mState.isNVReady() && !oldState.isNVReady()) { Log.d(LOG_TAG,"Notifying: NV ready"); mNVReadyRegistrants.notifyRegistrants(); } if (mState.isOn() && !oldState.isOn()) { Log.d(LOG_TAG,"Notifying: Radio On"); mOnRegistrants.notifyRegistrants(); Loading @@ -783,33 +627,6 @@ public abstract class BaseCommands implements CommandsInterface { Log.d(LOG_TAG,"Notifying: radio off or not available"); mOffOrNotAvailRegistrants.notifyRegistrants(); } /* Radio Technology Change events * NOTE: isGsm and isCdma have no common states in RADIO_OFF or RADIO_UNAVAILABLE; the * current phone is determined by mPhoneType * NOTE: at startup no phone have been created and the RIL determines the mPhoneType * looking based on the networkMode set by the PhoneFactory in the constructor */ if (mState.isGsm() && oldState.isCdma()) { Log.d(LOG_TAG,"Notifying: radio technology change CDMA to GSM"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } if (mState.isGsm() && !oldState.isOn() && (mPhoneType == Phone.PHONE_TYPE_CDMA)) { Log.d(LOG_TAG,"Notifying: radio technology change CDMA OFF to GSM"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } if (mState.isCdma() && oldState.isGsm()) { Log.d(LOG_TAG,"Notifying: radio technology change GSM to CDMA"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } if (mState.isCdma() && !oldState.isOn() && (mPhoneType == Phone.PHONE_TYPE_GSM)) { Log.d(LOG_TAG,"Notifying: radio technology change GSM OFF to CDMA"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } } } Loading
telephony/java/com/android/internal/telephony/CommandsInterface.java +11 −93 Original line number Diff line number Diff line Loading @@ -20,81 +20,24 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import android.os.Message; import android.os.Handler; import android.util.Log; /** * {@hide} */ public interface CommandsInterface { enum RadioState { RADIO_OFF(0), /* Radio explictly powered off (eg CFUN=0) */ RADIO_UNAVAILABLE(0), /* Radio unavailable (eg, resetting or not booted) */ SIM_NOT_READY(1), /* Radio is on, but the SIM interface is not ready */ SIM_LOCKED_OR_ABSENT(1), /* SIM PIN locked, PUK required, network personalization, or SIM absent */ SIM_READY(1), /* Radio is on and SIM interface is available */ RUIM_NOT_READY(2), /* Radio is on, but the RUIM interface is not ready */ RUIM_READY(2), /* Radio is on and the RUIM interface is available */ RUIM_LOCKED_OR_ABSENT(2), /* RUIM PIN locked, PUK required, network personalization locked, or RUIM absent */ NV_NOT_READY(3), /* Radio is on, but the NV interface is not available */ NV_READY(3); /* Radio is on and the NV interface is available */ RADIO_OFF, /* Radio explicitly powered off (eg CFUN=0) */ RADIO_UNAVAILABLE, /* Radio unavailable (eg, resetting or not booted) */ RADIO_ON; /* Radio is on */ public boolean isOn() /* and available...*/ { return this == SIM_NOT_READY || this == SIM_LOCKED_OR_ABSENT || this == SIM_READY || this == RUIM_NOT_READY || this == RUIM_READY || this == RUIM_LOCKED_OR_ABSENT || this == NV_NOT_READY || this == NV_READY; } private int stateType; private RadioState (int type) { stateType = type; } public int getType() { return stateType; return this == RADIO_ON; } public boolean isAvailable() { return this != RADIO_UNAVAILABLE; } public boolean isSIMReady() { return this == SIM_READY; } public boolean isRUIMReady() { return this == RUIM_READY; } public boolean isNVReady() { return this == NV_READY; } public boolean isGsm() { if (BaseCommands.getLteOnCdmaModeStatic() == Phone.LTE_ON_CDMA_TRUE) { return false; } else { return this == SIM_NOT_READY || this == SIM_LOCKED_OR_ABSENT || this == SIM_READY; } } public boolean isCdma() { if (BaseCommands.getLteOnCdmaModeStatic() == Phone.LTE_ON_CDMA_TRUE) { return true; } else { return this == RUIM_NOT_READY || this == RUIM_READY || this == RUIM_LOCKED_OR_ABSENT || this == NV_NOT_READY || this == NV_READY; } } } //***** Constants Loading Loading @@ -168,11 +111,9 @@ public interface CommandsInterface { static final int CDMA_SMS_FAIL_CAUSE_ENCODING_PROBLEM = 96; //***** Methods RadioState getRadioState(); RadioState getSimState(); RadioState getRuimState(); RadioState getNvState(); void getVoiceRadioTechnology(Message result); /** * Fires on any RadioState transition Loading @@ -185,6 +126,9 @@ public interface CommandsInterface { void registerForRadioStateChanged(Handler h, int what, Object obj); void unregisterForRadioStateChanged(Handler h); void registerForVoiceRadioTechChanged(Handler h, int what, Object obj); void unregisterForVoiceRadioTechChanged(Handler h); /** * Fires on any transition into RadioState.isOn() * Fires immediately if currently in that state Loading Loading @@ -222,18 +166,8 @@ public interface CommandsInterface { void unregisterForOffOrNotAvailable(Handler h); /** * Fires on any transition into SIM_READY * Fires immediately if if currently in that state * In general, actions should be idempotent. State may change * before event is received. * Fires on any change in ICC status */ void registerForSIMReady(Handler h, int what, Object obj); void unregisterForSIMReady(Handler h); /** Any transition into SIM_LOCKED_OR_ABSENT */ void registerForSIMLockedOrAbsent(Handler h, int what, Object obj); void unregisterForSIMLockedOrAbsent(Handler h); void registerForIccStatusChanged(Handler h, int what, Object obj); void unregisterForIccStatusChanged(Handler h); Loading @@ -244,28 +178,12 @@ public interface CommandsInterface { void registerForDataNetworkStateChanged(Handler h, int what, Object obj); void unregisterForDataNetworkStateChanged(Handler h); void registerForRadioTechnologyChanged(Handler h, int what, Object obj); void unregisterForRadioTechnologyChanged(Handler h); void registerForNVReady(Handler h, int what, Object obj); void unregisterForNVReady(Handler h); void registerForRUIMLockedOrAbsent(Handler h, int what, Object obj); void unregisterForRUIMLockedOrAbsent(Handler h); /** InCall voice privacy notifications */ void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj); void unregisterForInCallVoicePrivacyOn(Handler h); void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj); void unregisterForInCallVoicePrivacyOff(Handler h); /** * Fires on any transition into RUIM_READY * Fires immediately if if currently in that state * In general, actions should be idempotent. State may change * before event is received. */ void registerForRUIMReady(Handler h, int what, Object obj); void unregisterForRUIMReady(Handler h); /** * unlike the register* methods, there's only one new 3GPP format SMS handler. * if you need to unregister, you should also tell the radio to stop Loading
telephony/java/com/android/internal/telephony/DataConnectionTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ public abstract class DataConnectionTracker extends Handler { protected static final int EVENT_DO_RECOVERY = BASE + 18; protected static final int EVENT_APN_CHANGED = BASE + 19; protected static final int EVENT_CDMA_DATA_DETACHED = BASE + 20; protected static final int EVENT_NV_READY = BASE + 21; protected static final int EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED = BASE + 21; protected static final int EVENT_PS_RESTRICT_ENABLED = BASE + 22; protected static final int EVENT_PS_RESTRICT_DISABLED = BASE + 23; public static final int EVENT_CLEAN_UP_CONNECTION = BASE + 24; Loading