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

Unified Diff: shell/android/apk/src/org/chromium/mojo/shell/ShellService.java

Issue 1414633004: Use file to pass arguments to the shell. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 2 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
Index: shell/android/apk/src/org/chromium/mojo/shell/ShellService.java
diff --git a/shell/android/apk/src/org/chromium/mojo/shell/ShellService.java b/shell/android/apk/src/org/chromium/mojo/shell/ShellService.java
index efb129c7c898f3c9f5a9e15deb4ca8a75d6fa8e4..7b0963b075d3d2ae610d167a6359688f7ba71073 100644
--- a/shell/android/apk/src/org/chromium/mojo/shell/ShellService.java
+++ b/shell/android/apk/src/org/chromium/mojo/shell/ShellService.java
@@ -14,7 +14,6 @@ import android.content.res.AssetManager;
import android.net.Uri;
import android.os.Binder;
import android.os.IBinder;
-import android.util.JsonReader;
import android.util.Log;
import org.chromium.base.ApplicationStatus;
@@ -28,9 +27,10 @@ import org.chromium.mojo.system.impl.CoreImpl;
import org.chromium.mojom.mojo.ServiceProvider;
import org.chromium.mojom.mojo.Shell;
+import java.io.BufferedReader;
import java.io.File;
+import java.io.FileReader;
import java.io.IOException;
-import java.io.StringReader;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Arrays;
@@ -242,24 +242,24 @@ public class ShellService extends Service {
if (intent == null) {
return null;
}
- String[] parameters = intent.getStringArrayExtra("parameters");
- if (parameters != null) {
- return parameters;
- }
- String encodedParameters = intent.getStringExtra("encodedParameters");
- if (encodedParameters != null) {
- JsonReader reader = new JsonReader(new StringReader(encodedParameters));
- List<String> parametersList = new ArrayList<String>();
- try {
- reader.beginArray();
- while (reader.hasNext()) {
- parametersList.add(reader.nextString());
+ String parameterFile = intent.getStringExtra("parametersFile");
+ if (parameterFile != null) {
ppi 2015/10/29 16:27:40 should we do if (parameterFile == null) { retu
qsr 2015/10/29 16:57:02 I'd rather not. In case we introduced another way
+ File file = new File(parameterFile);
+ if (file.isFile()) {
ppi 2015/10/29 16:27:40 same here, should we invert the condition and retu
qsr 2015/10/29 16:57:02 Done.
+ try {
+ List<String> parametersList = new ArrayList<String>();
+ try (BufferedReader bufferedReader = new BufferedReader(new FileReader(file))) {
+ String line;
+ while ((line = bufferedReader.readLine()) != null) {
+ parametersList.add(line);
+ }
+ return parametersList.toArray(new String[parametersList.size()]);
+ } catch (IOException e) {
+ Log.w(TAG, e.getMessage(), e);
+ }
+ } finally {
+ file.delete();
}
- reader.endArray();
- reader.close();
- return parametersList.toArray(new String[parametersList.size()]);
- } catch (IOException e) {
- Log.w(TAG, e.getMessage(), e);
}
}
return null;

Powered by Google App Engine
This is Rietveld 408576698