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

Commit 066612a9 authored by Hall Liu's avatar Hall Liu
Browse files

Add PhoneAccountSuggestion class

Add parcelable data class for the phone acct suggestion feature.

Test: TBD
Bug: 111455117
Change-Id: I6d5368133abfc076ccb2e6ddfff70de8b6a56e8f
parent 095d0f64
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -41683,6 +41683,20 @@ package android.telecom {
    field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountHandle> CREATOR;
  }
  public final class PhoneAccountSuggestion implements android.os.Parcelable {
    method public int describeContents();
    method public android.telecom.PhoneAccountHandle getHandle();
    method public int getReason();
    method public boolean shouldAutoSelect();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountSuggestion> CREATOR;
    field public static final int REASON_FREQUENT = 2; // 0x2
    field public static final int REASON_INTRA_CARRIER = 1; // 0x1
    field public static final int REASON_NONE = 0; // 0x0
    field public static final int REASON_OTHER = 4; // 0x4
    field public static final int REASON_USER_SET = 3; // 0x3
  }
  public final class RemoteConference {
    method public void disconnect();
    method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections();
+4 −0
Original line number Diff line number Diff line
@@ -5022,6 +5022,10 @@ package android.telecom {
    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
  }

  public final class PhoneAccountSuggestion implements android.os.Parcelable {
    ctor public PhoneAccountSuggestion(android.telecom.PhoneAccountHandle, int, boolean);
  }

  public final class RemoteConference {
    method public deprecated void setAudioState(android.telecom.AudioState);
  }
+82 −0
Original line number Diff line number Diff line
package android.telecom;

import android.annotation.IntDef;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

public final class PhoneAccountSuggestion implements Parcelable {

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef(value = {REASON_NONE, REASON_INTRA_CARRIER, REASON_FREQUENT,
            REASON_USER_SET, REASON_OTHER}, prefix = { "REASON_" })
    public @interface SuggestionReason {}

    public static final int REASON_NONE = 0;
    public static final int REASON_INTRA_CARRIER = 1;
    public static final int REASON_FREQUENT = 2;
    public static final int REASON_USER_SET = 3;
    public static final int REASON_OTHER = 4;

    private PhoneAccountHandle mHandle;
    private int mReason;
    private boolean mShouldAutoSelect;

    /**
     * @hide
     */
    @SystemApi
    public PhoneAccountSuggestion(PhoneAccountHandle handle, @SuggestionReason int reason,
            boolean shouldAutoSelect) {
        this.mHandle = handle;
        this.mReason = reason;
        this.mShouldAutoSelect = shouldAutoSelect;
    }

    private PhoneAccountSuggestion(Parcel in) {
        mHandle = in.readParcelable(PhoneAccountHandle.class.getClassLoader());
        mReason = in.readInt();
        mShouldAutoSelect = in.readByte() != 0;
    }

    public static final Creator<PhoneAccountSuggestion> CREATOR =
            new Creator<PhoneAccountSuggestion>() {
                @Override
                public PhoneAccountSuggestion createFromParcel(Parcel in) {
                    return new PhoneAccountSuggestion(in);
                }

                @Override
                public PhoneAccountSuggestion[] newArray(int size) {
                    return new PhoneAccountSuggestion[size];
                }
            };

    public PhoneAccountHandle getHandle() {
        return mHandle;
    }

    public @SuggestionReason int getReason() {
        return mReason;
    }

    public boolean shouldAutoSelect() {
        return mShouldAutoSelect;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeParcelable(mHandle, flags);
        dest.writeInt(mReason);
        dest.writeByte((byte) (mShouldAutoSelect ? 1 : 0));
    }
}