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

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