private void loadAndDisplay()

in app/src/main/java/com/google/reviewit/ReviewChangesFragment.java [131:217]


  private void loadAndDisplay(final boolean clear) {
    if (!isOnline()) {
      setInvisible(v(R.id.progress));
      setGone(v(R.id.initialProgress));
      setVisible(v(R.id.statusText, R.id.reloadButton));
      TextView statusText = tv(R.id.statusText);
      statusText.setText(getString(R.string.no_network));
      statusText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
      return;
    }

    new AsyncTask<Void, Void, ChangeListData>() {
      private SwipeRefreshLayout swipeRefreshLayout;
      private View progress;
      private View initialProgress;
      private View nextPageProgress;
      private View reloadButton;
      private TextView statusText;
      private ViewGroup changeList;

      @Override
      protected void onPreExecute() {
        super.onPreExecute();
        swipeRefreshLayout = (SwipeRefreshLayout) v(R.id.swipeRefreshLayout);
        progress = v(R.id.progress);
        initialProgress = v(R.id.initialProgress);
        nextPageProgress = v(R.id.nextPageProgress);
        reloadButton = v(R.id.reloadButton);
        statusText = tv(R.id.statusText);
        changeList = vg(R.id.changeList);
      }

      @Override
      protected ChangeListData doInBackground(Void... v) {
        try {
          QueryHandler queryHandler = getApp().getQueryHandler();
          if (queryHandler.hasNext()) {
            return new ChangeListData(queryHandler.next());
          } else {
            return new ChangeListData(Collections.<Change>emptyList());
          }
        } catch (RestApiException e) {
          // e.g. server not reachable
          Log.e(TAG, "Request failed", e);
          if (e.getCause() != null) {
            return new ChangeListData(getString(R.string.error_with_cause,
                e.getMessage(), e.getCause().getMessage()));
          } else {
            return new ChangeListData(e.getMessage());
          }
        }
      }

      @Override
      protected void onPostExecute(ChangeListData changeListData) {
        super.onPostExecute(changeListData);

        if (getActivity() == null) {
          // user navigated away while we were waiting for the request
          return;
        }

        getActivity().invalidateOptionsMenu();
        setInvisible(progress);
        setGone(initialProgress, reloadButton, nextPageProgress);
        swipeRefreshLayout.setRefreshing(false);

        if (changeListData.error != null) {
          statusText.setText(changeListData.error);
          return;
        }

        if (!changeListData.changeList.isEmpty()) {
          setGone(statusText);
          if (clear) {
            changeList.removeAllViews();
          }
          for (Change change : changeListData.changeList) {
            changeList.addView(createChangeEntry(change));
            addSeparator(changeList);
          }
        } else {
          statusText.setText(getString(R.string.no_changes_match));
        }
      }
    }.execute();
  }