- ret = Interop.CallManager.GetSimSlot(handle, out MultiSimSlot simSlot);
- if (ret != (int)CmError.None)
- {
- Log.Error(CmUtility.LogTag, "Failed to get event data sim slot, Error: " + (CmError)ret);
- }
+ if (callEvent == CallEvent.Active)
+ {
+ int ret = Interop.CallManager.GetEventDataCallId(handle, out uint id);
+ if (ret != (int)CmError.None)
+ {
+ Log.Error(CmUtility.LogTag, "Failed to get event data call ID, Error: " + (CmError)ret);
+ }
+
+ else
+ {
+ eventData.EventId = id;
+ }
+
+ ret = Interop.CallManager.GetSimSlot(handle, out MultiSimSlot simSlot);
+ if (ret != (int)CmError.None)
+ {
+ Log.Error(CmUtility.LogTag, "Failed to get event data sim slot, Error: " + (CmError)ret);
+ }
+
+ else
+ {
+ eventData.Slot = simSlot;
+ }
+
+ ret = Interop.CallManager.GetIncomingCallData(handle, out IntPtr incoming);
+ if (ret != (int)CmError.None)
+ {
+ Log.Error(CmUtility.LogTag, "Failed to get incoming call data, Error: " + (CmError)ret);
+ }
+
+ else
+ {
+ CallData incomingData = GetCallData(incoming);
+ if (incomingData != null)
+ {
+ ret = Interop.CallManager.FreeCallData(incoming);
+ if (ret != (int)CmError.None)
+ {
+ Log.Error(CmUtility.LogTag, "Failed to free incoming call data, Error: " + (CmError)ret);
+ }
+ }