Search in sources :

Example 1 with ImsPhoneCall

use of com.android.internal.telephony.imsphone.ImsPhoneCall in project android_frameworks_opt_telephony by LineageOS.

the class TelephonyTester method handleTestConferenceEventPackage.

/**
 * Handles request to send a test conference event package to the active Ims call.
 *
 * @see com.android.internal.telephony.test.TestConferenceEventPackageParser
 * @param context The context.
 * @param fileName The name of the test conference event package file to read.
 */
private void handleTestConferenceEventPackage(Context context, String fileName) {
    // Attempt to get the active IMS call before parsing the test XML file.
    ImsPhone imsPhone = (ImsPhone) mPhone;
    if (imsPhone == null) {
        return;
    }
    ImsPhoneCall imsPhoneCall = imsPhone.getForegroundCall();
    if (imsPhoneCall == null) {
        return;
    }
    ImsCall imsCall = imsPhoneCall.getImsCall();
    if (imsCall == null) {
        return;
    }
    File packageFile = new File(context.getFilesDir(), fileName);
    final FileInputStream is;
    try {
        is = new FileInputStream(packageFile);
    } catch (FileNotFoundException ex) {
        log("Test conference event package file not found: " + packageFile.getAbsolutePath());
        return;
    }
    TestConferenceEventPackageParser parser = new TestConferenceEventPackageParser(is);
    ImsConferenceState imsConferenceState = parser.parse();
    if (imsConferenceState == null) {
        return;
    }
    imsCall.conferenceStateUpdated(imsConferenceState);
}
Also used : TestConferenceEventPackageParser(com.android.internal.telephony.test.TestConferenceEventPackageParser) ImsCall(com.android.ims.ImsCall) ImsPhoneCall(com.android.internal.telephony.imsphone.ImsPhoneCall) FileNotFoundException(java.io.FileNotFoundException) ImsPhone(com.android.internal.telephony.imsphone.ImsPhone) File(java.io.File) FileInputStream(java.io.FileInputStream) ImsConferenceState(com.android.ims.ImsConferenceState)

Example 2 with ImsPhoneCall

use of com.android.internal.telephony.imsphone.ImsPhoneCall in project android_frameworks_opt_telephony by LineageOS.

the class Phone method isVideoCallOrConference.

/**
 * Determines if the specified call currently is or was at some point a video call, or if it is
 * a conference call.
 * @param call The call.
 * @return {@code true} if the call is or was a video call or is a conference call,
 *      {@code false} otherwise.
 */
private boolean isVideoCallOrConference(Call call) {
    if (call.isMultiparty()) {
        return true;
    }
    boolean isDowngradedVideoCall = false;
    if (call instanceof ImsPhoneCall) {
        ImsPhoneCall imsPhoneCall = (ImsPhoneCall) call;
        ImsCall imsCall = imsPhoneCall.getImsCall();
        return imsCall != null && (imsCall.isVideoCall() || imsCall.wasVideoCall());
    }
    return isDowngradedVideoCall;
}
Also used : ImsCall(com.android.ims.ImsCall) ImsPhoneCall(com.android.internal.telephony.imsphone.ImsPhoneCall)

Example 3 with ImsPhoneCall

use of com.android.internal.telephony.imsphone.ImsPhoneCall in project android_frameworks_opt_telephony by LineageOS.

the class TelephonyTester method handleHandoverFailedIntent.

private void handleHandoverFailedIntent() {
    // Attempt to get the active IMS call
    ImsPhone imsPhone = (ImsPhone) mPhone;
    if (imsPhone == null) {
        return;
    }
    ImsPhoneCall imsPhoneCall = imsPhone.getForegroundCall();
    if (imsPhoneCall == null) {
        return;
    }
    ImsCall imsCall = imsPhoneCall.getImsCall();
    if (imsCall == null) {
        return;
    }
    imsCall.getImsCallSessionListenerProxy().callSessionHandoverFailed(imsCall.getCallSession(), ServiceState.RIL_RADIO_TECHNOLOGY_LTE, ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN, new ImsReasonInfo());
}
Also used : ImsCall(com.android.ims.ImsCall) ImsPhoneCall(com.android.internal.telephony.imsphone.ImsPhoneCall) ImsPhone(com.android.internal.telephony.imsphone.ImsPhone) ImsReasonInfo(com.android.ims.ImsReasonInfo)

Aggregations

ImsCall (com.android.ims.ImsCall)3 ImsPhoneCall (com.android.internal.telephony.imsphone.ImsPhoneCall)3 ImsPhone (com.android.internal.telephony.imsphone.ImsPhone)2 ImsConferenceState (com.android.ims.ImsConferenceState)1 ImsReasonInfo (com.android.ims.ImsReasonInfo)1 TestConferenceEventPackageParser (com.android.internal.telephony.test.TestConferenceEventPackageParser)1 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1