コード例 #1
0
  public void categorizeCallLog(int logType) {
    if (null != mItemAdapter) {
      final List<DialpadItem> logGroups = PimEngine.getInstance(this).loadDialpadItems(false);

      final int count = logGroups.size();
      if (count > 0) {
        final ArrayList<DialpadItem> newValues = new ArrayList<DialpadItem>(count);
        for (int i = 0; i < count; i++) {
          final DialpadItem item = logGroups.get(i);
          if ((DialpadView.CALLLOG_TYPE_ALL == logType || item.hasCallType(logType))
              && DialpadItem.CALLLOG_TYPE == item.getType()) {
            // add by zenghuaying fix bug #8908
            if (item.getContactId() == 0) {
              item.setName(null);
            }
            // add end
            newValues.add(item);
          }
        }
        mItemAdapter.setIsShowInFilterList(false); // add by zenghuaying
        mItemAdapter.setFilterCallType(logType);
        mItemAdapter.update(newValues, false);
        loge("categorizeCallLog  adapter update");
      }

      if (Calls.OUTGOING_TYPE == logType) {
        setLogsEmptyHint(getResources().getText(R.string.outgoing_logs_empty));
      } else if (Calls.INCOMING_TYPE == logType) {
        setLogsEmptyHint(getResources().getText(R.string.incoming_logs_empty));
      } else if (Calls.MISSED_TYPE == logType) {
        setLogsEmptyHint(getResources().getText(R.string.missed_logs_empty));
      } else {
        setLogsEmptyHint(getResources().getText(R.string.call_logs_empty));
      }
    }
  }