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

Commit e8f1f899 authored by Nancy Chen's avatar Nancy Chen Committed by Android Git Automerger
Browse files

am 78250907: Merge "Add phone account field for voicemail to distinguish the source." into mnc-dev

* commit '78250907':
  Add phone account field for voicemail to distinguish the source.
parents 8b8a4aae 78250907
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -306,6 +306,13 @@ public class VoicemailContract {
            contentValues.put(Voicemails.SOURCE_PACKAGE, voicemail.getSourcePackage());
            contentValues.put(Voicemails.SOURCE_DATA, voicemail.getSourceData());
            contentValues.put(Voicemails.IS_READ, voicemail.isRead() ? 1 : 0);

            PhoneAccountHandle phoneAccount = voicemail.getPhoneAccount();
            if (voicemail.getPhoneAccount() != null) {
                contentValues.put(Voicemails.PHONE_ACCOUNT_COMPONENT_NAME,
                        phoneAccount.getComponentName().flattenToString());
                contentValues.put(Voicemails.PHONE_ACCOUNT_ID, phoneAccount.getId());
            }
            return contentValues;
        }
    }
+30 −5
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.os.Parcelable;
public class Voicemail implements Parcelable {
    private final Long mTimestamp;
    private final String mNumber;
    private final PhoneAccountHandle mPhoneAccount;
    private final Long mId;
    private final Long mDuration;
    private final String mSource;
@@ -36,10 +37,12 @@ public class Voicemail implements Parcelable {
    private final Boolean mIsRead;
    private final Boolean mHasContent;

    private Voicemail(Long timestamp, String number, Long id, Long duration, String source,
            String providerData, Uri uri, Boolean isRead, Boolean hasContent) {
    private Voicemail(Long timestamp, String number, PhoneAccountHandle phoneAccountHandle, Long id,
            Long duration, String source, String providerData, Uri uri, Boolean isRead,
            Boolean hasContent) {
        mTimestamp = timestamp;
        mNumber = number;
        mPhoneAccount = phoneAccountHandle;
        mId = id;
        mDuration = duration;
        mSource = source;
@@ -77,6 +80,7 @@ public class Voicemail implements Parcelable {
    public static class Builder {
        private Long mBuilderTimestamp;
        private String mBuilderNumber;
        private PhoneAccountHandle mBuilderPhoneAccount;
        private Long mBuilderId;
        private Long mBuilderDuration;
        private String mBuilderSourcePackage;
@@ -99,6 +103,11 @@ public class Voicemail implements Parcelable {
            return this;
        }

        public Builder setPhoneAccount(PhoneAccountHandle phoneAccount) {
            mBuilderPhoneAccount = phoneAccount;
            return this;
        }

        public Builder setId(long id) {
            mBuilderId = id;
            return this;
@@ -139,9 +148,9 @@ public class Voicemail implements Parcelable {
            mBuilderTimestamp = mBuilderTimestamp == null ? 0 : mBuilderTimestamp;
            mBuilderDuration = mBuilderDuration == null ? 0: mBuilderDuration;
            mBuilderIsRead = mBuilderIsRead == null ? false : mBuilderIsRead;
            return new Voicemail(mBuilderTimestamp, mBuilderNumber, mBuilderId, mBuilderDuration,
                    mBuilderSourcePackage, mBuilderSourceData, mBuilderUri, mBuilderIsRead,
                    mBuilderHasContent);
            return new Voicemail(mBuilderTimestamp, mBuilderNumber, mBuilderPhoneAccount,
                    mBuilderId, mBuilderDuration, mBuilderSourcePackage, mBuilderSourceData,
                    mBuilderUri, mBuilderIsRead, mBuilderHasContent);
        }
    }

@@ -161,6 +170,11 @@ public class Voicemail implements Parcelable {
        return mNumber;
    }

    /** The phone account associated with the voicemail, null if not set. */
    public PhoneAccountHandle getPhoneAccount() {
        return mPhoneAccount;
    }

    /** The timestamp the voicemail was received, in millis since the epoch, zero if not set. */
    public long getTimestampMillis() {
        return mTimestamp;
@@ -225,6 +239,12 @@ public class Voicemail implements Parcelable {
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeLong(mTimestamp);
        dest.writeCharSequence(mNumber);
        if (mPhoneAccount == null) {
            dest.writeInt(0);
        } else {
            dest.writeInt(1);
            mPhoneAccount.writeToParcel(dest, flags);
        }
        dest.writeLong(mId);
        dest.writeLong(mDuration);
        dest.writeCharSequence(mSource);
@@ -263,6 +283,11 @@ public class Voicemail implements Parcelable {
    private Voicemail(Parcel in) {
        mTimestamp = in.readLong();
        mNumber = (String) in.readCharSequence();
        if (in.readInt() > 0) {
            mPhoneAccount = PhoneAccountHandle.CREATOR.createFromParcel(in);
        } else {
            mPhoneAccount = null;
        }
        mId = in.readLong();
        mDuration = in.readLong();
        mSource = (String) in.readCharSequence();