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

Commit 8b9d3ca9 authored by Sailesh Nepal's avatar Sailesh Nepal
Browse files

Include more state in ParcelableConnection

This fixes a bug where setting status hints wouldn't
work.

Bug: 17044602
Change-Id: Ife85b2d53ead38f54dac350adc09b8c9d052fda4
parent d3a73b25
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -539,7 +539,10 @@ public abstract class ConnectionService extends Service {
                        connection.getCallerDisplayNamePresentation(),
                        connection.getCallerDisplayNamePresentation(),
                        connection.getVideoProvider() == null ?
                        connection.getVideoProvider() == null ?
                                null : connection.getVideoProvider().getInterface(),
                                null : connection.getVideoProvider().getInterface(),
                        connection.getVideoState()));
                        connection.getVideoState(),
                        connection.isRequestingRingback(),
                        connection.getAudioModeIsVoip(),
                        connection.getStatusHints()));
    }
    }


    private void abort(String callId) {
    private void abort(String callId) {
+32 −2
Original line number Original line Diff line number Diff line
@@ -38,6 +38,9 @@ public final class ParcelableConnection implements Parcelable {
    private int mCallerDisplayNamePresentation;
    private int mCallerDisplayNamePresentation;
    private IVideoProvider mVideoProvider;
    private IVideoProvider mVideoProvider;
    private int mVideoState;
    private int mVideoState;
    private boolean mRequestingRingback;
    private boolean mAudioModeIsVoip;
    private StatusHints mStatusHints;


    /** @hide */
    /** @hide */
    public ParcelableConnection(
    public ParcelableConnection(
@@ -49,7 +52,10 @@ public final class ParcelableConnection implements Parcelable {
            String callerDisplayName,
            String callerDisplayName,
            int callerDisplayNamePresentation,
            int callerDisplayNamePresentation,
            IVideoProvider videoProvider,
            IVideoProvider videoProvider,
            int videoState) {
            int videoState,
            boolean requestingRingback,
            boolean audioModeIsVoip,
            StatusHints statusHints) {
        mPhoneAccount = phoneAccount;
        mPhoneAccount = phoneAccount;
        mState = state;
        mState = state;
        mCapabilities = capabilities;
        mCapabilities = capabilities;
@@ -59,6 +65,9 @@ public final class ParcelableConnection implements Parcelable {
        mCallerDisplayNamePresentation = callerDisplayNamePresentation;
        mCallerDisplayNamePresentation = callerDisplayNamePresentation;
        mVideoProvider = videoProvider;
        mVideoProvider = videoProvider;
        mVideoState = videoState;
        mVideoState = videoState;
        mRequestingRingback = requestingRingback;
        mAudioModeIsVoip = audioModeIsVoip;
        mStatusHints = statusHints;
    }
    }


    public PhoneAccountHandle getPhoneAccount() {
    public PhoneAccountHandle getPhoneAccount() {
@@ -98,6 +107,18 @@ public final class ParcelableConnection implements Parcelable {
        return mVideoState;
        return mVideoState;
    }
    }


    public boolean isRequestingRingback() {
        return mRequestingRingback;
    }

    public boolean getAudioModeIsVoip() {
        return mAudioModeIsVoip;
    }

    public final StatusHints getStatusHints() {
        return mStatusHints;
    }

    @Override
    @Override
    public String toString() {
    public String toString() {
        return new StringBuilder()
        return new StringBuilder()
@@ -126,6 +147,9 @@ public final class ParcelableConnection implements Parcelable {
            IVideoProvider videoCallProvider =
            IVideoProvider videoCallProvider =
                    IVideoProvider.Stub.asInterface(source.readStrongBinder());
                    IVideoProvider.Stub.asInterface(source.readStrongBinder());
            int videoState = source.readInt();
            int videoState = source.readInt();
            boolean requestingRingback = source.readByte() == 1;
            boolean audioModeIsVoip = source.readByte() == 1;
            StatusHints statusHints = source.readParcelable(classLoader);


            return new ParcelableConnection(
            return new ParcelableConnection(
                    phoneAccount,
                    phoneAccount,
@@ -136,7 +160,10 @@ public final class ParcelableConnection implements Parcelable {
                    callerDisplayName,
                    callerDisplayName,
                    callerDisplayNamePresentation,
                    callerDisplayNamePresentation,
                    videoCallProvider,
                    videoCallProvider,
                    videoState);
                    videoState,
                    requestingRingback,
                    audioModeIsVoip,
                    statusHints);
        }
        }


        @Override
        @Override
@@ -164,5 +191,8 @@ public final class ParcelableConnection implements Parcelable {
        destination.writeStrongBinder(
        destination.writeStrongBinder(
                mVideoProvider != null ? mVideoProvider.asBinder() : null);
                mVideoProvider != null ? mVideoProvider.asBinder() : null);
        destination.writeInt(mVideoState);
        destination.writeInt(mVideoState);
        destination.writeByte((byte) (mRequestingRingback ? 1 : 0));
        destination.writeByte((byte) (mAudioModeIsVoip ? 1 : 0));
        destination.writeParcelable(mStatusHints, 0);
    }
    }
}
}