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 3.1KB

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