Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 752217bf authored by Andrew Lee's avatar Andrew Lee
Browse files

Aidl changes related to VideoCallProvider in Ims.

+ Added a getVideoCallProvider function in IImsCallSession
+ Added IImsVideoCallProvider aidl. This is used for communication
between Telephony and the ImsService. It is redundant with
IVideoCallProvider on some level, but see associated bug and comments
in the class for more detail.
+ Added IImsVideoCallCallback. This is used for communicationing
callback invocations from ImsService to Telephony. It is redundant
with IVideoCallCallback for same reason in bugs/comments.
+ Some minor formatting changes.

Bug: 16886403
Change-Id: I03de12d4432f837e0930bc077307509b645493e0
parent 171927a6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -368,6 +368,8 @@ LOCAL_SRC_FILES += \
	telephony/java/com/android/ims/internal/IImsStreamMediaSession.aidl \
	telephony/java/com/android/ims/internal/IImsUt.aidl \
	telephony/java/com/android/ims/internal/IImsUtListener.aidl \
	telephony/java/com/android/ims/internal/IImsVideoCallCallback.aidl \
	telephony/java/com/android/ims/internal/IImsVideoCallProvider.aidl \
	telephony/java/com/android/ims/ImsConfigListener.aidl \
	telephony/java/com/android/internal/telephony/IPhoneStateListener.aidl \
	telephony/java/com/android/internal/telephony/IPhoneSubInfo.aidl \
+3 −3
Original line number Diff line number Diff line
@@ -1073,7 +1073,7 @@ public abstract class ConnectionService extends Service {
            // To be implemented by subclass.
        }

        /**te
        /**
         * Provides a response to a request to change the current call session video
         * properties.
         * This is in response to a request the InCall UI has received via
@@ -1139,8 +1139,8 @@ public abstract class ConnectionService extends Service {
         * @param requestedProfile The original request which was sent to the remote device.
         * @param responseProfile The actual profile changes made by the remote device.
         */
        public void receiveSessionModifyResponse(int status,
                                                 VideoCallProfile requestedProfile, VideoCallProfile responseProfile) {
        public void receiveSessionModifyResponse(
                int status, VideoCallProfile requestedProfile, VideoCallProfile responseProfile) {
            if (mVideoCallListener != null) {
                try {
                    mVideoCallListener.receiveSessionModifyResponse(
+8 −8
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@ import android.telecomm.CallCameraCapabilities;
import android.telecomm.VideoCallProfile;

/**
  * Internal definition of the a callback interface, used for an InCallUi to respond to video
  * telephony changes.
 * Internal definition of a callback interface, used for an InCallUi to respond to video telephony
 * changes.
 *
 * @see android.telecomm.InCallService.VideoCall.Listener
 *
+8 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.ims.internal;
import com.android.ims.ImsCallProfile;
import com.android.ims.ImsStreamMediaProfile;
import com.android.ims.internal.IImsCallSessionListener;
import com.android.ims.internal.IImsVideoCallProvider;

/**
 * An IMS session that is associated with a SIP dialog which is established from/to
@@ -216,4 +217,11 @@ interface IImsCallSession {
     * @param ussdMessage USSD message to send
     */
    void sendUssd(String ussdMessage);

    /**
     * Returns a binder for the video call provider implementation contained within the IMS service
     * process. This binder is used by the VideoCallProvider subclass in Telephony which
     * intermediates between the propriety implementation and Telecomm/InCall.
     */
    IImsVideoCallProvider getVideoCallProvider();
}
+47 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.ims.internal;

import android.telecomm.CallCameraCapabilities;
import android.telecomm.VideoCallProfile;

/**
 * Internal remote interface for IMS's video call provider.
 *
 * At least initially, this aidl mirrors telecomm's {@link VideoCallCallback}. We created a
 * separate aidl interface for invoking callbacks in Telephony from the IMS Service to without
 * accessing internal interfaces. See {@link IImsVideoCallProvider} for additional detail.
 *
 * @see android.telecomm.internal.IVideoCallCallback
 * @see android.telecomm.VideoCallImpl
 *
 * {@hide}
 */
oneway interface IImsVideoCallCallback {
    void receiveSessionModifyRequest(in VideoCallProfile videoCallProfile);

    void receiveSessionModifyResponse(int status, in VideoCallProfile requestedProfile,
        in VideoCallProfile responseProfile);

    void handleCallSessionEvent(int event);

    void changePeerDimensions(int width, int height);

    void changeCallDataUsage(int dataUsage);

    void changeCameraCapabilities(in CallCameraCapabilities callCameraCapabilities);
}
Loading