Merge "Split RCS events into API and internal classes"
This commit is contained in:
@@ -43604,12 +43604,9 @@ package android.telephony.ims {
|
||||
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({android.telephony.ims.RcsEventQueryParams.SORT_BY_CREATION_ORDER, android.telephony.ims.RcsEventQueryParams.SORT_BY_TIMESTAMP}) public static @interface RcsEventQueryParams.SortingProperty {
|
||||
}
|
||||
|
||||
public final class RcsEventQueryResult implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
public class RcsEventQueryResult {
|
||||
method public android.telephony.ims.RcsQueryContinuationToken getContinuationToken();
|
||||
method public java.util.List<android.telephony.ims.RcsEvent> getEvents();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.ims.RcsEventQueryResult> CREATOR;
|
||||
}
|
||||
|
||||
public final class RcsFileTransferCreationParams implements android.os.Parcelable {
|
||||
@@ -43704,37 +43701,25 @@ package android.telephony.ims {
|
||||
method @NonNull public android.telephony.ims.RcsGroupThread getRcsGroupThread();
|
||||
}
|
||||
|
||||
public final class RcsGroupThreadIconChangedEvent extends android.telephony.ims.RcsGroupThreadEvent implements android.os.Parcelable {
|
||||
public final class RcsGroupThreadIconChangedEvent extends android.telephony.ims.RcsGroupThreadEvent {
|
||||
ctor public RcsGroupThreadIconChangedEvent(long, @NonNull android.telephony.ims.RcsGroupThread, @NonNull android.telephony.ims.RcsParticipant, @Nullable android.net.Uri);
|
||||
method public int describeContents();
|
||||
method @Nullable public android.net.Uri getNewIcon();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.ims.RcsGroupThreadIconChangedEvent> CREATOR;
|
||||
}
|
||||
|
||||
public final class RcsGroupThreadNameChangedEvent extends android.telephony.ims.RcsGroupThreadEvent implements android.os.Parcelable {
|
||||
public final class RcsGroupThreadNameChangedEvent extends android.telephony.ims.RcsGroupThreadEvent {
|
||||
ctor public RcsGroupThreadNameChangedEvent(long, @NonNull android.telephony.ims.RcsGroupThread, @NonNull android.telephony.ims.RcsParticipant, @Nullable String);
|
||||
method public int describeContents();
|
||||
method @Nullable public String getNewName();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.ims.RcsGroupThreadNameChangedEvent> CREATOR;
|
||||
}
|
||||
|
||||
public final class RcsGroupThreadParticipantJoinedEvent extends android.telephony.ims.RcsGroupThreadEvent implements android.os.Parcelable {
|
||||
public final class RcsGroupThreadParticipantJoinedEvent extends android.telephony.ims.RcsGroupThreadEvent {
|
||||
ctor public RcsGroupThreadParticipantJoinedEvent(long, @NonNull android.telephony.ims.RcsGroupThread, @NonNull android.telephony.ims.RcsParticipant, @NonNull android.telephony.ims.RcsParticipant);
|
||||
method public int describeContents();
|
||||
method public android.telephony.ims.RcsParticipant getJoinedParticipant();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.ims.RcsGroupThreadParticipantJoinedEvent> CREATOR;
|
||||
}
|
||||
|
||||
public final class RcsGroupThreadParticipantLeftEvent extends android.telephony.ims.RcsGroupThreadEvent implements android.os.Parcelable {
|
||||
public final class RcsGroupThreadParticipantLeftEvent extends android.telephony.ims.RcsGroupThreadEvent {
|
||||
ctor public RcsGroupThreadParticipantLeftEvent(long, @NonNull android.telephony.ims.RcsGroupThread, @NonNull android.telephony.ims.RcsParticipant, @NonNull android.telephony.ims.RcsParticipant);
|
||||
method public int describeContents();
|
||||
method @NonNull public android.telephony.ims.RcsParticipant getLeavingParticipantId();
|
||||
method @NonNull public android.telephony.ims.RcsParticipant getLeavingParticipant();
|
||||
method public void persist() throws android.telephony.ims.RcsMessageStoreException;
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.ims.RcsGroupThreadParticipantLeftEvent> CREATOR;
|
||||
}
|
||||
|
||||
public class RcsIncomingMessage extends android.telephony.ims.RcsMessage {
|
||||
@@ -43926,13 +43911,10 @@ package android.telephony.ims {
|
||||
method @WorkerThread public void setContactId(String) throws android.telephony.ims.RcsMessageStoreException;
|
||||
}
|
||||
|
||||
public final class RcsParticipantAliasChangedEvent extends android.telephony.ims.RcsEvent implements android.os.Parcelable {
|
||||
public final class RcsParticipantAliasChangedEvent extends android.telephony.ims.RcsEvent {
|
||||
ctor public RcsParticipantAliasChangedEvent(long, @NonNull android.telephony.ims.RcsParticipant, @Nullable String);
|
||||
method public int describeContents();
|
||||
method @Nullable public String getNewAlias();
|
||||
method @NonNull public android.telephony.ims.RcsParticipant getParticipantId();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.telephony.ims.RcsParticipantAliasChangedEvent> CREATOR;
|
||||
method @NonNull public android.telephony.ims.RcsParticipant getParticipant();
|
||||
}
|
||||
|
||||
public final class RcsParticipantQueryParams implements android.os.Parcelable {
|
||||
|
||||
@@ -15,16 +15,11 @@
|
||||
*/
|
||||
package android.telephony.ims;
|
||||
|
||||
import android.os.Parcel;
|
||||
|
||||
/**
|
||||
* The base class for events that can happen on {@link RcsParticipant}s and {@link RcsThread}s.
|
||||
*/
|
||||
public abstract class RcsEvent {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
protected final long mTimestamp;
|
||||
private final long mTimestamp;
|
||||
|
||||
protected RcsEvent(long timestamp) {
|
||||
mTimestamp = timestamp;
|
||||
@@ -44,18 +39,4 @@ public abstract class RcsEvent {
|
||||
* @hide
|
||||
*/
|
||||
abstract void persist() throws RcsMessageStoreException;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
RcsEvent(Parcel in) {
|
||||
mTimestamp = in.readLong();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeLong(mTimestamp);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsEvent;
|
||||
parcelable RcsEventDescriptor;
|
||||
56
telephony/java/android/telephony/ims/RcsEventDescriptor.java
Normal file
56
telephony/java/android/telephony/ims/RcsEventDescriptor.java
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* 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 static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
|
||||
/**
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public abstract class RcsEventDescriptor implements Parcelable {
|
||||
protected final long mTimestamp;
|
||||
|
||||
RcsEventDescriptor(long timestamp) {
|
||||
mTimestamp = timestamp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an RcsEvent based on this RcsEventDescriptor. Overriding this method practically
|
||||
* allows an injection point for RcsEvent dependencies outside of the values contained in the
|
||||
* descriptor.
|
||||
*/
|
||||
@VisibleForTesting(visibility = PROTECTED)
|
||||
public abstract RcsEvent createRcsEvent();
|
||||
|
||||
RcsEventDescriptor(Parcel in) {
|
||||
mTimestamp = in.readLong();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeLong(mTimestamp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -16,9 +16,6 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -26,7 +23,7 @@ import java.util.List;
|
||||
* call. This class allows getting the token for querying the next batch of events in order to
|
||||
* prevent handling large amounts of data at once.
|
||||
*/
|
||||
public final class RcsEventQueryResult implements Parcelable {
|
||||
public class RcsEventQueryResult {
|
||||
private RcsQueryContinuationToken mContinuationToken;
|
||||
private List<RcsEvent> mEvents;
|
||||
|
||||
@@ -60,30 +57,4 @@ public final class RcsEventQueryResult implements Parcelable {
|
||||
public List<RcsEvent> getEvents() {
|
||||
return mEvents;
|
||||
}
|
||||
|
||||
private RcsEventQueryResult(Parcel in) {
|
||||
mContinuationToken = in.readParcelable(RcsQueryContinuationToken.class.getClassLoader());
|
||||
}
|
||||
|
||||
public static final Creator<RcsEventQueryResult> CREATOR = new Creator<RcsEventQueryResult>() {
|
||||
@Override
|
||||
public RcsEventQueryResult createFromParcel(Parcel in) {
|
||||
return new RcsEventQueryResult(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsEventQueryResult[] newArray(int size) {
|
||||
return new RcsEventQueryResult[size];
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeParcelable(mContinuationToken, flags);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsEventQueryResult;
|
||||
parcelable RcsEventQueryResultDescriptor;
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* 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 java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Contains the raw data backing a {@link RcsEventQueryResult}.
|
||||
*
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public class RcsEventQueryResultDescriptor implements Parcelable {
|
||||
private final RcsQueryContinuationToken mContinuationToken;
|
||||
private final List<RcsEventDescriptor> mEvents;
|
||||
|
||||
public RcsEventQueryResultDescriptor(
|
||||
RcsQueryContinuationToken continuationToken,
|
||||
List<RcsEventDescriptor> events) {
|
||||
mContinuationToken = continuationToken;
|
||||
mEvents = events;
|
||||
}
|
||||
|
||||
protected RcsEventQueryResult getRcsEventQueryResult() {
|
||||
List<RcsEvent> rcsEvents = mEvents.stream()
|
||||
.map(RcsEventDescriptor::createRcsEvent)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return new RcsEventQueryResult(mContinuationToken, rcsEvents);
|
||||
}
|
||||
|
||||
protected RcsEventQueryResultDescriptor(Parcel in) {
|
||||
mContinuationToken = in.readParcelable(RcsQueryContinuationToken.class.getClassLoader());
|
||||
mEvents = new LinkedList<>();
|
||||
in.readList(mEvents, null);
|
||||
}
|
||||
|
||||
public static final Creator<RcsEventQueryResultDescriptor> CREATOR =
|
||||
new Creator<RcsEventQueryResultDescriptor>() {
|
||||
@Override
|
||||
public RcsEventQueryResultDescriptor createFromParcel(Parcel in) {
|
||||
return new RcsEventQueryResultDescriptor(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsEventQueryResultDescriptor[] newArray(int size) {
|
||||
return new RcsEventQueryResultDescriptor[size];
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeParcelable(mContinuationToken, flags);
|
||||
dest.writeList(mEvents);
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,6 @@
|
||||
package android.telephony.ims;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.os.Parcel;
|
||||
|
||||
/**
|
||||
* An event that happened on an {@link RcsGroupThread}.
|
||||
@@ -47,22 +46,4 @@ public abstract class RcsGroupThreadEvent extends RcsEvent {
|
||||
public RcsParticipant getOriginatingParticipant() {
|
||||
return new RcsParticipant(mOriginatingParticipantId);
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
RcsGroupThreadEvent(Parcel in) {
|
||||
super(in);
|
||||
mRcsGroupThreadId = in.readInt();
|
||||
mOriginatingParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeInt(mRcsGroupThreadId);
|
||||
dest.writeInt(mOriginatingParticipantId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsGroupThreadEvent;
|
||||
parcelable RcsGroupThreadEventDescriptor;
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public abstract class RcsGroupThreadEventDescriptor extends RcsEventDescriptor {
|
||||
protected final int mRcsGroupThreadId;
|
||||
protected final int mOriginatingParticipantId;
|
||||
|
||||
RcsGroupThreadEventDescriptor(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId) {
|
||||
super(timestamp);
|
||||
mRcsGroupThreadId = rcsGroupThreadId;
|
||||
mOriginatingParticipantId = originatingParticipantId;
|
||||
}
|
||||
|
||||
RcsGroupThreadEventDescriptor(Parcel in) {
|
||||
super(in);
|
||||
mRcsGroupThreadId = in.readInt();
|
||||
mOriginatingParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeInt(mRcsGroupThreadId);
|
||||
dest.writeInt(mOriginatingParticipantId);
|
||||
}
|
||||
}
|
||||
@@ -18,15 +18,12 @@ package android.telephony.ims;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.net.Uri;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/**
|
||||
* An event that indicates an {@link RcsGroupThread}'s icon was changed. Please see R6-2-5 - GSMA
|
||||
* RCC.71 (RCS Universal Profile Service Definition Document)
|
||||
*/
|
||||
public final class RcsGroupThreadIconChangedEvent extends RcsGroupThreadEvent implements
|
||||
Parcelable {
|
||||
public final class RcsGroupThreadIconChangedEvent extends RcsGroupThreadEvent {
|
||||
private final Uri mNewIcon;
|
||||
|
||||
/**
|
||||
@@ -47,15 +44,6 @@ public final class RcsGroupThreadIconChangedEvent extends RcsGroupThreadEvent im
|
||||
mNewIcon = newIcon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide - internal constructor for queries
|
||||
*/
|
||||
public RcsGroupThreadIconChangedEvent(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, @Nullable Uri newIcon) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mNewIcon = newIcon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the {@link Uri} to the icon of the {@link RcsGroupThread} after this
|
||||
* {@link RcsGroupThreadIconChangedEvent} occured.
|
||||
@@ -77,33 +65,4 @@ public final class RcsGroupThreadIconChangedEvent extends RcsGroupThreadEvent im
|
||||
getTimestamp(), getRcsGroupThread().getThreadId(),
|
||||
getOriginatingParticipant().getId(), mNewIcon));
|
||||
}
|
||||
|
||||
public static final Creator<RcsGroupThreadIconChangedEvent> CREATOR =
|
||||
new Creator<RcsGroupThreadIconChangedEvent>() {
|
||||
@Override
|
||||
public RcsGroupThreadIconChangedEvent createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadIconChangedEvent(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadIconChangedEvent[] newArray(int size) {
|
||||
return new RcsGroupThreadIconChangedEvent[size];
|
||||
}
|
||||
};
|
||||
|
||||
private RcsGroupThreadIconChangedEvent(Parcel in) {
|
||||
super(in);
|
||||
mNewIcon = in.readParcelable(Uri.class.getClassLoader());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeParcelable(mNewIcon, flags);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsGroupThreadIconChangedEvent;
|
||||
parcelable RcsGroupThreadIconChangedEventDescriptor;
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* 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 static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.net.Uri;
|
||||
import android.os.Parcel;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
|
||||
/**
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public class RcsGroupThreadIconChangedEventDescriptor extends RcsGroupThreadEventDescriptor {
|
||||
private final Uri mNewIcon;
|
||||
|
||||
public RcsGroupThreadIconChangedEventDescriptor(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, @Nullable Uri newIcon) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mNewIcon = newIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@VisibleForTesting(visibility = PROTECTED)
|
||||
public RcsGroupThreadIconChangedEvent createRcsEvent() {
|
||||
return new RcsGroupThreadIconChangedEvent(mTimestamp, new RcsGroupThread(mRcsGroupThreadId),
|
||||
new RcsParticipant(mOriginatingParticipantId), mNewIcon);
|
||||
}
|
||||
|
||||
public static final Creator<RcsGroupThreadIconChangedEventDescriptor> CREATOR =
|
||||
new Creator<RcsGroupThreadIconChangedEventDescriptor>() {
|
||||
@Override
|
||||
public RcsGroupThreadIconChangedEventDescriptor createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadIconChangedEventDescriptor(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadIconChangedEventDescriptor[] newArray(int size) {
|
||||
return new RcsGroupThreadIconChangedEventDescriptor[size];
|
||||
}
|
||||
};
|
||||
|
||||
protected RcsGroupThreadIconChangedEventDescriptor(Parcel in) {
|
||||
super(in);
|
||||
mNewIcon = in.readParcelable(Uri.class.getClassLoader());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeParcelable(mNewIcon, flags);
|
||||
}
|
||||
}
|
||||
@@ -17,15 +17,12 @@ package android.telephony.ims;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/**
|
||||
* An event that indicates an {@link RcsGroupThread}'s name was changed. Please see R6-2-5 - GSMA
|
||||
* RCC.71 (RCS Universal Profile Service Definition Document)
|
||||
*/
|
||||
public final class RcsGroupThreadNameChangedEvent extends RcsGroupThreadEvent implements
|
||||
Parcelable {
|
||||
public final class RcsGroupThreadNameChangedEvent extends RcsGroupThreadEvent {
|
||||
private final String mNewName;
|
||||
|
||||
/**
|
||||
@@ -46,15 +43,6 @@ public final class RcsGroupThreadNameChangedEvent extends RcsGroupThreadEvent im
|
||||
mNewName = newName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide - internal constructor for queries
|
||||
*/
|
||||
public RcsGroupThreadNameChangedEvent(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, @Nullable String newName) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mNewName = newName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the name of this {@link RcsGroupThread} after this
|
||||
* {@link RcsGroupThreadNameChangedEvent} happened.
|
||||
@@ -75,33 +63,4 @@ public final class RcsGroupThreadNameChangedEvent extends RcsGroupThreadEvent im
|
||||
getTimestamp(), getRcsGroupThread().getThreadId(),
|
||||
getOriginatingParticipant().getId(), mNewName));
|
||||
}
|
||||
|
||||
public static final Creator<RcsGroupThreadNameChangedEvent> CREATOR =
|
||||
new Creator<RcsGroupThreadNameChangedEvent>() {
|
||||
@Override
|
||||
public RcsGroupThreadNameChangedEvent createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadNameChangedEvent(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadNameChangedEvent[] newArray(int size) {
|
||||
return new RcsGroupThreadNameChangedEvent[size];
|
||||
}
|
||||
};
|
||||
|
||||
private RcsGroupThreadNameChangedEvent(Parcel in) {
|
||||
super(in);
|
||||
mNewName = in.readString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeString(mNewName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsGroupThreadNameChangedEvent;
|
||||
parcelable RcsGroupThreadNameChangedEventDescriptor;
|
||||
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* 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 static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.os.Parcel;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
|
||||
/**
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public class RcsGroupThreadNameChangedEventDescriptor extends RcsGroupThreadEventDescriptor {
|
||||
private final String mNewName;
|
||||
|
||||
public RcsGroupThreadNameChangedEventDescriptor(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, @Nullable String newName) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mNewName = newName;
|
||||
}
|
||||
|
||||
@Override
|
||||
@VisibleForTesting(visibility = PROTECTED)
|
||||
public RcsGroupThreadNameChangedEvent createRcsEvent() {
|
||||
return new RcsGroupThreadNameChangedEvent(
|
||||
mTimestamp,
|
||||
new RcsGroupThread(mRcsGroupThreadId),
|
||||
new RcsParticipant(mOriginatingParticipantId),
|
||||
mNewName);
|
||||
}
|
||||
|
||||
public static final Creator<RcsGroupThreadNameChangedEventDescriptor> CREATOR =
|
||||
new Creator<RcsGroupThreadNameChangedEventDescriptor>() {
|
||||
@Override
|
||||
public RcsGroupThreadNameChangedEventDescriptor createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadNameChangedEventDescriptor(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadNameChangedEventDescriptor[] newArray(int size) {
|
||||
return new RcsGroupThreadNameChangedEventDescriptor[size];
|
||||
}
|
||||
};
|
||||
|
||||
protected RcsGroupThreadNameChangedEventDescriptor(Parcel in) {
|
||||
super(in);
|
||||
mNewName = in.readString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeString(mNewName);
|
||||
}
|
||||
}
|
||||
@@ -16,16 +16,13 @@
|
||||
package android.telephony.ims;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/**
|
||||
* An event that indicates an RCS participant has joined an {@link RcsThread}. Please see US6-3 -
|
||||
* GSMA RCC.71 (RCS Universal Profile Service Definition Document)
|
||||
*/
|
||||
public final class RcsGroupThreadParticipantJoinedEvent extends RcsGroupThreadEvent implements
|
||||
Parcelable {
|
||||
private final int mJoinedParticipantId;
|
||||
public final class RcsGroupThreadParticipantJoinedEvent extends RcsGroupThreadEvent {
|
||||
private final RcsParticipant mJoinedParticipantId;
|
||||
|
||||
/**
|
||||
* Creates a new {@link RcsGroupThreadParticipantJoinedEvent}. This event is not persisted into
|
||||
@@ -44,23 +41,14 @@ public final class RcsGroupThreadParticipantJoinedEvent extends RcsGroupThreadEv
|
||||
@NonNull RcsGroupThread rcsGroupThread, @NonNull RcsParticipant originatingParticipant,
|
||||
@NonNull RcsParticipant joinedParticipant) {
|
||||
super(timestamp, rcsGroupThread.getThreadId(), originatingParticipant.getId());
|
||||
mJoinedParticipantId = joinedParticipant.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide - internal constructor for queries
|
||||
*/
|
||||
public RcsGroupThreadParticipantJoinedEvent(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, int joinedParticipantId) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mJoinedParticipantId = joinedParticipantId;
|
||||
mJoinedParticipantId = joinedParticipant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the {@link RcsParticipant} that joined the associated {@link RcsGroupThread}
|
||||
*/
|
||||
public RcsParticipant getJoinedParticipant() {
|
||||
return new RcsParticipant(mJoinedParticipantId);
|
||||
return mJoinedParticipantId;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,33 +63,4 @@ public final class RcsGroupThreadParticipantJoinedEvent extends RcsGroupThreadEv
|
||||
getRcsGroupThread().getThreadId(), getOriginatingParticipant().getId(),
|
||||
getJoinedParticipant().getId()));
|
||||
}
|
||||
|
||||
public static final Creator<RcsGroupThreadParticipantJoinedEvent> CREATOR =
|
||||
new Creator<RcsGroupThreadParticipantJoinedEvent>() {
|
||||
@Override
|
||||
public RcsGroupThreadParticipantJoinedEvent createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadParticipantJoinedEvent(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadParticipantJoinedEvent[] newArray(int size) {
|
||||
return new RcsGroupThreadParticipantJoinedEvent[size];
|
||||
}
|
||||
};
|
||||
|
||||
private RcsGroupThreadParticipantJoinedEvent(Parcel in) {
|
||||
super(in);
|
||||
mJoinedParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeInt(mJoinedParticipantId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsGroupThreadParticipantJoinedEvent;
|
||||
parcelable RcsGroupThreadParticipantJoinedEventDescriptor;
|
||||
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* 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 static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
|
||||
|
||||
import android.os.Parcel;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
|
||||
/**
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public class RcsGroupThreadParticipantJoinedEventDescriptor extends RcsGroupThreadEventDescriptor {
|
||||
private final int mJoinedParticipantId;
|
||||
|
||||
public RcsGroupThreadParticipantJoinedEventDescriptor(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, int joinedParticipantId) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mJoinedParticipantId = joinedParticipantId;
|
||||
}
|
||||
|
||||
@Override
|
||||
@VisibleForTesting(visibility = PROTECTED)
|
||||
public RcsGroupThreadParticipantJoinedEvent createRcsEvent() {
|
||||
return new RcsGroupThreadParticipantJoinedEvent(
|
||||
mTimestamp,
|
||||
new RcsGroupThread(mRcsGroupThreadId),
|
||||
new RcsParticipant(mOriginatingParticipantId),
|
||||
new RcsParticipant(mJoinedParticipantId));
|
||||
}
|
||||
|
||||
public static final Creator<RcsGroupThreadParticipantJoinedEventDescriptor> CREATOR =
|
||||
new Creator<RcsGroupThreadParticipantJoinedEventDescriptor>() {
|
||||
@Override
|
||||
public RcsGroupThreadParticipantJoinedEventDescriptor createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadParticipantJoinedEventDescriptor(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadParticipantJoinedEventDescriptor[] newArray(int size) {
|
||||
return new RcsGroupThreadParticipantJoinedEventDescriptor[size];
|
||||
}
|
||||
};
|
||||
|
||||
protected RcsGroupThreadParticipantJoinedEventDescriptor(Parcel in) {
|
||||
super(in);
|
||||
mJoinedParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeInt(mJoinedParticipantId);
|
||||
}
|
||||
}
|
||||
@@ -16,16 +16,13 @@
|
||||
package android.telephony.ims;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/**
|
||||
* An event that indicates an RCS participant has left an {@link RcsThread}. Please see US6-23 -
|
||||
* GSMA RCC.71 (RCS Universal Profile Service Definition Document)
|
||||
*/
|
||||
public final class RcsGroupThreadParticipantLeftEvent extends RcsGroupThreadEvent implements
|
||||
Parcelable {
|
||||
private final int mLeavingParticipantId;
|
||||
public final class RcsGroupThreadParticipantLeftEvent extends RcsGroupThreadEvent {
|
||||
private RcsParticipant mLeavingParticipant;
|
||||
|
||||
/**
|
||||
* Creates a new {@link RcsGroupThreadParticipantLeftEvent}. his event is not persisted into
|
||||
@@ -46,16 +43,7 @@ public final class RcsGroupThreadParticipantLeftEvent extends RcsGroupThreadEven
|
||||
@NonNull RcsGroupThread rcsGroupThread, @NonNull RcsParticipant originatingParticipant,
|
||||
@NonNull RcsParticipant leavingParticipant) {
|
||||
super(timestamp, rcsGroupThread.getThreadId(), originatingParticipant.getId());
|
||||
mLeavingParticipantId = leavingParticipant.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide - internal constructor for queries
|
||||
*/
|
||||
public RcsGroupThreadParticipantLeftEvent(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, int leavingParticipantId) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mLeavingParticipantId = leavingParticipantId;
|
||||
mLeavingParticipant = leavingParticipant;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,44 +51,15 @@ public final class RcsGroupThreadParticipantLeftEvent extends RcsGroupThreadEven
|
||||
* after this {@link RcsGroupThreadParticipantLeftEvent} happened.
|
||||
*/
|
||||
@NonNull
|
||||
public RcsParticipant getLeavingParticipantId() {
|
||||
return new RcsParticipant(mLeavingParticipantId);
|
||||
public RcsParticipant getLeavingParticipant() {
|
||||
return mLeavingParticipant;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void persist() throws RcsMessageStoreException {
|
||||
RcsControllerCall.call(
|
||||
iRcs -> iRcs.createGroupThreadParticipantJoinedEvent(getTimestamp(),
|
||||
iRcs -> iRcs.createGroupThreadParticipantLeftEvent(getTimestamp(),
|
||||
getRcsGroupThread().getThreadId(), getOriginatingParticipant().getId(),
|
||||
getLeavingParticipantId().getId()));
|
||||
}
|
||||
|
||||
public static final Creator<RcsGroupThreadParticipantLeftEvent> CREATOR =
|
||||
new Creator<RcsGroupThreadParticipantLeftEvent>() {
|
||||
@Override
|
||||
public RcsGroupThreadParticipantLeftEvent createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadParticipantLeftEvent(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadParticipantLeftEvent[] newArray(int size) {
|
||||
return new RcsGroupThreadParticipantLeftEvent[size];
|
||||
}
|
||||
};
|
||||
|
||||
private RcsGroupThreadParticipantLeftEvent(Parcel in) {
|
||||
super(in);
|
||||
mLeavingParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeInt(mLeavingParticipantId);
|
||||
getLeavingParticipant().getId()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsGroupThreadParticipantLeftEvent;
|
||||
parcelable RcsGroupThreadParticipantLeftEventDescriptor;
|
||||
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* 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 static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
|
||||
/**
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public class RcsGroupThreadParticipantLeftEventDescriptor extends RcsGroupThreadEventDescriptor {
|
||||
private int mLeavingParticipantId;
|
||||
|
||||
public RcsGroupThreadParticipantLeftEventDescriptor(long timestamp, int rcsGroupThreadId,
|
||||
int originatingParticipantId, int leavingParticipantId) {
|
||||
super(timestamp, rcsGroupThreadId, originatingParticipantId);
|
||||
mLeavingParticipantId = leavingParticipantId;
|
||||
}
|
||||
|
||||
@Override
|
||||
@VisibleForTesting(visibility = PROTECTED)
|
||||
public RcsGroupThreadParticipantLeftEvent createRcsEvent() {
|
||||
return new RcsGroupThreadParticipantLeftEvent(
|
||||
mTimestamp,
|
||||
new RcsGroupThread(mRcsGroupThreadId),
|
||||
new RcsParticipant(mOriginatingParticipantId),
|
||||
new RcsParticipant(mLeavingParticipantId));
|
||||
}
|
||||
|
||||
public static final Parcelable.Creator<RcsGroupThreadParticipantLeftEventDescriptor> CREATOR =
|
||||
new Creator<RcsGroupThreadParticipantLeftEventDescriptor>() {
|
||||
@Override
|
||||
public RcsGroupThreadParticipantLeftEventDescriptor createFromParcel(Parcel in) {
|
||||
return new RcsGroupThreadParticipantLeftEventDescriptor(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsGroupThreadParticipantLeftEventDescriptor[] newArray(int size) {
|
||||
return new RcsGroupThreadParticipantLeftEventDescriptor[size];
|
||||
}
|
||||
};
|
||||
|
||||
protected RcsGroupThreadParticipantLeftEventDescriptor(Parcel in) {
|
||||
super(in);
|
||||
mLeavingParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeInt(mLeavingParticipantId);
|
||||
}
|
||||
}
|
||||
@@ -118,15 +118,16 @@ public class RcsMessageStore {
|
||||
/**
|
||||
* Returns the first chunk of existing {@link RcsEvent}s in the common storage.
|
||||
*
|
||||
* @param queryParameters Parameters to specify to return a subset of all RcsEvents.
|
||||
* @param queryParams Parameters to specify to return a subset of all RcsEvents.
|
||||
* Passing a value of null will return all events.
|
||||
* @throws RcsMessageStoreException if the query could not be completed on the storage
|
||||
*/
|
||||
@WorkerThread
|
||||
@NonNull
|
||||
public RcsEventQueryResult getRcsEvents(
|
||||
@Nullable RcsEventQueryParams queryParameters) throws RcsMessageStoreException {
|
||||
return RcsControllerCall.call(iRcs -> iRcs.getEvents(queryParameters));
|
||||
@Nullable RcsEventQueryParams queryParams) throws RcsMessageStoreException {
|
||||
return RcsControllerCall.call(iRcs -> iRcs.getEvents(queryParams))
|
||||
.getRcsEventQueryResult();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -140,7 +141,8 @@ public class RcsMessageStore {
|
||||
@NonNull
|
||||
public RcsEventQueryResult getRcsEvents(
|
||||
@NonNull RcsQueryContinuationToken continuationToken) throws RcsMessageStoreException {
|
||||
return RcsControllerCall.call(iRcs -> iRcs.getEventsWithToken(continuationToken));
|
||||
return RcsControllerCall.call(iRcs -> iRcs.getEventsWithToken(continuationToken))
|
||||
.getRcsEventQueryResult();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,16 +17,14 @@ package android.telephony.ims;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/**
|
||||
* An event that indicates an {@link RcsParticipant}'s alias was changed. Please see US18-2 - GSMA
|
||||
* RCC.71 (RCS Universal Profile Service Definition Document)
|
||||
*/
|
||||
public final class RcsParticipantAliasChangedEvent extends RcsEvent implements Parcelable {
|
||||
// The ID of the participant that changed their alias
|
||||
private final int mParticipantId;
|
||||
public final class RcsParticipantAliasChangedEvent extends RcsEvent {
|
||||
// The participant that changed their alias
|
||||
private final RcsParticipant mParticipant;
|
||||
// The new alias of the above participant
|
||||
private final String mNewAlias;
|
||||
|
||||
@@ -43,17 +41,7 @@ public final class RcsParticipantAliasChangedEvent extends RcsEvent implements P
|
||||
public RcsParticipantAliasChangedEvent(long timestamp, @NonNull RcsParticipant participant,
|
||||
@Nullable String newAlias) {
|
||||
super(timestamp);
|
||||
mParticipantId = participant.getId();
|
||||
mNewAlias = newAlias;
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide - internal constructor for queries
|
||||
*/
|
||||
public RcsParticipantAliasChangedEvent(long timestamp, int participantId,
|
||||
@Nullable String newAlias) {
|
||||
super(timestamp);
|
||||
mParticipantId = participantId;
|
||||
mParticipant = participant;
|
||||
mNewAlias = newAlias;
|
||||
}
|
||||
|
||||
@@ -61,8 +49,8 @@ public final class RcsParticipantAliasChangedEvent extends RcsEvent implements P
|
||||
* @return Returns the {@link RcsParticipant} whose alias was changed.
|
||||
*/
|
||||
@NonNull
|
||||
public RcsParticipant getParticipantId() {
|
||||
return new RcsParticipant(mParticipantId);
|
||||
public RcsParticipant getParticipant() {
|
||||
return mParticipant;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,37 +69,6 @@ public final class RcsParticipantAliasChangedEvent extends RcsEvent implements P
|
||||
@Override
|
||||
public void persist() throws RcsMessageStoreException {
|
||||
RcsControllerCall.call(iRcs -> iRcs.createParticipantAliasChangedEvent(
|
||||
getTimestamp(), getParticipantId().getId(), getNewAlias()));
|
||||
}
|
||||
|
||||
public static final Creator<RcsParticipantAliasChangedEvent> CREATOR =
|
||||
new Creator<RcsParticipantAliasChangedEvent>() {
|
||||
@Override
|
||||
public RcsParticipantAliasChangedEvent createFromParcel(Parcel in) {
|
||||
return new RcsParticipantAliasChangedEvent(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsParticipantAliasChangedEvent[] newArray(int size) {
|
||||
return new RcsParticipantAliasChangedEvent[size];
|
||||
}
|
||||
};
|
||||
|
||||
private RcsParticipantAliasChangedEvent(Parcel in) {
|
||||
super(in);
|
||||
mNewAlias = in.readString();
|
||||
mParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeString(mNewAlias);
|
||||
dest.writeInt(mParticipantId);
|
||||
getTimestamp(), getParticipant().getId(), getNewAlias()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|
||||
package android.telephony.ims;
|
||||
|
||||
parcelable RcsParticipantAliasChangedEvent;
|
||||
parcelable RcsParticipantAliasChangedEventDescriptor;
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* 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 static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.os.Parcel;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
|
||||
/**
|
||||
* @hide - used only for internal communication with the ircs service
|
||||
*/
|
||||
public class RcsParticipantAliasChangedEventDescriptor extends RcsEventDescriptor {
|
||||
// The ID of the participant that changed their alias
|
||||
protected int mParticipantId;
|
||||
// The new alias of the above participant
|
||||
protected String mNewAlias;
|
||||
|
||||
public RcsParticipantAliasChangedEventDescriptor(long timestamp, int participantId,
|
||||
@Nullable String newAlias) {
|
||||
super(timestamp);
|
||||
mParticipantId = participantId;
|
||||
mNewAlias = newAlias;
|
||||
}
|
||||
|
||||
@Override
|
||||
@VisibleForTesting(visibility = PROTECTED)
|
||||
public RcsParticipantAliasChangedEvent createRcsEvent() {
|
||||
return new RcsParticipantAliasChangedEvent(
|
||||
mTimestamp, new RcsParticipant(mParticipantId), mNewAlias);
|
||||
}
|
||||
|
||||
public static final Creator<RcsParticipantAliasChangedEventDescriptor> CREATOR =
|
||||
new Creator<RcsParticipantAliasChangedEventDescriptor>() {
|
||||
@Override
|
||||
public RcsParticipantAliasChangedEventDescriptor createFromParcel(Parcel in) {
|
||||
return new RcsParticipantAliasChangedEventDescriptor(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RcsParticipantAliasChangedEventDescriptor[] newArray(int size) {
|
||||
return new RcsParticipantAliasChangedEventDescriptor[size];
|
||||
}
|
||||
};
|
||||
|
||||
protected RcsParticipantAliasChangedEventDescriptor(Parcel in) {
|
||||
super(in);
|
||||
mNewAlias = in.readString();
|
||||
mParticipantId = in.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
super.writeToParcel(dest, flags);
|
||||
dest.writeString(mNewAlias);
|
||||
dest.writeInt(mParticipantId);
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ package android.telephony.ims.aidl;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.telephony.ims.RcsEventQueryParams;
|
||||
import android.telephony.ims.RcsEventQueryResult;
|
||||
import android.telephony.ims.RcsEventQueryResultDescriptor;
|
||||
import android.telephony.ims.RcsFileTransferCreationParams;
|
||||
import android.telephony.ims.RcsIncomingMessageCreationParams;
|
||||
import android.telephony.ims.RcsMessageSnippet;
|
||||
@@ -54,9 +54,9 @@ interface IRcs {
|
||||
RcsMessageQueryResult getMessagesWithToken(
|
||||
in RcsQueryContinuationToken continuationToken);
|
||||
|
||||
RcsEventQueryResult getEvents(in RcsEventQueryParams queryParams);
|
||||
RcsEventQueryResultDescriptor getEvents(in RcsEventQueryParams queryParams);
|
||||
|
||||
RcsEventQueryResult getEventsWithToken(
|
||||
RcsEventQueryResultDescriptor getEventsWithToken(
|
||||
in RcsQueryContinuationToken continuationToken);
|
||||
|
||||
// returns true if the thread was successfully deleted
|
||||
|
||||
@@ -20,9 +20,8 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import android.net.Uri;
|
||||
import android.os.Parcel;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.telephony.ims.RcsGroupThread;
|
||||
import android.telephony.ims.RcsGroupThreadIconChangedEvent;
|
||||
import android.telephony.ims.RcsParticipant;
|
||||
import android.telephony.ims.RcsGroupThreadIconChangedEventDescriptor;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -32,20 +31,27 @@ public class RcsGroupThreadIconChangedEventTest {
|
||||
|
||||
@Test
|
||||
public void testCanUnparcel() {
|
||||
RcsGroupThread rcsGroupThread = new RcsGroupThread(1);
|
||||
RcsParticipant rcsParticipant = new RcsParticipant(2);
|
||||
int rcsGroupThreadId = 1;
|
||||
int rcsParticipantId = 2;
|
||||
Uri newIconUri = Uri.parse("content://new_icon");
|
||||
|
||||
RcsGroupThreadIconChangedEvent iconChangedEvent =
|
||||
new RcsGroupThreadIconChangedEvent(1234567890, rcsGroupThread, rcsParticipant,
|
||||
newIconUri);
|
||||
RcsGroupThreadIconChangedEventDescriptor iconChangedEventDescriptor =
|
||||
new RcsGroupThreadIconChangedEventDescriptor(1234567890, rcsGroupThreadId,
|
||||
rcsParticipantId, newIconUri);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
iconChangedEvent.writeToParcel(parcel, iconChangedEvent.describeContents());
|
||||
iconChangedEventDescriptor.writeToParcel(
|
||||
parcel, iconChangedEventDescriptor.describeContents());
|
||||
|
||||
parcel.setDataPosition(0);
|
||||
|
||||
iconChangedEvent = RcsGroupThreadIconChangedEvent.CREATOR.createFromParcel(parcel);
|
||||
iconChangedEventDescriptor =
|
||||
RcsGroupThreadIconChangedEventDescriptor.CREATOR.createFromParcel(parcel);
|
||||
|
||||
RcsGroupThreadIconChangedEvent iconChangedEvent =
|
||||
iconChangedEventDescriptor.createRcsEvent();
|
||||
|
||||
|
||||
|
||||
assertThat(iconChangedEvent.getNewIcon()).isEqualTo(newIconUri);
|
||||
assertThat(iconChangedEvent.getRcsGroupThread().getThreadId()).isEqualTo(1);
|
||||
|
||||
@@ -19,9 +19,8 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.telephony.ims.RcsGroupThread;
|
||||
import android.telephony.ims.RcsGroupThreadNameChangedEvent;
|
||||
import android.telephony.ims.RcsParticipant;
|
||||
import android.telephony.ims.RcsGroupThreadNameChangedEventDescriptor;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -32,20 +31,24 @@ public class RcsGroupThreadNameChangedEventTest {
|
||||
public void testCanUnparcel() {
|
||||
String newName = "new name";
|
||||
|
||||
RcsGroupThread rcsGroupThread = new RcsGroupThread(1);
|
||||
RcsParticipant rcsParticipant = new RcsParticipant(2);
|
||||
int rcsGroupThreadId = 1;
|
||||
int rcsParticipantId = 2;
|
||||
|
||||
RcsGroupThreadNameChangedEvent nameChangedEvent =
|
||||
new RcsGroupThreadNameChangedEvent(1234567890, rcsGroupThread, rcsParticipant,
|
||||
newName);
|
||||
RcsGroupThreadNameChangedEventDescriptor nameChangedEventDescriptor =
|
||||
new RcsGroupThreadNameChangedEventDescriptor(
|
||||
1234567890, rcsGroupThreadId, rcsParticipantId, newName);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
nameChangedEvent.writeToParcel(parcel, nameChangedEvent.describeContents());
|
||||
nameChangedEventDescriptor.writeToParcel(
|
||||
parcel, nameChangedEventDescriptor.describeContents());
|
||||
|
||||
parcel.setDataPosition(0);
|
||||
|
||||
nameChangedEvent = RcsGroupThreadNameChangedEvent.CREATOR.createFromParcel(
|
||||
parcel);
|
||||
nameChangedEventDescriptor = RcsGroupThreadNameChangedEventDescriptor.CREATOR
|
||||
.createFromParcel(parcel);
|
||||
|
||||
RcsGroupThreadNameChangedEvent nameChangedEvent =
|
||||
nameChangedEventDescriptor.createRcsEvent();
|
||||
|
||||
assertThat(nameChangedEvent.getNewName()).isEqualTo(newName);
|
||||
assertThat(nameChangedEvent.getRcsGroupThread().getThreadId()).isEqualTo(1);
|
||||
|
||||
@@ -19,9 +19,8 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.telephony.ims.RcsGroupThread;
|
||||
import android.telephony.ims.RcsGroupThreadParticipantJoinedEvent;
|
||||
import android.telephony.ims.RcsParticipant;
|
||||
import android.telephony.ims.RcsGroupThreadParticipantJoinedEventDescriptor;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -31,20 +30,24 @@ public class RcsGroupThreadParticipantJoinedEventTest {
|
||||
|
||||
@Test
|
||||
public void testCanUnparcel() {
|
||||
RcsGroupThread rcsGroupThread = new RcsGroupThread(1);
|
||||
RcsParticipant rcsParticipant = new RcsParticipant(2);
|
||||
int rcsGroupThreadId = 1;
|
||||
int rcsParticipantId = 2;
|
||||
|
||||
RcsGroupThreadParticipantJoinedEvent participantJoinedEvent =
|
||||
new RcsGroupThreadParticipantJoinedEvent(1234567890, rcsGroupThread, rcsParticipant,
|
||||
rcsParticipant);
|
||||
RcsGroupThreadParticipantJoinedEventDescriptor participantJoinedEventDescriptor =
|
||||
new RcsGroupThreadParticipantJoinedEventDescriptor(
|
||||
1234567890, rcsGroupThreadId, rcsParticipantId, rcsParticipantId);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
participantJoinedEvent.writeToParcel(parcel, participantJoinedEvent.describeContents());
|
||||
participantJoinedEventDescriptor.writeToParcel(
|
||||
parcel, participantJoinedEventDescriptor.describeContents());
|
||||
|
||||
parcel.setDataPosition(0);
|
||||
|
||||
participantJoinedEvent = RcsGroupThreadParticipantJoinedEvent.CREATOR.createFromParcel(
|
||||
parcel);
|
||||
participantJoinedEventDescriptor = RcsGroupThreadParticipantJoinedEventDescriptor.CREATOR
|
||||
.createFromParcel(parcel);
|
||||
|
||||
RcsGroupThreadParticipantJoinedEvent participantJoinedEvent =
|
||||
participantJoinedEventDescriptor.createRcsEvent();
|
||||
|
||||
assertThat(participantJoinedEvent.getJoinedParticipant().getId()).isEqualTo(2);
|
||||
assertThat(participantJoinedEvent.getRcsGroupThread().getThreadId()).isEqualTo(1);
|
||||
|
||||
@@ -19,9 +19,8 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.telephony.ims.RcsGroupThread;
|
||||
import android.telephony.ims.RcsGroupThreadParticipantLeftEvent;
|
||||
import android.telephony.ims.RcsParticipant;
|
||||
import android.telephony.ims.RcsGroupThreadParticipantLeftEventDescriptor;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -30,24 +29,29 @@ import org.junit.runner.RunWith;
|
||||
public class RcsGroupThreadParticipantLeftEventTest {
|
||||
@Test
|
||||
public void testCanUnparcel() {
|
||||
RcsGroupThread rcsGroupThread = new RcsGroupThread(1);
|
||||
RcsParticipant rcsParticipant = new RcsParticipant(2);
|
||||
int rcsGroupThreadId = 1;
|
||||
int rcsParticipantId = 2;
|
||||
|
||||
RcsGroupThreadParticipantLeftEvent participantLeftEvent =
|
||||
new RcsGroupThreadParticipantLeftEvent(1234567890, rcsGroupThread, rcsParticipant,
|
||||
rcsParticipant);
|
||||
RcsGroupThreadParticipantLeftEventDescriptor participantLeftEventDescriptor =
|
||||
new RcsGroupThreadParticipantLeftEventDescriptor(
|
||||
1234567890, rcsGroupThreadId, rcsParticipantId, rcsParticipantId);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
participantLeftEvent.writeToParcel(parcel, participantLeftEvent.describeContents());
|
||||
participantLeftEventDescriptor.writeToParcel(
|
||||
parcel, participantLeftEventDescriptor.describeContents());
|
||||
|
||||
parcel.setDataPosition(0);
|
||||
|
||||
// create from parcel
|
||||
parcel.setDataPosition(0);
|
||||
participantLeftEvent = RcsGroupThreadParticipantLeftEvent.CREATOR.createFromParcel(
|
||||
parcel);
|
||||
participantLeftEventDescriptor = RcsGroupThreadParticipantLeftEventDescriptor.CREATOR
|
||||
.createFromParcel(parcel);
|
||||
|
||||
RcsGroupThreadParticipantLeftEvent participantLeftEvent =
|
||||
participantLeftEventDescriptor.createRcsEvent();
|
||||
|
||||
assertThat(participantLeftEvent.getRcsGroupThread().getThreadId()).isEqualTo(1);
|
||||
assertThat(participantLeftEvent.getLeavingParticipantId().getId()).isEqualTo(2);
|
||||
assertThat(participantLeftEvent.getLeavingParticipant().getId()).isEqualTo(2);
|
||||
assertThat(participantLeftEvent.getTimestamp()).isEqualTo(1234567890);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,10 +19,9 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.telephony.ims.RcsParticipant;
|
||||
import android.telephony.ims.RcsParticipantAliasChangedEvent;
|
||||
import android.telephony.ims.RcsParticipantAliasChangedEventDescriptor;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@@ -30,27 +29,27 @@ import org.junit.runner.RunWith;
|
||||
public class RcsParticipantAliasChangedEventTest {
|
||||
private static final String OLD_ALIAS = "old alias";
|
||||
private static final String NEW_ALIAS = "new alias";
|
||||
private RcsParticipant mParticipant;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mParticipant = new RcsParticipant(3);
|
||||
}
|
||||
private int mParticipantId = 3;
|
||||
|
||||
@Test
|
||||
public void testCanUnparcel() {
|
||||
RcsParticipantAliasChangedEvent aliasChangedEvent =
|
||||
new RcsParticipantAliasChangedEvent(1234567890, mParticipant, NEW_ALIAS);
|
||||
RcsParticipantAliasChangedEventDescriptor aliasChangedEventDescriptor =
|
||||
new RcsParticipantAliasChangedEventDescriptor(
|
||||
1234567890, mParticipantId, NEW_ALIAS);
|
||||
|
||||
Parcel parcel = Parcel.obtain();
|
||||
aliasChangedEvent.writeToParcel(parcel, aliasChangedEvent.describeContents());
|
||||
aliasChangedEventDescriptor.writeToParcel(
|
||||
parcel, aliasChangedEventDescriptor.describeContents());
|
||||
|
||||
parcel.setDataPosition(0);
|
||||
|
||||
aliasChangedEvent = RcsParticipantAliasChangedEvent.CREATOR.createFromParcel(
|
||||
parcel);
|
||||
aliasChangedEventDescriptor = RcsParticipantAliasChangedEventDescriptor.CREATOR
|
||||
.createFromParcel(parcel);
|
||||
|
||||
assertThat(aliasChangedEvent.getParticipantId().getId()).isEqualTo(3);
|
||||
RcsParticipantAliasChangedEvent aliasChangedEvent =
|
||||
aliasChangedEventDescriptor.createRcsEvent();
|
||||
|
||||
assertThat(aliasChangedEvent.getParticipant().getId()).isEqualTo(mParticipantId);
|
||||
assertThat(aliasChangedEvent.getNewAlias()).isEqualTo(NEW_ALIAS);
|
||||
assertThat(aliasChangedEvent.getTimestamp()).isEqualTo(1234567890);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user