diff options
author | Xin Li <delphij@google.com> | 2024-01-17 22:14:12 -0800 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2024-01-17 22:14:12 -0800 |
commit | f003905c2a020c0c50ef19567e90fa056b189da6 (patch) | |
tree | dae94a458604c6471e0ad02c9fcc10c84f5396b8 /src/java/com/android | |
parent | 988956248ad7518702a45d54a11bb10fa0e1ae43 (diff) | |
parent | cf934c17f21e60b15f6baa20da589aba8c54bda6 (diff) | |
download | ims-f003905c2a020c0c50ef19567e90fa056b189da6.tar.gz |
Merge Android 24Q1 Release (ab/11220357)
Bug: 319669529
Merged-In: I874715e2e0843427fbefe33343fbe2ab2b22dd9c
Change-Id: I2a231ba9b6917dca40119ccfe93249abf719d3cc
Diffstat (limited to 'src/java/com/android')
-rw-r--r-- | src/java/com/android/ims/ImsManager.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java index b5a1168b..c9252f24 100644 --- a/src/java/com/android/ims/ImsManager.java +++ b/src/java/com/android/ims/ImsManager.java @@ -75,6 +75,7 @@ import android.util.SparseArray; import com.android.ims.internal.IImsCallSession; import com.android.ims.internal.IImsServiceFeatureCallback; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.telephony.flags.Flags; import com.android.internal.telephony.ITelephony; import com.android.telephony.Rlog; @@ -2450,6 +2451,15 @@ public class ImsManager implements FeatureUpdates { call.attachSession(new ImsCallSession(session)); call.setListener(listener); + if (Flags.ignoreAlreadyTerminatedIncomingCallBeforeRegisteringListener()){ + // If the call session already terminated before registering callback then the + // framework should ignore incoming call. + if (!ImsCall.isSessionAlive(call.getSession())) { + loge("takeCall : ImsCallSession is not alive"); + throw new ImsException("takeCall() : ImsCallSession is not alive", + ImsReasonInfo.CODE_UNSPECIFIED); + } + } return call; } catch (Throwable t) { loge("takeCall caught: ", t); |