Merge "Fix new registration APIs as per API council guidelines" am: bfc11892e1

am: 4aea29f73f

Change-Id: I2990bb1024cdbeb5c36be3c3f1847f3312ab5c2e
This commit is contained in:
Brad Ebinger
2019-11-06 10:54:25 -08:00
committed by android-build-merger
5 changed files with 69 additions and 51 deletions

View File

@@ -8201,7 +8201,6 @@ package android.telephony {
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean); method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void factoryReset(int);
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
@@ -8257,6 +8256,7 @@ package android.telephony {
method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback); method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestNumberVerification(@NonNull android.telephony.PhoneNumberRange, long, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.NumberVerificationCallback); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestNumberVerification(@NonNull android.telephony.PhoneNumberRange, long, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.NumberVerificationCallback);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig(); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
@@ -8859,20 +8859,20 @@ package android.telephony.ims {
public class ImsMmTelManager implements android.telephony.ims.RegistrationManager { public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
method @NonNull public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int); method @NonNull public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getFeatureState(@NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull java.util.concurrent.Executor) throws android.telephony.ims.ImsException; method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getFeatureState(@NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull java.util.concurrent.Executor) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull java.util.concurrent.Executor); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationTransportType(@NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull java.util.concurrent.Executor); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiModeSetting(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiModeSetting();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAdvancedCallingSettingEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAdvancedCallingSettingEnabled();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void isSupported(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, @NonNull java.util.function.Consumer<java.lang.Boolean>, @NonNull java.util.concurrent.Executor) throws android.telephony.ims.ImsException; method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void isSupported(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isTtyOverVolteEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isTtyOverVolteEnabled();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVoWiFiRoamingSettingEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVoWiFiRoamingSettingEnabled();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVoWiFiSettingEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVoWiFiSettingEnabled();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVtSettingEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVtSettingEnabled();
method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException; method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback, @NonNull java.util.concurrent.Executor) throws android.telephony.ims.ImsException; method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerMmTelCapabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback) throws android.telephony.ims.ImsException; method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerMmTelCapabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
@@ -9332,9 +9332,9 @@ package android.telephony.ims {
} }
public interface RegistrationManager { public interface RegistrationManager {
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull java.util.concurrent.Executor); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationTransportType(@NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull java.util.concurrent.Executor); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback, @NonNull java.util.concurrent.Executor) throws android.telephony.ims.ImsException; method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
field public static final int REGISTRATION_STATE_NOT_REGISTERED = 0; // 0x0 field public static final int REGISTRATION_STATE_NOT_REGISTERED = 0; // 0x0
field public static final int REGISTRATION_STATE_REGISTERED = 2; // 0x2 field public static final int REGISTRATION_STATE_REGISTERED = 2; // 0x2

View File

@@ -9449,18 +9449,37 @@ public class TelephonyManager {
} }
/** /**
* Resets Telephony and IMS settings back to factory defaults. * Resets telephony manager settings back to factory defaults.
* *
* @hide * @hide
*/ */
@SystemApi
@RequiresPermission(Manifest.permission.CONNECTIVITY_INTERNAL)
public void factoryReset(int subId) { public void factoryReset(int subId) {
try { try {
Log.d(TAG, "factoryReset: subId=" + subId); Log.d(TAG, "factoryReset: subId=" + subId);
ITelephony telephony = getITelephony(); ITelephony telephony = getITelephony();
if (telephony != null) if (telephony != null) {
telephony.factoryReset(subId); telephony.factoryReset(subId);
}
} catch (RemoteException e) {
}
}
/**
* Resets Telephony and IMS settings back to factory defaults only for the subscription
* associated with this instance.
* @see #createForSubscriptionId(int)
* @hide
*/
@SystemApi
@RequiresPermission(Manifest.permission.CONNECTIVITY_INTERNAL)
public void resetSettings() {
try {
Log.d(TAG, "resetSettings: subId=" + getSubId());
ITelephony telephony = getITelephony();
if (telephony != null) {
telephony.factoryReset(getSubId());
}
} catch (RemoteException e) { } catch (RemoteException e) {
} }
} }

