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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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.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(Context ctx)
  19. {
  20. if (_config == null) {
  21. _config = new LuDataAccessConfigDbo();
  22. try {
  23. String str = ctx.getString(R.string.luticate_config);
  24. _config.fromJson(str);
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. _config = null;
  28. return null;
  29. }
  30. // _config.setBaseUrl("http://gigi-eth:8089/");
  31. }
  32. return _config;
  33. }
  34. public static List<UserFavouriteStopsDbo> getFavouriteStops(Context ctx)
  35. {
  36. String str = STSDataAccess.getFavouriteStopsJson(ctx);
  37. List<UserFavouriteStopsDbo> dbos = new Vector<>();
  38. JSONArray json;
  39. try {
  40. json = new JSONArray(str);
  41. for (int i = 0; i < json.length(); ++i) {
  42. UserFavouriteStopsDbo dbo = new UserFavouriteStopsDbo();
  43. dbo.fromJson(json.getJSONObject(i));
  44. dbos.add(dbo);
  45. }
  46. } catch (Exception e) {
  47. e.printStackTrace();
  48. }
  49. return dbos;
  50. }
  51. public static void setFavouriteStops(Context ctx, List<UserFavouriteStopsDbo> favourites)
  52. {
  53. JSONArray json = new JSONArray();
  54. for (UserFavouriteStopsDbo favouriteStopDbo : favourites) {
  55. json.put(new JSONObject(favouriteStopDbo.toArray()));
  56. }
  57. STSDataAccess.setFavouriteStopsJson(ctx, json.toString());
  58. }
  59. public static UserDbo getLoggedUser(Context ctx)
  60. {
  61. String str = STSDataAccess.getLoggedUserJson(ctx);
  62. if (str != null) {
  63. UserDbo user = new UserDbo();
  64. try {
  65. user.fromJson(str);
  66. return user;
  67. } catch (Exception e) {
  68. e.printStackTrace();
  69. }
  70. }
  71. return null;
  72. }
  73. public static void setLoggedUser(Context ctx, UserDbo user)
  74. {
  75. if (user == null) {
  76. STSDataAccess.setLoggedUserJson(ctx, null);
  77. }
  78. else {
  79. STSDataAccess.setLoggedUserJson(ctx, user.toString());
  80. }
  81. }
  82. public static UsersSettingsDbo getUserSettings(Context ctx)
  83. {
  84. UsersSettingsDbo settingsDbo = new UsersSettingsDbo();
  85. settingsDbo.setFavouriteStops(getFavouriteStops(ctx));
  86. return settingsDbo;
  87. }
  88. public static void setUserSettings(Context ctx, UsersSettingsDbo settingsDbo)
  89. {
  90. setFavouriteStops(ctx, settingsDbo.getFavouriteStops());
  91. }
  92. }