package com.ved.musicmapapp.providers; import java.util.ArrayList; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import org.json.JSONObject; import android.app.Activity; import android.app.ProgressDialog; import android.os.AsyncTask; import android.util.Log; import com.ved.musicmapapp.Objects.User; import com.ved.musicmapapp.adapters.DBAdapter; import com.ved.musicmapapp.utils.Statics; public class GetUserDetailTask extends AsyncTask<Void, Void, User> { private String fbId; private String curFbId; private Activity activity; private ProgressDialog dialog; public GetUserDetailTask(Activity activity, String curFbId, String fbId) { Log.i("check","In GetUserDetailTask"); this.fbId = fbId; this.curFbId = curFbId; this.activity = activity; this.dialog = new ProgressDialog(activity); this.dialog.setMessage("Loading..."); this.dialog.setCancelable(false); } @Override protected User doInBackground(Void... params) { try { if (Statics.isNetworkConnected(activity)) { HttpParams httpParameters = new BasicHttpParams(); int timeoutConnection = 20000; HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); int timeoutSocket = 20000; HttpConnectionParams .setSoTimeout(httpParameters, timeoutSocket); HttpClient httpclient = new DefaultHttpClient(httpParameters); HttpPost httppost; httppost = new HttpPost(Statics.WS_PATH + "getUserDetails.php"); ArrayList<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("fbid", fbId)); nvps.add(new BasicNameValuePair("curFbId", curFbId)); httppost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); HttpResponse response = httpclient.execute(httppost); String data = EntityUtils.toString(response.getEntity(), "UTF-8"); try { User user = Statics.getUserFromJSON(new JSONObject(data)); if (Statics.hashUsers != null){ User userTmp = Statics.hashUsers.get(user.getFbid()); if (userTmp != null) { userTmp.compareTo(user); Statics.hashUsers.put(user.getFbid(), userTmp); //DBAdapter adapter = new DBAdapter(activity); //adapter.addUser(userTmp); } else { Statics.hashUsers.put(user.getFbid(), user); //DBAdapter adapter = new DBAdapter(activity); //adapter.addUser(userTmp); } } return user; } catch (Exception e) { } } } catch (Exception e) { } return null; } @Override protected void onPostExecute(User result) { if (dialog.isShowing()) { dialog.dismiss(); onSuccess(result); } super.onPostExecute(result); } @Override protected void onPreExecute() { super.onPreExecute(); dialog.show(); } public void onSuccess(User result) { } }