Example #1
0
  @Override
  protected void onResume() {
    super.onResume();
    Log.d(LOG_TAG, "onResume()");

    trackViewPagerPage(mViewPager.getCurrentItem());
  }
Example #2
0
  @Override
  protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);

    if (mSpinnerAdapter.getCount() > 0)
      outState.putParcelableArrayList("chapters", mSpinnerAdapter.getAll());
    if (mViewPagerAdapter.getSelectedChapter() != null)
      outState.putParcelable("selected_chapter", mViewPagerAdapter.getSelectedChapter());
  }
Example #3
0
  @Override
  protected void onStart() {
    super.onStart();
    Timber.d("onStart()");

    if (mPreferences.getBoolean(Const.SETTINGS_FIRST_START, Const.SETTINGS_FIRST_START_DEFAULT)) {
      startActivityForResult(
          new Intent(this, FirstStartActivity.class), REQUEST_FIRST_START_WIZARD);
    }
  }
Example #4
0
  /**
   * Called when the activity is first created.
   *
   * @param savedInstanceState If the activity is being re-initialized after previously being shut
   *     down then this Bundle contains the data it most recently supplied in
   *     onSaveInstanceState(Bundle). <b>Note: Otherwise it is null.</b>
   */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Timber.i("onCreate");
    setContentView(R.layout.activity_main);

    mClient = new GroupDirectory();

    mLocationComparator = new ChapterComparator(mPreferences);

    mIndicator.setOnPageChangeListener(this);

    mViewPagerAdapter = new MyAdapter(this, getSupportFragmentManager());
    mSpinnerAdapter = new ChapterAdapter(MainActivity.this, android.R.layout.simple_list_item_1);
    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    getSupportActionBar().setListNavigationCallbacks(mSpinnerAdapter, MainActivity.this);

    mFetchChaptersTask =
        mClient.getDirectory(
            new Response.Listener<Directory>() {
              @Override
              public void onResponse(final Directory directory) {
                getSupportActionBar()
                    .setListNavigationCallbacks(mSpinnerAdapter, MainActivity.this);
                App.getInstance()
                    .getModelCache()
                    .putAsync(
                        "chapter_list",
                        directory,
                        DateTime.now().plusDays(1),
                        new ModelCache.CachePutListener() {
                          @Override
                          public void onPutIntoCache() {
                            ArrayList<Chapter> chapters = directory.getGroups();

                            initChapters(chapters);
                          }
                        });
              }
            },
            new Response.ErrorListener() {
              @Override
              public void onErrorResponse(VolleyError volleyError) {
                Crouton.makeText(
                        MainActivity.this, getString(R.string.fetch_chapters_failed), Style.ALERT)
                    .show();
                Timber.e("Could'nt fetch chapter list", volleyError);
              }
            });

    if (savedInstanceState == null) {

      if (Utils.isOnline(this)) {
        App.getInstance()
            .getModelCache()
            .getAsync(
                "chapter_list",
                new ModelCache.CacheListener() {
                  @Override
                  public void onGet(Object item) {
                    Directory directory = (Directory) item;
                    initChapters(directory.getGroups());
                  }

                  @Override
                  public void onNotFound(String key) {
                    mFetchChaptersTask.execute();
                  }
                });
      } else {

        App.getInstance()
            .getModelCache()
            .getAsync(
                "chapter_list",
                false,
                new ModelCache.CacheListener() {
                  @Override
                  public void onGet(Object item) {
                    Directory directory = (Directory) item;
                    initChapters(directory.getGroups());
                  }

                  @Override
                  public void onNotFound(String key) {
                    Crouton.makeText(
                            MainActivity.this, getString(R.string.offline_alert), Style.ALERT)
                        .show();
                  }
                });
      }
    } else {

      if (savedInstanceState.containsKey("chapters")) {
        ArrayList<Chapter> chapters = savedInstanceState.getParcelableArrayList("chapters");
        mSpinnerAdapter.clear();
        mSpinnerAdapter.addAll(chapters);

        if (savedInstanceState.containsKey("selected_chapter")) {
          Chapter selectedChapter = savedInstanceState.getParcelable("selected_chapter");
          selectChapter(selectedChapter);
        } else {
          mViewPagerAdapter.setSelectedChapter(chapters.get(0));
        }

        mViewPager.setAdapter(mViewPagerAdapter);
        mIndicator.setViewPager(mViewPager);
      } else {
        mFetchChaptersTask.execute();
      }
    }

    Intent intent = getIntent();
    if (intent != null
        && intent.getAction() != null
        && intent.getAction().equals("finish_first_start")) {
      Timber.d("Completed FirstStartWizard");

      if (mPreferences.getBoolean(Const.SETTINGS_SIGNED_IN, false)) {
        mFirstStart = true;
      }

      Chapter homeGdgd = getIntent().getParcelableExtra("selected_chapter");
      getSupportActionBar().setSelectedNavigationItem(mSpinnerAdapter.getPosition(homeGdgd));
      mViewPagerAdapter.setSelectedChapter(homeGdgd);
    }

    Time now = new Time();
    now.setToNow();
    if ((mPreferences.getInt(Const.SETTINGS_SEASONS_GREETINGS, now.year - 1) < now.year)
        && (now.yearDay >= 354 && now.yearDay <= 366)) {
      mPreferences.edit().putInt(Const.SETTINGS_SEASONS_GREETINGS, now.year).commit();
      SeasonsGreetingsFragment seasonsGreetings = new SeasonsGreetingsFragment();
      seasonsGreetings.show(getSupportFragmentManager(), "dialog");
    }
  }
