package im.zico.wingtwitter.utils;
import android.content.ContentValues;
import android.database.Cursor;
import twitter4j.GeoLocation;
import twitter4j.Status;
import im.zico.wingtwitter.dao.WingStore.*;
import twitter4j.User;
/**
* Created by tinyao on 12/5/14.
*/
public class ContentVaulesUtils {
// public static ContentValues makeStatusContentValues(final Status orig, final long account_id) {
// if (orig == null || orig.getId() <= 0) return null;
// final ContentValues values = new ContentValues();
//
// values.put(Statuses.ACCOUNT_ID, account_id);
// values.put(Statuses.STATUS_ID, orig.getId());
// values.put(Statuses.MY_RETWEET_ID, orig.getCurrentUserRetweetId());
// final boolean is_retweet = orig.isRetweet();
// final Status status;
// final Status retweeted_status = is_retweet ? orig.getRetweetedStatus() : null;
//
// if (retweeted_status != null) {
// final User retweet_user = orig.getUser();
// values.put(Statuses.RETWEET_ID, retweeted_status.getId());
// values.put(Statuses.RETWEETED_BY_USER_ID, retweet_user.getId());
// values.put(Statuses.RETWEETED_BY_USER_NAME, retweet_user.getName());
// values.put(Statuses.RETWEETED_BY_USER_SCREEN_NAME, retweet_user.getScreenName());
// status = retweeted_status; // retweet status body
// } else {
// status = orig;
// }
// final User user = status.getUser();
// if (user != null) {
// final long userId = user.getId();
// final String profileImageUrl = user.getProfileImageURL();
// final String name = user.getName(), screenName = user.getScreenName();
// values.put(Statuses.USER_ID, userId);
// values.put(Statuses.USER_NAME, name);
// values.put(Statuses.USER_SCREEN_NAME, screenName);
// values.put(Statuses.IS_PROTECTED, user.isProtected());
// values.put(Statuses.IS_VERIFIED, user.isVerified());
// values.put(Statuses.USER_PROFILE_AVATAR_URL, profileImageUrl);
//// values.put(CachedUsers.IS_FOLLOWING, user.isFollowing());
// }
// if (status.getCreatedAt() != null) {
// values.put(Statuses.STATUS_TIME, status.getCreatedAt().getTime());
// }
//// final String text_html = Utils.formatStatusText(status);
//// values.put(Statuses.BODY_HTML, text_html);
// values.put(Statuses.BODY_PLAIN, status.getText());
//// values.put(Statuses.BODY_UNESCAPED, toPlainText(text_html));
// values.put(Statuses.RETWEET_COUNT, status.getRetweetCount());
// values.put(Statuses.IN_REPLY_TO_STATUS_ID, status.getInReplyToStatusId());
// values.put(Statuses.IN_REPLY_TO_USER_ID, status.getInReplyToUserId());
// values.put(Statuses.IN_REPLY_TO_USER_NAME, Utils.getInReplyToName(status));
// values.put(Statuses.IN_REPLY_TO_USER_SCREEN_NAME, status.getInReplyToScreenName());
// values.put(Statuses.SOURCE, status.getSource());
// values.put(Statuses.IS_POSSIBLY_SENSITIVE, status.isPossiblySensitive());
// final GeoLocation location = status.getGeoLocation();
// if (location != null) {
// values.put(Statuses.LOCATION, location.getLatitude() + "," + location.getLongitude());
// }
// values.put(Statuses.IS_RETWEET, is_retweet);
// values.put(Statuses.IS_FAVORITE, status.isFavorited());
//// final ParcelableMedia[] medias = ParcelableMedia.fromEntities(status);
//// if (medias != null) {
//// values.put(Statuses.MEDIAS, JSONSerializer.toJSONArrayString(medias));
//// values.put(Statuses.FIRST_MEDIA, medias[0].url);
//// }
//// final ParcelableUserMention[] mentions = ParcelableUserMention.fromStatus(status);
//// if (mentions != null) {
//// values.put(Statuses.MENTIONS, JSONSerializer.toJSONArrayString(mentions));
//// }
// return values;
// }
public static boolean getAsBoolean(final ContentValues values, final String key, final boolean def) {
if (values == null || key == null) return def;
final Object value = values.get(key);
if (value == null) return def;
return Boolean.valueOf(value.toString());
}
public static long getAsInteger(final ContentValues values, final String key, final int def) {
if (values == null || key == null) return def;
final Object value = values.get(key);
if (value == null) return def;
return Integer.valueOf(value.toString());
}
public static long getAsLong(final ContentValues values, final String key, final long def) {
if (values == null || key == null) return def;
final Object value = values.get(key);
if (value == null) return def;
return Long.valueOf(value.toString());
}
}