package com.qiwenge.android.utils; import android.content.Context; import com.google.gson.Gson; import com.liuguangqiang.framework.utils.IntentUtils; import com.liuguangqiang.framework.utils.PreferencesUtils; import com.liuguangqiang.framework.utils.StringUtils; import com.qiwenge.android.constant.MyActions; import com.qiwenge.android.entity.Auth; import com.qiwenge.android.entity.User; import com.qiwenge.android.utils.book.BookManager; /** * Created by Eric on 14/11/22. */ public class LoginManager { private static final String LOGIN = "login"; private static final String KEY_AUTH = "auth"; private static final String KEY_USER = "user"; private static User mUser; private static Auth mAuth; public static boolean isLogin() { return mUser != null; } public static boolean isLogout = false; public static void logout(Context context) { mUser = null; mAuth = null; isLogout = true; saveUser(context, null); saveAuth(context, null); BookManager.getInstance().clear(); BookManager.getInstance().init(context); IntentUtils.sendBroadcast(context, MyActions.UPDATE_BOOK_SHELF); } public static void init(Context context) { mUser = getUser(context); mAuth = getAuth(context); new PushUtils(context).setAlias(); BookManager.getInstance().init(context); } public static void saveAuth(Context context, Auth auth) { if (auth != null) { mAuth = auth; Gson gson = new Gson(); String json = gson.toJson(auth); PreferencesUtils.putString(context, LOGIN, KEY_AUTH, json); } else { PreferencesUtils.putString(context, LOGIN, KEY_AUTH, ""); } } public static Auth getAuth(Context context) { Auth auth = null; String authJson = PreferencesUtils.getString(context, LOGIN, KEY_AUTH); if (!StringUtils.isEmptyOrNull(authJson)) { Gson gson = new Gson(); auth = gson.fromJson(authJson, Auth.class); } return auth; } public static void saveUser(Context context, User user) { if (user != null) { mUser = user; Gson gson = new Gson(); String json = gson.toJson(user); PreferencesUtils.putString(context, LOGIN, KEY_USER, json); BookManager.getInstance().init(context); IntentUtils.sendBroadcast(context, MyActions.UPDATE_BOOK_SHELF); } else { PreferencesUtils.putString(context, LOGIN, KEY_USER, ""); } } public static User getUser(Context context) { User user = null; String userJson = PreferencesUtils.getString(context, LOGIN, KEY_USER); if (!StringUtils.isEmptyOrNull(userJson)) { Gson gson = new Gson(); user = gson.fromJson(userJson, User.class); } return user; } public static User getUser() { return mUser; } public static Auth getAuth() { return mAuth; } }