package com.gt.snssharinglibrary.asynctask; import org.json.JSONObject; import com.facebook_2_0.android.Facebook; import com.gt.snssharinglibrary.StringMapping; import com.gt.snssharinglibrary.pojo.CusProgressDialog; import com.gt.snssharinglibrary.service.SNSService; import com.gt.snssharinglibrary.service.facebook_2_0.FacebookSessionStore; import com.gt.snssharinglibrary.util.LogController; import android.content.Context; import android.os.AsyncTask; public class FacebookGetUserProfileAsyncTask extends AsyncTask<Void, Void, Boolean>{ private Context context; private SNSService snsService; private Facebook facebook; private CusProgressDialog cusProgressDialog; public FacebookGetUserProfileAsyncTask(Context context, SNSService snsService, Facebook facebook) { this.context = context; this.snsService = snsService; this.facebook = facebook; } @Override protected void onPreExecute () { super.onPreExecute(); //process of thread before start(UI Thread) cusProgressDialog = new CusProgressDialog(context); cusProgressDialog.setMessage(StringMapping.FACEBOOK_LOGIN_LOADING_MESSAGE); cusProgressDialog.show(); } @Override protected Boolean doInBackground(Void... params) { String result = null; try { result = facebook.request("me"); LogController.log("getProfile result >>> " + result); if (result != null) { JSONObject profileJSON = new JSONObject(result); String id = profileJSON.getString("id"); String name = ""; String email = ""; try { name = profileJSON.getString("name"); email = profileJSON.getString("email"); } catch (Exception e) { result = null; } FacebookSessionStore.saveFacebookInfo(name, id, email, context); } } catch (Exception e) { result = null; } boolean success = false; if (result != null) { success = true; } return Boolean.valueOf(success); } @Override protected void onPostExecute (Boolean isSuccess) { super.onPostExecute(isSuccess); //process of thread ended(UI Thread) if(snsService != null) { snsService.getProfileStatus(context, isSuccess, null); } if(cusProgressDialog != null) { cusProgressDialog.dismiss(); } } }