Ammar Githam
4 years ago
23 changed files with 161 additions and 954 deletions
-
9app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemActionLogViewHolder.java
-
6app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemVideoCallEventViewHolder.java
-
7app/src/main/java/awais/instagrabber/adapters/viewholder/directmessages/DirectItemXmaViewHolder.java
-
2app/src/main/java/awais/instagrabber/managers/ThreadManager.java
-
97app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemActionLog.kt
-
60app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemAnimatedMedia.kt
-
66app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemEmojiReaction.kt
-
59app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemLink.kt
-
59app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemLinkContext.kt
-
50app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemPlaceholder.kt
-
69app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemReactions.kt
-
100app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemSeenResponse.kt
-
3app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemSeenResponsePayload.kt
-
69app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemVideoCallEvent.kt
-
51app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemVoiceMedia.kt
-
113app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectItemXma.kt
-
66app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadBroadcastResponse.kt
-
64app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadBroadcastResponseMessageMetadata.kt
-
52app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadBroadcastResponsePayload.kt
-
23app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadFeedResponse.kt
-
40app/src/main/java/awais/instagrabber/repositories/responses/directmessages/DirectThreadLastSeenAt.kt
-
10app/src/main/java/awais/instagrabber/repositories/responses/directmessages/TextRange.kt
-
40app/src/main/java/awais/instagrabber/repositories/responses/directmessages/ThreadContext.kt
@ -1,92 +1,9 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.List; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public class DirectItemActionLog implements Serializable { |
|
||||
private final String description; |
|
||||
private final List<TextRange> bold; |
|
||||
private final List<TextRange> textAttributes; |
|
||||
|
|
||||
public DirectItemActionLog(final String description, |
|
||||
final List<TextRange> bold, |
|
||||
final List<TextRange> textAttributes) { |
|
||||
this.description = description; |
|
||||
this.bold = bold; |
|
||||
this.textAttributes = textAttributes; |
|
||||
} |
|
||||
|
|
||||
public String getDescription() { |
|
||||
return description; |
|
||||
} |
|
||||
|
|
||||
public List<TextRange> getBold() { |
|
||||
return bold; |
|
||||
} |
|
||||
|
|
||||
public List<TextRange> getTextAttributes() { |
|
||||
return textAttributes; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemActionLog that = (DirectItemActionLog) o; |
|
||||
return Objects.equals(description, that.description) && |
|
||||
Objects.equals(bold, that.bold) && |
|
||||
Objects.equals(textAttributes, that.textAttributes); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(description, bold, textAttributes); |
|
||||
} |
|
||||
|
|
||||
public static class TextRange implements Serializable { |
|
||||
private final int start; |
|
||||
private final int end; |
|
||||
private final String color; |
|
||||
private final String intent; |
|
||||
|
|
||||
public TextRange(final int start, final int end, final String color, final String intent) { |
|
||||
this.start = start; |
|
||||
this.end = end; |
|
||||
this.color = color; |
|
||||
this.intent = intent; |
|
||||
} |
|
||||
|
|
||||
public int getStart() { |
|
||||
return start; |
|
||||
} |
|
||||
|
|
||||
public int getEnd() { |
|
||||
return end; |
|
||||
} |
|
||||
|
|
||||
public String getColor() { |
|
||||
return color; |
|
||||
} |
|
||||
|
|
||||
public String getIntent() { |
|
||||
return intent; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final TextRange textRange = (TextRange) o; |
|
||||
return start == textRange.start && |
|
||||
end == textRange.end && |
|
||||
Objects.equals(color, textRange.color) && |
|
||||
Objects.equals(intent, textRange.intent); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(start, end, color, intent); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemActionLog( |
||||
|
val description: String? = null, |
||||
|
val bold: List<TextRange>? = null, |
||||
|
val textAttributes: List<TextRange>? = null |
||||
|
) : Serializable |
@ -1,53 +1,11 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import awais.instagrabber.repositories.responses.AnimatedMediaImages |
||||
|
import java.io.Serializable |
||||
|
|
||||
import awais.instagrabber.repositories.responses.AnimatedMediaImages; |
|
||||
|
|
||||
public final class DirectItemAnimatedMedia implements Serializable { |
|
||||
private final String id; |
|
||||
private final AnimatedMediaImages images; |
|
||||
private final boolean isRandom; |
|
||||
private final boolean isSticker; |
|
||||
|
|
||||
public DirectItemAnimatedMedia(final String id, final AnimatedMediaImages images, final boolean isRandom, final boolean isSticker) { |
|
||||
|
|
||||
this.id = id; |
|
||||
this.images = images; |
|
||||
this.isRandom = isRandom; |
|
||||
this.isSticker = isSticker; |
|
||||
} |
|
||||
|
|
||||
public String getId() { |
|
||||
return id; |
|
||||
} |
|
||||
|
|
||||
public AnimatedMediaImages getImages() { |
|
||||
return images; |
|
||||
} |
|
||||
|
|
||||
public boolean isRandom() { |
|
||||
return isRandom; |
|
||||
} |
|
||||
|
|
||||
public boolean isSticker() { |
|
||||
return isSticker; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemAnimatedMedia that = (DirectItemAnimatedMedia) o; |
|
||||
return isRandom == that.isRandom && |
|
||||
isSticker == that.isSticker && |
|
||||
Objects.equals(id, that.id) && |
|
||||
Objects.equals(images, that.images); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(id, images, isRandom, isSticker); |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemAnimatedMedia( |
||||
|
val id: String? = null, |
||||
|
val images: AnimatedMediaImages? = null, |
||||
|
val isRandom: Boolean = false, |
||||
|
val isSticker: Boolean = false, |
||||
|
) : Serializable |
@ -1,60 +1,10 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public class DirectItemEmojiReaction implements Serializable { |
|
||||
private final long senderId; |
|
||||
private final long timestamp; |
|
||||
private final String emoji; |
|
||||
private final String superReactType; |
|
||||
|
|
||||
public DirectItemEmojiReaction(final long senderId, final long timestamp, final String emoji, final String superReactType) { |
|
||||
this.senderId = senderId; |
|
||||
this.timestamp = timestamp; |
|
||||
this.emoji = emoji; |
|
||||
this.superReactType = superReactType; |
|
||||
} |
|
||||
|
|
||||
public long getSenderId() { |
|
||||
return senderId; |
|
||||
} |
|
||||
|
|
||||
public long getTimestamp() { |
|
||||
return timestamp; |
|
||||
} |
|
||||
|
|
||||
public String getEmoji() { |
|
||||
return emoji; |
|
||||
} |
|
||||
|
|
||||
public String getSuperReactType() { |
|
||||
return superReactType; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemEmojiReaction that = (DirectItemEmojiReaction) o; |
|
||||
return senderId == that.senderId && |
|
||||
timestamp == that.timestamp && |
|
||||
Objects.equals(emoji, that.emoji) && |
|
||||
Objects.equals(superReactType, that.superReactType); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(senderId, timestamp, emoji, superReactType); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectItemEmojiReaction{" + |
|
||||
"senderId=" + senderId + |
|
||||
", timestamp=" + timestamp + |
|
||||
", emoji='" + emoji + '\'' + |
|
||||
", superReactType='" + superReactType + '\'' + |
|
||||
'}'; |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemEmojiReaction( |
||||
|
val senderId: Long = 0, |
||||
|
val timestamp: Long = 0, |
||||
|
val emoji: String? = null, |
||||
|
val superReactType: String? = null |
||||
|
) : Serializable |
@ -1,53 +1,10 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public class DirectItemLink implements Serializable { |
|
||||
private final String text; |
|
||||
private final DirectItemLinkContext linkContext; |
|
||||
private final String clientContext; |
|
||||
private final String mutationToken; |
|
||||
|
|
||||
public DirectItemLink(final String text, |
|
||||
final DirectItemLinkContext linkContext, |
|
||||
final String clientContext, |
|
||||
final String mutationToken) { |
|
||||
this.text = text; |
|
||||
this.linkContext = linkContext; |
|
||||
this.clientContext = clientContext; |
|
||||
this.mutationToken = mutationToken; |
|
||||
} |
|
||||
|
|
||||
public String getText() { |
|
||||
return text; |
|
||||
} |
|
||||
|
|
||||
public DirectItemLinkContext getLinkContext() { |
|
||||
return linkContext; |
|
||||
} |
|
||||
|
|
||||
public String getClientContext() { |
|
||||
return clientContext; |
|
||||
} |
|
||||
|
|
||||
public String getMutationToken() { |
|
||||
return mutationToken; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemLink that = (DirectItemLink) o; |
|
||||
return Objects.equals(text, that.text) && |
|
||||
Objects.equals(linkContext, that.linkContext) && |
|
||||
Objects.equals(clientContext, that.clientContext) && |
|
||||
Objects.equals(mutationToken, that.mutationToken); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(text, linkContext, clientContext, mutationToken); |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemLink( |
||||
|
val text: String? = null, |
||||
|
val linkContext: DirectItemLinkContext? = null, |
||||
|
val clientContext: String? = null, |
||||
|
val mutationToken: String? = null, |
||||
|
) : Serializable |
@ -1,53 +1,10 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public class DirectItemLinkContext implements Serializable { |
|
||||
private final String linkUrl; |
|
||||
private final String linkTitle; |
|
||||
private final String linkSummary; |
|
||||
private final String linkImageUrl; |
|
||||
|
|
||||
public DirectItemLinkContext(final String linkUrl, |
|
||||
final String linkTitle, |
|
||||
final String linkSummary, |
|
||||
final String linkImageUrl) { |
|
||||
this.linkUrl = linkUrl; |
|
||||
this.linkTitle = linkTitle; |
|
||||
this.linkSummary = linkSummary; |
|
||||
this.linkImageUrl = linkImageUrl; |
|
||||
} |
|
||||
|
|
||||
public String getLinkUrl() { |
|
||||
return linkUrl; |
|
||||
} |
|
||||
|
|
||||
public String getLinkTitle() { |
|
||||
return linkTitle; |
|
||||
} |
|
||||
|
|
||||
public String getLinkSummary() { |
|
||||
return linkSummary; |
|
||||
} |
|
||||
|
|
||||
public String getLinkImageUrl() { |
|
||||
return linkImageUrl; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemLinkContext that = (DirectItemLinkContext) o; |
|
||||
return Objects.equals(linkUrl, that.linkUrl) && |
|
||||
Objects.equals(linkTitle, that.linkTitle) && |
|
||||
Objects.equals(linkSummary, that.linkSummary) && |
|
||||
Objects.equals(linkImageUrl, that.linkImageUrl); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(linkUrl, linkTitle, linkSummary, linkImageUrl); |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemLinkContext( |
||||
|
val linkUrl: String? = null, |
||||
|
val linkTitle: String? = null, |
||||
|
val linkSummary: String? = null, |
||||
|
val linkImageUrl: String? = null |
||||
|
) : Serializable |
@ -1,45 +1,9 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public class DirectItemPlaceholder implements Serializable { |
|
||||
private final boolean isLinked; |
|
||||
private final String title; |
|
||||
private final String message; |
|
||||
|
|
||||
public DirectItemPlaceholder(final boolean isLinked, |
|
||||
final String title, |
|
||||
final String message) { |
|
||||
this.isLinked = isLinked; |
|
||||
this.title = title; |
|
||||
this.message = message; |
|
||||
} |
|
||||
|
|
||||
public boolean isLinked() { |
|
||||
return isLinked; |
|
||||
} |
|
||||
|
|
||||
public String getTitle() { |
|
||||
return title; |
|
||||
} |
|
||||
|
|
||||
public String getMessage() { |
|
||||
return message; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemPlaceholder that = (DirectItemPlaceholder) o; |
|
||||
return isLinked == that.isLinked && |
|
||||
Objects.equals(title, that.title) && |
|
||||
Objects.equals(message, that.message); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(isLinked, title, message); |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemPlaceholder( |
||||
|
val isLinked: Boolean = false, |
||||
|
val title: String? = null, |
||||
|
val message: String? = null, |
||||
|
) : Serializable |
@ -1,62 +1,13 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import androidx.annotation.NonNull; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.List; |
|
||||
import java.util.Objects; |
|
||||
|
|
||||
public class DirectItemReactions implements Cloneable, Serializable { |
|
||||
private List<DirectItemEmojiReaction> emojis; |
|
||||
private List<DirectItemEmojiReaction> likes; |
|
||||
|
|
||||
public DirectItemReactions(final List<DirectItemEmojiReaction> emojis, |
|
||||
final List<DirectItemEmojiReaction> likes) { |
|
||||
this.emojis = emojis; |
|
||||
this.likes = likes; |
|
||||
} |
|
||||
|
|
||||
public List<DirectItemEmojiReaction> getEmojis() { |
|
||||
return emojis; |
|
||||
} |
|
||||
|
|
||||
public List<DirectItemEmojiReaction> getLikes() { |
|
||||
return likes; |
|
||||
} |
|
||||
|
|
||||
public void setLikes(final List<DirectItemEmojiReaction> likes) { |
|
||||
this.likes = likes; |
|
||||
} |
|
||||
|
|
||||
public void setEmojis(final List<DirectItemEmojiReaction> emojis) { |
|
||||
this.emojis = emojis; |
|
||||
} |
|
||||
|
|
||||
@NonNull |
|
||||
@Override |
|
||||
public Object clone() throws CloneNotSupportedException { |
|
||||
return super.clone(); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemReactions that = (DirectItemReactions) o; |
|
||||
return Objects.equals(emojis, that.emojis) && |
|
||||
Objects.equals(likes, that.likes); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(emojis, likes); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectItemReactions{" + |
|
||||
"emojis=" + emojis + |
|
||||
", likes=" + likes + |
|
||||
'}'; |
|
||||
|
data class DirectItemReactions( |
||||
|
var emojis: List<DirectItemEmojiReaction>? = null, |
||||
|
var likes: List<DirectItemEmojiReaction>? = null, |
||||
|
) : Cloneable, Serializable { |
||||
|
@Throws(CloneNotSupportedException::class) |
||||
|
public override fun clone(): Any { |
||||
|
return super.clone() |
||||
} |
} |
||||
} |
|
||||
|
} |
@ -1,95 +1,7 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import androidx.annotation.NonNull; |
|
||||
|
|
||||
import java.util.Objects; |
|
||||
|
|
||||
public class DirectItemSeenResponse { |
|
||||
private final String action; |
|
||||
private final DirectItemSeenResponsePayload payload; |
|
||||
private final String status; |
|
||||
|
|
||||
public DirectItemSeenResponse(final String action, final DirectItemSeenResponsePayload payload, final String status) { |
|
||||
this.action = action; |
|
||||
this.payload = payload; |
|
||||
this.status = status; |
|
||||
} |
|
||||
|
|
||||
public String getAction() { |
|
||||
return action; |
|
||||
} |
|
||||
|
|
||||
public DirectItemSeenResponsePayload getPayload() { |
|
||||
return payload; |
|
||||
} |
|
||||
|
|
||||
public String getStatus() { |
|
||||
return status; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemSeenResponse that = (DirectItemSeenResponse) o; |
|
||||
return Objects.equals(action, that.action) && |
|
||||
Objects.equals(payload, that.payload) && |
|
||||
Objects.equals(status, that.status); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(action, payload, status); |
|
||||
} |
|
||||
|
|
||||
@NonNull |
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectItemSeenResponse{" + |
|
||||
"action='" + action + '\'' + |
|
||||
", payload=" + payload + |
|
||||
", status='" + status + '\'' + |
|
||||
'}'; |
|
||||
} |
|
||||
|
|
||||
public static class DirectItemSeenResponsePayload { |
|
||||
private final int count; |
|
||||
private final String timestamp; |
|
||||
|
|
||||
public DirectItemSeenResponsePayload(final int count, final String timestamp) { |
|
||||
this.count = count; |
|
||||
this.timestamp = timestamp; |
|
||||
} |
|
||||
|
|
||||
public int getCount() { |
|
||||
return count; |
|
||||
} |
|
||||
|
|
||||
public String getTimestamp() { |
|
||||
return timestamp; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemSeenResponsePayload that = (DirectItemSeenResponsePayload) o; |
|
||||
return count == that.count && |
|
||||
Objects.equals(timestamp, that.timestamp); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(count, timestamp); |
|
||||
} |
|
||||
|
|
||||
@NonNull |
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectItemSeenResponsePayload{" + |
|
||||
"count=" + count + |
|
||||
", timestamp='" + timestamp + '\'' + |
|
||||
'}'; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemSeenResponse( |
||||
|
val action: String? = null, |
||||
|
val payload: DirectItemSeenResponsePayload? = null, |
||||
|
val status: String? = null, |
||||
|
) |
@ -0,0 +1,3 @@ |
|||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
|
data class DirectItemSeenResponsePayload(val count: Int = 0, val timestamp: String? = null) |
@ -1,62 +1,11 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.List; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public final class DirectItemVideoCallEvent implements Serializable { |
|
||||
private final String action; |
|
||||
private final String encodedServerDataInfo; |
|
||||
private final String description; |
|
||||
private final boolean threadHasAudioOnlyCall; |
|
||||
private final List<DirectItemActionLog.TextRange> textAttributes; |
|
||||
|
|
||||
public DirectItemVideoCallEvent(final String action, |
|
||||
final String encodedServerDataInfo, |
|
||||
final String description, |
|
||||
final boolean threadHasAudioOnlyCall, |
|
||||
final List<DirectItemActionLog.TextRange> textAttributes) { |
|
||||
this.action = action; |
|
||||
this.encodedServerDataInfo = encodedServerDataInfo; |
|
||||
this.description = description; |
|
||||
this.threadHasAudioOnlyCall = threadHasAudioOnlyCall; |
|
||||
this.textAttributes = textAttributes; |
|
||||
} |
|
||||
|
|
||||
public String getAction() { |
|
||||
return action; |
|
||||
} |
|
||||
|
|
||||
public String getEncodedServerDataInfo() { |
|
||||
return encodedServerDataInfo; |
|
||||
} |
|
||||
|
|
||||
public String getDescription() { |
|
||||
return description; |
|
||||
} |
|
||||
|
|
||||
public boolean isThreadHasAudioOnlyCall() { |
|
||||
return threadHasAudioOnlyCall; |
|
||||
} |
|
||||
|
|
||||
public List<DirectItemActionLog.TextRange> getTextAttributes() { |
|
||||
return textAttributes; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemVideoCallEvent that = (DirectItemVideoCallEvent) o; |
|
||||
return threadHasAudioOnlyCall == that.threadHasAudioOnlyCall && |
|
||||
Objects.equals(action, that.action) && |
|
||||
Objects.equals(encodedServerDataInfo, that.encodedServerDataInfo) && |
|
||||
Objects.equals(description, that.description) && |
|
||||
Objects.equals(textAttributes, that.textAttributes); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(action, encodedServerDataInfo, description, threadHasAudioOnlyCall, textAttributes); |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemVideoCallEvent( |
||||
|
val action: String? = null, |
||||
|
val encodedServerDataInfo: String? = null, |
||||
|
val description: String? = null, |
||||
|
val threadHasAudioOnlyCall: Boolean = false, |
||||
|
val textAttributes: List<TextRange>? = null, |
||||
|
) : Serializable |
@ -1,45 +1,10 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import awais.instagrabber.repositories.responses.Media |
||||
|
import java.io.Serializable |
||||
|
|
||||
import awais.instagrabber.repositories.responses.Media; |
|
||||
|
|
||||
public class DirectItemVoiceMedia implements Serializable { |
|
||||
private final Media media; |
|
||||
private final int seenCount; |
|
||||
private final String viewMode; |
|
||||
|
|
||||
public DirectItemVoiceMedia(final Media media, final int seenCount, final String viewMode) { |
|
||||
this.media = media; |
|
||||
this.seenCount = seenCount; |
|
||||
this.viewMode = viewMode; |
|
||||
} |
|
||||
|
|
||||
public Media getMedia() { |
|
||||
return media; |
|
||||
} |
|
||||
|
|
||||
public int getSeenCount() { |
|
||||
return seenCount; |
|
||||
} |
|
||||
|
|
||||
public String getViewMode() { |
|
||||
return viewMode; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemVoiceMedia that = (DirectItemVoiceMedia) o; |
|
||||
return seenCount == that.seenCount && |
|
||||
Objects.equals(media, that.media) && |
|
||||
Objects.equals(viewMode, that.viewMode); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(media, seenCount, viewMode); |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectItemVoiceMedia( |
||||
|
val media: Media? = null, |
||||
|
val seenCount: Int = 0, |
||||
|
val viewMode: String? = null, |
||||
|
) : Serializable |
@ -1,104 +1,15 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import androidx.annotation.NonNull; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
data class DirectItemXma( |
||||
|
val previewUrlInfo: XmaUrlInfo? = null, |
||||
|
val playableUrlInfo: XmaUrlInfo? = null, |
||||
|
) : Serializable |
||||
|
|
||||
public class DirectItemXma { |
|
||||
private final XmaUrlInfo previewUrlInfo; |
|
||||
private final XmaUrlInfo playableUrlInfo; |
|
||||
|
|
||||
public DirectItemXma(final XmaUrlInfo previewUrlInfo, final XmaUrlInfo playableUrlInfo) { |
|
||||
this.previewUrlInfo = previewUrlInfo; |
|
||||
this.playableUrlInfo = playableUrlInfo; |
|
||||
} |
|
||||
|
|
||||
public XmaUrlInfo getPreviewUrlInfo() { |
|
||||
return previewUrlInfo; |
|
||||
} |
|
||||
|
|
||||
public XmaUrlInfo getPlayableUrlInfo() { |
|
||||
return playableUrlInfo; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectItemXma that = (DirectItemXma) o; |
|
||||
return Objects.equals(previewUrlInfo, that.previewUrlInfo) && |
|
||||
Objects.equals(playableUrlInfo, that.playableUrlInfo); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(previewUrlInfo, playableUrlInfo); |
|
||||
} |
|
||||
|
|
||||
@NonNull |
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectItemXma{" + |
|
||||
"previewUrlInfo=" + previewUrlInfo + |
|
||||
", playableUrlInfo=" + playableUrlInfo + |
|
||||
'}'; |
|
||||
} |
|
||||
|
|
||||
public static class XmaUrlInfo implements Serializable { |
|
||||
private final String url; |
|
||||
private final long urlExpirationTimestampUs; |
|
||||
private final int width; |
|
||||
private final int height; |
|
||||
|
|
||||
public XmaUrlInfo(final String url, final long urlExpirationTimestampUs, final int width, final int height) { |
|
||||
this.url = url; |
|
||||
this.urlExpirationTimestampUs = urlExpirationTimestampUs; |
|
||||
this.width = width; |
|
||||
this.height = height; |
|
||||
} |
|
||||
|
|
||||
public String getUrl() { |
|
||||
return url; |
|
||||
} |
|
||||
|
|
||||
public long getUrlExpirationTimestampUs() { |
|
||||
return urlExpirationTimestampUs; |
|
||||
} |
|
||||
|
|
||||
public int getWidth() { |
|
||||
return width; |
|
||||
} |
|
||||
|
|
||||
public int getHeight() { |
|
||||
return height; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final XmaUrlInfo that = (XmaUrlInfo) o; |
|
||||
return urlExpirationTimestampUs == that.urlExpirationTimestampUs && |
|
||||
width == that.width && |
|
||||
height == that.height && |
|
||||
Objects.equals(url, that.url); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(url, urlExpirationTimestampUs, width, height); |
|
||||
} |
|
||||
|
|
||||
@NonNull |
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "XmaUrlInfo{" + |
|
||||
"url='" + url + '\'' + |
|
||||
", urlExpirationTimestampUs=" + urlExpirationTimestampUs + |
|
||||
", width=" + width + |
|
||||
", height=" + height + |
|
||||
'}'; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
data class XmaUrlInfo( |
||||
|
val url: String? = null, |
||||
|
val urlExpirationTimestampUs: Long = 0, |
||||
|
val width: Int = 0, |
||||
|
val height: Int = 0, |
||||
|
) : Serializable |
@ -1,57 +1,9 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
|
||||
import androidx.annotation.NonNull; |
|
||||
|
|
||||
import java.util.List; |
|
||||
|
|
||||
public class DirectThreadBroadcastResponse { |
|
||||
private final String action; |
|
||||
private final String statusCode; |
|
||||
private final DirectThreadBroadcastResponsePayload payload; |
|
||||
private final List<DirectThreadBroadcastResponseMessageMetadata> messageMetadata; |
|
||||
private final String status; |
|
||||
|
|
||||
public DirectThreadBroadcastResponse(final String action, |
|
||||
final String statusCode, |
|
||||
final DirectThreadBroadcastResponsePayload payload, |
|
||||
final List<DirectThreadBroadcastResponseMessageMetadata> messageMetadata, |
|
||||
final String status) { |
|
||||
this.action = action; |
|
||||
this.statusCode = statusCode; |
|
||||
this.payload = payload; |
|
||||
this.messageMetadata = messageMetadata; |
|
||||
this.status = status; |
|
||||
} |
|
||||
|
|
||||
public String getAction() { |
|
||||
return action; |
|
||||
} |
|
||||
|
|
||||
public String getStatusCode() { |
|
||||
return statusCode; |
|
||||
} |
|
||||
|
|
||||
public DirectThreadBroadcastResponsePayload getPayload() { |
|
||||
return payload; |
|
||||
} |
|
||||
|
|
||||
public List<DirectThreadBroadcastResponseMessageMetadata> getMessageMetadata() { |
|
||||
return messageMetadata; |
|
||||
} |
|
||||
|
|
||||
public String getStatus() { |
|
||||
return status; |
|
||||
} |
|
||||
|
|
||||
@NonNull |
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectThreadBroadcastResponse{" + |
|
||||
"action='" + action + '\'' + |
|
||||
", statusCode='" + statusCode + '\'' + |
|
||||
", payload=" + payload + |
|
||||
", messageMetadata=" + messageMetadata + |
|
||||
", status='" + status + '\'' + |
|
||||
'}'; |
|
||||
} |
|
||||
} |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
|
data class DirectThreadBroadcastResponse( |
||||
|
val action: String? = null, |
||||
|
val statusCode: String? = null, |
||||
|
val payload: DirectThreadBroadcastResponsePayload? = null, |
||||
|
val messageMetadata: List<DirectThreadBroadcastResponseMessageMetadata>? = null, |
||||
|
val status: String? = null |
||||
|
) |
@ -1,55 +1,9 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
|
||||
import java.util.List; |
|
||||
|
|
||||
public class DirectThreadBroadcastResponseMessageMetadata { |
|
||||
private final String clientContext; |
|
||||
private final String itemId; |
|
||||
private final long timestamp; |
|
||||
private final String threadId; |
|
||||
private final List<String> participantIds; |
|
||||
|
|
||||
|
|
||||
public DirectThreadBroadcastResponseMessageMetadata(final String clientContext, |
|
||||
final String itemId, |
|
||||
final long timestamp, |
|
||||
final String threadId, |
|
||||
final List<String> participantIds) { |
|
||||
this.clientContext = clientContext; |
|
||||
this.itemId = itemId; |
|
||||
this.timestamp = timestamp; |
|
||||
this.threadId = threadId; |
|
||||
this.participantIds = participantIds; |
|
||||
} |
|
||||
|
|
||||
public String getClientContext() { |
|
||||
return clientContext; |
|
||||
} |
|
||||
|
|
||||
public String getItemId() { |
|
||||
return itemId; |
|
||||
} |
|
||||
|
|
||||
public long getTimestamp() { |
|
||||
return timestamp; |
|
||||
} |
|
||||
|
|
||||
public String getThreadId() { |
|
||||
return threadId; |
|
||||
} |
|
||||
|
|
||||
public List<String> getParticipantIds() { |
|
||||
return participantIds; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectThreadBroadcastResponseMessageMetadata{" + |
|
||||
"clientContext='" + clientContext + '\'' + |
|
||||
", itemId='" + itemId + '\'' + |
|
||||
", timestamp=" + timestamp + |
|
||||
", threadId='" + threadId + '\'' + |
|
||||
", participantIds=" + participantIds + |
|
||||
'}'; |
|
||||
} |
|
||||
} |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
|
data class DirectThreadBroadcastResponseMessageMetadata( |
||||
|
val clientContext: String? = null, |
||||
|
val itemId: String? = null, |
||||
|
val timestamp: Long = 0, |
||||
|
val threadId: String? = null, |
||||
|
val participantIds: List<String>? = null, |
||||
|
) |
@ -1,44 +1,8 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
|
||||
public class DirectThreadBroadcastResponsePayload { |
|
||||
private final String clientContext; |
|
||||
private final String itemId; |
|
||||
private final long timestamp; |
|
||||
private final String threadId; |
|
||||
|
|
||||
public DirectThreadBroadcastResponsePayload(final String clientContext, |
|
||||
final String itemId, |
|
||||
final long timestamp, |
|
||||
final String threadId) { |
|
||||
this.clientContext = clientContext; |
|
||||
this.itemId = itemId; |
|
||||
this.timestamp = timestamp; |
|
||||
this.threadId = threadId; |
|
||||
} |
|
||||
|
|
||||
public String getClientContext() { |
|
||||
return clientContext; |
|
||||
} |
|
||||
|
|
||||
public String getItemId() { |
|
||||
return itemId; |
|
||||
} |
|
||||
|
|
||||
public long getTimestamp() { |
|
||||
return timestamp; |
|
||||
} |
|
||||
|
|
||||
public String getThreadId() { |
|
||||
return threadId; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "DirectThreadBroadcastResponsePayload{" + |
|
||||
"clientContext='" + clientContext + '\'' + |
|
||||
", itemId='" + itemId + '\'' + |
|
||||
", timestamp=" + timestamp + |
|
||||
", threadId='" + threadId + '\'' + |
|
||||
'}'; |
|
||||
} |
|
||||
} |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
|
data class DirectThreadBroadcastResponsePayload( |
||||
|
val clientContext: String? = null, |
||||
|
val itemId: String? = null, |
||||
|
val timestamp: Long = 0, |
||||
|
val threadId: String? = null, |
||||
|
) |
@ -1,19 +1,6 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
public class DirectThreadFeedResponse { |
|
||||
private final DirectThread thread; |
|
||||
private final String status; |
|
||||
|
|
||||
public DirectThreadFeedResponse(final DirectThread thread, final String status) { |
|
||||
this.thread = thread; |
|
||||
this.status = status; |
|
||||
} |
|
||||
|
|
||||
public DirectThread getThread() { |
|
||||
return thread; |
|
||||
} |
|
||||
|
|
||||
public String getStatus() { |
|
||||
return status; |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectThreadFeedResponse( |
||||
|
val thread: DirectThread? = null, |
||||
|
val status: String? = null, |
||||
|
) |
@ -1,36 +1,8 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public class DirectThreadLastSeenAt implements Serializable { |
|
||||
private final String timestamp; |
|
||||
private final String itemId; |
|
||||
|
|
||||
public DirectThreadLastSeenAt(final String timestamp, final String itemId) { |
|
||||
this.timestamp = timestamp; |
|
||||
this.itemId = itemId; |
|
||||
} |
|
||||
|
|
||||
public String getTimestamp() { |
|
||||
return timestamp; |
|
||||
} |
|
||||
|
|
||||
public String getItemId() { |
|
||||
return itemId; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final DirectThreadLastSeenAt that = (DirectThreadLastSeenAt) o; |
|
||||
return Objects.equals(timestamp, that.timestamp) && |
|
||||
Objects.equals(itemId, that.itemId); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(timestamp, itemId); |
|
||||
} |
|
||||
} |
|
||||
|
data class DirectThreadLastSeenAt( |
||||
|
val timestamp: String? = null, |
||||
|
val itemId: String? = null, |
||||
|
) : Serializable |
@ -0,0 +1,10 @@ |
|||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
|
import java.io.Serializable |
||||
|
|
||||
|
data class TextRange( |
||||
|
val start: Int = 0, |
||||
|
val end: Int = 0, |
||||
|
val color: String? = null, |
||||
|
val intent: String? = null, |
||||
|
) : Serializable |
@ -1,36 +1,8 @@ |
|||||
package awais.instagrabber.repositories.responses.directmessages; |
|
||||
|
package awais.instagrabber.repositories.responses.directmessages |
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.Objects; |
|
||||
|
import java.io.Serializable |
||||
|
|
||||
public class ThreadContext implements Serializable { |
|
||||
private final int type; |
|
||||
private final String text; |
|
||||
|
|
||||
public ThreadContext(final int type, final String text) { |
|
||||
this.type = type; |
|
||||
this.text = text; |
|
||||
} |
|
||||
|
|
||||
public int getType() { |
|
||||
return type; |
|
||||
} |
|
||||
|
|
||||
public String getText() { |
|
||||
return text; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final ThreadContext that = (ThreadContext) o; |
|
||||
return type == that.type && |
|
||||
Objects.equals(text, that.text); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(type, text); |
|
||||
} |
|
||||
} |
|
||||
|
data class ThreadContext( |
||||
|
val type: Int = 0, |
||||
|
val text: String? = null, |
||||
|
) : Serializable |
Write
Preview
Loading…
Cancel
Save
Reference in new issue