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

Commit 9d23380b authored by Fabian Kozynski's avatar Fabian Kozynski Committed by android-build-merger
Browse files

Merge "DO NOT MERGE Remove Privacy Indicators" into qt-dev

am: aa454519

Change-Id: Ie851c401e47ddefff39be69d00f3aee0bcec8cb8
parents ee146e1d aa454519
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
@@ -95,6 +95,10 @@ public abstract class Conference extends Conferenceable {
    private Bundle mExtras;
    private Set<String> mPreviousExtraKeys;
    private final Object mExtrasLock = new Object();
    private Uri mAddress;
    private int mAddressPresentation;
    private String mCallerDisplayName;
    private int mCallerDisplayNamePresentation;

    private final Connection.Listener mConnectionDeathListener = new Connection.Listener() {
        @Override
@@ -987,11 +991,66 @@ public abstract class Conference extends Conferenceable {
     */
    public final void setAddress(Uri address, int presentation) {
        Log.d(this, "setAddress %s", address);
        mAddress = address;
        mAddressPresentation = presentation;
        for (Listener l : mListeners) {
            l.onAddressChanged(this, address, presentation);
        }
    }

    /**
     * Returns the "address" associated with the conference.  This is applicable in two cases:
     * <ol>
     *     <li>When {@link #setConferenceState(boolean)} is used to mark a conference as
     *     temporarily "not a conference"; we need to present the correct address in the in-call
     *     UI.</li>
     *     <li>When the conference is not hosted on the current device, we need to know the address
     *     information for the purpose of showing the original address to the user, as well as for
     *     logging to the call log.</li>
     * </ol>
     * @return The address of the conference, or {@code null} if not applicable.
     * @hide
     */
    public final Uri getAddress() {
        return mAddress;
    }

    /**
     * Returns the address presentation associated with the conference.
     * <p>
     * This is applicable in two cases:
     * <ol>
     *     <li>When {@link #setConferenceState(boolean)} is used to mark a conference as
     *     temporarily "not a conference"; we need to present the correct address in the in-call
     *     UI.</li>
     *     <li>When the conference is not hosted on the current device, we need to know the address
     *     information for the purpose of showing the original address to the user, as well as for
     *     logging to the call log.</li>
     * </ol>
     * @return The address of the conference, or {@code null} if not applicable.
     * @hide
     */
    public final int getAddressPresentation() {
        return mAddressPresentation;
    }

    /**
     * @return The caller display name (CNAP).
     * @hide
     */
    public final String getCallerDisplayName() {
        return mCallerDisplayName;
    }

    /**
     * @return The presentation requirements for the handle.
     *         See {@link TelecomManager} for valid values.
     * @hide
     */
    public final int getCallerDisplayNamePresentation() {
        return mCallerDisplayNamePresentation;
    }

    /**
     * Sets the caller display name (CNAP) of this {@link Conference}.  Used when
     * {@link #setConferenceState(boolean)} is called to mark a conference temporarily as NOT a
@@ -1004,6 +1063,8 @@ public abstract class Conference extends Conferenceable {
     */
    public final void setCallerDisplayName(String callerDisplayName, int presentation) {
        Log.d(this, "setCallerDisplayName %s", callerDisplayName);
        mCallerDisplayName = callerDisplayName;
        mCallerDisplayNamePresentation = presentation;
        for (Listener l : mListeners) {
            l.onCallerDisplayNameChanged(this, callerDisplayName, presentation);
        }
+13 −1
Original line number Diff line number Diff line
@@ -424,8 +424,16 @@ public abstract class Connection extends Conferenceable {
     */
    public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 1 << 10;

    /**
     * Set by the framework to indicate that a Conference or Connection is hosted by a device other
     * than the current one.  Used in scenarios where the conference originator is the remote device
     * and the current device is a participant of that conference.
     * @hide
     */
    public static final int PROPERTY_REMOTELY_HOSTED = 1 << 11;

    //**********************************************************************************************
    // Next PROPERTY value: 1<<10
    // Next PROPERTY value: 1<<12
    //**********************************************************************************************

    /**
@@ -850,6 +858,10 @@ public abstract class Connection extends Conferenceable {
            builder.append(isLong ? " PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL" : " ecall");
        }

        if (can(properties, PROPERTY_REMOTELY_HOSTED)) {
            builder.append(isLong ? " PROPERTY_REMOTELY_HOSTED" : " remote_hst");
        }

        builder.append("]");
        return builder.toString();
    }
+5 −1
Original line number Diff line number Diff line
@@ -2056,7 +2056,11 @@ public abstract class ConnectionService extends Service {
                    conference.getConnectTimeMillis(),
                    conference.getConnectionStartElapsedRealTime(),
                    conference.getStatusHints(),
                    conference.getExtras());
                    conference.getExtras(),
                    conference.getAddress(),
                    conference.getAddressPresentation(),
                    conference.getCallerDisplayName(),
                    conference.getCallerDisplayNamePresentation());

            mAdapter.addConferenceCall(id, parcelableConference);
            mAdapter.setVideoProvider(id, conference.getVideoProvider());
+32 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.telecom;

import android.net.Uri;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
@@ -42,6 +43,10 @@ public final class ParcelableConference implements Parcelable {
    private StatusHints mStatusHints;
    private Bundle mExtras;
    private long mConnectElapsedTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
    private final Uri mAddress;
    private final int mAddressPresentation;
    private final String mCallerDisplayName;
    private final int mCallerDisplayNamePresentation;

    public ParcelableConference(
            PhoneAccountHandle phoneAccount,
@@ -54,7 +59,11 @@ public final class ParcelableConference implements Parcelable {
            long connectTimeMillis,
            long connectElapsedTimeMillis,
            StatusHints statusHints,
            Bundle extras) {
            Bundle extras,
            Uri address,
            int addressPresentation,
            String callerDisplayName,
            int callerDisplayNamePresentation) {
        mPhoneAccount = phoneAccount;
        mState = state;
        mConnectionCapabilities = connectionCapabilities;
@@ -66,6 +75,10 @@ public final class ParcelableConference implements Parcelable {
        mStatusHints = statusHints;
        mExtras = extras;
        mConnectElapsedTimeMillis = connectElapsedTimeMillis;
        mAddress = address;
        mAddressPresentation = addressPresentation;
        mCallerDisplayName = callerDisplayName;
        mCallerDisplayNamePresentation = callerDisplayNamePresentation;
    }

    @Override
@@ -134,6 +147,14 @@ public final class ParcelableConference implements Parcelable {
        return mExtras;
    }

    public Uri getHandle() {
        return mAddress;
    }

    public int getHandlePresentation() {
        return mAddressPresentation;
    }

    public static final @android.annotation.NonNull Parcelable.Creator<ParcelableConference> CREATOR =
            new Parcelable.Creator<ParcelableConference> () {
        @Override
@@ -152,10 +173,15 @@ public final class ParcelableConference implements Parcelable {
            Bundle extras = source.readBundle(classLoader);
            int properties = source.readInt();
            long connectElapsedTimeMillis = source.readLong();
            Uri address = source.readParcelable(classLoader);
            int addressPresentation = source.readInt();
            String callerDisplayName = source.readString();
            int callerDisplayNamePresentation = source.readInt();

            return new ParcelableConference(phoneAccount, state, capabilities, properties,
                    connectionIds, videoCallProvider, videoState, connectTimeMillis,
                    connectElapsedTimeMillis, statusHints, extras);
                    connectElapsedTimeMillis, statusHints, extras, address, addressPresentation,
                    callerDisplayName, callerDisplayNamePresentation);
        }

        @Override
@@ -185,5 +211,9 @@ public final class ParcelableConference implements Parcelable {
        destination.writeBundle(mExtras);
        destination.writeInt(mConnectionProperties);
        destination.writeLong(mConnectElapsedTimeMillis);
        destination.writeParcelable(mAddress, 0);
        destination.writeInt(mAddressPresentation);
        destination.writeString(mCallerDisplayName);
        destination.writeInt(mCallerDisplayNamePresentation);
    }
}