Loading telephony/java/android/telephony/ims/RcsMessageQueryResult.java +11 −62 Original line number Original line Diff line number Diff line Loading @@ -20,13 +20,9 @@ import static android.provider.Telephony.RcsColumns.RcsUnifiedMessageColumns.MES import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.os.Parcel; import android.os.Parcelable; import com.android.ims.RcsTypeIdPair; import java.util.ArrayList; import java.util.List; import java.util.List; import java.util.stream.Collectors; /** /** * The result of a {@link RcsMessageStore#getRcsMessages(RcsMessageQueryParams)} * The result of a {@link RcsMessageStore#getRcsMessages(RcsMessageQueryParams)} Loading @@ -35,23 +31,11 @@ import java.util.List; * * * @hide * @hide */ */ public final class RcsMessageQueryResult implements Parcelable { public final class RcsMessageQueryResult { // The token to continue the query to get the next batch of results private final RcsMessageQueryResultParcelable mRcsMessageQueryResultParcelable; private RcsQueryContinuationToken mContinuationToken; // The message type and message ID pairs for all the messages in this query result private List<RcsTypeIdPair> mMessageTypeIdPairs; /** RcsMessageQueryResult(RcsMessageQueryResultParcelable rcsMessageQueryResultParcelable) { * Internal constructor for {@link com.android.internal.telephony.ims.RcsMessageStoreController} mRcsMessageQueryResultParcelable = rcsMessageQueryResultParcelable; * to create query results * * @hide */ public RcsMessageQueryResult( RcsQueryContinuationToken continuationToken, List<RcsTypeIdPair> messageTypeIdPairs) { mContinuationToken = continuationToken; mMessageTypeIdPairs = messageTypeIdPairs; } } /** /** Loading @@ -61,7 +45,7 @@ public final class RcsMessageQueryResult implements Parcelable { */ */ @Nullable @Nullable public RcsQueryContinuationToken getContinuationToken() { public RcsQueryContinuationToken getContinuationToken() { return mContinuationToken; return mRcsMessageQueryResultParcelable.mContinuationToken; } } /** /** Loading @@ -71,45 +55,10 @@ public final class RcsMessageQueryResult implements Parcelable { */ */ @NonNull @NonNull public List<RcsMessage> getMessages() { public List<RcsMessage> getMessages() { List<RcsMessage> messages = new ArrayList<>(); return mRcsMessageQueryResultParcelable.mMessageTypeIdPairs.stream() for (RcsTypeIdPair typeIdPair : mMessageTypeIdPairs) { .map(typeIdPair -> typeIdPair.getType() == MESSAGE_TYPE_INCOMING if (typeIdPair.getType() == MESSAGE_TYPE_INCOMING) { ? new RcsIncomingMessage(typeIdPair.getId()) messages.add(new RcsIncomingMessage(typeIdPair.getId())); : new RcsOutgoingMessage(typeIdPair.getId())) } else { .collect(Collectors.toList()); messages.add(new RcsOutgoingMessage(typeIdPair.getId())); } } return messages; } private RcsMessageQueryResult(Parcel in) { mContinuationToken = in.readParcelable( RcsQueryContinuationToken.class.getClassLoader()); in.readTypedList(mMessageTypeIdPairs, RcsTypeIdPair.CREATOR); } public static final @android.annotation.NonNull Creator<RcsMessageQueryResult> CREATOR = new Creator<RcsMessageQueryResult>() { @Override public RcsMessageQueryResult createFromParcel(Parcel in) { return new RcsMessageQueryResult(in); } @Override public RcsMessageQueryResult[] newArray(int size) { return new RcsMessageQueryResult[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(mContinuationToken, flags); dest.writeTypedList(mMessageTypeIdPairs); } } } } telephony/java/android/telephony/ims/RcsMessageQueryResult.aidl→telephony/java/android/telephony/ims/RcsMessageQueryResultParcelable.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -17,4 +17,4 @@ package android.telephony.ims; package android.telephony.ims; parcelable RcsMessageQueryResult; parcelable RcsMessageQueryResultParcelable; telephony/java/android/telephony/ims/RcsMessageQueryResultParcelable.java 0 → 100644 +74 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2019 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 android.telephony.ims; import android.os.Parcel; import android.os.Parcelable; import com.android.ims.RcsTypeIdPair; import java.util.ArrayList; import java.util.List; /** * @hide - used only for internal communication with the ircs service */ public class RcsMessageQueryResultParcelable implements Parcelable { // The token to continue the query to get the next batch of results final RcsQueryContinuationToken mContinuationToken; // The message type and message ID pairs for all the messages in this query result final List<RcsTypeIdPair> mMessageTypeIdPairs; public RcsMessageQueryResultParcelable( RcsQueryContinuationToken continuationToken, List<RcsTypeIdPair> messageTypeIdPairs) { mContinuationToken = continuationToken; mMessageTypeIdPairs = messageTypeIdPairs; } private RcsMessageQueryResultParcelable(Parcel in) { mContinuationToken = in.readParcelable( RcsQueryContinuationToken.class.getClassLoader()); mMessageTypeIdPairs = new ArrayList<>(); in.readTypedList(mMessageTypeIdPairs, RcsTypeIdPair.CREATOR); } public static final Creator<RcsMessageQueryResultParcelable> CREATOR = new Creator<RcsMessageQueryResultParcelable>() { @Override public RcsMessageQueryResultParcelable createFromParcel(Parcel in) { return new RcsMessageQueryResultParcelable(in); } @Override public RcsMessageQueryResultParcelable[] newArray(int size) { return new RcsMessageQueryResultParcelable[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(mContinuationToken, flags); dest.writeTypedList(mMessageTypeIdPairs); } } telephony/java/android/telephony/ims/RcsMessageStore.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -104,7 +104,8 @@ public class RcsMessageStore { @NonNull @NonNull public RcsMessageQueryResult getRcsMessages( public RcsMessageQueryResult getRcsMessages( @Nullable RcsMessageQueryParams queryParameters) throws RcsMessageStoreException { @Nullable RcsMessageQueryParams queryParameters) throws RcsMessageStoreException { return RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters)); return new RcsMessageQueryResult( RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters))); } } /** /** Loading @@ -118,7 +119,8 @@ public class RcsMessageStore { @NonNull @NonNull public RcsMessageQueryResult getRcsMessages( public RcsMessageQueryResult getRcsMessages( @NonNull RcsQueryContinuationToken continuationToken) throws RcsMessageStoreException { @NonNull RcsQueryContinuationToken continuationToken) throws RcsMessageStoreException { return RcsControllerCall.call(iRcs -> iRcs.getMessagesWithToken(continuationToken)); return new RcsMessageQueryResult( RcsControllerCall.call(iRcs -> iRcs.getMessagesWithToken(continuationToken))); } } /** /** Loading telephony/java/android/telephony/ims/RcsThread.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.internal.annotations.VisibleForTesting; public abstract class RcsThread { public abstract class RcsThread { /** /** * The rcs_participant_thread_id that represents this thread in the database * The rcs_participant_thread_id that represents this thread in the database * * @hide * @hide */ */ protected int mThreadId; protected int mThreadId; Loading Loading @@ -110,7 +111,8 @@ public abstract class RcsThread { public RcsMessageQueryResult getMessages() throws RcsMessageStoreException { public RcsMessageQueryResult getMessages() throws RcsMessageStoreException { RcsMessageQueryParams queryParameters = RcsMessageQueryParams queryParameters = new RcsMessageQueryParams.Builder().setThread(this).build(); new RcsMessageQueryParams.Builder().setThread(this).build(); return RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters)); return new RcsMessageQueryResult( RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters))); } } /** /** Loading Loading
telephony/java/android/telephony/ims/RcsMessageQueryResult.java +11 −62 Original line number Original line Diff line number Diff line Loading @@ -20,13 +20,9 @@ import static android.provider.Telephony.RcsColumns.RcsUnifiedMessageColumns.MES import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.os.Parcel; import android.os.Parcelable; import com.android.ims.RcsTypeIdPair; import java.util.ArrayList; import java.util.List; import java.util.List; import java.util.stream.Collectors; /** /** * The result of a {@link RcsMessageStore#getRcsMessages(RcsMessageQueryParams)} * The result of a {@link RcsMessageStore#getRcsMessages(RcsMessageQueryParams)} Loading @@ -35,23 +31,11 @@ import java.util.List; * * * @hide * @hide */ */ public final class RcsMessageQueryResult implements Parcelable { public final class RcsMessageQueryResult { // The token to continue the query to get the next batch of results private final RcsMessageQueryResultParcelable mRcsMessageQueryResultParcelable; private RcsQueryContinuationToken mContinuationToken; // The message type and message ID pairs for all the messages in this query result private List<RcsTypeIdPair> mMessageTypeIdPairs; /** RcsMessageQueryResult(RcsMessageQueryResultParcelable rcsMessageQueryResultParcelable) { * Internal constructor for {@link com.android.internal.telephony.ims.RcsMessageStoreController} mRcsMessageQueryResultParcelable = rcsMessageQueryResultParcelable; * to create query results * * @hide */ public RcsMessageQueryResult( RcsQueryContinuationToken continuationToken, List<RcsTypeIdPair> messageTypeIdPairs) { mContinuationToken = continuationToken; mMessageTypeIdPairs = messageTypeIdPairs; } } /** /** Loading @@ -61,7 +45,7 @@ public final class RcsMessageQueryResult implements Parcelable { */ */ @Nullable @Nullable public RcsQueryContinuationToken getContinuationToken() { public RcsQueryContinuationToken getContinuationToken() { return mContinuationToken; return mRcsMessageQueryResultParcelable.mContinuationToken; } } /** /** Loading @@ -71,45 +55,10 @@ public final class RcsMessageQueryResult implements Parcelable { */ */ @NonNull @NonNull public List<RcsMessage> getMessages() { public List<RcsMessage> getMessages() { List<RcsMessage> messages = new ArrayList<>(); return mRcsMessageQueryResultParcelable.mMessageTypeIdPairs.stream() for (RcsTypeIdPair typeIdPair : mMessageTypeIdPairs) { .map(typeIdPair -> typeIdPair.getType() == MESSAGE_TYPE_INCOMING if (typeIdPair.getType() == MESSAGE_TYPE_INCOMING) { ? new RcsIncomingMessage(typeIdPair.getId()) messages.add(new RcsIncomingMessage(typeIdPair.getId())); : new RcsOutgoingMessage(typeIdPair.getId())) } else { .collect(Collectors.toList()); messages.add(new RcsOutgoingMessage(typeIdPair.getId())); } } return messages; } private RcsMessageQueryResult(Parcel in) { mContinuationToken = in.readParcelable( RcsQueryContinuationToken.class.getClassLoader()); in.readTypedList(mMessageTypeIdPairs, RcsTypeIdPair.CREATOR); } public static final @android.annotation.NonNull Creator<RcsMessageQueryResult> CREATOR = new Creator<RcsMessageQueryResult>() { @Override public RcsMessageQueryResult createFromParcel(Parcel in) { return new RcsMessageQueryResult(in); } @Override public RcsMessageQueryResult[] newArray(int size) { return new RcsMessageQueryResult[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(mContinuationToken, flags); dest.writeTypedList(mMessageTypeIdPairs); } } } }
telephony/java/android/telephony/ims/RcsMessageQueryResult.aidl→telephony/java/android/telephony/ims/RcsMessageQueryResultParcelable.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -17,4 +17,4 @@ package android.telephony.ims; package android.telephony.ims; parcelable RcsMessageQueryResult; parcelable RcsMessageQueryResultParcelable;
telephony/java/android/telephony/ims/RcsMessageQueryResultParcelable.java 0 → 100644 +74 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2019 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 android.telephony.ims; import android.os.Parcel; import android.os.Parcelable; import com.android.ims.RcsTypeIdPair; import java.util.ArrayList; import java.util.List; /** * @hide - used only for internal communication with the ircs service */ public class RcsMessageQueryResultParcelable implements Parcelable { // The token to continue the query to get the next batch of results final RcsQueryContinuationToken mContinuationToken; // The message type and message ID pairs for all the messages in this query result final List<RcsTypeIdPair> mMessageTypeIdPairs; public RcsMessageQueryResultParcelable( RcsQueryContinuationToken continuationToken, List<RcsTypeIdPair> messageTypeIdPairs) { mContinuationToken = continuationToken; mMessageTypeIdPairs = messageTypeIdPairs; } private RcsMessageQueryResultParcelable(Parcel in) { mContinuationToken = in.readParcelable( RcsQueryContinuationToken.class.getClassLoader()); mMessageTypeIdPairs = new ArrayList<>(); in.readTypedList(mMessageTypeIdPairs, RcsTypeIdPair.CREATOR); } public static final Creator<RcsMessageQueryResultParcelable> CREATOR = new Creator<RcsMessageQueryResultParcelable>() { @Override public RcsMessageQueryResultParcelable createFromParcel(Parcel in) { return new RcsMessageQueryResultParcelable(in); } @Override public RcsMessageQueryResultParcelable[] newArray(int size) { return new RcsMessageQueryResultParcelable[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(mContinuationToken, flags); dest.writeTypedList(mMessageTypeIdPairs); } }
telephony/java/android/telephony/ims/RcsMessageStore.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -104,7 +104,8 @@ public class RcsMessageStore { @NonNull @NonNull public RcsMessageQueryResult getRcsMessages( public RcsMessageQueryResult getRcsMessages( @Nullable RcsMessageQueryParams queryParameters) throws RcsMessageStoreException { @Nullable RcsMessageQueryParams queryParameters) throws RcsMessageStoreException { return RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters)); return new RcsMessageQueryResult( RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters))); } } /** /** Loading @@ -118,7 +119,8 @@ public class RcsMessageStore { @NonNull @NonNull public RcsMessageQueryResult getRcsMessages( public RcsMessageQueryResult getRcsMessages( @NonNull RcsQueryContinuationToken continuationToken) throws RcsMessageStoreException { @NonNull RcsQueryContinuationToken continuationToken) throws RcsMessageStoreException { return RcsControllerCall.call(iRcs -> iRcs.getMessagesWithToken(continuationToken)); return new RcsMessageQueryResult( RcsControllerCall.call(iRcs -> iRcs.getMessagesWithToken(continuationToken))); } } /** /** Loading
telephony/java/android/telephony/ims/RcsThread.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.internal.annotations.VisibleForTesting; public abstract class RcsThread { public abstract class RcsThread { /** /** * The rcs_participant_thread_id that represents this thread in the database * The rcs_participant_thread_id that represents this thread in the database * * @hide * @hide */ */ protected int mThreadId; protected int mThreadId; Loading Loading @@ -110,7 +111,8 @@ public abstract class RcsThread { public RcsMessageQueryResult getMessages() throws RcsMessageStoreException { public RcsMessageQueryResult getMessages() throws RcsMessageStoreException { RcsMessageQueryParams queryParameters = RcsMessageQueryParams queryParameters = new RcsMessageQueryParams.Builder().setThread(this).build(); new RcsMessageQueryParams.Builder().setThread(this).build(); return RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters)); return new RcsMessageQueryResult( RcsControllerCall.call(iRcs -> iRcs.getMessages(queryParameters))); } } /** /** Loading