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.

StopPickerActivity.java 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.rthoni.stssaguenay.ui.activities;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.v7.app.AppCompatActivity;
  6. import com.google.android.gms.ads.AdRequest;
  7. import com.google.android.gms.ads.AdView;
  8. import com.google.android.gms.ads.MobileAds;
  9. import com.luticate.utils.business.LuConsumer;
  10. import com.luticate.utils.business.LuPromise;
  11. import com.rthoni.stssaguenay.R;
  12. import com.rthoni.stssaguenay.dbo.UserFavouriteStopsDbo;
  13. import com.rthoni.stssaguenay.dbo.StopsDbo;
  14. import com.rthoni.stssaguenay.ui.fragments.StopListPickerFragment;
  15. import com.rthoni.stssaguenay.ui.fragments.StopMapPickerFragment;
  16. import com.rthoni.stssaguenay.ui.fragments.StopRoutesPickerFragment;
  17. public class StopPickerActivity extends AppCompatActivity {
  18. public static String MAP_EXTRA_NAME = "MAP_EXTRA";
  19. public static String SELECT_ROUTES_EXTRA_NAME = "SELECT_ROUTES_EXTRA";
  20. public static String FAVOURITE_STOP_EXTRA_NAME = "FAVOURITE_STOP_EXTRA";
  21. public static String STOP_EXTRA_NAME = "STOP_EXTRA";
  22. private boolean _map;
  23. private boolean _selectRoutes;
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.activity_stop_picker);
  28. _map = getIntent().getBooleanExtra(MAP_EXTRA_NAME, false);
  29. _selectRoutes = getIntent().getBooleanExtra(SELECT_ROUTES_EXTRA_NAME, true);
  30. MobileAds.initialize(getApplicationContext(), getString(R.string.ad_init));
  31. AdView mAdView = (AdView) findViewById(R.id.adView);
  32. AdRequest adRequest = new AdRequest.Builder().build();
  33. mAdView.loadAd(adRequest);
  34. if (getSupportActionBar() != null) {
  35. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  36. }
  37. goToStops();
  38. }
  39. @Override
  40. public boolean onSupportNavigateUp() {
  41. if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
  42. return super.onSupportNavigateUp();
  43. }
  44. getSupportFragmentManager().popBackStack();
  45. return true;
  46. }
  47. public void goToStops()
  48. {
  49. LuConsumer<StopsDbo> consumer = new LuConsumer<StopsDbo>() {
  50. @Override
  51. public void execute(StopsDbo data) {
  52. if (_selectRoutes) {
  53. goToRoutes(data);
  54. }
  55. else {
  56. saveStop(data);
  57. }
  58. }
  59. };
  60. if (_map) {
  61. StopMapPickerFragment f = new StopMapPickerFragment();
  62. f.setOnStopSelectedConsumer(consumer);
  63. getSupportFragmentManager()
  64. .beginTransaction()
  65. .replace(R.id.container, f)
  66. .commit();
  67. }
  68. else {
  69. StopListPickerFragment f = new StopListPickerFragment();
  70. f.setOnStopSelectedConsumer(consumer);
  71. getSupportFragmentManager()
  72. .beginTransaction()
  73. .replace(R.id.container, f)
  74. .commit();
  75. }
  76. }
  77. public void goToRoutes(final StopsDbo stopDbo)
  78. {
  79. StopRoutesPickerFragment f = new StopRoutesPickerFragment();
  80. f.setStopsDbo(stopDbo);
  81. f.setOnRoutesSelected(new LuConsumer<UserFavouriteStopsDbo>() {
  82. @Override
  83. public void execute(UserFavouriteStopsDbo data) {
  84. saveFavouriteStop(data);
  85. }
  86. });
  87. getSupportFragmentManager()
  88. .beginTransaction()
  89. .replace(R.id.container, f)
  90. .addToBackStack("StopRoutesPickerFragment")
  91. .commit();
  92. }
  93. public void saveStop(StopsDbo stopDbo)
  94. {
  95. Intent result = new Intent();
  96. result.putExtra(STOP_EXTRA_NAME, stopDbo.toString());
  97. setResult(Activity.RESULT_OK, result);
  98. finish();
  99. }
  100. public void saveFavouriteStop(UserFavouriteStopsDbo favouriteStopDbo)
  101. {
  102. Intent result = new Intent();
  103. result.putExtra(FAVOURITE_STOP_EXTRA_NAME, favouriteStopDbo.toString());
  104. setResult(Activity.RESULT_OK, result);
  105. finish();
  106. }
  107. }