package com.conference.app.lib.network; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import android.content.Context; import android.graphics.Bitmap; import com.conference.app.lib.R; import com.conference.app.lib.util.TimeUtil; public class Tweet { private static final String TAG = Tweet.class.getName(); private static final boolean DEBUG = false; private long tweetId; private String text; private String username; private String userimg; private Date date; private Bitmap imageRessource; public long getTweetId() { return this.tweetId; } public void setTweetId(final long tweetId) { this.tweetId = tweetId; } public String getText() { return this.text; } public void setText(final String text) { this.text = text; } public String getUsername() { return this.username; } public void setUsername(final String username) { this.username = username; } public String getUserimg() { return this.userimg; } public void setUserimg(final String userimg) { this.userimg = userimg; } public Date getDate() { return this.date; } public void setDate(final Date date) { this.date = date; } public Bitmap getImageRessource() { return this.imageRessource; } public void setImageRessource(final Bitmap imageRessource) { this.imageRessource = imageRessource; } public String getDateString(final Context ctx) { Locale language; final String langCode = ctx.getString(R.string.lang_code); if ("DE".equals(langCode)) { language = Locale.GERMAN; } else { language = Locale.US; } if (date != null) { final StringBuilder sb = new StringBuilder(); final Long datetime = date.getTime(); if (datetime != null) { final long currentTime = System.currentTimeMillis(); if ((currentTime - datetime) >= TimeUtil.DAY_IN_MS) { sb.append(ctx.getString(R.string.twitter_tweet_tweeted_at)); sb.append(" "); sb.append(new SimpleDateFormat("HH:mm '-' EEE, MMM d", language).format(new Date(datetime))); } else { sb.append(ctx.getString(R.string.twitter_tweet_tweeted)); sb.append(" "); if ((currentTime - datetime) < TimeUtil.HOUR_IN_MS) { final int calcMinute = (int) ((currentTime - datetime) / TimeUtil.MINUTE_IN_MS); switch (calcMinute) { case 0: sb.append(ctx.getString(R.string.twitter_tweet_just_now)); break; case 1: sb.append(ctx.getString(R.string.twitter_tweet_about)); sb.append(" "); sb.append(calcMinute); sb.append(" "); sb.append(ctx.getString(R.string.twitter_tweet_minute_ago)); break; default: sb.append(ctx.getString(R.string.twitter_tweet_about)); sb.append(" "); sb.append(calcMinute); sb.append(" "); sb.append(ctx.getString(R.string.twitter_tweet_minutes_ago)); break; } } else { final int calcHour = (int) ((currentTime - datetime) / TimeUtil.HOUR_IN_MS); sb.append(calcHour); sb.append(" "); if (calcHour == 1) { sb.append(ctx.getString(R.string.twitter_tweet_hour_ago)); } else { sb.append(ctx.getString(R.string.twitter_tweet_hours_ago)); } } } } return sb.toString(); } return null; } @Override public int hashCode() { return String.valueOf(tweetId).hashCode(); } @Override public boolean equals(final Object obj) { if (obj instanceof Tweet) { final Tweet tweet = (Tweet) obj; return tweetId == tweet.getTweetId(); } return false; } }