     }
     
     override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        // When the app is performing network task, don't interrupt.
+        if isDownloading {
+            return
+        }
         // Remote action section.
         if indexPath.section == lastSectionIndex,
             let urlString = Configuration.singleton.remoteActions[indexPath.row].values.first,

                }
            }
        }
    }
    
    // MARK: - UI elements.

    override func viewDidLoad() {
        super.viewDidLoad()
        let productIdentifiers: Set<ProductIdentifier> = [iapRemoveAd]
        overrideLoadingIndicator = false
        showLoading()
        IAPHelper.sharedInstance.requestProducts(productIdentifiers) { [weak self] (response, error) in
            DispatchQueue.main.async {
                self?.hideLoading()
                self?.overrideLoadingIndicator = true
                if let response = response,
                    !response.products.isEmpty {
                    // Reload tableView with the newly downloaded product.
