diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java index 3a69d748..c54895bc 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/ProfileLoader.java @@ -22,7 +22,6 @@ import java.lang.ref.WeakReference; import java.text.DateFormat; import java.util.Date; import java.util.List; -import twitter4j.User; import com.squareup.picasso.Picasso; public class ProfileLoader extends AsyncTask { @@ -80,20 +79,20 @@ public class ProfileLoader extends AsyncTask { } if(MODE == GET_INFORMATION) { - User user = mTwitter.getUser(userId); - screenName = '@'+user.getScreenName(); - username = user.getName(); - description = user.getDescription(); - location = user.getLocation(); - isVerified = user.isVerified(); - isLocked = user.isProtected(); - link = user.getURL(); - follower = Integer.toString(user.getFollowersCount()); - following = Integer.toString(user.getFriendsCount()); - imageLink = user.getProfileImageURL(); - // bannerLink = user.getProfileBannerMobileURL(); - fullPbLink = user.getOriginalProfileImageURL(); - Date d = user.getCreatedAt(); + TwitterUser user = mTwitter.getUser(userId); + screenName = '@'+user.screenname; + username = user.username; + description = user.bio; + location = user.location; + isVerified = user.isVerified; + isLocked = user.isLocked; + link = user.link; + follower = Integer.toString(user.follower); + following = Integer.toString(user.following); + imageLink = user.profileImg; + // bannerLink = user.bannerImg; + fullPbLink = user.fullpb; + Date d = new Date(user.created); dateString = "seit "+ DateFormat.getDateTimeInstance().format(d); } else if(MODE == GET_TWEETS) diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java index c62b1b0b..f229336b 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java @@ -35,8 +35,8 @@ import twitter4j.conf.ConfigurationBuilder; */ public class TwitterEngine { - private final String TWITTER_CONSUMER_KEY = "GrylGIgQK3cDjo9mSTBqF1vwf"; - private final String TWITTER_CONSUMER_SECRET = "pgaWUlDVS5b7Q6VJQDgBzHKw0mIxJIX0UQBcT1oFJEivsCl5OV"; + private final String TWITTER_CONSUMER_KEY = "1JwXJbVrvGWrc9SSKPnnEWslJ"; + private final String TWITTER_CONSUMER_SECRET = "4SNMCHbg68LM14X2wYDjWkmzuNqq5dnB7tfAj2b4Muu8uPQ2QE"; private static TwitterEngine mTwitter; private static long twitterID; @@ -126,6 +126,7 @@ public class TwitterEngine { e.apply(); } + /** * recall Keys from Shared-Preferences * & initialize Twitter @@ -140,6 +141,7 @@ public class TwitterEngine { } } + /** * Get Home Timeline * @param page current page @@ -202,6 +204,7 @@ public class TwitterEngine { return convertUserList(twitter.searchUsers(search, -1)); } + /** * Get User Tweets * @param userId User ID @@ -213,6 +216,7 @@ public class TwitterEngine { return convertStatusList(twitter.getUserTimeline(userId, new Paging((int)page,load, id))); } + /** * Get User Favs * @param userId User ID @@ -224,16 +228,18 @@ public class TwitterEngine { return convertStatusList(twitter.getFavorites(userId,new Paging((int)page,load,id))); } + /** * Get User Context * @param id User ID * @return User Object * @throws TwitterException if Access is unavailable */ - public User getUser(long id) throws TwitterException { - return twitter.showUser(id); + public TwitterUser getUser(long id) throws TwitterException { + return getUser(twitter.showUser(id)); } + /** * Get Connection between Home and another User * @param id User ID @@ -248,6 +254,7 @@ public class TwitterEngine { return twitter.showFriendship(twitterID,id).isTargetFollowingSource(); } + /** * Get Block Status * @param id User ID @@ -275,6 +282,7 @@ public class TwitterEngine { } } + /** * Switch blocking User * @param id User ID @@ -303,6 +311,7 @@ public class TwitterEngine { return convertUserList(twitter.lookupUsers(userIDs.getIDs())); } + /** * get Follower * @param id User ID @@ -314,6 +323,7 @@ public class TwitterEngine { return convertUserList(twitter.lookupUsers(userIDs.getIDs())); } + /** * Send Tweet * @param text Tweet Text @@ -327,6 +337,7 @@ public class TwitterEngine { twitter.tweets().updateStatus(mStatus); } + /** * Send Tweet * @param text Tweet Text @@ -353,6 +364,7 @@ public class TwitterEngine { twitter.tweets().updateStatus(mStatus); } + /** * Get Tweet * @param id Tweet ID @@ -370,6 +382,7 @@ public class TwitterEngine { } } + /** * Get Answer Tweets * @param name name of receiver @@ -391,6 +404,7 @@ public class TwitterEngine { return convertStatusList(answers); } + /** * Retweet Action * @param id Tweet ID @@ -405,6 +419,7 @@ public class TwitterEngine { } } + /** * Favorite Action * @param id Tweet ID @@ -419,6 +434,7 @@ public class TwitterEngine { } } + /** * Get User who retweeted a Tweet * @param tweetID Tweet ID @@ -442,19 +458,23 @@ public class TwitterEngine { /** * convert #twitter4j.User to TwitterUser List * @param users Twitter4J user List - * @return #TwitterEngine.TwitteUser + * @return TwitterUser */ private List convertUserList(List users) { List result = new ArrayList<>(); for(User user : users) { - TwitterUser item = new TwitterUser(user.getId(), user.getName(), user.getScreenName(), - user.getMiniProfileImageURL(),user.getDescription(), user.getLocation(),user.isVerified(), - user.isProtected(), user.getURL(), user.getProfileBannerURL()); + TwitterUser item = getUser(user); result.add(item); } return result; } + + /** + * convert #twitter4j.Status to Tweet List + * @param statuses Twitter4J status List + * @return TwitterStatus + */ private List convertStatusList(List statuses) { List result = new ArrayList<>(); for(Status status : statuses) { @@ -471,6 +491,12 @@ public class TwitterEngine { return result; } + + /** + * @param status twitter4j.Status + * @param retweetedStat embedded Status + * @return Tweet item + */ private Tweet getTweet(Status status, Tweet retweetedStat) { User user = status.getUser(); return new Tweet(status.getId(), user.getId(), user.getName(), user.getScreenName(), @@ -480,6 +506,23 @@ public class TwitterEngine { retweetedStat, status.isRetweetedByMe(), status.isFavorited()); } + + /** + * @param user Twitter4J User + * @return User item + */ + private TwitterUser getUser(User user) { + return new TwitterUser(user.getId(),user.getName(),user.getScreenName(),user.getMiniProfileImageURL(), + user.getOriginalProfileImageURL(),user.getDescription(),user.getLocation(),user.isVerified(), + user.isProtected(),user.getURL(),user.getProfileBannerURL(),user.getCreatedAt().getTime(), + user.getFriendsCount(),user.getFollowersCount()); + } + + + /** + * @param status Twitter4J status + * @return Array of Medialinks + */ private String[] getMediaLinks(Status status) { MediaEntity[] mediaEntities = status.getMediaEntities(); String medialinks[] = new String[mediaEntities.length]; @@ -499,6 +542,7 @@ public class TwitterEngine { twitter.destroyStatus(id); } + /** * Return User ID * @return result @@ -507,6 +551,7 @@ public class TwitterEngine { return twitterID; } + /** * Singleton * @param context Main Thread Context diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/listitems/TwitterUser.java b/app/src/main/java/org/nuclearfog/twidda/backend/listitems/TwitterUser.java index 0ddd5028..51384203 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/listitems/TwitterUser.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/listitems/TwitterUser.java @@ -2,23 +2,29 @@ package org.nuclearfog.twidda.backend.listitems; public class TwitterUser { public final String username,screenname,bio; - public final String profileImg,bannerImg; + public final String profileImg,fullpb,bannerImg; public final String location,link; public final boolean isVerified,isLocked; public final long userID; + public final long created; + public final int following, follower; public TwitterUser(long userID, String username, String screenname, String profileImg, - String bio, String location, boolean isVerified, boolean isLocked, - String link, String bannerImg) { + String fullpb, String bio, String location, boolean isVerified, boolean isLocked, + String link, String bannerImg, long created, int following, int follower) { this.userID = userID; this.username = username; this.screenname = screenname; this.profileImg = profileImg; + this.fullpb = fullpb; this.bio = bio; this.link = link; this.location = location; this.bannerImg = bannerImg; this.isVerified = isVerified; this.isLocked = isLocked; + this.created = created; + this.following = following; + this.follower = follower; } } \ No newline at end of file