package com.sogou.fastomiai.controller; import java.util.HashMap; import java.util.Map; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import com.android.volley.Response; import com.android.volley.VolleyError; import com.sogou.fastomiai.BrowseActivity; import com.sogou.fastomiai.SplashActivity; import com.sogou.fastomiai.model.UserAuthInfo; import com.sogou.fastomiai.model.UserGetInfo; import com.sogou.fastomiai.util.Constants; import com.sogou.fastomiai.util.NetworkRequest; import com.sogou.fastomiai.util.NetworkUtil; import com.sogou.fastomiai.util.PreferenceUtil; public class SessionManager { private volatile static SessionManager sInstance; private Context mContext; private boolean isLogin = false; private UserGetInfo mUserInfo; private SessionManager(Context context) { mContext = context; } public static SessionManager getInstance(Context context) { if (sInstance == null) { synchronized (SessionManager.class) { if (sInstance == null) { sInstance = new SessionManager(context); } } } return sInstance; } public String getToken() { return PreferenceUtil.getLoggedToken(mContext); } public void setToken(String token) { PreferenceUtil.setLoggedToken(mContext, token); setLoginStatus(true); } public String getPhone() { return PreferenceUtil.getLoggedPhone(mContext); } public void setPhone(String phone) { PreferenceUtil.setLoggedPhone(mContext, phone); SharedPreferences.Editor editor = mContext.getSharedPreferences(com.android.pushclient.Constants.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE).edit(); editor.putString(com.android.pushclient.Constants.XMPP_USERNAME, phone); editor.putString(com.android.pushclient.Constants.XMPP_PASSWORD, phone); editor.commit(); } public boolean isLogin() { return isLogin; } public void setLoginStatus(boolean isLoginStatus) { isLogin = isLoginStatus; } public void pullCurrentUserInfo() { Map<String, String> params = new HashMap<String, String>(); params.put(Constants.TOKEN, getToken()); String url = NetworkUtil.getUrl(Constants.USER_GET_URL, params); NetworkRequest.get(url, UserGetInfo.class, new Response.Listener<UserGetInfo>() { @Override public void onResponse(UserGetInfo info) { if (info != null) { if (info.isSuccess()) { mUserInfo = info; } else { } } else { } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }, false); } public UserGetInfo getCurrentUserInfo() { return mUserInfo; } }