Skip to content

Commit b5d70e7

Browse files
alexcohnSasha Cohn
authored andcommitted
cleanup execute()
lint complains about concatenate()
1 parent bd959a0 commit b5d70e7

File tree

2 files changed

+6
-30
lines changed

2 files changed

+6
-30
lines changed

android-ffmpeg/src/main/java/nl/bravobit/ffmpeg/FFmpeg.java

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import android.os.AsyncTask;
55

66
import java.io.File;
7-
import java.lang.reflect.Array;
87
import java.util.Map;
98

109
public class FFmpeg implements FFbinaryInterface {
@@ -54,8 +53,9 @@ public boolean isSupported() {
5453
@Override
5554
public FFtask execute(Map<String, String> environvenmentVars, String[] cmd, FFcommandExecuteResponseHandler ffmpegExecuteResponseHandler) {
5655
if (cmd.length != 0) {
57-
String[] ffmpegBinary = new String[]{FileUtils.getFFmpeg(context.provide()).getAbsolutePath()};
58-
String[] command = concatenate(ffmpegBinary, cmd);
56+
final String[] command = new String[cmd.length + 1];
57+
command[0] = FileUtils.getFFmpeg(context.provide()).getAbsolutePath();
58+
System.arraycopy(cmd, 0, command, 1, cmd.length);
5959
FFcommandExecuteAsyncTask task = new FFcommandExecuteAsyncTask(command, environvenmentVars, timeout, ffmpegExecuteResponseHandler);
6060
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
6161
return task;
@@ -64,18 +64,6 @@ public FFtask execute(Map<String, String> environvenmentVars, String[] cmd, FFco
6464
}
6565
}
6666

67-
private static <T> T[] concatenate(T[] a, T[] b) {
68-
int aLen = a.length;
69-
int bLen = b.length;
70-
71-
@SuppressWarnings("unchecked")
72-
T[] c = (T[]) Array.newInstance(a.getClass().getComponentType(), aLen + bLen);
73-
System.arraycopy(a, 0, c, 0, aLen);
74-
System.arraycopy(b, 0, c, aLen, bLen);
75-
76-
return c;
77-
}
78-
7967
@Override
8068
public FFtask execute(String[] cmd, FFcommandExecuteResponseHandler ffmpegExecuteResponseHandler) {
8169
return execute(null, cmd, ffmpegExecuteResponseHandler);

android-ffmpeg/src/main/java/nl/bravobit/ffmpeg/FFprobe.java

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import android.os.AsyncTask;
55

66
import java.io.File;
7-
import java.lang.reflect.Array;
87
import java.util.Map;
98

109
public class FFprobe implements FFbinaryInterface {
@@ -52,8 +51,9 @@ public boolean isSupported() {
5251
@Override
5352
public FFtask execute(Map<String, String> environvenmentVars, String[] cmd, FFcommandExecuteResponseHandler ffcommandExecuteResponseHandler) {
5453
if (cmd.length != 0) {
55-
String[] ffprobeBinary = new String[]{FileUtils.getFFprobe(context.provide()).getAbsolutePath()};
56-
String[] command = concatenate(ffprobeBinary, cmd);
54+
final String[] command = new String[cmd.length + 1];
55+
command[0] = FileUtils.getFFprobe(context.provide()).getAbsolutePath();
56+
System.arraycopy(cmd, 0, command, 1, cmd.length);
5757
FFcommandExecuteAsyncTask task = new FFcommandExecuteAsyncTask(command, environvenmentVars, timeout, ffcommandExecuteResponseHandler);
5858
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
5959
return task;
@@ -62,18 +62,6 @@ public FFtask execute(Map<String, String> environvenmentVars, String[] cmd, FFco
6262
}
6363
}
6464

65-
private static <T> T[] concatenate(T[] a, T[] b) {
66-
int aLen = a.length;
67-
int bLen = b.length;
68-
69-
@SuppressWarnings("unchecked")
70-
T[] c = (T[]) Array.newInstance(a.getClass().getComponentType(), aLen + bLen);
71-
System.arraycopy(a, 0, c, 0, aLen);
72-
System.arraycopy(b, 0, c, aLen, bLen);
73-
74-
return c;
75-
}
76-
7765
@Override
7866
public FFtask execute(String[] cmd, FFcommandExecuteResponseHandler ffcommandExecuteResponseHandler) {
7967
return execute(null, cmd, ffcommandExecuteResponseHandler);

0 commit comments

Comments
 (0)