/** @return True if the backup location was created successfully */
  private boolean handleBackupLocation() {

    try {
      // Locate the installation directory
      File applicationDataDirectory = InstallationManager.getOrCreateApplicationDataDirectory();

      log.debug("Cloud backup...");
      File cloudBackupLocation = null;
      if (Configurations.currentConfiguration != null) {
        String cloudBackupLocationString =
            Configurations.currentConfiguration.getAppearance().getCloudBackupLocation();
        if (cloudBackupLocationString != null && !"".equals(cloudBackupLocationString)) {
          cloudBackupLocation = new File(cloudBackupLocationString);
        }
      }

      log.debug("Backup manager...");
      // Initialise backup (must be before Bitcoin network starts and on the main thread)
      BackupManager.INSTANCE.initialise(
          applicationDataDirectory,
          cloudBackupLocation == null ? Optional.<File>absent() : Optional.of(cloudBackupLocation));

      return true;

    } catch (Exception e) {
      log.error("Failed to create backup location.", e);
    }

    // Must have failed to be here
    return false;
  }