aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/filemanager/commands/shell
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyanogenmod/filemanager/commands/shell')
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgram.java17
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgramListener.java4
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/ChecksumCommand.java13
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/CompressCommand.java5
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/ExecCommand.java6
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java5
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/FolderUsageCommand.java5
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/ReadCommand.java8
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java5
-rw-r--r--src/com/cyanogenmod/filemanager/commands/shell/WriteCommand.java4
10 files changed, 39 insertions, 33 deletions
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgram.java b/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgram.java
index 7c0a6f78..a340b78f 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgram.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgram.java
@@ -47,7 +47,7 @@ public abstract class AsyncResultProgram
/**
* @hide
*/
- final List<String> mPartialData;
+ final List<byte[]> mPartialData;
/**
* @hide
*/
@@ -97,7 +97,7 @@ public abstract class AsyncResultProgram
if (mAsyncResultListener instanceof ConcurrentAsyncResultListener) {
((ConcurrentAsyncResultListener) mAsyncResultListener).onRegister();
}
- this.mPartialData = Collections.synchronizedList(new ArrayList<String>());
+ this.mPartialData = Collections.synchronizedList(new ArrayList<byte[]>());
this.mPartialDataType = Collections.synchronizedList(new ArrayList<Byte>());
this.mTempBuffer = new StringBuffer();
this.mOnCancelListener = null;
@@ -169,12 +169,12 @@ public abstract class AsyncResultProgram
/**
* Method that parse the result of a program invocation.
*
- * @param partialIn A partial standard input buffer (incremental buffer)
+ * @param input A partial standard input buffer (incremental buffer)
* @hide
*/
- public final void onRequestParsePartialResult(String partialIn) {
+ public final void onRequestParsePartialResult(byte[] input) {
+ String partialIn = new String(input);
synchronized (this.mSync) {
- String data = partialIn;
String rest = ""; //$NON-NLS-1$
if (parseOnlyCompleteLines()) {
int pos = partialIn.lastIndexOf(FileHelper.NEWLINE);
@@ -185,12 +185,11 @@ public abstract class AsyncResultProgram
}
//Retrieve the data
- data = this.mTempBuffer.append(partialIn.substring(0, pos + 1)).toString();
rest = partialIn.substring(pos + 1);
}
this.mPartialDataType.add(STDIN);
- this.mPartialData.add(data);
+ this.mPartialData.add(input);
this.mTempBuffer = new StringBuffer(rest);
this.mSync.notify();
}
@@ -220,7 +219,7 @@ public abstract class AsyncResultProgram
}
this.mPartialDataType.add(STDERR);
- this.mPartialData.add(data);
+ this.mPartialData.add(data.getBytes());
this.mTempBuffer = new StringBuffer(rest);
this.mSync.notify();
}
@@ -381,7 +380,7 @@ public abstract class AsyncResultProgram
AsyncResultProgram.this.mSync.wait();
while (AsyncResultProgram.this.mPartialData.size() > 0) {
Byte type = AsyncResultProgram.this.mPartialDataType.remove(0);
- String data = AsyncResultProgram.this.mPartialData.remove(0);
+ byte[] data = AsyncResultProgram.this.mPartialData.remove(0);
try {
if (type.compareTo(STDIN) == 0) {
AsyncResultProgram.this.onParsePartialResult(data);
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgramListener.java b/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgramListener.java
index 158023c3..11622ff3 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgramListener.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/AsyncResultProgramListener.java
@@ -48,12 +48,12 @@ public interface AsyncResultProgramListener {
*
* @param partialIn A partial standard input buffer (incremental buffer)
*/
- void onParsePartialResult(String partialIn);
+ void onParsePartialResult(byte[] partialIn);
/**
* Method invoked when a parse of new error results are needed.
*
* @param partialErr A partial standard err buffer (incremental buffer)
*/
- void onParseErrorPartialResult(String partialErr);
+ void onParseErrorPartialResult(byte[] partialErr);
}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/ChecksumCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/ChecksumCommand.java
index 97fbea39..7b37815c 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/ChecksumCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/ChecksumCommand.java
@@ -89,8 +89,9 @@ public class ChecksumCommand extends AsyncResultProgram implements ChecksumExecu
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {
- if (partialIn == null || partialIn.length() ==0) return;
+ public void onParsePartialResult(final byte[] in) {
+ String partialIn = new String(in);
+ if (partialIn == null || partialIn.length() == 0) return;
boolean endsWithNewLine = partialIn.endsWith("\n"); //$NON-NLS-1$
String[] lines = partialIn.split("\n"); //$NON-NLS-1$
@@ -98,7 +99,7 @@ public class ChecksumCommand extends AsyncResultProgram implements ChecksumExecu
lines[0] = this.mPartial + lines[0];
// Return all the lines, except the last
- for (int i = 0; i < lines.length-1; i++) {
+ for (int i = 0; i < lines.length - 1; i++) {
if (getAsyncResultListener() != null) {
String data = processPartialResult(lines[i]);
if (data != null) {
@@ -110,7 +111,7 @@ public class ChecksumCommand extends AsyncResultProgram implements ChecksumExecu
// Return the last line?
if (endsWithNewLine) {
if (getAsyncResultListener() != null) {
- String data = processPartialResult(lines[lines.length-1]);
+ String data = processPartialResult(lines[lines.length - 1]);
if (data != null) {
getAsyncResultListener().onPartialResult(data);
}
@@ -118,7 +119,7 @@ public class ChecksumCommand extends AsyncResultProgram implements ChecksumExecu
this.mPartial = ""; //$NON-NLS-1$
} else {
// Save the partial for next calls
- this.mPartial = lines[lines.length-1];
+ this.mPartial = lines[lines.length - 1];
}
}
@@ -126,7 +127,7 @@ public class ChecksumCommand extends AsyncResultProgram implements ChecksumExecu
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {/**NON BLOCK**/}
+ public void onParseErrorPartialResult(byte[] partialErr) {/**NON BLOCK**/}
/**
* {@inheritDoc}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/CompressCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/CompressCommand.java
index 1659fa20..54e81315 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/CompressCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/CompressCommand.java
@@ -202,7 +202,8 @@ public class CompressCommand extends AsyncResultProgram implements CompressExecu
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {
+ public void onParsePartialResult(final byte[] in) {
+ String partialIn = new String(in);
if (partialIn == null || partialIn.length() ==0) return;
boolean endsWithNewLine = partialIn.endsWith("\n"); //$NON-NLS-1$
String[] lines = partialIn.split("\n"); //$NON-NLS-1$
@@ -240,7 +241,7 @@ public class CompressCommand extends AsyncResultProgram implements CompressExecu
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {/**NON BLOCK**/}
+ public void onParseErrorPartialResult(byte[] partialErr) {/**NON BLOCK**/}
/**
* {@inheritDoc}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/ExecCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/ExecCommand.java
index c66cef9f..82c4e28f 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/ExecCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/ExecCommand.java
@@ -65,7 +65,8 @@ public class ExecCommand extends AsyncResultProgram implements ExecExecutable {
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {
+ public void onParsePartialResult(byte[] in) {
+ String partialIn = new String(in);
//If a listener is defined, then send the partial result
if (partialIn != null && partialIn.length() > 0) {
if (getAsyncResultListener() != null) {
@@ -78,7 +79,8 @@ public class ExecCommand extends AsyncResultProgram implements ExecExecutable {
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {
+ public void onParseErrorPartialResult(byte[] in) {
+ String partialErr = new String(in);
//If a listener is defined, then send the partial result
if (partialErr != null && partialErr.length() > 0) {
if (getAsyncResultListener() != null) {
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java
index 4857a3e3..dfad941f 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/FindCommand.java
@@ -84,7 +84,8 @@ public class FindCommand extends AsyncResultProgram implements FindExecutable {
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {
+ public void onParsePartialResult(byte[] in) {
+ String partialIn = new String(in);
// Check the in buffer to extract information
final List<FileSystemObject> partialFiles = new ArrayList<FileSystemObject>();
@@ -144,7 +145,7 @@ public class FindCommand extends AsyncResultProgram implements FindExecutable {
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {/**NON BLOCK**/}
+ public void onParseErrorPartialResult(byte[] partialErr) {/**NON BLOCK**/}
/**
* {@inheritDoc}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/FolderUsageCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/FolderUsageCommand.java
index 134a3e34..9fc6d1bd 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/FolderUsageCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/FolderUsageCommand.java
@@ -90,7 +90,8 @@ public class FolderUsageCommand extends AsyncResultProgram implements FolderUsag
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {
+ public void onParsePartialResult(byte[] in) {
+ String partialIn = new String(in);
// Check the in buffer to extract information
BufferedReader br = null;
@@ -224,7 +225,7 @@ public class FolderUsageCommand extends AsyncResultProgram implements FolderUsag
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {/**NON BLOCK**/}
+ public void onParseErrorPartialResult(byte[] partialErr) {/**NON BLOCK**/}
/**
* {@inheritDoc}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/ReadCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/ReadCommand.java
index cd2232ba..c75f6a46 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/ReadCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/ReadCommand.java
@@ -61,11 +61,11 @@ public class ReadCommand extends AsyncResultProgram implements ReadExecutable {
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {
+ public void onParsePartialResult(byte[] in) {
//If a listener is defined, then send the partial result
- if (partialIn != null && partialIn.length() > 0) {
+ if (in != null && in.length > 0) {
if (getAsyncResultListener() != null) {
- getAsyncResultListener().onPartialResult(partialIn.getBytes());
+ getAsyncResultListener().onPartialResult(in);
}
}
}
@@ -74,7 +74,7 @@ public class ReadCommand extends AsyncResultProgram implements ReadExecutable {
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {/**NON BLOCK**/}
+ public void onParseErrorPartialResult(byte[] partialErr) {/**NON BLOCK**/}
/**
* {@inheritDoc}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java
index 4e77fdc7..bf5450b2 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/UncompressCommand.java
@@ -191,7 +191,8 @@ public class UncompressCommand extends AsyncResultProgram implements UncompressE
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {
+ public void onParsePartialResult(byte[] in) {
+ String partialIn = new String(in);
if (partialIn == null || partialIn.length() ==0) return;
boolean endsWithNewLine = partialIn.endsWith("\n"); //$NON-NLS-1$
String[] lines = partialIn.split("\n"); //$NON-NLS-1$
@@ -228,7 +229,7 @@ public class UncompressCommand extends AsyncResultProgram implements UncompressE
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {/**NON BLOCK**/}
+ public void onParseErrorPartialResult(byte[] partialErr) {/**NON BLOCK**/}
/**
* {@inheritDoc}
diff --git a/src/com/cyanogenmod/filemanager/commands/shell/WriteCommand.java b/src/com/cyanogenmod/filemanager/commands/shell/WriteCommand.java
index 51c0800c..8ee8727e 100644
--- a/src/com/cyanogenmod/filemanager/commands/shell/WriteCommand.java
+++ b/src/com/cyanogenmod/filemanager/commands/shell/WriteCommand.java
@@ -128,13 +128,13 @@ public class WriteCommand extends AsyncResultProgram implements WriteExecutable
* {@inheritDoc}
*/
@Override
- public void onParsePartialResult(final String partialIn) {/**NON BLOCK**/}
+ public void onParsePartialResult(final byte[] partialIn) {/**NON BLOCK**/}
/**
* {@inheritDoc}
*/
@Override
- public void onParseErrorPartialResult(String partialErr) {/**NON BLOCK**/}
+ public void onParseErrorPartialResult(byte[] partialErr) {/**NON BLOCK**/}
/**
* {@inheritDoc}