package com.thankcreate.care.tool.misc;
import java.net.ContentHandler;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import com.thankcreate.care.App;
import com.thankcreate.care.AppConstants;
import com.thankcreate.care.account.AccountActivity;
import com.thankcreate.care.viewmodel.EntryType;
import com.weibo.sdk.android.Oauth2AccessToken;
public class MiscTool {
public static Boolean isSinaWeiboLogin() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String token = pref.getString("SinaWeibo_Token", "");
return !StringTool.isNullOrEmpty(token);
}
public static Boolean isRenrenLogin() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String token = pref.getString("Renren_Token", "");
return !StringTool.isNullOrEmpty(token);
}
public static Boolean isDoubanLogin() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String token = pref.getString("Douban_Token", "");
return !StringTool.isNullOrEmpty(token);
}
public static Boolean isAuthValid(int type){
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
if(type == EntryType.SinaWeibo)
{
String token = pref.getString("SinaWeibo_Token", "");
if(StringTool.isNullOrEmpty(token))
return false;
Long exp = pref.getLong("SinaWeibo_ExpirationDate", -1);
if(exp == -1 || exp < System.currentTimeMillis())
return false;
return true;
}
else if(type == EntryType.Renren)
{
String token = pref.getString("Renren_Token", "");
if(StringTool.isNullOrEmpty(token))
return false;
Long exp = pref.getLong("Renren_ExpirationDate", -1);
if(exp == -1 || exp < System.currentTimeMillis())
return false;
return true;
}
else if(type == EntryType.Douban)
{
String token = pref.getString("Douban_Token", "");
if(StringTool.isNullOrEmpty(token))
return false;
Long exp = pref.getLong("Douban_ExpirationDate", -1);
if(exp == -1 || exp < System.currentTimeMillis())
return false;
return true;
}
return false;
}
public static String getMyID(int type) {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String id;
switch (type) {
case EntryType.SinaWeibo:
id = pref.getString("SinaWeibo_ID", "");
break;
case EntryType.Renren:
id = pref.getString("Renren_ID", "");
break;
case EntryType.Douban:
id = pref.getString("Douban_ID", "");
break;
default:
id = "";
break;
}
return id;
}
public static String getHerID(int type) {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String id;
switch (type) {
case EntryType.SinaWeibo:
id = pref.getString("SinaWeibo_FollowerID", "");
break;
case EntryType.Renren:
id = pref.getString("Renren_FollowerID", "");
break;
case EntryType.Douban:
id = pref.getString("Douban_FollowerID", "");
break;
default:
id = "";
break;
}
return id;
}
public static String getHerName(int type) {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String name;
switch (type) {
case EntryType.SinaWeibo:
name = pref.getString("SinaWeibo_FollowerNickName", "");
break;
case EntryType.Renren:
name = pref.getString("Renren_FollowerNickName", "");
break;
case EntryType.Douban:
name = pref.getString("Douban_FollowerNickName", "");
break;
default:
name = "";
break;
}
return name;
}
/**
* 依SinaWeibo, Renren, Douban的顺序查出第一个可用的已登陆帐号
*
* @return 如果没有任何登陆,返回EntryType.NotSet
*/
public static int getFirstFoundLoginType() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String token = pref.getString("SinaWeibo_Token", "");
if (!StringTool.isNullOrEmpty(token)) {
return EntryType.SinaWeibo;
}
token = pref.getString("Renren_Token", "");
if (!StringTool.isNullOrEmpty(token)) {
return EntryType.Renren;
}
token = pref.getString("Douban_Token", "");
if (!StringTool.isNullOrEmpty(token)) {
return EntryType.Douban;
}
return EntryType.NotSet;
}
public static String getMyName(int type)
{
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String name;
switch (type) {
case EntryType.SinaWeibo:
name = pref.getString("SinaWeibo_NickName", "");
break;
case EntryType.Renren:
name = pref.getString("Renren_NickName", "");
break;
case EntryType.Douban:
name = pref.getString("Douban_NickName", "");
break;
default:
name = "";
break;
}
return name;
}
public static String getMyName() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String name = pref.getString("SinaWeibo_NickName", "");
if (!StringTool.isNullOrEmpty(name))
return name;
name = pref.getString("Renren_NickName", "");
if (!StringTool.isNullOrEmpty(name))
return name;
name = pref.getString("Douban_NickName", "");
if (!StringTool.isNullOrEmpty(name))
return name;
return "";
}
public static String getHerName() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String name = pref.getString("SinaWeibo_FollowerNickName", "");
if (!StringTool.isNullOrEmpty(name))
return name;
name = pref.getString("Renren_FollowerNickName", "");
if (!StringTool.isNullOrEmpty(name))
return name;
name = pref.getString("Douban_FollowerNickName", "");
if (!StringTool.isNullOrEmpty(name))
return name;
return "";
}
public static String getMyIconUrl() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String herIcon = pref.getString("SinaWeibo_Avatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Renren_Avatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Douban_Avatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
return "";
}
public static String getHerIconUrl(int type) {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String herIcon = "";
if(type == EntryType.SinaWeibo)
{
herIcon = pref.getString("SinaWeibo_FollowerAvatar2", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("SinaWeibo_FollowerAvatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
}
else if(type == EntryType.Renren)
{
herIcon = pref.getString("Renren_FollowerAvatar2", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Renren_FollowerAvatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
}
else if(type == EntryType.Douban)
{
herIcon = pref.getString("Douban_FollowerAvatar2", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Douban_FollowerAvatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
}
return "";
}
public static String getHerIconUrl() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String herIcon = pref.getString("SinaWeibo_FollowerAvatar2", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Renren_FollowerAvatar2", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Douban_FollowerAvatar2", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("SinaWeibo_FollowerAvatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Renren_FollowerAvatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
herIcon = pref.getString("Douban_FollowerAvatar", "");
if (!StringTool.isNullOrEmpty(herIcon)) {
return herIcon;
}
return "";
}
public static Oauth2AccessToken getOauth2AccessToken() {
SharedPreferences pref = App.getAppContext().getSharedPreferences(
AppConstants.PREFERENCES_NAME, Context.MODE_APPEND);
String token = pref.getString("SinaWeibo_Token", "");
long exp = pref.getLong("SinaWeibo_ExpirationDate", -1);
if (token.equalsIgnoreCase("") || exp == -1) {
return null;
} else {
Oauth2AccessToken oa = new Oauth2AccessToken();
oa.setExpiresTime(exp);
oa.setToken(token);
return oa;
}
}
public static boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) App.getAppContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
public static void clearCookie(Context ctx)
{
CookieSyncManager cookieSyncMngr = CookieSyncManager.createInstance(ctx);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
}
}