diff options
Diffstat (limited to 'telephony/java/com/android/internal')
8 files changed, 45 insertions, 28 deletions
diff --git a/telephony/java/com/android/internal/telephony/BaseCommands.java b/telephony/java/com/android/internal/telephony/BaseCommands.java index 52f25f6..7586ba2 100644 --- a/telephony/java/com/android/internal/telephony/BaseCommands.java +++ b/telephony/java/com/android/internal/telephony/BaseCommands.java @@ -676,7 +676,7 @@ public abstract class BaseCommands implements CommandsInterface { mRadioTechnologyChangedRegistrants.notifyRegistrants(); } - if (mState.isGsm() && !oldState.isOn() && (mPhoneType == RILConstants.CDMA_PHONE)) { + if (mState.isGsm() && !oldState.isOn() && (mPhoneType == Phone.PHONE_TYPE_CDMA)) { Log.d(LOG_TAG,"Notifying: radio technology change CDMA OFF to GSM"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } @@ -686,7 +686,7 @@ public abstract class BaseCommands implements CommandsInterface { mRadioTechnologyChangedRegistrants.notifyRegistrants(); } - if (mState.isCdma() && !oldState.isOn() && (mPhoneType == RILConstants.GSM_PHONE)) { + if (mState.isCdma() && !oldState.isOn() && (mPhoneType == Phone.PHONE_TYPE_GSM)) { Log.d(LOG_TAG,"Notifying: radio technology change GSM OFF to CDMA"); mRadioTechnologyChangedRegistrants.notifyRegistrants(); } diff --git a/telephony/java/com/android/internal/telephony/CommandsInterface.java b/telephony/java/com/android/internal/telephony/CommandsInterface.java index 9d83556..5777cad 100644 --- a/telephony/java/com/android/internal/telephony/CommandsInterface.java +++ b/telephony/java/com/android/internal/telephony/CommandsInterface.java @@ -1256,6 +1256,7 @@ public interface CommandsInterface { /** Set the Phone type created */ void setPhoneType(int phoneType); + /** * Query the CDMA roaming preference setting * diff --git a/telephony/java/com/android/internal/telephony/Phone.java b/telephony/java/com/android/internal/telephony/Phone.java index fffd128..c113581 100644 --- a/telephony/java/com/android/internal/telephony/Phone.java +++ b/telephony/java/com/android/internal/telephony/Phone.java @@ -173,6 +173,11 @@ public interface Phone { static final int BM_AUS2_BAND = 5; // GSM-900 / DCS-1800 / WCDMA-850 static final int BM_BOUNDARY = 6; // upper band boundary + // Radio Type + static final int PHONE_TYPE_NONE = RILConstants.NO_PHONE; + static final int PHONE_TYPE_GSM = RILConstants.GSM_PHONE; + static final int PHONE_TYPE_CDMA = RILConstants.CDMA_PHONE; + // Used for preferred network type // Note NT_* substitute RILConstants.NETWORK_MODE_* above the Phone int NT_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF; @@ -288,6 +293,12 @@ public interface Phone { String getPhoneName(); /** + * Return a numerical identifier for the phone radio interface. + * @return PHONE_TYPE_XXX as defined above. + */ + int getPhoneType(); + + /** * Returns an array of string identifiers for the APN types serviced by the * currently active or last connected APN. * @return The string array. diff --git a/telephony/java/com/android/internal/telephony/PhoneBase.java b/telephony/java/com/android/internal/telephony/PhoneBase.java index 1c62a82..1c03c5a 100644 --- a/telephony/java/com/android/internal/telephony/PhoneBase.java +++ b/telephony/java/com/android/internal/telephony/PhoneBase.java @@ -740,6 +740,8 @@ public abstract class PhoneBase extends Handler implements Phone { public abstract String getPhoneName(); + public abstract int getPhoneType(); + /** @hide */ public int getVoiceMessageCount(){ return 0; diff --git a/telephony/java/com/android/internal/telephony/PhoneFactory.java b/telephony/java/com/android/internal/telephony/PhoneFactory.java index a84f74e..cd72752 100644 --- a/telephony/java/com/android/internal/telephony/PhoneFactory.java +++ b/telephony/java/com/android/internal/telephony/PhoneFactory.java @@ -108,11 +108,11 @@ public class PhoneFactory { sCommandsInterface = new RIL(context, networkMode, cdmaSubscription); int phoneType = getPhoneType(networkMode); - if (phoneType == RILConstants.GSM_PHONE) { + if (phoneType == Phone.PHONE_TYPE_GSM) { sProxyPhone = new PhoneProxy(new GSMPhone(context, sCommandsInterface, sPhoneNotifier)); Log.i(LOG_TAG, "Creating GSMPhone"); - } else if (phoneType == RILConstants.CDMA_PHONE) { + } else if (phoneType == Phone.PHONE_TYPE_CDMA) { sProxyPhone = new PhoneProxy(new CDMAPhone(context, sCommandsInterface, sPhoneNotifier)); Log.i(LOG_TAG, "Creating CDMAPhone"); @@ -135,18 +135,18 @@ public class PhoneFactory { case RILConstants.NETWORK_MODE_CDMA: case RILConstants.NETWORK_MODE_CDMA_NO_EVDO: case RILConstants.NETWORK_MODE_EVDO_NO_CDMA: - return RILConstants.CDMA_PHONE; + return Phone.PHONE_TYPE_CDMA; case RILConstants.NETWORK_MODE_WCDMA_PREF: case RILConstants.NETWORK_MODE_GSM_ONLY: case RILConstants.NETWORK_MODE_WCDMA_ONLY: case RILConstants.NETWORK_MODE_GSM_UMTS: - return RILConstants.GSM_PHONE; + return Phone.PHONE_TYPE_GSM; case RILConstants.NETWORK_MODE_GLOBAL: - return RILConstants.CDMA_PHONE; + return Phone.PHONE_TYPE_CDMA; default: - return RILConstants.GSM_PHONE; + return Phone.PHONE_TYPE_GSM; } } diff --git a/telephony/java/com/android/internal/telephony/PhoneProxy.java b/telephony/java/com/android/internal/telephony/PhoneProxy.java index c4f663a..b1eaa93 100644 --- a/telephony/java/com/android/internal/telephony/PhoneProxy.java +++ b/telephony/java/com/android/internal/telephony/PhoneProxy.java @@ -191,6 +191,10 @@ public class PhoneProxy extends Handler implements Phone { return mActivePhone.getPhoneName(); } + public int getPhoneType() { + return mActivePhone.getPhoneType(); + } + public String[] getActiveApnTypes() { return mActivePhone.getActiveApnTypes(); } diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java index dfc4889..6dcfcd9 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java @@ -60,7 +60,6 @@ import com.android.internal.telephony.PhoneBase; import com.android.internal.telephony.PhoneNotifier; import com.android.internal.telephony.PhoneProxy; import com.android.internal.telephony.PhoneSubInfo; -import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.TelephonyProperties; @@ -143,7 +142,7 @@ public class CDMAPhone extends PhoneBase { boolean unitTestMode) { super(notifier, context, ci, unitTestMode); - mCM.setPhoneType(RILConstants.CDMA_PHONE); + mCM.setPhoneType(Phone.PHONE_TYPE_CDMA); mCT = new CdmaCallTracker(this); mSST = new CdmaServiceStateTracker (this); mSMS = new CdmaSMSDispatcher(this); @@ -171,7 +170,7 @@ public class CDMAPhone extends PhoneBase { //Change the system setting SystemProperties.set(TelephonyProperties.CURRENT_ACTIVE_PHONE, - new Integer(RILConstants.CDMA_PHONE).toString()); + new Integer(Phone.PHONE_TYPE_CDMA).toString()); // This is needed to handle phone process crashes String inEcm=SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE, "false"); @@ -261,23 +260,24 @@ public class CDMAPhone extends PhoneBase { return mSST.ss; } - public Phone.State - getState() { + public Phone.State getState() { return mCT.state; } - public String - getPhoneName() { + public String getPhoneName() { return "CDMA"; } + public int getPhoneType() { + return Phone.PHONE_TYPE_CDMA; + } + public boolean canTransfer() { Log.e(LOG_TAG, "canTransfer: not possible in CDMA"); return false; } - public CdmaCall - getRingingCall() { + public CdmaCall getRingingCall() { return mCT.ringingCall; } diff --git a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java index 2fc2e13..5614c12 100755 --- a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java +++ b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java @@ -66,7 +66,6 @@ import com.android.internal.telephony.PhoneBase; import com.android.internal.telephony.PhoneNotifier; import com.android.internal.telephony.PhoneProxy; import com.android.internal.telephony.PhoneSubInfo; -import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.TelephonyProperties; import com.android.internal.telephony.gsm.stk.StkService; import com.android.internal.telephony.test.SimulatedRadioControl; @@ -141,7 +140,7 @@ public class GSMPhone extends PhoneBase { mSimulatedRadioControl = (SimulatedRadioControl) ci; } - mCM.setPhoneType(RILConstants.GSM_PHONE); + mCM.setPhoneType(Phone.PHONE_TYPE_GSM); mCT = new GsmCallTracker(this); mSST = new GsmServiceStateTracker (this); mSMS = new GsmSMSDispatcher(this); @@ -201,7 +200,7 @@ public class GSMPhone extends PhoneBase { //Change the system property SystemProperties.set(TelephonyProperties.CURRENT_ACTIVE_PHONE, - new Integer(RILConstants.GSM_PHONE).toString()); + new Integer(Phone.PHONE_TYPE_GSM).toString()); } public void dispose() { @@ -262,27 +261,27 @@ public class GSMPhone extends PhoneBase { return mSST.cellLoc; } - public Phone.State - getState() { + public Phone.State getState() { return mCT.state; } - public String - getPhoneName() { + public String getPhoneName() { return "GSM"; } + public int getPhoneType() { + return Phone.PHONE_TYPE_GSM; + } + public SignalStrength getSignalStrength() { return mSST.mSignalStrength; } - public boolean - getMessageWaitingIndicator() { + public boolean getMessageWaitingIndicator() { return mSIMRecords.getVoiceMessageWaiting(); } - public boolean - getCallForwardingIndicator() { + public boolean getCallForwardingIndicator() { return mSIMRecords.getVoiceCallForwardingFlag(); } |