/**
   * Shows the current status of the uploader either in a progress bar or in toast in case of an
   * error.
   */
  private void showUploadStatus() {

    switch (uploadStatus) {
      case UploadThread.CONNECTING:
        showProgressDialog(getResources().getString(R.string.uul_connecting));
        break;
      case UploadThread.UPLOADING:
        showProgressDialog(
            getResources().getString(R.string.uul_uploading),
            uploadThread.getFileLength(),
            uploadThread.getBytesUploaded());
        break;
      default:
        dismissProgressDialog();
    }

    switch (uploadThread.getErrorCode()) {
      case UploadThread.NO_ERROR:
        break;
      case UploadThread.OPEN_BT_ERROR:
        if (pairing) showToast(R.string.uul_bluetooth_pairing);
        else showBTErrorDialog();
        break;
      case UploadThread.CLOSE_BT_ERROR:
        showBTErrorDialog();
        break;
      case UploadThread.OPEN_FILE_ERROR:
        showToast(R.string.uul_file_open_error);
        break;
      case UploadThread.UPLOAD_ERROR:
        showBTErrorDialog();
        break;
      default:
        showToast(R.string.uul_other_error);
    }
    uploadThread.resetErrorCode();
  }