diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java index 6e91bffad..568992ab2 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/API.java @@ -1736,6 +1736,7 @@ public class API { * @param resobj JSONObject * @return Account */ + @SuppressWarnings("InfiniteRecursion") private static Account parseAccountResponse(Context context, JSONObject resobj){ Account account = new Account(); @@ -1750,6 +1751,9 @@ public class API { account.setFollowing_count(Integer.valueOf(resobj.get("following_count").toString())); account.setStatuses_count(Integer.valueOf(resobj.get("statuses_count").toString())); account.setNote(resobj.get("note").toString()); + try{ + account.setMoved_to_account(parseAccountResponse(context, resobj.getJSONObject("moved_to_account"))); + }catch (Exception ignored){} account.setUrl(resobj.get("url").toString()); account.setAvatar(resobj.get("avatar").toString()); account.setAvatar_static(resobj.get("avatar_static").toString()); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java index db9874db3..7c9261278 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Account.java @@ -50,6 +50,7 @@ public class Account implements Parcelable { private boolean isFollowing; private followAction followType = followAction.NOTHING; private boolean isMakingAction = false; + private Account moved_to_account; public followAction getFollowType() { return followType; @@ -67,6 +68,14 @@ public class Account implements Parcelable { isMakingAction = makingAction; } + public Account getMoved_to_account() { + return moved_to_account; + } + + public void setMoved_to_account(Account moved_to_account) { + this.moved_to_account = moved_to_account; + } + public enum followAction{ FOLLOW, NOT_FOLLOW, @@ -83,6 +92,7 @@ public class Account implements Parcelable { acct = in.readString(); display_name = in.readString(); locked = in.readByte() != 0; + moved_to_account = in.readParcelable(Account.class.getClassLoader()); followers_count = in.readInt(); following_count = in.readInt(); statuses_count = in.readInt(); @@ -257,6 +267,7 @@ public class Account implements Parcelable { dest.writeString(username); dest.writeString(acct); dest.writeString(display_name); + dest.writeParcelable(moved_to_account, flags); dest.writeByte((byte) (locked ? 1 : 0)); dest.writeInt(followers_count); dest.writeInt(following_count); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2b5e07557..9ef3ef87c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -463,4 +463,7 @@ New list title Search among people you follow Your lists + + + %1$s has moved to: %2$s \ No newline at end of file