You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

STSBusiness.java 2.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.rthoni.stssaguenay.business;
  2. import android.content.Context;
  3. import com.luticate.utils.dbo.LuDataAccessConfigDbo;
  4. import com.rthoni.stssaguenay.dataaccess.STSDataAccess;
  5. import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
  6. import com.rthoni.stssaguenay.dbo.UserDbo;
  7. import com.rthoni.stssaguenay.dbo.UsersSettingsDbo;
  8. import org.json.JSONArray;
  9. import org.json.JSONException;
  10. import org.json.JSONObject;
  11. import java.util.List;
  12. import java.util.Vector;
  13. /**
  14. * Created by robin on 9/29/16.
  15. */
  16. public class STSBusiness {
  17. private static LuDataAccessConfigDbo _config = null;
  18. public static LuDataAccessConfigDbo getConfig()
  19. {
  20. if (_config == null) {
  21. _config = new LuDataAccessConfigDbo();
  22. _config.setBaseUrl("http://gigi-eth:8089/");
  23. }
  24. return _config;
  25. }
  26. public static List<UserFavouriteStopsDbo> getFavouriteStops(Context ctx)
  27. {
  28. String str = STSDataAccess.getFavouriteStopsJson(ctx);
  29. List<UserFavouriteStopsDbo> dbos = new Vector<>();
  30. JSONArray json;
  31. try {
  32. json = new JSONArray(str);
  33. for (int i = 0; i < json.length(); ++i) {
  34. UserFavouriteStopsDbo dbo = new UserFavouriteStopsDbo();
  35. dbo.fromJson(json.getJSONObject(i));
  36. dbos.add(dbo);
  37. }
  38. } catch (JSONException e) {
  39. e.printStackTrace();
  40. }
  41. return dbos;
  42. }
  43. public static void setFavouriteStops(Context ctx, List<UserFavouriteStopsDbo> favourites)
  44. {
  45. JSONArray json = new JSONArray();
  46. for (UserFavouriteStopsDbo favouriteStopDbo : favourites) {
  47. json.put(new JSONObject(favouriteStopDbo.toArray()));
  48. }
  49. STSDataAccess.setFavouriteStopsJson(ctx, json.toString());
  50. }
  51. public static UserDbo getLoggedUser(Context ctx)
  52. {
  53. String str = STSDataAccess.getLoggedUserJson(ctx);
  54. if (str != null) {
  55. UserDbo user = new UserDbo();
  56. try {
  57. user.fromJson(new JSONObject(str));
  58. return user;
  59. } catch (JSONException e) {
  60. e.printStackTrace();
  61. }
  62. }
  63. return null;
  64. }
  65. public static void setLoggedUser(Context ctx, UserDbo user)
  66. {
  67. if (user == null) {
  68. STSDataAccess.setLoggedUserJson(ctx, null);
  69. }
  70. else {
  71. STSDataAccess.setLoggedUserJson(ctx, user.toString());
  72. }
  73. }
  74. public static UsersSettingsDbo getUserSettings(Context ctx)
  75. {
  76. UsersSettingsDbo settingsDbo = new UsersSettingsDbo();
  77. settingsDbo.setFavouriteStops(getFavouriteStops(ctx));
  78. return settingsDbo;
  79. }
  80. public static void setUserSettings(Context ctx, UsersSettingsDbo settingsDbo)
  81. {
  82. setFavouriteStops(ctx, settingsDbo.getFavouriteStops());
  83. }
  84. }