| 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()));
|
| - }
|
| -}
|
|
|