/** * Delete spreadsheet which name is title. * * @param title the name of spreadsheet * @param activity to get context * @param accountName the name of Google account * @return true means delete successfully */ public static boolean deleteSpreadsheetByTitle( String title, Activity activity, String accountName) { try { GoogleAccountCredential driveCredential = SendToGoogleUtils.getGoogleAccountCredential( activity.getApplicationContext(), accountName, SendToGoogleUtils.DRIVE_SCOPE); if (driveCredential == null) { return false; } Drive drive = SyncUtils.getDriveService(driveCredential); com.google.api.services.drive.Drive.Files.List list = drive .files() .list() .setQ( String.format(Locale.US, SendSpreadsheetsAsyncTask.GET_SPREADSHEET_QUERY, title)); List<File> files = list.execute().getItems(); for (Iterator<File> iterator = files.iterator(); iterator.hasNext(); ) { File file = (File) iterator.next(); drive.files().delete(file.getId()).execute(); } return true; } catch (Exception e) { Log.e(EndToEndTestUtils.LOG_TAG, "Search spreadsheet failed."); } return false; }
/** * Removes old tracks created by MyTracks test. * * @param activity * @param accountName */ public static void deleteTestTracksOnGoogleDrive(Activity activity, String accountName) { try { GoogleAccountCredential driveCredential = SendToGoogleUtils.getGoogleAccountCredential( activity.getApplicationContext(), accountName, SendToGoogleUtils.DRIVE_SCOPE); if (driveCredential == null) { return; } Drive drive = SyncUtils.getDriveService(driveCredential); com.google.api.services.drive.Drive.Files.List list = drive.files().list().setQ(TEST_TRACKS_QUERY); List<File> files = list.execute().getItems(); for (Iterator<File> iterator = files.iterator(); iterator.hasNext(); ) { File file = (File) iterator.next(); drive.files().delete(file.getId()).execute(); } } catch (Exception e) { Log.e(EndToEndTestUtils.LOG_TAG, "Delete test tracks failed."); } }
/** * Searches docs in user's Google Documents. * * @param title the title of doc * @param activity to get context * @param accountName the name of Google account * @return the file list of the document, null means can not find the spreadsheets */ public static List<File> searchAllSpreadsheetByTitle( String title, Activity activity, String accountName) { try { GoogleAccountCredential driveCredential = SendToGoogleUtils.getGoogleAccountCredential( activity.getApplicationContext(), accountName, SendToGoogleUtils.DRIVE_SCOPE); if (driveCredential == null) { return null; } Drive drive = SyncUtils.getDriveService(driveCredential); com.google.api.services.drive.Drive.Files.List list = drive .files() .list() .setQ( String.format(Locale.US, SendSpreadsheetsAsyncTask.GET_SPREADSHEET_QUERY, title)); FileList result = list.execute(); return result.getItems(); } catch (Exception e) { Log.e(EndToEndTestUtils.LOG_TAG, "Search spreadsheet failed."); } return null; }