View File

@@ -254,8 +254,8 @@ public class ImsMmTelManager implements RegistrationManager {
* the {@link ImsService} associated with the subscription is not available. This can happen if * the {@link ImsService} associated with the subscription is not available. This can happen if
* the service crashed, for example. See {@link ImsException#getCode()} for a more detailed * the service crashed, for example. See {@link ImsException#getCode()} for a more detailed
* reason. * reason.
* @deprecated Use {@link #registerImsRegistrationCallback( * @deprecated Use {@link RegistrationManager#registerImsRegistrationCallback(Executor,
* RegistrationManager.RegistrationCallback, Executor)} instead. * RegistrationManager.RegistrationCallback)} instead.
*/ */
@Deprecated @Deprecated
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
@@ -285,9 +285,8 @@ public class ImsMmTelManager implements RegistrationManager {
/**{@inheritDoc}*/ /**{@inheritDoc}*/
@Override @Override
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public void registerImsRegistrationCallback( public void registerImsRegistrationCallback(@NonNull @CallbackExecutor Executor executor,
@NonNull RegistrationManager.RegistrationCallback c, @NonNull RegistrationManager.RegistrationCallback c) throws ImsException {
@NonNull @CallbackExecutor Executor executor) throws ImsException {
if (c == null) { if (c == null) {
throw new IllegalArgumentException("Must include a non-null RegistrationCallback."); throw new IllegalArgumentException("Must include a non-null RegistrationCallback.");
} }
@@ -348,8 +347,8 @@ public class ImsMmTelManager implements RegistrationManager {
/**{@inheritDoc}*/ /**{@inheritDoc}*/
@Override @Override
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public void getRegistrationState(@NonNull @ImsRegistrationState Consumer<Integer> stateCallback, public void getRegistrationState(@NonNull @CallbackExecutor Executor executor,
@NonNull @CallbackExecutor Executor executor) { @NonNull @ImsRegistrationState Consumer<Integer> stateCallback) {
if (stateCallback == null) { if (stateCallback == null) {
throw new IllegalArgumentException("Must include a non-null callback."); throw new IllegalArgumentException("Must include a non-null callback.");
} }
@@ -371,9 +370,9 @@ public class ImsMmTelManager implements RegistrationManager {
/**{@inheritDoc}*/ /**{@inheritDoc}*/
@Override @Override
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public void getRegistrationTransportType( public void getRegistrationTransportType(@NonNull @CallbackExecutor Executor executor,
@NonNull @AccessNetworkConstants.TransportType Consumer<Integer> transportTypeCallback, @NonNull @AccessNetworkConstants.TransportType
@NonNull @CallbackExecutor Executor executor) { Consumer<Integer> transportTypeCallback) {
if (transportTypeCallback == null) { if (transportTypeCallback == null) {
throw new IllegalArgumentException("Must include a non-null callback."); throw new IllegalArgumentException("Must include a non-null callback.");
} }
@@ -607,17 +606,17 @@ public class ImsMmTelManager implements RegistrationManager {
* {@link CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED} broadcast for this subscription. * {@link CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED} broadcast for this subscription.
* @param capability The capability that is being queried for support on the carrier network. * @param capability The capability that is being queried for support on the carrier network.
* @param transportType The transport type of the capability to check support for. * @param transportType The transport type of the capability to check support for.
* @param executor The executor that the callback will be called with.
* @param callback A consumer containing a Boolean result specifying whether or not the * @param callback A consumer containing a Boolean result specifying whether or not the
* capability is supported on this carrier network for the transport specified. * capability is supported on this carrier network for the transport specified.
* @param executor The executor that the callback will be called with.
* @throws ImsException if the subscription is no longer valid or the IMS service is not * @throws ImsException if the subscription is no longer valid or the IMS service is not
* available. * available.
*/ */
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public void isSupported(@MmTelFeature.MmTelCapabilities.MmTelCapability int capability, public void isSupported(@MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
@AccessNetworkConstants.TransportType int transportType, @AccessNetworkConstants.TransportType int transportType,
@NonNull Consumer<Boolean> callback, @NonNull @CallbackExecutor Executor executor,
@NonNull @CallbackExecutor Executor executor) throws ImsException { @NonNull Consumer<Boolean> callback) throws ImsException {
if (callback == null) { if (callback == null) {
throw new IllegalArgumentException("Must include a non-null Consumer."); throw new IllegalArgumentException("Must include a non-null Consumer.");
} }

View File

@@ -141,8 +141,8 @@ public class ImsRcsManager implements RegistrationManager {
/**{@inheritDoc}*/ /**{@inheritDoc}*/
@Override @Override
public void registerImsRegistrationCallback( public void registerImsRegistrationCallback(
@NonNull RegistrationManager.RegistrationCallback c, @NonNull @CallbackExecutor Executor executor,
@NonNull @CallbackExecutor Executor executor) @NonNull RegistrationCallback c)
throws ImsException { throws ImsException {
if (c == null) { if (c == null) {
throw new IllegalArgumentException("Must include a non-null RegistrationCallback."); throw new IllegalArgumentException("Must include a non-null RegistrationCallback.");
@@ -168,8 +168,8 @@ public class ImsRcsManager implements RegistrationManager {
/**{@inheritDoc}*/ /**{@inheritDoc}*/
@Override @Override
public void getRegistrationState(@NonNull @ImsRegistrationState Consumer<Integer> stateCallback, public void getRegistrationState(@NonNull @CallbackExecutor Executor executor,
@NonNull @CallbackExecutor Executor executor) { @NonNull @ImsRegistrationState Consumer<Integer> stateCallback) {
if (stateCallback == null) { if (stateCallback == null) {
throw new IllegalArgumentException("Must include a non-null stateCallback."); throw new IllegalArgumentException("Must include a non-null stateCallback.");
} }
@@ -182,9 +182,9 @@ public class ImsRcsManager implements RegistrationManager {
/**{@inheritDoc}*/ /**{@inheritDoc}*/
@Override @Override
public void getRegistrationTransportType( public void getRegistrationTransportType(@NonNull @CallbackExecutor Executor executor,
@NonNull @AccessNetworkConstants.TransportType Consumer<Integer> transportTypeCallback, @NonNull @AccessNetworkConstants.TransportType
@NonNull @CallbackExecutor Executor executor) { Consumer<Integer> transportTypeCallback) {
if (transportTypeCallback == null) { if (transportTypeCallback == null) {
throw new IllegalArgumentException("Must include a non-null transportTypeCallback."); throw new IllegalArgumentException("Must include a non-null transportTypeCallback.");
} }

View File

@@ -90,7 +90,7 @@ public interface RegistrationManager {
/** /**
* Callback class for receiving IMS network Registration callback events. * Callback class for receiving IMS network Registration callback events.
* @see #registerImsRegistrationCallback(RegistrationCallback, Executor) * @see #registerImsRegistrationCallback(Executor, RegistrationCallback)
* @see #unregisterImsRegistrationCallback(RegistrationCallback) * @see #unregisterImsRegistrationCallback(RegistrationCallback)
*/ */
class RegistrationCallback { class RegistrationCallback {
@@ -229,8 +229,8 @@ public interface RegistrationManager {
* When the callback is registered, it will initiate the callback c to be called with the * When the callback is registered, it will initiate the callback c to be called with the
* current registration state. * current registration state.
* *
* @param c The {@link RegistrationCallback} to be added.
* @param executor The executor the callback events should be run on. * @param executor The executor the callback events should be run on.
* @param c The {@link RegistrationCallback} to be added.
* @see #unregisterImsRegistrationCallback(RegistrationCallback) * @see #unregisterImsRegistrationCallback(RegistrationCallback)
* @throws ImsException if the subscription associated with this callback is valid, but * @throws ImsException if the subscription associated with this callback is valid, but
* the {@link ImsService} associated with the subscription is not available. This can happen if * the {@link ImsService} associated with the subscription is not available. This can happen if
@@ -238,8 +238,8 @@ public interface RegistrationManager {
* reason. * reason.
*/ */
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
void registerImsRegistrationCallback(@NonNull RegistrationCallback c, void registerImsRegistrationCallback(@NonNull @CallbackExecutor Executor executor,
@NonNull @CallbackExecutor Executor executor) throws ImsException; @NonNull RegistrationCallback c) throws ImsException;
/** /**
* Removes an existing {@link RegistrationCallback}. * Removes an existing {@link RegistrationCallback}.
@@ -250,36 +250,36 @@ public interface RegistrationManager {
* *
* @param c The {@link RegistrationCallback} to be removed. * @param c The {@link RegistrationCallback} to be removed.
* @see SubscriptionManager.OnSubscriptionsChangedListener * @see SubscriptionManager.OnSubscriptionsChangedListener
* @see #registerImsRegistrationCallback(RegistrationCallback, Executor) * @see #registerImsRegistrationCallback(Executor, RegistrationCallback)
*/ */
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
void unregisterImsRegistrationCallback(@NonNull RegistrationCallback c); void unregisterImsRegistrationCallback(@NonNull RegistrationCallback c);
/** /**
* Gets the registration state of the IMS service. * Gets the registration state of the IMS service.
* @param stateCallback A callback called on the supplied {@link Executor} that will contain the
* registration state of the IMS service, which will be one of the
* following: {@link #REGISTRATION_STATE_NOT_REGISTERED},
* {@link #REGISTRATION_STATE_REGISTERING}, or
* {@link #REGISTRATION_STATE_REGISTERED}.
* @param executor The {@link Executor} that will be used to call the IMS registration state * @param executor The {@link Executor} that will be used to call the IMS registration state
* callback. * callback.
* @param stateCallback A callback called on the supplied {@link Executor} that will contain the
* registration state of the IMS service, which will be one of the
* following: {@link #REGISTRATION_STATE_NOT_REGISTERED},
* {@link #REGISTRATION_STATE_REGISTERING}, or
* {@link #REGISTRATION_STATE_REGISTERED}.
*/ */
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
void getRegistrationState(@NonNull @ImsRegistrationState Consumer<Integer> stateCallback, void getRegistrationState(@NonNull @CallbackExecutor Executor executor,
@NonNull @CallbackExecutor Executor executor); @NonNull @ImsRegistrationState Consumer<Integer> stateCallback);
/** /**
* Gets the Transport Type associated with the current IMS registration. * Gets the Transport Type associated with the current IMS registration.
* @param transportTypeCallback The transport type associated with the current IMS registration,
* which will be one of following:
* {@link AccessNetworkConstants#TRANSPORT_TYPE_WWAN},
* {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}, or
* {@link AccessNetworkConstants#TRANSPORT_TYPE_INVALID}.
* @param executor The {@link Executor} that will be used to call the transportTypeCallback. * @param executor The {@link Executor} that will be used to call the transportTypeCallback.
* @param transportTypeCallback The transport type associated with the current IMS registration,
* which will be one of following:
* {@link AccessNetworkConstants#TRANSPORT_TYPE_WWAN},
* {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}, or
* {@link AccessNetworkConstants#TRANSPORT_TYPE_INVALID}.
*/ */
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
void getRegistrationTransportType( void getRegistrationTransportType(
@NonNull @AccessNetworkConstants.TransportType Consumer<Integer> transportTypeCallback, @NonNull @CallbackExecutor Executor executor,
@NonNull @CallbackExecutor Executor executor); @NonNull @AccessNetworkConstants.TransportType Consumer<Integer> transportTypeCallback);
} }