Example #1
0
  /**
   * @param recommends
   * @param mListAdapter2
   */
  private void sortRecommendsRecent(
      Group<RecommendMsg> recommends, SeparatedListAdapter listAdapter) {

    // Sort all by timestamp first.
    Collections.sort(recommends, Comparators.getRecommendsRecencyComparator());

    // We'll group in different section adapters based on some time thresholds.
    Group<RecommendMsg> recent = new Group<RecommendMsg>();
    Group<RecommendMsg> today = new Group<RecommendMsg>();
    Group<RecommendMsg> yesterday = new Group<RecommendMsg>();
    Group<RecommendMsg> older = new Group<RecommendMsg>();

    EventTimestampSort timestamps = new EventTimestampSort();

    DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    for (RecommendMsg it : recommends) {
      try {
        Date date = format.parse(it.getCreateDate());
        if (date.after(timestamps.getBoundaryRecent())) {
          recent.add(it);
        } else if (date.after(timestamps.getBoundaryToday())) {
          today.add(it);
        } else if (date.after(timestamps.getBoundaryYesterday())) {
          yesterday.add(it);
        } else {
          older.add(it);
        }
      } catch (Exception ex) {
        Log.e(TAG, "exception during parsing date: " + ex.getMessage());
        older.add(it);
      }
    }
    if (recent.size() > 0) {
      RecommendListAdapter adapter =
          new RecommendListAdapter(
              this, ((Jianjianroid) getApplication()).getRemoteResourceManager());
      adapter.setGroup(recent);
      listAdapter.addSection(
          getResources().getString(R.string.friendsactivity_title_sort_recent), adapter);
    }

    if (today.size() > 0) {
      RecommendListAdapter adapter =
          new RecommendListAdapter(
              this, ((Jianjianroid) getApplication()).getRemoteResourceManager());
      adapter.setGroup(today);
      listAdapter.addSection(
          getResources().getString(R.string.friendsactivity_title_sort_today), adapter);
    }
    if (yesterday.size() > 0) {
      RecommendListAdapter adapter =
          new RecommendListAdapter(
              this, ((Jianjianroid) getApplication()).getRemoteResourceManager());
      adapter.setGroup(yesterday);
      listAdapter.addSection(
          getResources().getString(R.string.friendsactivity_title_sort_yesterday), adapter);
    }
    if (older.size() > 0) {
      RecommendListAdapter adapter =
          new RecommendListAdapter(
              this, ((Jianjianroid) getApplication()).getRemoteResourceManager());
      adapter.setGroup(older);
      listAdapter.addSection(
          getResources().getString(R.string.friendsactivity_title_sort_older), adapter);
    }
  }