Example #5
0
 @Override
 protected void onPause() {
   super.onPause();
   Timber.d("onPause()");
 }
Example #6
0
 @Override
 protected void onActivityResult(int requestCode, int responseCode, Intent intent) {
   super.onActivityResult(requestCode, responseCode, intent);
 }
Example #7
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Log.i(LOG_TAG, "onCreate");
    setContentView(R.layout.activity_pulse);

    getSupportActionBar().setLogo(R.drawable.ic_logo_pulse);

    mClient = new GroupDirectory();

    mIndicator.setOnPageChangeListener(
        new ViewPager.OnPageChangeListener() {
          @Override
          public void onPageScrolled(int i, float v, int i2) {}

          @Override
          public void onPageSelected(int i) {
            Log.d(LOG_TAG, "onPageSelected()");
            trackViewPagerPage(i);
          }

          @Override
          public void onPageScrollStateChanged(int i) {}
        });

    mPulseTargets = new ArrayList<String>();

    mViewPagerAdapter = new MyAdapter(this, getSupportFragmentManager());
    mSpinnerAdapter =
        new ArrayAdapter<String>(PulseActivity.this, android.R.layout.simple_list_item_1);
    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    getSupportActionBar().setListNavigationCallbacks(mSpinnerAdapter, PulseActivity.this);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);

    mFetchGlobalPulseTask =
        mClient.getPulse(
            new Response.Listener<Pulse>() {
              @Override
              public void onResponse(final Pulse pulse) {
                getSupportActionBar()
                    .setListNavigationCallbacks(mSpinnerAdapter, PulseActivity.this);
                App.getInstance()
                    .getModelCache()
                    .putAsync(
                        "pulse_global",
                        pulse,
                        DateTime.now().plusDays(1),
                        new ModelCache.CachePutListener() {
                          @Override
                          public void onPutIntoCache() {
                            mPulseTargets.addAll(pulse.keySet());
                            initSpinner();
                          }
                        });
              }
            },
            new Response.ErrorListener() {
              @Override
              public void onErrorResponse(VolleyError volleyError) {
                Crouton.makeText(
                        PulseActivity.this, getString(R.string.fetch_chapters_failed), Style.ALERT)
                    .show();
                Log.e(LOG_TAG, "Could'nt fetch chapter list", volleyError);
              }
            });

    App.getInstance()
        .getModelCache()
        .getAsync(
            "pulse_global",
            true,
            new ModelCache.CacheListener() {
              @Override
              public void onGet(Object item) {
                Pulse pulse = (Pulse) item;
                mPulseTargets.addAll(pulse.keySet());
                initSpinner();
              }

              @Override
              public void onNotFound(String key) {
                mFetchGlobalPulseTask.execute();
              }
            });
  }