com.google.android.gms.drive.MetadataBuffer Java Examples
The following examples show how to use
com.google.android.gms.drive.MetadataBuffer.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GoogleDriveClient.java From financisto with GNU General Public License v2.0 | 6 votes |
private List<DriveFileInfo> fetchFiles(DriveApi.MetadataBufferResult metadataBufferResult) { List<DriveFileInfo> files = new ArrayList<DriveFileInfo>(); MetadataBuffer metadataBuffer = metadataBufferResult.getMetadataBuffer(); if (metadataBuffer == null) return files; try { for (Metadata metadata : metadataBuffer) { if (metadata == null) continue; String title = metadata.getTitle(); if (!title.endsWith(".backup")) continue; files.add(new DriveFileInfo(metadata.getDriveId(), title, metadata.getCreatedDate())); } } finally { metadataBuffer.close(); } Collections.sort(files); return files; }
Example #2
Source File: Querier.java From Drive-Database-Sync with Apache License 2.0 | 6 votes |
/** * Handles the result of the query. If the results are nonzero, passes up the {@link Metadata} * out of the result one at a time through {@link QuerierResultCallback#onQuerierResult(Metadata)} * with the {@link QuerierResultCallback} registered in ths {@link Querier}. If the results are * null, calls {@link QuerierResultCallback#onNoQuerierResult()} * @param result the result of the query */ @Override public void onResult(DriveApi.MetadataBufferResult result) { if (!result.getStatus().isSuccess()) { Log.e("Querier", "Problem while retrieving files"); return; } // Get the metadata buffer MetadataBuffer buffer = result.getMetadataBuffer(); // Check for file dne if (buffer.getCount() == 0) { // Call null result callback callback.onNoQuerierResult(); } // Get the metadata for (Metadata m : buffer) { if (m.isInAppFolder() && !m.isTrashed()) { callback.onQuerierResult(m); break; } } }
Example #3
Source File: FileManager.java From amiibo with GNU General Public License v2.0 | 6 votes |
@DebugLog public void readFileContent(final String file_name, final List<Metadata> remainings) { Query query = new Query.Builder() .addFilter(Filters.eq(SearchableField.TITLE, file_name)) .build(); app_folder_for_user.queryChildren(_parent.getClient(), query) .setResultCallback(new ResultCallback<DriveApi.MetadataBufferResult>() { @Override public void onResult(DriveApi.MetadataBufferResult metadataBufferResult) { MetadataBuffer buffer = metadataBufferResult.getMetadataBuffer(); int count = buffer.getCount(); if (count > 0) { readFileFromDrive(buffer, buffer.get(0).getDriveId()); } else { _parent.onFileRead(null); } readFileContent(remainings); } }); }
Example #4
Source File: FileManager.java From amiibo with GNU General Public License v2.0 | 6 votes |
@DebugLog private void readFileFromDrive(final MetadataBuffer meta_data, final DriveId drive_id) { Drive.DriveApi.getFile(_parent.getClient(), drive_id) .open(_parent.getClient(), DriveFile.MODE_READ_ONLY, null) .setResultCallback(new ResultCallback<DriveApi.DriveContentsResult>() { @Override public void onResult(DriveApi.DriveContentsResult driveContentsResult) { try { InputStream input = driveContentsResult.getDriveContents() .getInputStream(); String total = consumeStream(input); AmiiboFile amiibo_file = AmiiboFile.fromString(total.toString()); _parent.onFileRead(amiibo_file); if (!meta_data.isClosed()) meta_data.release(); } catch (IOException e) { e.printStackTrace(); _parent.onFileRead(null); } } }); }
Example #5
Source File: QueryFilesInFolderActivity.java From android-samples with Apache License 2.0 | 6 votes |
/** * Retrieves results for the next page. For the first run, * it retrieves results for the first page. */ private void listFilesInFolder(DriveFolder folder) { Query query = new Query.Builder() .addFilter(Filters.eq(SearchableField.MIME_TYPE, "text/plain")) .build(); // [START drive_android_query_children] Task<MetadataBuffer> queryTask = getDriveResourceClient().queryChildren(folder, query); // END drive_android_query_children] queryTask .addOnSuccessListener(this, metadataBuffer -> mResultsAdapter.append(metadataBuffer)) .addOnFailureListener(this, e -> { Log.e(TAG, "Error retrieving files", e); showMessage(getString(R.string.query_failed)); finish(); }); }
Example #6
Source File: QueryFilesWithTitleActivity.java From android-samples with Apache License 2.0 | 6 votes |
/** * Retrieves results for the next page. For the first run, * it retrieves results for the first page. */ private void listFiles() { // [START drive_android_query_title] Query query = new Query.Builder() .addFilter(Filters.eq(SearchableField.TITLE, "HelloWorld.txt")) .build(); // [END drive_android_query_title] Task<MetadataBuffer> queryTask = getDriveResourceClient() .query(query) .addOnSuccessListener(this, metadataBuffer -> mResultsAdapter.append(metadataBuffer)) .addOnFailureListener(this, e -> { Log.e(TAG, "Error retrieving files", e); showMessage(getString(R.string.query_failed)); finish(); }); }
Example #7
Source File: MainActivity.java From android-samples with Apache License 2.0 | 6 votes |
/** * Retrieves the list from Drive if it exists. If not, create a new list. */ private Task<Void> initializeGroceryList() { Log.d(TAG, "Locating grocery list file."); Query query = new Query.Builder() .addFilter(Filters.eq(SearchableField.TITLE, getResources().getString(R.string.groceryListFileName))) .build(); return getDriveResourceClient() .query(query) .continueWithTask(task -> { MetadataBuffer metadataBuffer = task.getResult(); try { if (metadataBuffer.getCount() == 0) { return createNewFile(); } else { DriveId id = metadataBuffer.get(0).getDriveId(); return Tasks.forResult(id.asDriveFile()); } } finally { metadataBuffer.release(); } }) .continueWithTask(task -> loadContents(task.getResult())); }
Example #8
Source File: GoogleDriveClient.java From financisto with GNU General Public License v2.0 | 5 votes |
private DriveId fetchDriveId(DriveApi.MetadataBufferResult result) { MetadataBuffer buffer = result.getMetadataBuffer(); try { for (Metadata metadata : buffer) { if (metadata == null) continue; return metadata.getDriveId(); } } finally { buffer.close(); } return null; }
Example #9
Source File: FileManager.java From amiibo with GNU General Public License v2.0 | 5 votes |
@DebugLog public void listFiles() { if (app_folder_for_user != null) { Log.d("FileManager", app_folder_for_user.getDriveId().toString()); app_folder_for_user.listChildren(_parent.getClient()) .setResultCallback(new ResultCallback<DriveApi.MetadataBufferResult>() { @Override public void onResult(DriveApi.MetadataBufferResult metadataBufferResult) { List<Metadata> files = new ArrayList<>(); MetadataBuffer buffer = metadataBufferResult.getMetadataBuffer(); Metadata data; Log.d("FileManager", "onResult " + buffer.getCount() + " " + metadataBufferResult.getStatus().isSuccess()); for (int i = 0; i < buffer.getCount(); i++) { data = buffer.get(i); Log.d("FileManager", "data :: " + data.getTitle()); if (data.getTitle().endsWith(EXTENSION)) { if (!hasFileLocally(data.getTitle())) { files.add(data); } } } _parent.onListFilesResult(files); } }); } else { getAmiiboFolder(); } }
Example #10
Source File: FileManager.java From amiibo with GNU General Public License v2.0 | 5 votes |
@DebugLog private void getAmiiboFolder() { Drive.DriveApi.getRootFolder(_parent.getClient()) .listChildren(_parent.getClient()) .setResultCallback(new ResultCallback<DriveApi.MetadataBufferResult>() { @Override public void onResult(DriveApi.MetadataBufferResult metadataBufferResult) { boolean found = false; try { List<Metadata> files = new ArrayList<>(); MetadataBuffer buffer = metadataBufferResult.getMetadataBuffer(); Metadata data; for (int i = 0; i < buffer.getCount(); i++) { data = buffer.get(i); if (data.getTitle().equals(AMIIBO_FOLDER) && data.isFolder() && !data.isTrashed()) { app_folder_for_user = Drive.DriveApi .getFolder(_parent.getClient(), data.getDriveId()); Log.d("FileManager", data.getDriveId() + " " + data.getTitle()); } } } catch (Exception e) { e.printStackTrace(); } if (app_folder_for_user != null) { listFiles(); } else { createAmiiboFolder(); } } }); }
Example #11
Source File: QueryFilesActivity.java From android-samples with Apache License 2.0 | 5 votes |
/** * Retrieves results for the next page. For the first run, * it retrieves results for the first page. */ private void listFiles() { Query query = new Query.Builder() .addFilter(Filters.eq(SearchableField.MIME_TYPE, "text/plain")) .build(); // [START drive_android_query_files] Task<MetadataBuffer> queryTask = getDriveResourceClient().query(query); // [END drive_android_query_files] // [START drive_android_query_results] queryTask .addOnSuccessListener(this, metadataBuffer -> { // Handle results... // [START_EXCLUDE] mResultsAdapter.append(metadataBuffer); // [END_EXCLUDE] }) .addOnFailureListener(this, e -> { // Handle failure... // [START_EXCLUDE] Log.e(TAG, "Error retrieving files", e); showMessage(getString(R.string.query_failed)); finish(); // [END_EXCLUDE] }); // [END drive_android_query_results] }
Example #12
Source File: MainActivity.java From android-samples with Apache License 2.0 | 5 votes |
private Task<Void> loadFolderContents(DriveFolder folder) { Query folderQuery = new Query.Builder() .setSortOrder(new SortOrder.Builder() .addSortAscending(SortableField.CREATED_DATE) .build()) .build(); Task<MetadataBuffer> task = mDriveResourceClient.queryChildren(folder, folderQuery); return task.continueWith(task1 -> { MetadataBuffer items = task1.getResult(); List<Metadata> children = new ArrayList<>(items.getCount()); try { for (int i = 0; i < items.getCount(); i++) { children.add(items.get(i).freeze()); } // Show folders first Collections.sort(children, new Comparator<Metadata>() { @Override public int compare(Metadata a, Metadata b) { int aVal = a.isFolder() ? 1 : 0; int bVal = b.isFolder() ? 1 : 0; return bVal - aVal; } }); mFileFolderAdapter.setFiles(children); mFileFolderAdapter.notifyDataSetChanged(); } finally { items.release(); } return null; }); }