Loading src/java/com/android/internal/telephony/CommandException.java +33 −1 Original line number Original line Diff line number Diff line Loading @@ -131,6 +131,17 @@ public class CommandException extends RuntimeException { BLOCKED_DUE_TO_CALL, BLOCKED_DUE_TO_CALL, RF_HARDWARE_ISSUE, RF_HARDWARE_ISSUE, NO_RF_CALIBRATION_INFO, NO_RF_CALIBRATION_INFO, ENCODING_NOT_SUPPORTED, FEATURE_NOT_SUPPORTED, INVALID_CONTACT, MODEM_INCOMPATIBLE, NETWORK_TIMEOUT, NO_SATELLITE_SIGNAL, NOT_SUFFICIENT_ACCOUNT_BALANCE, RADIO_TECHNOLOGY_NOT_SUPPORTED, SUBSCRIBER_NOT_AUTHORIZED, SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL, UNIDENTIFIED_SUBSCRIBER } } @UnsupportedAppUsage @UnsupportedAppUsage Loading Loading @@ -341,7 +352,28 @@ public class CommandException extends RuntimeException { return new CommandException(Error.RF_HARDWARE_ISSUE); return new CommandException(Error.RF_HARDWARE_ISSUE); case RILConstants.NO_RF_CALIBRATION_INFO: case RILConstants.NO_RF_CALIBRATION_INFO: return new CommandException(Error.NO_RF_CALIBRATION_INFO); return new CommandException(Error.NO_RF_CALIBRATION_INFO); case RILConstants.ENCODING_NOT_SUPPORTED: return new CommandException(Error.ENCODING_NOT_SUPPORTED); case RILConstants.FEATURE_NOT_SUPPORTED: return new CommandException(Error.FEATURE_NOT_SUPPORTED); case RILConstants.INVALID_CONTACT: return new CommandException(Error.INVALID_CONTACT); case RILConstants.MODEM_INCOMPATIBLE: return new CommandException(Error.MODEM_INCOMPATIBLE); case RILConstants.NETWORK_TIMEOUT: return new CommandException(Error.NETWORK_TIMEOUT); case RILConstants.NO_SATELLITE_SIGNAL: return new CommandException(Error.NO_SATELLITE_SIGNAL); case RILConstants.NOT_SUFFICIENT_ACCOUNT_BALANCE: return new CommandException(Error.NOT_SUFFICIENT_ACCOUNT_BALANCE); case RILConstants.RADIO_TECHNOLOGY_NOT_SUPPORTED: return new CommandException(Error.RADIO_TECHNOLOGY_NOT_SUPPORTED); case RILConstants.SUBSCRIBER_NOT_AUTHORIZED: return new CommandException(Error.SUBSCRIBER_NOT_AUTHORIZED); case RILConstants.SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL: return new CommandException(Error.SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL); case RILConstants.UNIDENTIFIED_SUBSCRIBER: return new CommandException(Error.UNIDENTIFIED_SUBSCRIBER); default: default: Rlog.e("GSM", "Unrecognized RIL errno " + ril_errno); Rlog.e("GSM", "Unrecognized RIL errno " + ril_errno); return new CommandException(Error.INVALID_RESPONSE); return new CommandException(Error.INVALID_RESPONSE); Loading src/java/com/android/internal/telephony/Phone.java +54 −0 Original line number Original line Diff line number Diff line Loading @@ -5321,6 +5321,60 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { mCi.unregisterForSatelliteMessagesTransferComplete(h); mCi.unregisterForSatelliteMessagesTransferComplete(h); } } /** * Provision the subscription with a satellite provider. This is needed to register the * subscription if the provider allows dynamic registration. * * @param result Callback message to receive the result. * @param imei IMEI of the SIM associated with the satellite modem. * @param msisdn MSISDN of the SIM associated with the satellite modem. * @param imsi IMSI of the SIM associated with the satellite modem. * @param features List of features to be provisioned. */ public void provisionSatelliteService(Message result, String imei, String msisdn, String imsi, int[] features) { mCi.provisionSatelliteService(result, imei, msisdn, imsi, features); } /** * Cancel the ongoing provision satellite request of a subscription. * * @param result Callback message to receive the result. * @param imsi IMSI of the subscription whose provision request will be cancelled. */ public void cancelProvisionSatelliteService(Message result, String imsi) { //TODO (b/266126070): add implementation. } /** * Register for a satellite provision state changed event. * * @param h Handler for notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForSatelliteProvisionStateChanged(Handler h, int what, Object obj) { mCi.registerForSatelliteProvisionStateChanged(h, what, obj); } /** * Unregister for a satellite provision state changed event. * * @param h Handler to be removed from the registrant list. */ public void unregisterForSatelliteProvisionStateChanged(Handler h) { mCi.unregisterForSatelliteProvisionStateChanged(h); } /** * Get the list of provisioned satellite features. * * @param result Callback message to receive the result. */ public void getProvisionedSatelliteFeatures(Message result) { //TODO (b/266126070): add implementation. } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("Phone: subId=" + getSubId()); pw.println("Phone: subId=" + getSubId()); pw.println(" mPhoneId=" + mPhoneId); pw.println(" mPhoneId=" + mPhoneId); Loading src/java/com/android/internal/telephony/RILUtils.java +54 −7 Original line number Original line Diff line number Diff line Loading @@ -6026,10 +6026,11 @@ public class RILUtils { CommandException.Error error) { CommandException.Error error) { switch (error) { switch (error) { case INTERNAL_ERR: case INTERNAL_ERR: case MODEM_ERR: return SatelliteManager.SATELLITE_SERVICE_MODEM_ERROR; return SatelliteManager.SATELLITE_SERVICE_MODEM_ERROR; case MODEM_ERR: return SatelliteManager.SATELLITE_SERVICE_UNEXPECTED_MODEM_RESPONSE; case SYSTEM_ERR: case SYSTEM_ERR: return SatelliteManager.SATELLITE_SERVICE_SYSTEM_ERROR; return SatelliteManager.SATELLITE_SERVICE_RIL_ERROR; case INVALID_ARGUMENTS: case INVALID_ARGUMENTS: return SatelliteManager.SATELLITE_SERVICE_INVALID_ARGUMENTS; return SatelliteManager.SATELLITE_SERVICE_INVALID_ARGUMENTS; case INVALID_MODEM_STATE: case INVALID_MODEM_STATE: Loading @@ -6037,17 +6038,63 @@ public class RILUtils { case INVALID_SIM_STATE: case INVALID_SIM_STATE: return SatelliteManager.SATELLITE_SERVICE_INVALID_SIM_STATE; return SatelliteManager.SATELLITE_SERVICE_INVALID_SIM_STATE; case INVALID_STATE: case INVALID_STATE: return SatelliteManager.SATELLITE_SERVICE_INVALID_STATE; return SatelliteManager.SATELLITE_SERVICE_INVALID_RIL_STATE; case RADIO_NOT_AVAILABLE: case RADIO_NOT_AVAILABLE: return SatelliteManager.SATELLITE_SERVICE_NOT_AVAILABLE; return SatelliteManager.SATELLITE_SERVICE_RADIO_NOT_AVAILABLE; case REQUEST_NOT_SUPPORTED: case REQUEST_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_NOT_SUPPORTED; return SatelliteManager.SATELLITE_SERVICE_REQUEST_NOT_SUPPORTED; case REQUEST_RATE_LIMITED: case REQUEST_RATE_LIMITED: return SatelliteManager.SATELLITE_SERVICE_RATE_LIMITED; return SatelliteManager.SATELLITE_SERVICE_REQUEST_RATE_LIMITED; case NO_MEMORY: case NO_MEMORY: return SatelliteManager.SATELLITE_SERVICE_NO_MEMORY; //fallthrough to NO_RESOURCES case NO_RESOURCES: case NO_RESOURCES: return SatelliteManager.SATELLITE_SERVICE_NO_RESOURCES; return SatelliteManager.SATELLITE_SERVICE_NO_RESOURCES; case NETWORK_ERR: return SatelliteManager.SATELLITE_SERVICE_NETWORK_ERROR; case NETWORK_NOT_READY: return SatelliteManager.SATELLITE_SERVICE_NETWORK_NOT_READY; case NETWORK_REJECT: return SatelliteManager.SATELLITE_SERVICE_SERVER_REJECT; case NETWORK_TIMEOUT: return SatelliteManager.SATELLITE_SERVICE_NETWORK_TIMEOUT; case NO_NETWORK_FOUND: //fallthrough to NO_SATELLITE_SIGNAL case NO_SATELLITE_SIGNAL: return SatelliteManager.SATELLITE_SERVICE_NO_SATELLITE_SIGNAL; case ABORTED: return SatelliteManager.SATELLITE_SERVICE_REQUEST_ABORTED; case ACCESS_BARRED: return SatelliteManager.SATELLITE_SERVICE_ACCESS_BARRED; case FEATURE_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_FEATURE_NOT_SUPPORTED; case MODEM_INCOMPATIBLE: return SatelliteManager.SATELLITE_SERVICE_MODEM_INCOMPATIBLE; case NO_SUBSCRIPTION: return SatelliteManager.SATELLITE_SERVICE_NO_SUBSCRIPTION; case OPERATION_NOT_ALLOWED: return SatelliteManager.SATELLITE_SERVICE_OPERATION_NOT_ALLOWED; case RADIO_TECHNOLOGY_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_RADIO_TECHNOLOGY_NOT_SUPPORTED; case SIM_ABSENT: return SatelliteManager.SATELLITE_SERVICE_SIM_ABSENT; case SIM_BUSY: return SatelliteManager.SATELLITE_SERVICE_SIM_BUSY; case SIM_ERR: return SatelliteManager.SATELLITE_SERVICE_SIM_ERR; case SIM_FULL: return SatelliteManager.SATELLITE_SERVICE_SIM_FULL; case SUBSCRIBER_NOT_AUTHORIZED: return SatelliteManager.SATELLITE_SERVICE_SUBSCRIBER_NOT_AUTHORIZED; case ENCODING_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_ENCODING_NOT_SUPPORTED; case INVALID_CONTACT: return SatelliteManager.SATELLITE_SERVICE_INVALID_CONTACT; case NOT_SUFFICIENT_ACCOUNT_BALANCE: return SatelliteManager.SATELLITE_SERVICE_NOT_SUFFICIENT_ACCOUNT_BALANCE; case SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL: return SatelliteManager.SATELLITE_SERVICE_SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL; case UNIDENTIFIED_SUBSCRIBER: return SatelliteManager.SATELLITE_SERVICE_UNIDENTIFIED_SUBSCRIBER; default: default: return SatelliteManager.SATELLITE_SERVICE_ERROR; return SatelliteManager.SATELLITE_SERVICE_ERROR; } } Loading src/java/com/android/internal/telephony/SatelliteIndication.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -172,8 +172,8 @@ public class SatelliteIndication extends IRadioSatelliteIndication.Stub { if (mRil.isLogOrTrace()) mRil.unsljLog(RIL_UNSOL_SATELLITE_PROVISION_STATE_CHANGED); if (mRil.isLogOrTrace()) mRil.unsljLog(RIL_UNSOL_SATELLITE_PROVISION_STATE_CHANGED); if (mRil.mSatelliteProvisionStateChangedRegistrants != null) { if (mRil.mSatelliteProvisionStateChangedRegistrants != null) { mRil.mSatelliteProvisionStateChangedRegistrants.notifyRegistrants( mRil.mSatelliteProvisionStateChangedRegistrants.notifyRegistrants(new AsyncResult( new AsyncResult(null, RILUtils.convertHalSatelliteFeatures(features), null)); provisioned, RILUtils.convertHalSatelliteFeatures(features), null)); } } } } } } Loading
src/java/com/android/internal/telephony/CommandException.java +33 −1 Original line number Original line Diff line number Diff line Loading @@ -131,6 +131,17 @@ public class CommandException extends RuntimeException { BLOCKED_DUE_TO_CALL, BLOCKED_DUE_TO_CALL, RF_HARDWARE_ISSUE, RF_HARDWARE_ISSUE, NO_RF_CALIBRATION_INFO, NO_RF_CALIBRATION_INFO, ENCODING_NOT_SUPPORTED, FEATURE_NOT_SUPPORTED, INVALID_CONTACT, MODEM_INCOMPATIBLE, NETWORK_TIMEOUT, NO_SATELLITE_SIGNAL, NOT_SUFFICIENT_ACCOUNT_BALANCE, RADIO_TECHNOLOGY_NOT_SUPPORTED, SUBSCRIBER_NOT_AUTHORIZED, SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL, UNIDENTIFIED_SUBSCRIBER } } @UnsupportedAppUsage @UnsupportedAppUsage Loading Loading @@ -341,7 +352,28 @@ public class CommandException extends RuntimeException { return new CommandException(Error.RF_HARDWARE_ISSUE); return new CommandException(Error.RF_HARDWARE_ISSUE); case RILConstants.NO_RF_CALIBRATION_INFO: case RILConstants.NO_RF_CALIBRATION_INFO: return new CommandException(Error.NO_RF_CALIBRATION_INFO); return new CommandException(Error.NO_RF_CALIBRATION_INFO); case RILConstants.ENCODING_NOT_SUPPORTED: return new CommandException(Error.ENCODING_NOT_SUPPORTED); case RILConstants.FEATURE_NOT_SUPPORTED: return new CommandException(Error.FEATURE_NOT_SUPPORTED); case RILConstants.INVALID_CONTACT: return new CommandException(Error.INVALID_CONTACT); case RILConstants.MODEM_INCOMPATIBLE: return new CommandException(Error.MODEM_INCOMPATIBLE); case RILConstants.NETWORK_TIMEOUT: return new CommandException(Error.NETWORK_TIMEOUT); case RILConstants.NO_SATELLITE_SIGNAL: return new CommandException(Error.NO_SATELLITE_SIGNAL); case RILConstants.NOT_SUFFICIENT_ACCOUNT_BALANCE: return new CommandException(Error.NOT_SUFFICIENT_ACCOUNT_BALANCE); case RILConstants.RADIO_TECHNOLOGY_NOT_SUPPORTED: return new CommandException(Error.RADIO_TECHNOLOGY_NOT_SUPPORTED); case RILConstants.SUBSCRIBER_NOT_AUTHORIZED: return new CommandException(Error.SUBSCRIBER_NOT_AUTHORIZED); case RILConstants.SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL: return new CommandException(Error.SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL); case RILConstants.UNIDENTIFIED_SUBSCRIBER: return new CommandException(Error.UNIDENTIFIED_SUBSCRIBER); default: default: Rlog.e("GSM", "Unrecognized RIL errno " + ril_errno); Rlog.e("GSM", "Unrecognized RIL errno " + ril_errno); return new CommandException(Error.INVALID_RESPONSE); return new CommandException(Error.INVALID_RESPONSE); Loading
src/java/com/android/internal/telephony/Phone.java +54 −0 Original line number Original line Diff line number Diff line Loading @@ -5321,6 +5321,60 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { mCi.unregisterForSatelliteMessagesTransferComplete(h); mCi.unregisterForSatelliteMessagesTransferComplete(h); } } /** * Provision the subscription with a satellite provider. This is needed to register the * subscription if the provider allows dynamic registration. * * @param result Callback message to receive the result. * @param imei IMEI of the SIM associated with the satellite modem. * @param msisdn MSISDN of the SIM associated with the satellite modem. * @param imsi IMSI of the SIM associated with the satellite modem. * @param features List of features to be provisioned. */ public void provisionSatelliteService(Message result, String imei, String msisdn, String imsi, int[] features) { mCi.provisionSatelliteService(result, imei, msisdn, imsi, features); } /** * Cancel the ongoing provision satellite request of a subscription. * * @param result Callback message to receive the result. * @param imsi IMSI of the subscription whose provision request will be cancelled. */ public void cancelProvisionSatelliteService(Message result, String imsi) { //TODO (b/266126070): add implementation. } /** * Register for a satellite provision state changed event. * * @param h Handler for notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForSatelliteProvisionStateChanged(Handler h, int what, Object obj) { mCi.registerForSatelliteProvisionStateChanged(h, what, obj); } /** * Unregister for a satellite provision state changed event. * * @param h Handler to be removed from the registrant list. */ public void unregisterForSatelliteProvisionStateChanged(Handler h) { mCi.unregisterForSatelliteProvisionStateChanged(h); } /** * Get the list of provisioned satellite features. * * @param result Callback message to receive the result. */ public void getProvisionedSatelliteFeatures(Message result) { //TODO (b/266126070): add implementation. } public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("Phone: subId=" + getSubId()); pw.println("Phone: subId=" + getSubId()); pw.println(" mPhoneId=" + mPhoneId); pw.println(" mPhoneId=" + mPhoneId); Loading
src/java/com/android/internal/telephony/RILUtils.java +54 −7 Original line number Original line Diff line number Diff line Loading @@ -6026,10 +6026,11 @@ public class RILUtils { CommandException.Error error) { CommandException.Error error) { switch (error) { switch (error) { case INTERNAL_ERR: case INTERNAL_ERR: case MODEM_ERR: return SatelliteManager.SATELLITE_SERVICE_MODEM_ERROR; return SatelliteManager.SATELLITE_SERVICE_MODEM_ERROR; case MODEM_ERR: return SatelliteManager.SATELLITE_SERVICE_UNEXPECTED_MODEM_RESPONSE; case SYSTEM_ERR: case SYSTEM_ERR: return SatelliteManager.SATELLITE_SERVICE_SYSTEM_ERROR; return SatelliteManager.SATELLITE_SERVICE_RIL_ERROR; case INVALID_ARGUMENTS: case INVALID_ARGUMENTS: return SatelliteManager.SATELLITE_SERVICE_INVALID_ARGUMENTS; return SatelliteManager.SATELLITE_SERVICE_INVALID_ARGUMENTS; case INVALID_MODEM_STATE: case INVALID_MODEM_STATE: Loading @@ -6037,17 +6038,63 @@ public class RILUtils { case INVALID_SIM_STATE: case INVALID_SIM_STATE: return SatelliteManager.SATELLITE_SERVICE_INVALID_SIM_STATE; return SatelliteManager.SATELLITE_SERVICE_INVALID_SIM_STATE; case INVALID_STATE: case INVALID_STATE: return SatelliteManager.SATELLITE_SERVICE_INVALID_STATE; return SatelliteManager.SATELLITE_SERVICE_INVALID_RIL_STATE; case RADIO_NOT_AVAILABLE: case RADIO_NOT_AVAILABLE: return SatelliteManager.SATELLITE_SERVICE_NOT_AVAILABLE; return SatelliteManager.SATELLITE_SERVICE_RADIO_NOT_AVAILABLE; case REQUEST_NOT_SUPPORTED: case REQUEST_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_NOT_SUPPORTED; return SatelliteManager.SATELLITE_SERVICE_REQUEST_NOT_SUPPORTED; case REQUEST_RATE_LIMITED: case REQUEST_RATE_LIMITED: return SatelliteManager.SATELLITE_SERVICE_RATE_LIMITED; return SatelliteManager.SATELLITE_SERVICE_REQUEST_RATE_LIMITED; case NO_MEMORY: case NO_MEMORY: return SatelliteManager.SATELLITE_SERVICE_NO_MEMORY; //fallthrough to NO_RESOURCES case NO_RESOURCES: case NO_RESOURCES: return SatelliteManager.SATELLITE_SERVICE_NO_RESOURCES; return SatelliteManager.SATELLITE_SERVICE_NO_RESOURCES; case NETWORK_ERR: return SatelliteManager.SATELLITE_SERVICE_NETWORK_ERROR; case NETWORK_NOT_READY: return SatelliteManager.SATELLITE_SERVICE_NETWORK_NOT_READY; case NETWORK_REJECT: return SatelliteManager.SATELLITE_SERVICE_SERVER_REJECT; case NETWORK_TIMEOUT: return SatelliteManager.SATELLITE_SERVICE_NETWORK_TIMEOUT; case NO_NETWORK_FOUND: //fallthrough to NO_SATELLITE_SIGNAL case NO_SATELLITE_SIGNAL: return SatelliteManager.SATELLITE_SERVICE_NO_SATELLITE_SIGNAL; case ABORTED: return SatelliteManager.SATELLITE_SERVICE_REQUEST_ABORTED; case ACCESS_BARRED: return SatelliteManager.SATELLITE_SERVICE_ACCESS_BARRED; case FEATURE_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_FEATURE_NOT_SUPPORTED; case MODEM_INCOMPATIBLE: return SatelliteManager.SATELLITE_SERVICE_MODEM_INCOMPATIBLE; case NO_SUBSCRIPTION: return SatelliteManager.SATELLITE_SERVICE_NO_SUBSCRIPTION; case OPERATION_NOT_ALLOWED: return SatelliteManager.SATELLITE_SERVICE_OPERATION_NOT_ALLOWED; case RADIO_TECHNOLOGY_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_RADIO_TECHNOLOGY_NOT_SUPPORTED; case SIM_ABSENT: return SatelliteManager.SATELLITE_SERVICE_SIM_ABSENT; case SIM_BUSY: return SatelliteManager.SATELLITE_SERVICE_SIM_BUSY; case SIM_ERR: return SatelliteManager.SATELLITE_SERVICE_SIM_ERR; case SIM_FULL: return SatelliteManager.SATELLITE_SERVICE_SIM_FULL; case SUBSCRIBER_NOT_AUTHORIZED: return SatelliteManager.SATELLITE_SERVICE_SUBSCRIBER_NOT_AUTHORIZED; case ENCODING_NOT_SUPPORTED: return SatelliteManager.SATELLITE_SERVICE_ENCODING_NOT_SUPPORTED; case INVALID_CONTACT: return SatelliteManager.SATELLITE_SERVICE_INVALID_CONTACT; case NOT_SUFFICIENT_ACCOUNT_BALANCE: return SatelliteManager.SATELLITE_SERVICE_NOT_SUFFICIENT_ACCOUNT_BALANCE; case SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL: return SatelliteManager.SATELLITE_SERVICE_SWITCHED_FROM_SATELLITE_TO_TERRESTRIAL; case UNIDENTIFIED_SUBSCRIBER: return SatelliteManager.SATELLITE_SERVICE_UNIDENTIFIED_SUBSCRIBER; default: default: return SatelliteManager.SATELLITE_SERVICE_ERROR; return SatelliteManager.SATELLITE_SERVICE_ERROR; } } Loading
src/java/com/android/internal/telephony/SatelliteIndication.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -172,8 +172,8 @@ public class SatelliteIndication extends IRadioSatelliteIndication.Stub { if (mRil.isLogOrTrace()) mRil.unsljLog(RIL_UNSOL_SATELLITE_PROVISION_STATE_CHANGED); if (mRil.isLogOrTrace()) mRil.unsljLog(RIL_UNSOL_SATELLITE_PROVISION_STATE_CHANGED); if (mRil.mSatelliteProvisionStateChangedRegistrants != null) { if (mRil.mSatelliteProvisionStateChangedRegistrants != null) { mRil.mSatelliteProvisionStateChangedRegistrants.notifyRegistrants( mRil.mSatelliteProvisionStateChangedRegistrants.notifyRegistrants(new AsyncResult( new AsyncResult(null, RILUtils.convertHalSatelliteFeatures(features), null)); provisioned, RILUtils.convertHalSatelliteFeatures(features), null)); } } } } } }