Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Unified Diff: mojo/java/org/chromium/mojo/common/DataPipeUtils.java

Issue 1217573005: Do not use android specific API in mojo/java. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Do not use android APIs Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/java/BUILD.gn ('k') | mojo/java/src/org/chromium/mojo/common/DataPipeUtils.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/java/org/chromium/mojo/common/DataPipeUtils.java
diff --git a/mojo/java/org/chromium/mojo/common/DataPipeUtils.java b/mojo/java/org/chromium/mojo/common/DataPipeUtils.java
deleted file mode 100644
index b35ea0c97e833e1e7b1872056b257e7c47c9a879..0000000000000000000000000000000000000000
--- a/mojo/java/org/chromium/mojo/common/DataPipeUtils.java
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.mojo.common;
-
-import android.os.Handler;
-import android.util.Log;
-
-import org.chromium.mojo.system.Core;
-import org.chromium.mojo.system.DataPipe;
-import org.chromium.mojo.system.MojoException;
-import org.chromium.mojo.system.MojoResult;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.util.concurrent.Executor;
-
-
-/**
- * Helper class for copyToFile.
- */
-class CopyToFileJob implements Runnable {
- private static final String TAG = "CopyToFileJob";
-
- private final DataPipe.ConsumerHandle mSource;
- private final File mDest;
- private final Runnable mComplete;
- private final Handler mCaller;
- private final Core mCore;
-
- public CopyToFileJob(Core core, DataPipe.ConsumerHandle handle,
- File file, Runnable complete, Handler caller) {
- mCore = core;
- mSource = handle;
- mDest = file;
- mComplete = complete;
- mCaller = caller;
- }
-
- private void readLoop(FileChannel dest) {
- do {
- try {
- ByteBuffer buffer = mSource.beginReadData(0,
- DataPipe.ReadFlags.NONE);
- if (buffer.capacity() == 0)
- break;
- dest.write(buffer);
- mSource.endReadData(buffer.capacity());
- } catch (MojoException e) {
- // No one read the pipe, they just closed it.
- if (e.getMojoResult() == MojoResult.FAILED_PRECONDITION) {
- break;
- } else if (e.getMojoResult() == MojoResult.SHOULD_WAIT) {
- mCore.wait(mSource, Core.HandleSignals.READABLE, -1);
- } else {
- throw e;
- }
- } catch (IOException e) {
- Log.e(TAG, "mDest.write failed", e);
- break;
- }
- } while (true);
- }
-
- @Override
- public void run() {
- FileChannel dest = null;
- try {
- dest = new FileOutputStream(mDest, false).getChannel();
- readLoop(dest);
- } catch (java.io.FileNotFoundException e) {
- Log.e(TAG, "destination file does not exist ", e);
- }
- mSource.close();
- try {
- dest.close();
- } catch (IOException e) {
- Log.e(TAG, "failed to close file ", e);
- }
-
- mCaller.post(mComplete);
- }
-}
-
-
-/**
- * Java helpers for dealing with DataPipes.
- */
-public class DataPipeUtils {
- public static void copyToFile(Core core, DataPipe.ConsumerHandle source,
- File dest, Executor executor, Runnable complete) {
- // The default constructor for Handler uses the Looper for this thread.
- executor.execute(
- new CopyToFileJob(core, source, dest, complete, new Handler()));
- }
-}
« no previous file with comments | « mojo/java/BUILD.gn ('k') | mojo/java/src/org/chromium/mojo/common/DataPipeUtils.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698