Chromium Code Reviews| 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; |