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

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