OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.net; | 5 package org.chromium.net; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 import android.os.ConditionVariable; | 8 import android.os.ConditionVariable; |
9 import android.os.Environment; | 9 import android.os.Environment; |
10 | 10 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 68 |
69 public CronetURLStreamHandlerFactory mStreamHandlerFactory; | 69 public CronetURLStreamHandlerFactory mStreamHandlerFactory; |
70 public CronetEngine mCronetEngine; | 70 public CronetEngine mCronetEngine; |
71 HttpUrlRequestFactory mRequestFactory; | 71 HttpUrlRequestFactory mRequestFactory; |
72 @SuppressFBWarnings("URF_UNREAD_FIELD") HistogramManager mHistogramManager; | 72 @SuppressFBWarnings("URF_UNREAD_FIELD") HistogramManager mHistogramManager; |
73 | 73 |
74 private final String[] mCommandLine; | 74 private final String[] mCommandLine; |
75 private final Context mContext; | 75 private final Context mContext; |
76 | 76 |
77 private String mUrl; | 77 private String mUrl; |
78 private boolean mLoading = false; | |
79 private int mHttpStatusCode = 0; | 78 private int mHttpStatusCode = 0; |
80 | 79 |
81 // CronetEngine.Builder used for this activity. | 80 // CronetEngine.Builder used for this activity. |
82 private CronetEngine.Builder mCronetEngineBuilder; | 81 private CronetEngine.Builder mCronetEngineBuilder; |
83 | 82 |
84 private class TestHttpUrlRequestListener implements HttpUrlRequestListener { | 83 private class TestHttpUrlRequestListener implements HttpUrlRequestListener { |
85 private final ConditionVariable mComplete = new ConditionVariable(); | 84 private final ConditionVariable mComplete = new ConditionVariable(); |
86 | 85 |
87 public TestHttpUrlRequestListener() {} | 86 public TestHttpUrlRequestListener() {} |
88 | 87 |
89 @Override | 88 @Override |
90 public void onResponseStarted(HttpUrlRequest request) { | 89 public void onResponseStarted(HttpUrlRequest request) { |
91 mHttpStatusCode = request.getHttpStatusCode(); | 90 mHttpStatusCode = request.getHttpStatusCode(); |
92 } | 91 } |
93 | 92 |
94 @Override | 93 @Override |
95 public void onRequestComplete(HttpUrlRequest request) { | 94 public void onRequestComplete(HttpUrlRequest request) { |
96 mLoading = false; | |
97 mComplete.open(); | 95 mComplete.open(); |
98 } | 96 } |
99 | 97 |
100 public void blockForComplete() { | 98 public void blockForComplete() { |
101 mComplete.block(); | 99 mComplete.block(); |
102 } | 100 } |
103 } | 101 } |
104 | 102 |
105 // TODO(crbug.com/547160): Fix this findbugs error and remove the suppressio
n. | 103 // TODO(crbug.com/547160): Fix this findbugs error and remove the suppressio
n. |
106 @SuppressFBWarnings("EI_EXPOSE_REP2") | 104 @SuppressFBWarnings("EI_EXPOSE_REP2") |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 InputStream dataStream = new ByteArrayInputStream(postData.getBytes(
)); | 243 InputStream dataStream = new ByteArrayInputStream(postData.getBytes(
)); |
246 ReadableByteChannel dataChannel = Channels.newChannel(dataStream); | 244 ReadableByteChannel dataChannel = Channels.newChannel(dataStream); |
247 request.setUploadChannel("text/plain", dataChannel, postData.length(
)); | 245 request.setUploadChannel("text/plain", dataChannel, postData.length(
)); |
248 request.setHttpMethod("POST"); | 246 request.setHttpMethod("POST"); |
249 } | 247 } |
250 } | 248 } |
251 | 249 |
252 public void startWithURL(String url) { | 250 public void startWithURL(String url) { |
253 Log.i(TAG, "Cronet started: " + url); | 251 Log.i(TAG, "Cronet started: " + url); |
254 mUrl = url; | 252 mUrl = url; |
255 mLoading = true; | |
256 | 253 |
257 HashMap<String, String> headers = new HashMap<String, String>(); | 254 HashMap<String, String> headers = new HashMap<String, String>(); |
258 TestHttpUrlRequestListener listener = new TestHttpUrlRequestListener(); | 255 TestHttpUrlRequestListener listener = new TestHttpUrlRequestListener(); |
259 HttpUrlRequest request = mRequestFactory.createRequest( | 256 HttpUrlRequest request = mRequestFactory.createRequest( |
260 url, HttpUrlRequest.REQUEST_PRIORITY_MEDIUM, headers, listener); | 257 url, HttpUrlRequest.REQUEST_PRIORITY_MEDIUM, headers, listener); |
261 applyCommandLineToHttpUrlRequest(request); | 258 applyCommandLineToHttpUrlRequest(request); |
262 request.start(); | 259 request.start(); |
263 listener.blockForComplete(); | 260 listener.blockForComplete(); |
264 } | 261 } |
265 | 262 |
266 public String getUrl() { | 263 public String getUrl() { |
267 return mUrl; | 264 return mUrl; |
268 } | 265 } |
269 | 266 |
270 public boolean isLoading() { | |
271 return mLoading; | |
272 } | |
273 | |
274 public int getHttpStatusCode() { | 267 public int getHttpStatusCode() { |
275 return mHttpStatusCode; | 268 return mHttpStatusCode; |
276 } | 269 } |
277 | 270 |
278 public void startNetLog() { | 271 public void startNetLog() { |
279 if (mRequestFactory != null) { | 272 if (mRequestFactory != null) { |
280 mRequestFactory.startNetLogToFile(Environment.getExternalStorageDire
ctory().getPath() | 273 mRequestFactory.startNetLogToFile(Environment.getExternalStorageDire
ctory().getPath() |
281 + "/cronet_sample_netlog_old_api.json", | 274 + "/cronet_sample_netlog_old_api.json", |
282 false); | 275 false); |
283 } | 276 } |
284 if (mCronetEngine != null) { | 277 if (mCronetEngine != null) { |
285 mCronetEngine.startNetLogToFile(Environment.getExternalStorageDirect
ory().getPath() | 278 mCronetEngine.startNetLogToFile(Environment.getExternalStorageDirect
ory().getPath() |
286 + "/cronet_sample_netlog_new_api.json", | 279 + "/cronet_sample_netlog_new_api.json", |
287 false); | 280 false); |
288 } | 281 } |
289 } | 282 } |
290 | 283 |
291 public void stopNetLog() { | 284 public void stopNetLog() { |
292 if (mRequestFactory != null) { | 285 if (mRequestFactory != null) { |
293 mRequestFactory.stopNetLog(); | 286 mRequestFactory.stopNetLog(); |
294 } | 287 } |
295 if (mCronetEngine != null) { | 288 if (mCronetEngine != null) { |
296 mCronetEngine.stopNetLog(); | 289 mCronetEngine.stopNetLog(); |
297 } | 290 } |
298 } | 291 } |
299 } | 292 } |
OLD | NEW |