Merge "Update PhoneStateListener#onOutgoingEmergencySms" am: c5d02da0f6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1470691 Change-Id: I5edcfe057174d1b6e9d4c0c55540031653c7e14f
This commit is contained in:
@@ -10828,7 +10828,8 @@ package android.telephony {
|
|||||||
method public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
|
method public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
|
||||||
method @Deprecated public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
|
method @Deprecated public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
|
||||||
method public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
method public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
||||||
method public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
|
method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
|
||||||
|
method public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
||||||
method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
|
method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
|
||||||
method public void onRadioPowerStateChanged(int);
|
method public void onRadioPowerStateChanged(int);
|
||||||
method public void onSrvccStateChanged(int);
|
method public void onSrvccStateChanged(int);
|
||||||
|
|||||||
@@ -1629,6 +1629,8 @@ package android.telephony {
|
|||||||
|
|
||||||
public class PhoneStateListener {
|
public class PhoneStateListener {
|
||||||
method public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
method public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
||||||
|
method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
|
||||||
|
method public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class PreciseDataConnectionState implements android.os.Parcelable {
|
public final class PreciseDataConnectionState implements android.os.Parcelable {
|
||||||
|
|||||||
@@ -991,14 +991,42 @@ public class PhoneStateListener {
|
|||||||
/**
|
/**
|
||||||
* Callback invoked when an outgoing SMS is placed to an emergency number.
|
* Callback invoked when an outgoing SMS is placed to an emergency number.
|
||||||
*
|
*
|
||||||
|
* This method will be called when an emergency sms is sent on any subscription.
|
||||||
* @param sentEmergencyNumber the emergency number {@link EmergencyNumber} the SMS is sent to.
|
* @param sentEmergencyNumber the emergency number {@link EmergencyNumber} the SMS is sent to.
|
||||||
|
*
|
||||||
|
* @deprecated Use {@link #onOutgoingEmergencySms(EmergencyNumber, int)}.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@TestApi
|
||||||
|
@Deprecated
|
||||||
public void onOutgoingEmergencySms(@NonNull EmergencyNumber sentEmergencyNumber) {
|
public void onOutgoingEmergencySms(@NonNull EmergencyNumber sentEmergencyNumber) {
|
||||||
// default implementation empty
|
// default implementation empty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Smsback invoked when an outgoing sms is sent to an emergency number.
|
||||||
|
*
|
||||||
|
* This method will be called when an emergency sms is sent on any subscription,
|
||||||
|
* regardless of which subscription this listener was registered on.
|
||||||
|
*
|
||||||
|
* The default implementation of this method calls
|
||||||
|
* {@link #onOutgoingEmergencySms(EmergencyNumber)} for backwards compatibility purposes. Do
|
||||||
|
* not call {@code super(...)} from within your implementation unless you want
|
||||||
|
* {@link #onOutgoingEmergencySms(EmergencyNumber)} to be called as well.
|
||||||
|
*
|
||||||
|
* @param sentEmergencyNumber The {@link EmergencyNumber} the emergency sms was sent to.
|
||||||
|
* @param subscriptionId The subscription ID used to send the emergency sms.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@TestApi
|
||||||
|
public void onOutgoingEmergencySms(@NonNull EmergencyNumber sentEmergencyNumber,
|
||||||
|
int subscriptionId) {
|
||||||
|
// Default implementation for backwards compatibility
|
||||||
|
onOutgoingEmergencySms(sentEmergencyNumber);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback invoked when OEM hook raw event is received on the registered subscription.
|
* Callback invoked when OEM hook raw event is received on the registered subscription.
|
||||||
* Note, the registration subId comes from {@link TelephonyManager} object which registers
|
* Note, the registration subId comes from {@link TelephonyManager} object which registers
|
||||||
@@ -1376,13 +1404,14 @@ public class PhoneStateListener {
|
|||||||
subscriptionId)));
|
subscriptionId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onOutgoingEmergencySms(@NonNull EmergencyNumber sentEmergencyNumber) {
|
public void onOutgoingEmergencySms(@NonNull EmergencyNumber sentEmergencyNumber,
|
||||||
|
int subscriptionId) {
|
||||||
PhoneStateListener psl = mPhoneStateListenerWeakRef.get();
|
PhoneStateListener psl = mPhoneStateListenerWeakRef.get();
|
||||||
if (psl == null) return;
|
if (psl == null) return;
|
||||||
|
|
||||||
Binder.withCleanCallingIdentity(
|
Binder.withCleanCallingIdentity(
|
||||||
() -> mExecutor.execute(
|
() -> mExecutor.execute(
|
||||||
() -> psl.onOutgoingEmergencySms(sentEmergencyNumber)));
|
() -> psl.onOutgoingEmergencySms(sentEmergencyNumber, subscriptionId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPhoneCapabilityChanged(PhoneCapability capability) {
|
public void onPhoneCapabilityChanged(PhoneCapability capability) {
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ oneway interface IPhoneStateListener {
|
|||||||
void onCallAttributesChanged(in CallAttributes callAttributes);
|
void onCallAttributesChanged(in CallAttributes callAttributes);
|
||||||
void onEmergencyNumberListChanged(in Map emergencyNumberList);
|
void onEmergencyNumberListChanged(in Map emergencyNumberList);
|
||||||
void onOutgoingEmergencyCall(in EmergencyNumber placedEmergencyNumber, int subscriptionId);
|
void onOutgoingEmergencyCall(in EmergencyNumber placedEmergencyNumber, int subscriptionId);
|
||||||
void onOutgoingEmergencySms(in EmergencyNumber sentEmergencyNumber);
|
void onOutgoingEmergencySms(in EmergencyNumber sentEmergencyNumber, int subscriptionId);
|
||||||
void onCallDisconnectCauseChanged(in int disconnectCause, in int preciseDisconnectCause);
|
void onCallDisconnectCauseChanged(in int disconnectCause, in int preciseDisconnectCause);
|
||||||
void onImsCallDisconnectCauseChanged(in ImsReasonInfo imsReasonInfo);
|
void onImsCallDisconnectCauseChanged(in ImsReasonInfo imsReasonInfo);
|
||||||
void onRegistrationFailed(in CellIdentity cellIdentity,
|
void onRegistrationFailed(in CellIdentity cellIdentity,
|
||||||
|
|||||||
@@ -9710,7 +9710,8 @@ package android.telephony {
|
|||||||
method public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
|
method public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
|
||||||
method @Deprecated public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
|
method @Deprecated public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
|
||||||
method public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
method public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
||||||
method public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
|
method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
|
||||||
|
method public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
|
||||||
method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
|
method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
|
||||||
method public void onRadioPowerStateChanged(int);
|
method public void onRadioPowerStateChanged(int);
|
||||||
method public void onSrvccStateChanged(int);
|
method public void onSrvccStateChanged(int);
|
||||||
|
|||||||
@@ -2127,11 +2127,11 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
|
|||||||
if (validatePhoneId(phoneId)) {
|
if (validatePhoneId(phoneId)) {
|
||||||
mOutgoingSmsEmergencyNumber[phoneId] = emergencyNumber;
|
mOutgoingSmsEmergencyNumber[phoneId] = emergencyNumber;
|
||||||
for (Record r : mRecords) {
|
for (Record r : mRecords) {
|
||||||
|
// Send to all listeners regardless of subscription
|
||||||
if (r.matchPhoneStateListenerEvent(
|
if (r.matchPhoneStateListenerEvent(
|
||||||
PhoneStateListener.LISTEN_OUTGOING_EMERGENCY_SMS)
|
PhoneStateListener.LISTEN_OUTGOING_EMERGENCY_SMS)) {
|
||||||
&& idMatch(r.subId, subId, phoneId)) {
|
|
||||||
try {
|
try {
|
||||||
r.callback.onOutgoingEmergencySms(emergencyNumber);
|
r.callback.onOutgoingEmergencySms(emergencyNumber, subId);
|
||||||
} catch (RemoteException ex) {
|
} catch (RemoteException ex) {
|
||||||
mRemoveList.add(r.binder);
|
mRemoveList.add(r.binder);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user