Loading src/java/com/android/internal/telephony/BaseCommands.java +23 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.internal.telephony; import com.android.internal.telephony.RadioCapability; import android.content.Context; import android.os.Message; Loading @@ -24,6 +25,7 @@ import android.os.RegistrantList; import android.os.Registrant; import android.os.Handler; import android.os.AsyncResult; import android.telephony.TelephonyManager; /** Loading Loading @@ -69,6 +71,8 @@ public abstract class BaseCommands implements CommandsInterface { protected RegistrantList mSubscriptionStatusRegistrants = new RegistrantList(); protected RegistrantList mSrvccStateRegistrants = new RegistrantList(); protected RegistrantList mHardwareConfigChangeRegistrants = new RegistrantList(); protected RegistrantList mPhoneRadioCapabilityChangedRegistrants = new RegistrantList(); protected Registrant mGsmSmsRegistrant; protected Registrant mCdmaSmsRegistrant; Loading Loading @@ -829,4 +833,23 @@ public abstract class BaseCommands implements CommandsInterface { @Override public void requestShutdown(Message result) { } @Override public void getRadioCapability(Message result) { } @Override public void setRadioCapability(RadioCapability rc, Message response) { } @Override public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) { Registrant r = new Registrant(h, what, obj); mPhoneRadioCapabilityChangedRegistrants.add(r); } @Override public void unregisterForRadioCapabilityChanged(Handler h) { mPhoneRadioCapabilityChangedRegistrants.remove(h); } } src/java/com/android/internal/telephony/CommandsInterface.java +35 −0 Original line number Diff line number Diff line Loading @@ -19,11 +19,13 @@ package com.android.internal.telephony; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.uicc.IccCardStatus; import android.os.Message; import android.os.Handler; /** * {@hide} */ Loading Loading @@ -1904,4 +1906,37 @@ public interface CommandsInterface { * @param result Callback message contains the information of SUCCESS/FAILURE */ public void requestShutdown(Message result); /** * Set phone radio type and access technology. * * @param rc the phone radio capability defined in * RadioCapability. It's a input object used to transfer parameter to logic modem * * @param result Callback message. */ public void setRadioCapability(RadioCapability rc, Message result); /** * Get phone radio capability * * @param result Callback message. */ public void getRadioCapability(Message result); /** * Registers the handler when phone radio capability is changed. * * @param h Handler for notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForRadioCapabilityChanged(Handler h, int what, Object obj); /** * Unregister for notifications when phone radio capability is changed. * * @param h Handler to be removed from the registrant list. */ public void unregisterForRadioCapabilityChanged(Handler h); } src/java/com/android/internal/telephony/Phone.java +33 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.telephony.ServiceState; import android.telephony.SignalStrength; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.uicc.IsimRecords; import com.android.internal.telephony.uicc.UiccCard; Loading Loading @@ -1880,4 +1881,36 @@ public interface Phone { * shutdown Radio gracefully */ public void shutdownRadio(); /** * Set phone radio capability * * @param rc the phone radio capability defined in * RadioCapability. It's a input object used to transfer parameter to logic modem * @param response Callback message. */ public void setRadioCapability(RadioCapability rc, Message response); /** * Get phone radio access family * * @return a bit mask to identify the radio access family. */ public int getRadioAccessFamily(); /** * Registers the handler when phone radio capability is changed. * * @param h Handler for notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForRadioCapabilityChanged(Handler h, int what, Object obj); /** * Unregister for notifications when phone radio type and access technology is changed. * * @param h Handler to be removed from the registrant list. */ public void unregisterForRadioCapabilityChanged(Handler h); } src/java/com/android/internal/telephony/PhoneBase.java +40 −2 Original line number Diff line number Diff line Loading @@ -39,17 +39,19 @@ import android.telephony.CellIdentityCdma; import android.telephony.CellInfo; import android.telephony.CellInfoCdma; import android.telephony.DataConnectionRealTimeInfo; import android.telephony.VoLteServiceState; import android.telephony.RadioAccessFamily; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.VoLteServiceState; import android.text.TextUtils; import com.android.ims.ImsManager; import com.android.internal.R; import com.android.internal.telephony.dataconnection.DcTrackerBase; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType; import com.android.internal.telephony.uicc.IccFileHandler; Loading Loading @@ -153,7 +155,8 @@ public abstract class PhoneBase extends Handler implements Phone { protected static final int EVENT_INITIATE_SILENT_REDIAL = 32; protected static final int EVENT_RADIO_NOT_AVAILABLE = 33; protected static final int EVENT_UNSOL_OEM_HOOK_RAW = 34; protected static final int EVENT_LAST = EVENT_UNSOL_OEM_HOOK_RAW; protected static final int EVENT_GET_RADIO_CAPABILITY = 35; protected static final int EVENT_LAST = EVENT_GET_RADIO_CAPABILITY; // Key used to read/write current CLIR setting public static final String CLIR_KEY = "clir_key"; Loading Loading @@ -200,6 +203,8 @@ public abstract class PhoneBase extends Handler implements Phone { private boolean mImsServiceReady = false; protected ImsPhone mImsPhone = null; protected int mRadioAccessFamily = RadioAccessFamily.RAF_UNKNOWN; @Override public String getPhoneName() { return mName; Loading Loading @@ -546,6 +551,19 @@ public abstract class PhoneBase extends Handler implements Phone { } break; case EVENT_GET_RADIO_CAPABILITY: ar = (AsyncResult) msg.obj; RadioCapability rc = (RadioCapability) ar.result; if (ar.exception != null) { Rlog.d(LOG_TAG, "get phone radio capability fail," + "no need to change mRadioAccessFamily"); } else { mRadioAccessFamily = rc.getRadioAccessFamily(); } Rlog.d(LOG_TAG, "EVENT_GET_RADIO_CAPABILITY :" + "phone RAF : " + mRadioAccessFamily); break; default: throw new RuntimeException("unexpected event not handled"); } Loading Loading @@ -1935,6 +1953,26 @@ public abstract class PhoneBase extends Handler implements Phone { getServiceStateTracker().requestShutdown(); } @Override public void setRadioCapability(RadioCapability rc, Message response) { mCi.setRadioCapability(rc, response); } @Override public int getRadioAccessFamily() { return mRadioAccessFamily; } @Override public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) { mCi.registerForRadioCapabilityChanged(h, what, obj); } @Override public void unregisterForRadioCapabilityChanged(Handler h) { mCi.unregisterForRadioCapabilityChanged(this); } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("PhoneBase: subId=" + getSubId()); pw.println(" mPhoneId=" + mPhoneId); Loading src/java/com/android/internal/telephony/PhoneProxy.java +22 −1 Original line number Diff line number Diff line Loading @@ -30,16 +30,17 @@ import android.os.SystemProperties; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellLocation; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.Rlog; import com.android.internal.telephony.cdma.CDMAPhone; import com.android.internal.telephony.gsm.GSMPhone; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.cdma.CDMALTEPhone; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.uicc.IccCardProxy; import com.android.internal.telephony.uicc.IccFileHandler; import com.android.internal.telephony.uicc.IsimRecords; Loading Loading @@ -1429,6 +1430,26 @@ public class PhoneProxy extends Handler implements Phone { mActivePhone.shutdownRadio(); } @Override public void setRadioCapability(RadioCapability rc, Message response) { mActivePhone.setRadioCapability(rc, response); } @Override public int getRadioAccessFamily() { return mActivePhone.getRadioAccessFamily(); } @Override public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) { mActivePhone.registerForRadioCapabilityChanged(h, what, obj); } @Override public void unregisterForRadioCapabilityChanged(Handler h) { mActivePhone.unregisterForRadioCapabilityChanged(h); } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { try { ((PhoneBase)mActivePhone).dump(fd, pw, args); Loading Loading
src/java/com/android/internal/telephony/BaseCommands.java +23 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.internal.telephony; import com.android.internal.telephony.RadioCapability; import android.content.Context; import android.os.Message; Loading @@ -24,6 +25,7 @@ import android.os.RegistrantList; import android.os.Registrant; import android.os.Handler; import android.os.AsyncResult; import android.telephony.TelephonyManager; /** Loading Loading @@ -69,6 +71,8 @@ public abstract class BaseCommands implements CommandsInterface { protected RegistrantList mSubscriptionStatusRegistrants = new RegistrantList(); protected RegistrantList mSrvccStateRegistrants = new RegistrantList(); protected RegistrantList mHardwareConfigChangeRegistrants = new RegistrantList(); protected RegistrantList mPhoneRadioCapabilityChangedRegistrants = new RegistrantList(); protected Registrant mGsmSmsRegistrant; protected Registrant mCdmaSmsRegistrant; Loading Loading @@ -829,4 +833,23 @@ public abstract class BaseCommands implements CommandsInterface { @Override public void requestShutdown(Message result) { } @Override public void getRadioCapability(Message result) { } @Override public void setRadioCapability(RadioCapability rc, Message response) { } @Override public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) { Registrant r = new Registrant(h, what, obj); mPhoneRadioCapabilityChangedRegistrants.add(r); } @Override public void unregisterForRadioCapabilityChanged(Handler h) { mPhoneRadioCapabilityChangedRegistrants.remove(h); } }
src/java/com/android/internal/telephony/CommandsInterface.java +35 −0 Original line number Diff line number Diff line Loading @@ -19,11 +19,13 @@ package com.android.internal.telephony; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; import com.android.internal.telephony.dataconnection.DataProfile; import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.uicc.IccCardStatus; import android.os.Message; import android.os.Handler; /** * {@hide} */ Loading Loading @@ -1904,4 +1906,37 @@ public interface CommandsInterface { * @param result Callback message contains the information of SUCCESS/FAILURE */ public void requestShutdown(Message result); /** * Set phone radio type and access technology. * * @param rc the phone radio capability defined in * RadioCapability. It's a input object used to transfer parameter to logic modem * * @param result Callback message. */ public void setRadioCapability(RadioCapability rc, Message result); /** * Get phone radio capability * * @param result Callback message. */ public void getRadioCapability(Message result); /** * Registers the handler when phone radio capability is changed. * * @param h Handler for notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForRadioCapabilityChanged(Handler h, int what, Object obj); /** * Unregister for notifications when phone radio capability is changed. * * @param h Handler to be removed from the registrant list. */ public void unregisterForRadioCapabilityChanged(Handler h); }
src/java/com/android/internal/telephony/Phone.java +33 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.telephony.ServiceState; import android.telephony.SignalStrength; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.uicc.IsimRecords; import com.android.internal.telephony.uicc.UiccCard; Loading Loading @@ -1880,4 +1881,36 @@ public interface Phone { * shutdown Radio gracefully */ public void shutdownRadio(); /** * Set phone radio capability * * @param rc the phone radio capability defined in * RadioCapability. It's a input object used to transfer parameter to logic modem * @param response Callback message. */ public void setRadioCapability(RadioCapability rc, Message response); /** * Get phone radio access family * * @return a bit mask to identify the radio access family. */ public int getRadioAccessFamily(); /** * Registers the handler when phone radio capability is changed. * * @param h Handler for notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForRadioCapabilityChanged(Handler h, int what, Object obj); /** * Unregister for notifications when phone radio type and access technology is changed. * * @param h Handler to be removed from the registrant list. */ public void unregisterForRadioCapabilityChanged(Handler h); }
src/java/com/android/internal/telephony/PhoneBase.java +40 −2 Original line number Diff line number Diff line Loading @@ -39,17 +39,19 @@ import android.telephony.CellIdentityCdma; import android.telephony.CellInfo; import android.telephony.CellInfoCdma; import android.telephony.DataConnectionRealTimeInfo; import android.telephony.VoLteServiceState; import android.telephony.RadioAccessFamily; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.VoLteServiceState; import android.text.TextUtils; import com.android.ims.ImsManager; import com.android.internal.R; import com.android.internal.telephony.dataconnection.DcTrackerBase; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType; import com.android.internal.telephony.uicc.IccFileHandler; Loading Loading @@ -153,7 +155,8 @@ public abstract class PhoneBase extends Handler implements Phone { protected static final int EVENT_INITIATE_SILENT_REDIAL = 32; protected static final int EVENT_RADIO_NOT_AVAILABLE = 33; protected static final int EVENT_UNSOL_OEM_HOOK_RAW = 34; protected static final int EVENT_LAST = EVENT_UNSOL_OEM_HOOK_RAW; protected static final int EVENT_GET_RADIO_CAPABILITY = 35; protected static final int EVENT_LAST = EVENT_GET_RADIO_CAPABILITY; // Key used to read/write current CLIR setting public static final String CLIR_KEY = "clir_key"; Loading Loading @@ -200,6 +203,8 @@ public abstract class PhoneBase extends Handler implements Phone { private boolean mImsServiceReady = false; protected ImsPhone mImsPhone = null; protected int mRadioAccessFamily = RadioAccessFamily.RAF_UNKNOWN; @Override public String getPhoneName() { return mName; Loading Loading @@ -546,6 +551,19 @@ public abstract class PhoneBase extends Handler implements Phone { } break; case EVENT_GET_RADIO_CAPABILITY: ar = (AsyncResult) msg.obj; RadioCapability rc = (RadioCapability) ar.result; if (ar.exception != null) { Rlog.d(LOG_TAG, "get phone radio capability fail," + "no need to change mRadioAccessFamily"); } else { mRadioAccessFamily = rc.getRadioAccessFamily(); } Rlog.d(LOG_TAG, "EVENT_GET_RADIO_CAPABILITY :" + "phone RAF : " + mRadioAccessFamily); break; default: throw new RuntimeException("unexpected event not handled"); } Loading Loading @@ -1935,6 +1953,26 @@ public abstract class PhoneBase extends Handler implements Phone { getServiceStateTracker().requestShutdown(); } @Override public void setRadioCapability(RadioCapability rc, Message response) { mCi.setRadioCapability(rc, response); } @Override public int getRadioAccessFamily() { return mRadioAccessFamily; } @Override public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) { mCi.registerForRadioCapabilityChanged(h, what, obj); } @Override public void unregisterForRadioCapabilityChanged(Handler h) { mCi.unregisterForRadioCapabilityChanged(this); } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("PhoneBase: subId=" + getSubId()); pw.println(" mPhoneId=" + mPhoneId); Loading
src/java/com/android/internal/telephony/PhoneProxy.java +22 −1 Original line number Diff line number Diff line Loading @@ -30,16 +30,17 @@ import android.os.SystemProperties; import android.os.UserHandle; import android.telephony.CellInfo; import android.telephony.CellLocation; import android.telephony.Rlog; import android.telephony.ServiceState; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.Rlog; import com.android.internal.telephony.cdma.CDMAPhone; import com.android.internal.telephony.gsm.GSMPhone; import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.cdma.CDMALTEPhone; import com.android.internal.telephony.RadioCapability; import com.android.internal.telephony.uicc.IccCardProxy; import com.android.internal.telephony.uicc.IccFileHandler; import com.android.internal.telephony.uicc.IsimRecords; Loading Loading @@ -1429,6 +1430,26 @@ public class PhoneProxy extends Handler implements Phone { mActivePhone.shutdownRadio(); } @Override public void setRadioCapability(RadioCapability rc, Message response) { mActivePhone.setRadioCapability(rc, response); } @Override public int getRadioAccessFamily() { return mActivePhone.getRadioAccessFamily(); } @Override public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) { mActivePhone.registerForRadioCapabilityChanged(h, what, obj); } @Override public void unregisterForRadioCapabilityChanged(Handler h) { mActivePhone.unregisterForRadioCapabilityChanged(h); } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { try { ((PhoneBase)mActivePhone).dump(fd, pw, args); Loading