package com.znv.linkup.util;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import com.znv.linkup.ViewSettings;
import android.content.Context;
/**
* 点赞管理
*
* @author yzb
*
*/
public class LikeHelper {
/**
* 对用户点赞
*
* @param userId
* 用户ID
*/
public static void likeUser(Context ctx, String userId) {
boolean isModify = likeUsers.add(userId);
if (isModify) {
// 保存
saveLikeUsers(ctx);
}
}
/**
* 对用户取消点赞
*
* @param userId
* 用户ID
*/
public static void unlikeUser(Context ctx, String userId) {
boolean isModify = likeUsers.remove(userId);
if (isModify) {
// 保存
saveLikeUsers(ctx);
}
}
/**
* 是否点赞用户
*
* @param userId
* 用户ID
* @return 是否点赞
*/
public static boolean isLikeUser(String userId) {
return likeUsers.contains(userId);
}
/**
* 保存点赞用户
*
* @param ctx
* 上下文信息
*/
private static void saveLikeUsers(Context ctx) {
String likeUserStr = likeUserToString();
if (!StringUtil.isNullOrEmpty(likeUserStr)) {
CacheUtil.setBindStr(ctx, ViewSettings.LikeUsersStr, likeUserStr);
}
}
/**
* 从配置加载点赞用户集合
*
* @param ctx
* 上下文信息
*/
public static void loadLikeUsers(Context ctx) {
if (likeUsers.size() == 0) {
String likeUserStr = CacheUtil.getBindStr(ctx, ViewSettings.LikeUsersStr);
if (StringUtil.isNullOrEmpty(likeUserStr)) {
return;
}
String[] userStrs = likeUserStr.split(seperator);
for (String userId : userStrs) {
if (!StringUtil.isNullOrEmpty(userId)) {
likeUsers.add(userId);
}
}
}
}
/**
* 将点赞用户集合转化为字符串
*
* @return 点赞用户字符串
*/
private static String likeUserToString() {
Iterator<String> itr = likeUsers.iterator();
StringBuffer sb = new StringBuffer();
while (itr.hasNext()) {
sb.append(itr.next() + seperator);
}
return sb.toString();
}
/**
* 点赞用户分隔符
*/
private static String seperator = ";";
/**
* 点赞用户集合
*/
private static Set<String> likeUsers = new HashSet<String>();
}