@Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    // Replace the result Cursor displayed by the Cursor Adapter with
    // the new result set.

    // This handler is not synchonrized with the UI thread, so you
    // will need to synchronize it before modiyfing any UI elements
    // directly.
    switch (loader.getId()) {
      case URL_ROUTES_LOADER_ALL:
        while (data.moveToNext()) {

          int climbingRouteIdColumnIndex = data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_ID);
          int climbingRouteNameColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_NAME);
          int climbingRouteLatitudeColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_LATITUDE);
          int climbingRouteLongitudeColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_LONGITUDE);
          int climbingRouteRankingColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_RANKING);
          int climbingRouteImageColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_IMAGE_URL);
          int climbingRouteDifficultyColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_UIAA);
          int climbingRouteFollowClimbColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_FOLLOW_CLIMB_ACCOMPLISHED);
          int climbingRouteLeadingClimbColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_LEADING_CLIMB_ACCOMPLISHED);
          int climbingRouteRouteAccomplishedColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_ROUTE_ACCOMPLISHED);
          int climbingRouteClimbingAreaColumnIndex =
              data.getColumnIndex(ClimbingDBHelper.COLUMN_ROUTES_CLIMBINGAREA_ID);

          int id = data.getInt(climbingRouteIdColumnIndex);
          String name = data.getString(climbingRouteNameColumnIndex);
          float latitude = data.getFloat(climbingRouteLatitudeColumnIndex);
          float longitude = data.getFloat(climbingRouteLongitudeColumnIndex);
          float ranking = data.getFloat(climbingRouteRankingColumnIndex);
          String difficulty = data.getString(climbingRouteDifficultyColumnIndex);
          String imageUrl = data.getString(climbingRouteImageColumnIndex);
          boolean followClimbAccomplished = data.getInt(climbingRouteFollowClimbColumnIndex) > 0;
          boolean leadClimbAccomplished = data.getInt(climbingRouteLeadingClimbColumnIndex) > 0;
          boolean routeAccomplished = data.getInt(climbingRouteRouteAccomplishedColumnIndex) > 0;
          int climbingArea = data.getInt(climbingRouteClimbingAreaColumnIndex);

          ClimbingRoute climbingRoute = new ClimbingRoute();
          climbingRoute.setId(id);
          climbingRoute.setName(name);
          climbingRoute.setLatitude(latitude);
          climbingRoute.setLongitude(longitude);
          climbingRoute.setRanking(ranking);
          climbingRoute.setDrawableUrl(imageUrl);
          climbingRoute.setUIAARank(difficulty);
          climbingRoute.setFollowClimbAccomplished(followClimbAccomplished);
          climbingRoute.setLeadClimbAccomplished(leadClimbAccomplished);
          climbingRoute.setRouteAccomplished(routeAccomplished);

          Log.d(TAG, "Climbing Area loaded: " + climbingArea);
          selectedArea.getRoutes().add(climbingRoute);
        }
        break;
      default:
    }

    int size = selectedRoutes.size();
    clearSelectedRoutes();
    selectedRoutes.addAll(selectedArea.getRoutes());
    recyclerViewAdapter.notifyItemRangeRemoved(0, size);
    setChartData(selectedArea);
    setShareIntent(selectedArea);
    // TextView sumRoutes = (TextView) findViewById(R.id.textView_sum_routes);
    // sumRoutes.setText(selectedArea.getRoutes().size() + "");
  }