Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.23 KB | None | 0 0
  1. package com.gokdemir.areyousafe;
  2.  
  3.  
  4. import android.app.ProgressDialog;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.icu.text.SimpleDateFormat;
  8. import android.util.Log;
  9. import android.widget.Toast;
  10.  
  11. import com.android.volley.DefaultRetryPolicy;
  12. import com.android.volley.Request;
  13. import com.android.volley.RequestQueue;
  14. import com.android.volley.Response;
  15. import com.android.volley.RetryPolicy;
  16. import com.android.volley.VolleyError;
  17. import com.android.volley.toolbox.StringRequest;
  18. import com.android.volley.toolbox.Volley;
  19.  
  20. import org.xmlpull.v1.XmlPullParser;
  21. import org.xmlpull.v1.XmlPullParserFactory;
  22.  
  23. import java.util.Arrays;
  24. import java.util.Date;
  25. import java.util.HashMap;
  26. import java.util.Map;
  27.  
  28. /**
  29. * Created by gokde on 7.01.2018.
  30. */
  31.  
  32. public class VolleyHandler {
  33.  
  34. //keys for the parameters
  35. public static final String KEY_NAME = "name";
  36. public static final String KEY_EMAIL = "mail";
  37. public static final String KEY_PASSWORD = "password";
  38. public static final String KEY_BLOODTYPE = "bloodType";
  39. public static final String KEY_ALLERGIE = "allergies";
  40. public static final String KEY_CHRONIC = "chronics";
  41. public static final String KEY_PHOTO = "photo";
  42. public static final String KEY_MESSAGE = "message";
  43. public static final String KEY_XLOC = "xLoc";
  44. public static final String KEY_YLOC = "yLoc";
  45. public static final String KEY_TIME = "t";
  46. public static final String KEY_MAC = "mac";
  47.  
  48. public static final String KEY_USER_EMAIL = "email";
  49. public static final String SafeMessage = "I am safe";
  50.  
  51. //urls to pass parameters
  52. private static final String baseUrl = "http://smartdatabaseservice.azurewebsites.net/SmartDatabaseService.asmx/";
  53. private static final String addUserUrl = "/AddUser"; // name, mail, password, bloodType
  54. private static final String addFullUser = "/AddFullUser";
  55. private static final String addAllergieUrl = "AddAllergie"; //mail and allergie
  56. private static final String addChronicUrl = "/AddChronic"; //mail and chronic
  57. private static final String addMessageUrl = "/AddMessage"; //mail and message
  58. private static final String addPhotoUrl = "/AddPhoto"; //mail and photo
  59. private static final String addUserLocationUrl = "/AddUserLocation";//mail, xLoc, yLoc, t
  60. private static final String addUserLocationAndMacUrl = "/AddUserLocationAndMac"; //mail, xLoc, yLoc, mac, t
  61. private static final String addUserMacUrl = "/AddUserMac"; //mail, mac
  62. private static final String deleteAllergieUrl = "/DeleteAllergie"; //mail, allergie
  63. private static final String deleteChronicUrl = "/DeleteChronic"; //mail, chronic
  64. private static final String getUserAllergiesUrl = "/GetUserAllergies"; //mail
  65. private static final String getUserChronicsUrl = "/GetUserChronics"; //mail
  66. private static final String getUserPhotoUrl = "/GetUserPhoto"; //mail
  67. private static final String isRegisteredUrl = "/IsRegistered"; //mail
  68. private static final String isPasswordCorrectUrl = "/IsPasswordCorrect"; //mail, password
  69. private static final String updateBloodTypeUrl = "/UpdateBloodType"; //mail, bloodType
  70. private static final String updatePhotoUrl = "/UpdatePhoto"; //mail, photo
  71. private static final String setNearbys = "/SetNearbys";
  72. private ProgressDialog progressDialog;
  73. SessionManager session;
  74.  
  75. public void addUser(final String uname,final String umail,final String upassword,final String ubloodType){
  76.  
  77. RequestQueue queue = Volley.newRequestQueue(SignupActivity2.context);
  78. StringRequest postRequest = new StringRequest(Request.Method.POST, baseUrl+addUserUrl,
  79. new Response.Listener<String>()
  80. {
  81. @Override
  82. public void onResponse(String response) {
  83. //progressDialog.dismiss();
  84. /* XML Parser for extracting related information from response.
  85. TODO: Server will return a JSON object in the 2nd phase, this should be adjusted
  86. */
  87. try {
  88. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  89. factory.setNamespaceAware(true);
  90. XmlPullParser xpp = factory.newPullParser();
  91. }catch (Exception e)
  92. {
  93. e.printStackTrace();
  94. }
  95. /*
  96. Check Reponse to give related message!
  97. */
  98. if(response.toLowerCase().contains("false")){
  99. Toast.makeText(SignupActivity2.activityContext, "Could not register at Step 1. Check your credentials.", Toast.LENGTH_LONG).show();
  100. }
  101. else{
  102. Toast.makeText(SignupActivity2.activityContext, "Step 1 Successful!", Toast.LENGTH_SHORT).show();
  103. /*
  104. Direct the user to login page to enter the credentials..
  105. Toast.makeText(SignupActivity2.activityContext, "Successfully signed up.", Toast.LENGTH_SHORT).show();
  106. Intent i = new Intent(SignupActivity2.context, MainActivity.class);
  107. i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  108. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  109. SignupActivity2.activityContext.startActivity(i);
  110. */
  111.  
  112. }
  113. }
  114. },
  115. new Response.ErrorListener()
  116. {
  117. @Override
  118. public void onErrorResponse(VolleyError error) {
  119. progressDialog.dismiss();
  120. //displaying the error...
  121. Toast.makeText(SignupActivity2.activityContext, error.toString(), Toast.LENGTH_SHORT).show();
  122. }
  123. }
  124. ) {
  125. @Override
  126. protected Map<String, String> getParams()
  127. {
  128. Map<String, String> params = new HashMap<String, String>();
  129. params.put(KEY_NAME,uname);
  130. params.put(KEY_EMAIL, umail);
  131. params.put(KEY_PASSWORD, upassword);
  132. params.put(KEY_BLOODTYPE,ubloodType);
  133. return params;
  134. }
  135. };
  136. queue.add(postRequest);
  137. }
  138.  
  139. public void addChronicDisesase(final String umail, final String udisease){
  140. RequestQueue queue = Volley.newRequestQueue(SignupActivity2.context);
  141.  
  142. int socketTimeout = 30000; // 30 seconds. You can change it
  143. RetryPolicy policy = new DefaultRetryPolicy(socketTimeout,
  144. DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
  145. DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
  146. StringRequest postRequest = new StringRequest(Request.Method.POST, baseUrl+addChronicUrl,
  147. new Response.Listener<String>()
  148. {
  149. @Override
  150. public void onResponse(String response) {
  151. //progressDialog.dismiss();
  152. /* XML Parser for extracting related information from response.
  153. TODO: Server will return a JSON object in the 2nd phase, this should be adjusted
  154. */
  155. try {
  156. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  157. factory.setNamespaceAware(true);
  158. XmlPullParser xpp = factory.newPullParser();
  159. }catch (Exception e)
  160. {
  161. e.printStackTrace();
  162. }
  163. /*
  164. Check Response to give related message!
  165. */
  166. if(response.toLowerCase().contains("false")){
  167. Toast.makeText(SignupActivity2.activityContext, "Could not register at step 2. Check your credentials.", Toast.LENGTH_SHORT).show();
  168. }
  169. else{
  170. Toast.makeText(SignupActivity2.activityContext, "Step 2 Successful!", Toast.LENGTH_SHORT);
  171. /*
  172. Direct the user to login page to enter the credentials..
  173. Toast.makeText(SignupActivity2.activityContext, "Successfully signed up.", Toast.LENGTH_SHORT).show();
  174. Intent i = new Intent(SignupActivity2.context, MainActivity.class);
  175. i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  176. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  177. SignupActivity2.activityContext.startActivity(i);
  178. */
  179.  
  180. }
  181. }
  182. },
  183. new Response.ErrorListener()
  184. {
  185. @Override
  186. public void onErrorResponse(VolleyError error) {
  187. progressDialog.dismiss();
  188. //displaying the error...
  189. Toast.makeText(SignupActivity2.activityContext, error.toString(), Toast.LENGTH_SHORT).show();
  190. }
  191. }
  192. ) {
  193. @Override
  194. protected Map<String, String> getParams()
  195. {
  196. Map<String, String> params = new HashMap<String, String>();
  197. params.put(KEY_EMAIL, umail);
  198. params.put(KEY_CHRONIC, udisease);
  199.  
  200. return params;
  201. }
  202. };
  203. queue.add(postRequest);
  204. }
  205.  
  206. public void addAllergicMedication(final String umail, final String uallergic){
  207. RequestQueue queue = Volley.newRequestQueue(SignupActivity2.context);
  208. StringRequest postRequest = new StringRequest(Request.Method.POST, baseUrl+addAllergieUrl,
  209. new Response.Listener<String>()
  210. {
  211. @Override
  212. public void onResponse(String response) {
  213. //progressDialog.dismiss();
  214. /* XML Parser for extracting related information from response.
  215. TODO: Server will return a JSON object in the 2nd phase, this should be adjusted
  216. */
  217. try {
  218. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  219. factory.setNamespaceAware(true);
  220. XmlPullParser xpp = factory.newPullParser();
  221. }catch (Exception e)
  222. {
  223. e.printStackTrace();
  224. }
  225. /*
  226. Check Reponse to give related message!
  227. */
  228. if(response.toLowerCase().contains("false")){
  229. Toast.makeText(SignupActivity2.activityContext, "Could not register. Check your credentials.", Toast.LENGTH_SHORT).show();
  230.  
  231. }
  232. else{
  233. Toast.makeText(SignupActivity2.activityContext, "Step 3 Successful!", Toast.LENGTH_SHORT);
  234. /*
  235. Direct the user to login page to enter the credentials..
  236. Toast.makeText(SignupActivity2.activityContext, "Successfully signed up.", Toast.LENGTH_SHORT).show();
  237. Intent i = new Intent(SignupActivity2.context, MainActivity.class);
  238. i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  239. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  240. SignupActivity2.activityContext.startActivity(i);
  241. */
  242.  
  243. }
  244. }
  245. },
  246. new Response.ErrorListener()
  247. {
  248. @Override
  249. public void onErrorResponse(VolleyError error) {
  250. progressDialog.dismiss();
  251. //displaying the error...
  252. Toast.makeText(SignupActivity2.activityContext, error.toString(), Toast.LENGTH_SHORT).show();
  253. }
  254. }
  255. ) {
  256. @Override
  257. protected Map<String, String> getParams()
  258. {
  259. Map<String, String> params = new HashMap<String, String>();
  260. params.put(KEY_EMAIL, umail);
  261. params.put(KEY_ALLERGIE, uallergic);
  262.  
  263. return params;
  264. }
  265. };
  266. queue.add(postRequest);
  267. }
  268.  
  269. public void addPhoto(final String umail, final byte[] image){
  270. final String stringImage = Arrays.toString(image);
  271.  
  272. RequestQueue queue = Volley.newRequestQueue(SignupActivity2.context);
  273. StringRequest postRequest = new StringRequest(Request.Method.POST, baseUrl+addPhotoUrl,
  274. new Response.Listener<String>()
  275. {
  276. @Override
  277. public void onResponse(String response) {
  278. progressDialog.dismiss();
  279. /* XML Parser for extracting related information from response.
  280. TODO: Server will return a JSON object in the 2nd phase, this should be adjusted
  281. */
  282. try {
  283. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  284. factory.setNamespaceAware(true);
  285. XmlPullParser xpp = factory.newPullParser();
  286. }catch (Exception e)
  287. {
  288. e.printStackTrace();
  289. }
  290. /*
  291. Check Reponse to give related message!
  292. */
  293. if(response.toLowerCase().contains("false")){
  294. Toast.makeText(SignupActivity2.activityContext, "Could not register at step 4. Check your image.", Toast.LENGTH_SHORT).show();
  295.  
  296. }
  297. else{
  298. Toast.makeText(SignupActivity2.activityContext, "Step 4 Successful!", Toast.LENGTH_SHORT);
  299.  
  300. /*
  301. Direct the user to login page to enter the credentials..
  302. */
  303. Toast.makeText(SignupActivity2.activityContext, "Successfully signed up.", Toast.LENGTH_SHORT).show();
  304. Intent i = new Intent(SignupActivity2.context, MainActivity.class);
  305. i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  306. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  307. SignupActivity2.activityContext.startActivity(i);
  308.  
  309.  
  310. }
  311. }
  312. },
  313. new Response.ErrorListener()
  314. {
  315. @Override
  316. public void onErrorResponse(VolleyError error) {
  317. progressDialog.dismiss();
  318. //displaying the error...
  319. Toast.makeText(SignupActivity2.activityContext, error.toString(), Toast.LENGTH_SHORT).show();
  320. }
  321. }
  322. ) {
  323. @Override
  324. protected Map<String, String> getParams()
  325. {
  326. Map<String, String> params = new HashMap<String, String>();
  327. params.put(KEY_EMAIL, umail);
  328. params.put(KEY_PHOTO, stringImage);
  329.  
  330. return params;
  331. }
  332. };
  333. queue.add(postRequest);
  334. }
  335.  
  336. public void addUserAll(final String uname, final String umail, final String upassword, final String ubloodType, final String uallergies, final String uchronics, final byte[] uphoto){
  337. session = new SessionManager(SignupActivity2.activityContext);
  338. final String stringImage = Arrays.toString(uphoto);
  339. progressDialog = new ProgressDialog(SignupActivity2.activityContext);
  340. progressDialog.setMessage("Signing you up. Please wait...");
  341. progressDialog.show();
  342.  
  343. RetryPolicy policy = new DefaultRetryPolicy(10000,
  344. DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
  345. DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
  346.  
  347. RequestQueue queue = Volley.newRequestQueue(SignupActivity2.context);
  348. StringRequest postRequest = new StringRequest(Request.Method.POST, baseUrl+addFullUser,
  349. new Response.Listener<String>()
  350. {
  351. @Override
  352. public void onResponse(String response) {
  353. progressDialog.dismiss();
  354. /* XML Parser for extracting related information from response.
  355. TODO: Server will return a JSON object in the 2nd phase, this should be adjusted
  356. */
  357. try {
  358. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  359. factory.setNamespaceAware(true);
  360. XmlPullParser xpp = factory.newPullParser();
  361. }catch (Exception e)
  362. {
  363. e.printStackTrace();
  364. }
  365. /*
  366. Check Reponse to give related message!
  367. */
  368. if(response.toLowerCase().contains("false")){
  369. Toast.makeText(SignupActivity2.activityContext, "Could not register at step 4. Check your image.", Toast.LENGTH_SHORT).show();
  370.  
  371. }
  372. else{
  373. /*
  374. Direct the user to login page to enter the credentials..
  375. */
  376. Toast.makeText(SignupActivity2.activityContext, "Successfully signed up.", Toast.LENGTH_SHORT).show();
  377. Intent i = new Intent(SignupActivity2.context, MainActivity.class);
  378. i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  379. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  380. SignupActivity2.activityContext.startActivity(i);
  381.  
  382.  
  383. }
  384. }
  385. },
  386. new Response.ErrorListener()
  387. {
  388. @Override
  389. public void onErrorResponse(VolleyError error) {
  390. progressDialog.dismiss();
  391. //displaying the error...
  392. Toast.makeText(SignupActivity2.activityContext, error.toString(), Toast.LENGTH_SHORT).show();
  393. }
  394. }
  395.  
  396. ) {
  397.  
  398.  
  399. @Override
  400. protected Map<String, String> getParams()
  401. {
  402. Map<String, String> params = new HashMap<String, String>();
  403. params.put(KEY_NAME, uname);
  404. params.put(KEY_EMAIL, umail);
  405. params.put(KEY_PASSWORD, upassword);
  406. params.put(KEY_BLOODTYPE, ubloodType);
  407. params.put(KEY_ALLERGIE, uallergies);
  408. params.put(KEY_CHRONIC, uchronics);
  409. params.put(KEY_PHOTO, stringImage);
  410. return params;
  411. }
  412. };
  413.  
  414. postRequest.setRetryPolicy(policy);
  415.  
  416. queue.add(postRequest);
  417. }
  418.  
  419. public void markAsSafe(){
  420. session = new SessionManager(Dashboard.context);
  421. HashMap<String,String> user = session.getUserDetails();
  422. final String email = user.get(KEY_USER_EMAIL);
  423.  
  424. progressDialog = new ProgressDialog(Dashboard.context);
  425. progressDialog.setMessage("Message is being sent...");
  426. progressDialog.show();
  427.  
  428. RetryPolicy policy = new DefaultRetryPolicy(10000,
  429. DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
  430. DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
  431.  
  432. RequestQueue queue = Volley.newRequestQueue(Dashboard.context);
  433. StringRequest postRequest = new StringRequest(Request.Method.POST, baseUrl+addMessageUrl,
  434. new Response.Listener<String>()
  435. {
  436. @Override
  437. public void onResponse(String response) {
  438. progressDialog.dismiss();
  439. /* XML Parser for extracting related information from response.
  440. TODO: Server will return a JSON object in the 2nd phase, this should be adjusted
  441. */
  442. try {
  443. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  444. factory.setNamespaceAware(true);
  445. XmlPullParser xpp = factory.newPullParser();
  446. }catch (Exception e)
  447. {
  448. e.printStackTrace();
  449. }
  450. /*
  451. Check Reponse to give related message!
  452. */
  453. if(response.toLowerCase().contains("false")){
  454. Toast.makeText(Dashboard.context, "The message couldn't be sent. Try again!", Toast.LENGTH_SHORT).show();
  455.  
  456. }
  457. else{
  458. Toast.makeText(Dashboard.context, "Message successfully sent.", Toast.LENGTH_SHORT).show();
  459. }
  460. }
  461. },
  462. new Response.ErrorListener()
  463. {
  464. @Override
  465. public void onErrorResponse(VolleyError error) {
  466. progressDialog.dismiss();
  467. //displaying the error...
  468. Toast.makeText(SignupActivity2.activityContext, error.toString(), Toast.LENGTH_SHORT).show();
  469. }
  470. }
  471.  
  472. ) {
  473.  
  474.  
  475. @Override
  476. protected Map<String, String> getParams()
  477. {
  478. Map<String, String> params = new HashMap<String, String>();
  479. params.put(KEY_EMAIL, email);
  480. params.put(KEY_MESSAGE, SafeMessage);
  481.  
  482. return params;
  483. }
  484. };
  485.  
  486. postRequest.setRetryPolicy(policy);
  487.  
  488. queue.add(postRequest);
  489.  
  490. }
  491. public void setNearbys(final String nearbyMACs)
  492. {
  493. session = new SessionManager(Dashboard.context);
  494.  
  495. RequestQueue queue = Volley.newRequestQueue(Dashboard.context);
  496.  
  497. StringRequest postRequest = new StringRequest(Request.Method.POST, baseUrl+setNearbys,
  498. new Response.Listener<String>()
  499. {
  500. @Override
  501. public void onResponse(String response) {
  502.  
  503. /* XML Parser for extracting related information from response.
  504. TODO: Server will return a JSON object in the 2nd phase, this should be adjusted
  505. */
  506. try {
  507. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  508. factory.setNamespaceAware(true);
  509. XmlPullParser xpp = factory.newPullParser();
  510. }catch (Exception e)
  511. {
  512. e.printStackTrace();
  513. }
  514. /*
  515. Check Reponse to give related message!
  516. */
  517. if(response.toLowerCase().contains("false")){
  518. Log.d("Nearby Server","Failed!");
  519. }
  520. else{
  521. Log.d("Nearby Server","Succeeded!");
  522.  
  523. }
  524. }
  525. },
  526. new Response.ErrorListener()
  527. {
  528. @Override
  529. public void onErrorResponse(VolleyError error) {
  530.  
  531. //displaying the error...
  532.  
  533. }
  534. }
  535. ) {
  536. @Override
  537. protected Map<String, String> getParams()
  538. {
  539. final String mail = session.getUserDetails().get(KEY_USER_EMAIL);
  540. Map<String, String> params = new HashMap<String, String>();
  541. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
  542. String currentDateandTime = sdf.format(new Date());
  543. params.put("mail",mail);
  544. params.put("nearbyMACs",nearbyMACs);
  545. params.put("time",currentDateandTime);
  546. return params;
  547. }
  548. };
  549. queue.add(postRequest);
  550. }
  551. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement