package com.gzsll.hupu.components.storage;
import android.content.Context;
import android.content.Intent;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import com.gzsll.hupu.db.User;
import com.gzsll.hupu.service.MessageService;
import com.gzsll.hupu.util.SettingPrefUtil;
/**
* Created by sll on 2015/7/11.
*/
public class UserStorage {
private Context mContext;
public UserStorage(Context mContext) {
this.mContext = mContext;
}
private String cookie;
private String token;
private User user;
public User getUser() {
return user;
}
public void login(User user) {
this.user = user;
SettingPrefUtil.setLoginUid(mContext, user.getUid());
Intent intent = new Intent(mContext, MessageService.class);
intent.setAction(MessageService.ACTION_GET);
mContext.startService(intent);
}
public void logout() {
if (user.getUid().equals(SettingPrefUtil.getLoginUid(mContext))) {
SettingPrefUtil.setLoginUid(mContext, "");
}
user = null;
cookie = "";
token = "";
removeCookie();
Intent intent = new Intent(mContext, MessageService.class);
intent.setAction(MessageService.ACTION_CLOSE);
mContext.startService(intent);
}
private void removeCookie() {
CookieSyncManager.createInstance(mContext);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
CookieSyncManager.getInstance().sync();
}
public boolean isLogin() {
return user != null && SettingPrefUtil.getLoginUid(mContext).equals(user.getUid());
}
public String getToken() {
if (!isLogin()) {
return token;
}
return user.getToken();
}
public String getUid() {
if (!isLogin()) {
return "";
}
return user.getUid();
}
public String getCookie() {
if (isLogin()) {
return user.getCookie();
}
return cookie;
}
public void setCookie(String cookie) {
this.cookie = cookie;
}
public void setToken(String token) {
this.token = token;
}
}