mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-22 06:37:30 +00:00
Convert User to kotlin
This commit is contained in:
parent
04aae488d9
commit
3f09c7d173
@ -296,8 +296,8 @@ class DirectMessageSettingsFragment : Fragment(), ConfirmDialogFragmentCallback
|
||||
usersAdapter = DirectUsersAdapter(
|
||||
inviter?.pk ?: -1,
|
||||
{ _: Int, user: User, _: Boolean ->
|
||||
if (isEmpty(user.username) && !isEmpty(user.fbId)) {
|
||||
Utils.openURL(context, "https://facebook.com/" + user.fbId)
|
||||
if (user.username.isBlank() && !user.interopMessagingUserFbid.isNullOrBlank()) {
|
||||
Utils.openURL(context, "https://facebook.com/" + user.interopMessagingUserFbid)
|
||||
return@DirectUsersAdapter
|
||||
}
|
||||
if (isEmpty(user.username)) return@DirectUsersAdapter
|
||||
|
@ -433,7 +433,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
}
|
||||
chainingMenuItem = menu.findItem(R.id.chaining);
|
||||
if (chainingMenuItem != null) {
|
||||
chainingMenuItem.setVisible(isNotMe && profileModel.hasChaining());
|
||||
chainingMenuItem.setVisible(isNotMe && profileModel.getHasChaining());
|
||||
}
|
||||
removeFollowerMenuItem = menu.findItem(R.id.remove_follower);
|
||||
if (removeFollowerMenuItem != null) {
|
||||
@ -859,7 +859,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
profileDetailsBinding.profileContext.setVisibility(View.GONE);
|
||||
} else {
|
||||
profileDetailsBinding.profileContext.setVisibility(View.VISIBLE);
|
||||
final List<UserProfileContextLink> userProfileContextLinks = profileModel.getProfileContextLinks();
|
||||
final List<UserProfileContextLink> userProfileContextLinks = profileModel.getProfileContextLinksWithUserIds();
|
||||
for (int i = 0; i < userProfileContextLinks.size(); i++) {
|
||||
final UserProfileContextLink link = userProfileContextLinks.get(i);
|
||||
if (link.getUsername() != null)
|
||||
@ -980,7 +980,7 @@ public class ProfileFragment extends Fragment implements SwipeRefreshLayout.OnRe
|
||||
mutePostsMenuItem.setTitle(profileModel.getFriendshipStatus().getMuting() ? R.string.unmute_posts : R.string.mute_posts);
|
||||
}
|
||||
if (chainingMenuItem != null) {
|
||||
chainingMenuItem.setVisible(profileModel.hasChaining());
|
||||
chainingMenuItem.setVisible(profileModel.getHasChaining());
|
||||
}
|
||||
if (removeFollowerMenuItem != null) {
|
||||
removeFollowerMenuItem.setVisible(profileModel.getFriendshipStatus().getFollowedBy());
|
||||
|
@ -1,296 +1,38 @@
|
||||
package awais.instagrabber.repositories.responses;
|
||||
package awais.instagrabber.repositories.responses
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.io.Serializable
|
||||
|
||||
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);
|
||||
}
|
||||
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 ?: ""
|
||||
}
|
@ -135,7 +135,7 @@ class DirectSettingsViewModel(
|
||||
if (isAdmin) ACTION_REMOVE_ADMIN else ACTION_MAKE_ADMIN
|
||||
))
|
||||
}
|
||||
val blocking: Boolean = user.friendshipStatus.blocking
|
||||
val blocking: Boolean = user.friendshipStatus?.blocking ?: false
|
||||
options.add(Option(
|
||||
if (blocking) getString(R.string.unblock) else getString(R.string.block),
|
||||
if (blocking) ACTION_UNBLOCK else ACTION_BLOCK
|
||||
@ -144,7 +144,7 @@ class DirectSettingsViewModel(
|
||||
// options.add(new Option<>(getString(R.string.report), ACTION_REPORT));
|
||||
val isGroup: Boolean? = threadManager.isGroup.value
|
||||
if (isGroup != null && isGroup) {
|
||||
val restricted: Boolean = user.friendshipStatus.isRestricted
|
||||
val restricted: Boolean = user.friendshipStatus?.isRestricted ?: false
|
||||
options.add(Option(
|
||||
if (restricted) getString(R.string.unrestrict) else getString(R.string.restrict),
|
||||
if (restricted) ACTION_UNRESTRICT else ACTION_RESTRICT
|
||||
|
@ -41,8 +41,8 @@ public class GraphQLService extends BaseService {
|
||||
|
||||
private GraphQLService() {
|
||||
repository = RetrofitFactory.INSTANCE
|
||||
.getRetrofitWeb()
|
||||
.create(GraphQLRepository.class);
|
||||
.getRetrofitWeb()
|
||||
.create(GraphQLRepository.class);
|
||||
}
|
||||
|
||||
public static GraphQLService getInstance() {
|
||||
@ -309,6 +309,7 @@ public class GraphQLService extends BaseService {
|
||||
userJson.getString("full_name"),
|
||||
isPrivate,
|
||||
userJson.getString("profile_pic_url_hd"),
|
||||
userJson.getBoolean("is_verified"),
|
||||
null,
|
||||
new FriendshipStatus(
|
||||
userJson.optBoolean("followed_by_viewer"),
|
||||
@ -322,7 +323,6 @@ public class GraphQLService extends BaseService {
|
||||
userJson.optBoolean("restricted_by_viewer"),
|
||||
false
|
||||
),
|
||||
userJson.getBoolean("is_verified"),
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
@ -376,7 +376,7 @@ public class GraphQLService extends BaseService {
|
||||
try {
|
||||
final JSONObject body = new JSONObject(rawBody);
|
||||
final JSONObject media = body.getJSONObject("graphql")
|
||||
.getJSONObject("shortcode_media");
|
||||
.getJSONObject("shortcode_media");
|
||||
callback.onSuccess(ResponseBodyUtils.parseGraphQLItem(media, null));
|
||||
} catch (JSONException e) {
|
||||
Log.e(TAG, "onResponse", e);
|
||||
|
Loading…
Reference in New Issue
Block a user