5 changed files with 49 additions and 307 deletions
-
4app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageSettingsFragment.kt
-
6app/src/main/java/awais/instagrabber/fragments/main/ProfileFragment.java
-
332app/src/main/java/awais/instagrabber/repositories/responses/User.kt
-
4app/src/main/java/awais/instagrabber/viewmodels/DirectSettingsViewModel.kt
-
8app/src/main/java/awais/instagrabber/webservices/GraphQLService.java
@ -1,296 +1,38 @@ |
|||||
package awais.instagrabber.repositories.responses; |
|
||||
|
|
||||
import java.io.Serializable; |
|
||||
import java.util.List; |
|
||||
import java.util.Objects; |
|
||||
|
|
||||
public class User implements Serializable { |
|
||||
private final long pk; |
|
||||
private final String username; |
|
||||
private final String fullName; |
|
||||
private final boolean isPrivate; |
|
||||
private final String profilePicUrl; |
|
||||
private final String profilePicId; |
|
||||
private FriendshipStatus friendshipStatus; |
|
||||
private final boolean isVerified; |
|
||||
private final boolean hasAnonymousProfilePicture; |
|
||||
private final boolean isUnpublished; |
|
||||
private final boolean isFavorite; |
|
||||
private final boolean isDirectappInstalled; |
|
||||
private final boolean hasChaining; |
|
||||
private final String reelAutoArchive; |
|
||||
private final String allowedCommenterType; |
|
||||
private final long mediaCount; |
|
||||
private final long followerCount; |
|
||||
private final long followingCount; |
|
||||
private final long followingTagCount; |
|
||||
private final String biography; |
|
||||
private final String externalUrl; |
|
||||
private final long usertagsCount; |
|
||||
private final String publicEmail; |
|
||||
private final HdProfilePicUrlInfo hdProfilePicUrlInfo; |
|
||||
private final String profileContext; // "also followed by" your friends |
|
||||
private final List<UserProfileContextLink> profileContextLinksWithUserIds; // ^ |
|
||||
private final String socialContext; // AYML |
|
||||
private final String interopMessagingUserFbid; // in DMs only: Facebook user ID |
|
||||
|
|
||||
public User(final long pk, |
|
||||
final String username, |
|
||||
final String fullName, |
|
||||
final boolean isPrivate, |
|
||||
final String profilePicUrl, |
|
||||
final String profilePicId, |
|
||||
final FriendshipStatus friendshipStatus, |
|
||||
final boolean isVerified, |
|
||||
final boolean hasAnonymousProfilePicture, |
|
||||
final boolean isUnpublished, |
|
||||
final boolean isFavorite, |
|
||||
final boolean isDirectappInstalled, |
|
||||
final boolean hasChaining, |
|
||||
final String reelAutoArchive, |
|
||||
final String allowedCommenterType, |
|
||||
final long mediaCount, |
|
||||
final long followerCount, |
|
||||
final long followingCount, |
|
||||
final long followingTagCount, |
|
||||
final String biography, |
|
||||
final String externalUrl, |
|
||||
final long usertagsCount, |
|
||||
final String publicEmail, |
|
||||
final HdProfilePicUrlInfo hdProfilePicUrlInfo, |
|
||||
final String profileContext, |
|
||||
final List<UserProfileContextLink> profileContextLinksWithUserIds, |
|
||||
final String socialContext, |
|
||||
final String interopMessagingUserFbid) { |
|
||||
this.pk = pk; |
|
||||
this.username = username; |
|
||||
this.fullName = fullName; |
|
||||
this.isPrivate = isPrivate; |
|
||||
this.profilePicUrl = profilePicUrl; |
|
||||
this.profilePicId = profilePicId; |
|
||||
this.friendshipStatus = friendshipStatus; |
|
||||
this.isVerified = isVerified; |
|
||||
this.hasAnonymousProfilePicture = hasAnonymousProfilePicture; |
|
||||
this.isUnpublished = isUnpublished; |
|
||||
this.isFavorite = isFavorite; |
|
||||
this.isDirectappInstalled = isDirectappInstalled; |
|
||||
this.hasChaining = hasChaining; |
|
||||
this.reelAutoArchive = reelAutoArchive; |
|
||||
this.allowedCommenterType = allowedCommenterType; |
|
||||
this.mediaCount = mediaCount; |
|
||||
this.followerCount = followerCount; |
|
||||
this.followingCount = followingCount; |
|
||||
this.followingTagCount = followingTagCount; |
|
||||
this.biography = biography; |
|
||||
this.externalUrl = externalUrl; |
|
||||
this.usertagsCount = usertagsCount; |
|
||||
this.publicEmail = publicEmail; |
|
||||
this.hdProfilePicUrlInfo = hdProfilePicUrlInfo; |
|
||||
this.profileContext = profileContext; |
|
||||
this.profileContextLinksWithUserIds = profileContextLinksWithUserIds; |
|
||||
this.socialContext = socialContext; |
|
||||
this.interopMessagingUserFbid = interopMessagingUserFbid; |
|
||||
} |
|
||||
|
|
||||
public User(final long pk, |
|
||||
final String username, |
|
||||
final String fullName, |
|
||||
final boolean isPrivate, |
|
||||
final String profilePicUrl, |
|
||||
final boolean isVerified) { |
|
||||
this.pk = pk; |
|
||||
this.username = username; |
|
||||
this.fullName = fullName; |
|
||||
this.isPrivate = isPrivate; |
|
||||
this.profilePicUrl = profilePicUrl; |
|
||||
this.profilePicId = null; |
|
||||
this.friendshipStatus = new FriendshipStatus( |
|
||||
false, |
|
||||
false, |
|
||||
false, |
|
||||
false, |
|
||||
false, |
|
||||
false, |
|
||||
false, |
|
||||
false, |
|
||||
false, |
|
||||
false |
|
||||
); |
|
||||
this.isVerified = isVerified; |
|
||||
this.hasAnonymousProfilePicture = false; |
|
||||
this.isUnpublished = false; |
|
||||
this.isFavorite = false; |
|
||||
this.isDirectappInstalled = false; |
|
||||
this.hasChaining = false; |
|
||||
this.reelAutoArchive = null; |
|
||||
this.allowedCommenterType = null; |
|
||||
this.mediaCount = 0; |
|
||||
this.followerCount = 0; |
|
||||
this.followingCount = 0; |
|
||||
this.followingTagCount = 0; |
|
||||
this.biography = null; |
|
||||
this.externalUrl = null; |
|
||||
this.usertagsCount = 0; |
|
||||
this.publicEmail = null; |
|
||||
this.hdProfilePicUrlInfo = null; |
|
||||
this.profileContext = null; |
|
||||
this.profileContextLinksWithUserIds = null; |
|
||||
this.socialContext = null; |
|
||||
this.interopMessagingUserFbid = null; |
|
||||
} |
|
||||
|
|
||||
public long getPk() { |
|
||||
return pk; |
|
||||
} |
|
||||
|
|
||||
public String getUsername() { |
|
||||
return username; |
|
||||
} |
|
||||
|
|
||||
public String getFullName() { |
|
||||
return fullName; |
|
||||
} |
|
||||
|
|
||||
public boolean isPrivate() { |
|
||||
return isPrivate; |
|
||||
} |
|
||||
|
|
||||
public String getProfilePicUrl() { |
|
||||
return profilePicUrl; |
|
||||
} |
|
||||
|
|
||||
public String getHDProfilePicUrl() { |
|
||||
if (hdProfilePicUrlInfo == null) { |
|
||||
return getProfilePicUrl(); |
|
||||
} |
|
||||
return hdProfilePicUrlInfo.getUrl(); |
|
||||
} |
|
||||
|
|
||||
public String getProfilePicId() { |
|
||||
return profilePicId; |
|
||||
} |
|
||||
|
|
||||
public FriendshipStatus getFriendshipStatus() { |
|
||||
return friendshipStatus; |
|
||||
} |
|
||||
|
|
||||
public void setFriendshipStatus(final FriendshipStatus friendshipStatus) { |
|
||||
this.friendshipStatus = friendshipStatus; |
|
||||
} |
|
||||
|
|
||||
public boolean isVerified() { |
|
||||
return isVerified; |
|
||||
} |
|
||||
|
|
||||
public boolean hasAnonymousProfilePicture() { |
|
||||
return hasAnonymousProfilePicture; |
|
||||
} |
|
||||
|
|
||||
public boolean isUnpublished() { |
|
||||
return isUnpublished; |
|
||||
} |
|
||||
|
|
||||
public boolean isFavorite() { |
|
||||
return isFavorite; |
|
||||
} |
|
||||
|
|
||||
public boolean isDirectappInstalled() { |
|
||||
return isDirectappInstalled; |
|
||||
} |
|
||||
|
|
||||
public boolean hasChaining() { |
|
||||
return hasChaining; |
|
||||
} |
|
||||
|
|
||||
public String getReelAutoArchive() { |
|
||||
return reelAutoArchive; |
|
||||
} |
|
||||
|
|
||||
public String getAllowedCommenterType() { |
|
||||
return allowedCommenterType; |
|
||||
} |
|
||||
|
|
||||
public long getMediaCount() { |
|
||||
return mediaCount; |
|
||||
} |
|
||||
|
|
||||
public long getFollowerCount() { |
|
||||
return followerCount; |
|
||||
} |
|
||||
|
|
||||
public long getFollowingCount() { |
|
||||
return followingCount; |
|
||||
} |
|
||||
|
|
||||
public long getFollowingTagCount() { |
|
||||
return followingTagCount; |
|
||||
} |
|
||||
|
|
||||
public String getBiography() { |
|
||||
return biography; |
|
||||
} |
|
||||
|
|
||||
public String getExternalUrl() { |
|
||||
return externalUrl; |
|
||||
} |
|
||||
|
|
||||
public long getUsertagsCount() { |
|
||||
return usertagsCount; |
|
||||
} |
|
||||
|
|
||||
public String getPublicEmail() { |
|
||||
return publicEmail; |
|
||||
} |
|
||||
|
|
||||
public String getProfileContext() { |
|
||||
return profileContext; |
|
||||
} |
|
||||
|
|
||||
public String getSocialContext() { |
|
||||
return socialContext; |
|
||||
} |
|
||||
|
|
||||
public List<UserProfileContextLink> getProfileContextLinks() { |
|
||||
return profileContextLinksWithUserIds; |
|
||||
} |
|
||||
|
|
||||
public String getFbId() { |
|
||||
return interopMessagingUserFbid; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public boolean equals(final Object o) { |
|
||||
if (this == o) return true; |
|
||||
if (o == null || getClass() != o.getClass()) return false; |
|
||||
final User user = (User) o; |
|
||||
return pk == user.pk && |
|
||||
isPrivate == user.isPrivate && |
|
||||
isVerified == user.isVerified && |
|
||||
hasAnonymousProfilePicture == user.hasAnonymousProfilePicture && |
|
||||
isUnpublished == user.isUnpublished && |
|
||||
isFavorite == user.isFavorite && |
|
||||
isDirectappInstalled == user.isDirectappInstalled && |
|
||||
mediaCount == user.mediaCount && |
|
||||
followerCount == user.followerCount && |
|
||||
followingCount == user.followingCount && |
|
||||
followingTagCount == user.followingTagCount && |
|
||||
usertagsCount == user.usertagsCount && |
|
||||
Objects.equals(username, user.username) && |
|
||||
Objects.equals(fullName, user.fullName) && |
|
||||
Objects.equals(profilePicUrl, user.profilePicUrl) && |
|
||||
Objects.equals(profilePicId, user.profilePicId) && |
|
||||
Objects.equals(friendshipStatus, user.friendshipStatus) && |
|
||||
Objects.equals(reelAutoArchive, user.reelAutoArchive) && |
|
||||
Objects.equals(allowedCommenterType, user.allowedCommenterType) && |
|
||||
Objects.equals(biography, user.biography) && |
|
||||
Objects.equals(externalUrl, user.externalUrl) && |
|
||||
Objects.equals(publicEmail, user.publicEmail); |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public int hashCode() { |
|
||||
return Objects.hash(pk, username, fullName, isPrivate, profilePicUrl, profilePicId, friendshipStatus, isVerified, hasAnonymousProfilePicture, |
|
||||
isUnpublished, isFavorite, isDirectappInstalled, hasChaining, reelAutoArchive, allowedCommenterType, mediaCount, |
|
||||
followerCount, followingCount, followingTagCount, biography, externalUrl, usertagsCount, publicEmail); |
|
||||
} |
|
||||
|
package awais.instagrabber.repositories.responses |
||||
|
|
||||
|
import java.io.Serializable |
||||
|
|
||||
|
|
||||
|
data class User @JvmOverloads constructor( |
||||
|
val pk: Long = 0, |
||||
|
val username: String = "", |
||||
|
val fullName: String = "", |
||||
|
val isPrivate: Boolean = false, |
||||
|
val profilePicUrl: String? = null, |
||||
|
val isVerified: Boolean = false, |
||||
|
val profilePicId: String? = null, |
||||
|
var friendshipStatus: FriendshipStatus? = null, |
||||
|
val hasAnonymousProfilePicture: Boolean = false, |
||||
|
val isUnpublished: Boolean = false, |
||||
|
val isFavorite: Boolean = false, |
||||
|
val isDirectappInstalled: Boolean = false, |
||||
|
val hasChaining: Boolean = false, |
||||
|
val reelAutoArchive: String? = null, |
||||
|
val allowedCommenterType: String? = null, |
||||
|
val mediaCount: Long = 0, |
||||
|
val followerCount: Long = 0, |
||||
|
val followingCount: Long = 0, |
||||
|
val followingTagCount: Long = 0, |
||||
|
val biography: String? = null, |
||||
|
val externalUrl: String? = null, |
||||
|
val usertagsCount: Long = 0, |
||||
|
val publicEmail: String? = null, |
||||
|
val hdProfilePicUrlInfo: HdProfilePicUrlInfo? = null, |
||||
|
val profileContext: String? = null, // "also followed by" your friends |
||||
|
val profileContextLinksWithUserIds: List<UserProfileContextLink>? = null, // ^ |
||||
|
val socialContext: String? = null, // AYML |
||||
|
val interopMessagingUserFbid: String? = null, // in DMs only: Facebook user ID |
||||
|
) : Serializable { |
||||
|
val hDProfilePicUrl: String |
||||
|
get() = hdProfilePicUrlInfo?.url ?: profilePicUrl ?: "" |
||||
} |
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue