package com.example.sihle.networklib; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.Toast; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; /** * Created by sihle on 9/19/15. */ public class QUser { private Activity callingActivity; private String uCellNumber; private boolean registered=false; private String uName; public boolean isRegistered(){ return registered; } public void setCallingActivity(Activity activity) { callingActivity = activity; } public void register(final String name, final String cellNumber){ try { String urlString = callingActivity.getString(R.string.SERVER_URL)+"/user/register"; final FormPoster formPoster = new FormPoster(new URL(urlString)); formPoster.add("cellnum",cellNumber); formPoster.add("alias",name); formPoster.add("data", "data"); Thread thread = new Thread(new Runnable() { @Override public void run() { try { InputStream is = formPoster.post(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); final String uname = name; final String cellphone = cellNumber; final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+ String line; while((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } rd.close(); String objString = response.toString(); ((QUserListner)callingActivity).userRegistered(objString); //This would mean the registration was compleate // //JSONObject obj = new JSONObject(objString); //Set the Shared Preferences for User Name and CellNumber SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(callingActivity); sp.edit().putString(callingActivity.getString(R.string.PREF_USER_NAME),uname).apply(); sp.edit().putString(callingActivity.getString(R.string.PREF_USER_CELLNUMBER),cellphone).apply(); sp.edit().putBoolean(callingActivity.getString(R.string.PREF_USER_REGISTERED), true).apply(); //Log.d("Response",id); //Toast.makeText(calee,"Sent Information",Toast.LENGTH_LONG).show(); } catch (final IOException ioe){ Log.e("IO Exception",ioe.toString()); Log.e("IO Exception", ioe.toString()); callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner)callingActivity).userRegistrationError(ioe.toString()); } }); } } }); thread.start(); } catch (MalformedURLException me){ Log.e("NetWork Exception",me.toString()); } } public QUser(Activity activity){ setCallingActivity(activity); SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(callingActivity); registered = sp.getBoolean(callingActivity.getString(R.string.PREF_USER_REGISTERED), false); if (registered){ uName=sp.getString(callingActivity.getString(R.string.PREF_USER_NAME),"NO NAME"); uCellNumber=sp.getString(callingActivity.getString(R.string.PREF_USER_CELLNUMBER),"NO NUMBER"); // Intent intent = new Intent(Register.this, MainActivity.class); // startActivity(intent); // finish(); Log.d("prefs","registered"); } } public void getAvailableQs(){ try { String urlString = callingActivity.getString(R.string.SERVER_URL)+"/user/availQs"; final FormPoster formPoster = new FormPoster(new URL(urlString)); //formPoster.add("uid",uCellNumber); formPoster.add("data", "data"); Thread thread = new Thread(new Runnable() { @Override public void run() { try { InputStream is = formPoster.post(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+ String line; while((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } rd.close(); final String objString = response.toString(); callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner) callingActivity).allQsReady(objString); } }); } catch (final IOException ioe){ callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner)callingActivity).allQError(ioe.toString()); } }); } } }); thread.start(); } catch (MalformedURLException me){ Log.e("NetWork Exception",me.toString()); } } public void setName(){ } public void setCellNumber(){ } public String getName(){ return uName; } public String getCellNumb(){ return uCellNumber; } public void getCategories(){ } public void getProvides(){ } public void updateJoinedQs(){ try { String urlString = callingActivity.getString(R.string.SERVER_URL)+"/user/joinedQs"; final FormPoster formPoster = new FormPoster(new URL(urlString)); formPoster.add("uid",uCellNumber); formPoster.add("data", "data"); Thread thread = new Thread(new Runnable() { @Override public void run() { try { InputStream is = formPoster.post(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+ String line; while((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } rd.close(); final String objString = response.toString(); callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner) callingActivity).updated(objString); } }); } catch (final IOException ioe){ callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner)callingActivity).updateError(ioe.toString()); } }); } } }); thread.start(); } catch (MalformedURLException me){ Log.e("NetWork Exception",me.toString()); } } public void joinQ(String qCellnumber){ try { String urlString = callingActivity.getString(R.string.SERVER_URL)+"/user/joinQ"; final FormPoster formPoster = new FormPoster(new URL(urlString)); formPoster.add("uid",uCellNumber); formPoster.add("qid",qCellnumber); formPoster.add("data", "data"); Thread thread = new Thread(new Runnable() { @Override public void run() { try { InputStream is = formPoster.post(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+ String line; while((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } rd.close(); final String objString = response.toString(); callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner) callingActivity).qJoined(objString); } }); } catch (final IOException ioe){ callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner)callingActivity).qJoinedError(ioe.toString()); } }); } } }); thread.start(); } catch (MalformedURLException me){ Log.e("NetWork Exception",me.toString()); } } public void leaveQ(String qCellnumber){ try { String urlString = callingActivity.getString(R.string.SERVER_URL)+"/user/leaveQ"; final FormPoster formPoster = new FormPoster(new URL(urlString)); formPoster.add("uid",uCellNumber); formPoster.add("qid",qCellnumber); formPoster.add("data", "data"); Thread thread = new Thread(new Runnable() { @Override public void run() { try { InputStream is = formPoster.post(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+ String line; while((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } rd.close(); final String objString = response.toString(); callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner) callingActivity).qLeft(objString); } }); } catch (final IOException ioe){ callingActivity.runOnUiThread(new Runnable() { @Override public void run() { ((QUserListner)callingActivity).qLeftError(ioe.toString()); } }); } } }); thread.start(); } catch (MalformedURLException me){ Log.e("NetWork Exception",me.toString()); } } }