@Override
  public synchronized boolean getNewItemsFromServer(
      Progress progress, PullToRefreshBase<?> refreshView, TaskHost priorityHost) {
    if (!isTaskCanExec(mBaseGetControllerDataTask)) {
      if (progress != null) {
        progress.finishProgress();
      }
      if (progress == null && refreshView != null) {
        refreshView.onRefreshComplete();
      }
      return false;
    }

    final Account tmp = getAccountAttached();
    mBaseGetControllerDataTask = createGetDataTask();
    mBaseGetControllerDataTask.setProgress(progress);
    mBaseGetControllerDataTask.setRefreshView(refreshView);
    mBaseGetControllerDataTask.setPriorityHost(priorityHost);
    mBaseGetControllerDataTask.setProcessNewItemsTaskHost(
        new ProcessNewItemsTaskHost<NotifyMessage>() {
          @Override
          public void onPostExecuteCacheChanged(List<NotifyMessage> list) {
            super.onPostExecuteCacheChanged(list);
            if (tmp != null) {
              getCache().deleteAll();
              for (NotifyMessage notifyMsg : list) {
                notifyMsg.invalidate();
              }
              asyncFlushCacheItem(list);
              getCache().clear();
              if (!ListUtils.isEmpty(list)) {
                getCache().addAll(list);
              }
              cacheChanged();
            } else {
              Log.w(getClass().getSimpleName(), ">>>#获取消息通知列表为空");
            }
            markAllMessage();
          }
        });
    mBaseGetControllerDataTask.execute();

    return true;
  }