Advertisement
Guest User

Untitled

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