package me.ccrama.redditslide; import net.dean.jraw.models.Comment; import net.dean.jraw.models.PublicContribution; import net.dean.jraw.models.Submission; import net.dean.jraw.models.VoteDirection; import java.util.ArrayList; /** * Created by carlo_000 on 2/26/2016. */ public class ActionStates { public static final ArrayList<String> upVotedFullnames = new ArrayList<>(); public static final ArrayList<String> downVotedFullnames = new ArrayList<>(); public static final ArrayList<String> unvotedFullnames = new ArrayList<>(); public static final ArrayList<String> savedFullnames = new ArrayList<>(); public static final ArrayList<String> unSavedFullnames = new ArrayList<>(); public static VoteDirection getVoteDirection(PublicContribution s) { if (upVotedFullnames.contains(s.getFullName())) { return VoteDirection.UPVOTE; } else if (downVotedFullnames.contains(s.getFullName())) { return VoteDirection.DOWNVOTE; } else if (unvotedFullnames.contains(s.getFullName())) { return VoteDirection.NO_VOTE; } else { return s.getVote(); } } public static void setVoteDirection(PublicContribution s, VoteDirection direction) { String fullname = s.getFullName(); upVotedFullnames.remove(fullname); downVotedFullnames.remove(fullname); unvotedFullnames.remove(fullname); switch (direction) { case UPVOTE: upVotedFullnames.add(fullname); break; case DOWNVOTE: downVotedFullnames.add(fullname); break; case NO_VOTE: unvotedFullnames.add(fullname); break; } } public static boolean isSaved(Submission s) { if (savedFullnames.contains(s.getFullName())) { return true; } else if (unSavedFullnames.contains(s.getFullName())) { return false; } else { return s.isSaved(); } } public static boolean isSaved(Comment s) { if (savedFullnames.contains(s.getFullName())) { return true; } else if (unSavedFullnames.contains(s.getFullName())) { return false; } else { return s.isSaved(); } } public static void setSaved(Submission s, boolean b) { String fullname = s.getFullName(); savedFullnames.remove(fullname); if (b) { savedFullnames.add(fullname); } else { unSavedFullnames.add(fullname); } } public static void setSaved(Comment s, boolean b) { String fullname = s.getFullName(); savedFullnames.remove(fullname); if (b) { savedFullnames.add(fullname); } else { unSavedFullnames.add(fullname); } } }