private File findFileByNameSync(String name) throws IOException { // escape some chars (') see : https://developers.google.com/drive/v3/web/search-parameters#fn1 List<File> files = GApiGateway.drive.files().list().setSpaces("appDataFolder").setQ("name='" + name + "'") .execute().getFiles(); if (files.size() > 1) { throw new GdxRuntimeException("multiple files with name " + name + " exists."); } else if (files.size() < 1) { return null; } else { return files.get(0); } }
/** * Blocking version of {@link #fetchGameStatesSync()} * * @return game states * @throws IOException */ public Array<String> fetchGameStatesSync() throws IOException { if (!driveApiEnabled) throw new UnsupportedOperationException(); Array<String> games = new Array<String>(); FileList l = GApiGateway.drive.files().list() .setSpaces("appDataFolder") .setFields("files(name)") .execute(); for (File f : l.getFiles()) { games.add(f.getName()); } return games; }