| Index: components/cronet/android/test/src/org/chromium/net/CronetTestActivity.java
|
| diff --git a/components/cronet/android/test/src/org/chromium/net/CronetTestActivity.java b/components/cronet/android/test/src/org/chromium/net/CronetTestActivity.java
|
| deleted file mode 100644
|
| index 0a3cdadc1baf1edef5f6b510140eccf409a243bc..0000000000000000000000000000000000000000
|
| --- a/components/cronet/android/test/src/org/chromium/net/CronetTestActivity.java
|
| +++ /dev/null
|
| @@ -1,310 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.net;
|
| -
|
| -import android.app.Activity;
|
| -import android.content.Context;
|
| -import android.content.Intent;
|
| -import android.os.Bundle;
|
| -import android.os.Environment;
|
| -
|
| -import static junit.framework.Assert.assertEquals;
|
| -import static junit.framework.Assert.assertTrue;
|
| -
|
| -import org.chromium.base.Log;
|
| -import org.chromium.base.PathUtils;
|
| -import org.chromium.base.annotations.SuppressFBWarnings;
|
| -import org.chromium.net.urlconnection.CronetURLStreamHandlerFactory;
|
| -
|
| -import java.io.ByteArrayInputStream;
|
| -import java.io.File;
|
| -import java.io.InputStream;
|
| -
|
| -import java.nio.channels.Channels;
|
| -import java.nio.channels.ReadableByteChannel;
|
| -import java.util.HashMap;
|
| -
|
| -/**
|
| - * Activity for managing the Cronet Test.
|
| - */
|
| -@SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
|
| -public class CronetTestActivity extends Activity {
|
| - private static final String TAG = "CronetTestActivity";
|
| -
|
| - public static final String COMMAND_LINE_ARGS_KEY = "commandLineArgs";
|
| - public static final String POST_DATA_KEY = "postData";
|
| - public static final String CONFIG_KEY = "config";
|
| - public static final String CACHE_KEY = "cache";
|
| - public static final String SDCH_KEY = "sdch";
|
| -
|
| - public static final String LIBRARY_INIT_KEY = "libraryInit";
|
| - /**
|
| - * Skips library initialization.
|
| - */
|
| - public static final String LIBRARY_INIT_SKIP = "skip";
|
| -
|
| - // Uses disk cache.
|
| - public static final String CACHE_DISK = "disk";
|
| -
|
| - // Uses disk cache but does not store http data.
|
| - public static final String CACHE_DISK_NO_HTTP = "diskNoHttp";
|
| -
|
| - // Uses in-memory cache.
|
| - public static final String CACHE_IN_MEMORY = "memory";
|
| -
|
| - // Enables Sdch.
|
| - public static final String SDCH_ENABLE = "enable";
|
| -
|
| - /**
|
| - * Initializes Cronet Async API only.
|
| - */
|
| - public static final String LIBRARY_INIT_CRONET_ONLY = "cronetOnly";
|
| -
|
| - /**
|
| - * Initializes Cronet HttpURLConnection Wrapper API.
|
| - */
|
| - public static final String LIBRARY_INIT_WRAPPER = "wrapperOnly";
|
| -
|
| - public CronetURLStreamHandlerFactory mStreamHandlerFactory;
|
| - public CronetEngine mCronetEngine;
|
| - HttpUrlRequestFactory mRequestFactory;
|
| - @SuppressFBWarnings("URF_UNREAD_FIELD")
|
| - HistogramManager mHistogramManager;
|
| -
|
| - String mUrl;
|
| -
|
| - boolean mLoading = false;
|
| -
|
| - int mHttpStatusCode = 0;
|
| -
|
| - // CronetEngine.Builder used for this activity.
|
| - private CronetEngine.Builder mCronetEngineBuilder;
|
| -
|
| - class TestHttpUrlRequestListener implements HttpUrlRequestListener {
|
| - public TestHttpUrlRequestListener() {
|
| - }
|
| -
|
| - @Override
|
| - public void onResponseStarted(HttpUrlRequest request) {
|
| - mHttpStatusCode = request.getHttpStatusCode();
|
| - }
|
| -
|
| - @Override
|
| - public void onRequestComplete(HttpUrlRequest request) {
|
| - mLoading = false;
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - protected void onCreate(final Bundle savedInstanceState) {
|
| - super.onCreate(savedInstanceState);
|
| - prepareTestStorage();
|
| -
|
| - // Print out extra arguments passed in starting this activity.
|
| - Intent intent = getIntent();
|
| - Bundle extras = intent.getExtras();
|
| - Log.i(TAG, "Cronet extras: " + extras);
|
| - if (extras != null) {
|
| - String[] commandLine = extras.getStringArray(COMMAND_LINE_ARGS_KEY);
|
| - if (commandLine != null) {
|
| - assertEquals(0, commandLine.length % 2);
|
| - for (int i = 0; i < commandLine.length / 2; i++) {
|
| - Log.i(TAG, "Cronet commandLine %s = %s", commandLine[i * 2],
|
| - commandLine[i * 2 + 1]);
|
| - }
|
| - }
|
| - }
|
| -
|
| - // Initializes CronetEngine.Builder from commandLine args.
|
| - mCronetEngineBuilder = initializeCronetEngineBuilder();
|
| - Log.i(TAG, "Using Config: " + mCronetEngineBuilder.toString());
|
| -
|
| - String initString = getCommandLineArg(LIBRARY_INIT_KEY);
|
| - if (LIBRARY_INIT_SKIP.equals(initString)) {
|
| - return;
|
| - }
|
| -
|
| - mCronetEngine = initCronetEngine();
|
| -
|
| - if (LIBRARY_INIT_WRAPPER.equals(initString)) {
|
| - mStreamHandlerFactory = new CronetURLStreamHandlerFactory(mCronetEngine);
|
| - }
|
| -
|
| - mHistogramManager = HistogramManager.createHistogramManager();
|
| -
|
| - if (LIBRARY_INIT_CRONET_ONLY.equals(initString)) {
|
| - return;
|
| - }
|
| -
|
| - mRequestFactory = initRequestFactory();
|
| - String appUrl = getUrlFromIntent(getIntent());
|
| - if (appUrl != null) {
|
| - startWithURL(appUrl);
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Prepares the path for the test storage (http cache, QUIC server info).
|
| - */
|
| - private void prepareTestStorage() {
|
| - File storage = new File(getTestStorage());
|
| - if (storage.exists()) {
|
| - assertTrue(recursiveDelete(storage));
|
| - }
|
| - assertTrue(storage.mkdir());
|
| - }
|
| -
|
| - String getTestStorage() {
|
| - return PathUtils.getDataDirectory(getApplicationContext()) + "/test_storage";
|
| - }
|
| -
|
| - @SuppressFBWarnings("NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE")
|
| - private boolean recursiveDelete(File path) {
|
| - if (path.isDirectory()) {
|
| - for (File c : path.listFiles()) {
|
| - if (!recursiveDelete(c)) {
|
| - return false;
|
| - }
|
| - }
|
| - }
|
| - return path.delete();
|
| - }
|
| -
|
| - CronetEngine.Builder getCronetEngineBuilder() {
|
| - return mCronetEngineBuilder;
|
| - }
|
| -
|
| - private CronetEngine.Builder initializeCronetEngineBuilder() {
|
| - return createCronetEngineBuilder(this);
|
| - }
|
| -
|
| - CronetEngine.Builder createCronetEngineBuilder(Context context) {
|
| - CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(context);
|
| - cronetEngineBuilder.enableHTTP2(true).enableQUIC(true);
|
| -
|
| - // Override config if it is passed from the launcher.
|
| - String configString = getCommandLineArg(CONFIG_KEY);
|
| - if (configString != null) {
|
| - try {
|
| - cronetEngineBuilder = new CronetEngine.Builder(this, configString);
|
| - } catch (org.json.JSONException e) {
|
| - Log.e(TAG, "Invalid Config.", e);
|
| - finish();
|
| - return null;
|
| - }
|
| - }
|
| -
|
| - String cacheString = getCommandLineArg(CACHE_KEY);
|
| - if (CACHE_DISK.equals(cacheString)) {
|
| - cronetEngineBuilder.setStoragePath(getTestStorage());
|
| - cronetEngineBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024);
|
| - } else if (CACHE_DISK_NO_HTTP.equals(cacheString)) {
|
| - cronetEngineBuilder.setStoragePath(getTestStorage());
|
| - cronetEngineBuilder.enableHttpCache(
|
| - CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP, 1000 * 1024);
|
| - } else if (CACHE_IN_MEMORY.equals(cacheString)) {
|
| - cronetEngineBuilder.enableHttpCache(
|
| - CronetEngine.Builder.HTTP_CACHE_IN_MEMORY, 100 * 1024);
|
| - }
|
| -
|
| - String sdchString = getCommandLineArg(SDCH_KEY);
|
| - if (SDCH_ENABLE.equals(sdchString)) {
|
| - cronetEngineBuilder.enableSDCH(true);
|
| - }
|
| -
|
| - // Setting this here so it isn't overridden on the command line
|
| - cronetEngineBuilder.setLibraryName("cronet_tests");
|
| - return cronetEngineBuilder;
|
| - }
|
| -
|
| - // Helper function to initialize Cronet engine. Also used in testing.
|
| - public CronetEngine initCronetEngine() {
|
| - return mCronetEngineBuilder.build();
|
| - }
|
| -
|
| - // Helper function to initialize request factory. Also used in testing.
|
| - public HttpUrlRequestFactory initRequestFactory() {
|
| - return HttpUrlRequestFactory.createFactory(this, mCronetEngineBuilder);
|
| - }
|
| -
|
| - private static String getUrlFromIntent(Intent intent) {
|
| - return intent != null ? intent.getDataString() : null;
|
| - }
|
| -
|
| - private String getCommandLineArg(String key) {
|
| - Intent intent = getIntent();
|
| - Bundle extras = intent.getExtras();
|
| - if (extras != null) {
|
| - String[] commandLine = extras.getStringArray(COMMAND_LINE_ARGS_KEY);
|
| - if (commandLine != null) {
|
| - for (int i = 0; i < commandLine.length; ++i) {
|
| - if (commandLine[i].equals(key)) {
|
| - return commandLine[++i];
|
| - }
|
| - }
|
| - }
|
| - }
|
| - return null;
|
| - }
|
| -
|
| - private void applyCommandLineToHttpUrlRequest(HttpUrlRequest request) {
|
| - String postData = getCommandLineArg(POST_DATA_KEY);
|
| - if (postData != null) {
|
| - InputStream dataStream = new ByteArrayInputStream(
|
| - postData.getBytes());
|
| - ReadableByteChannel dataChannel = Channels.newChannel(dataStream);
|
| - request.setUploadChannel("text/plain", dataChannel,
|
| - postData.length());
|
| - request.setHttpMethod("POST");
|
| - }
|
| - }
|
| -
|
| - public void startWithURL(String url) {
|
| - Log.i(TAG, "Cronet started: " + url);
|
| - mUrl = url;
|
| - mLoading = true;
|
| -
|
| - HashMap<String, String> headers = new HashMap<String, String>();
|
| - HttpUrlRequestListener listener = new TestHttpUrlRequestListener();
|
| - HttpUrlRequest request = mRequestFactory.createRequest(
|
| - url, HttpUrlRequest.REQUEST_PRIORITY_MEDIUM, headers, listener);
|
| - applyCommandLineToHttpUrlRequest(request);
|
| - request.start();
|
| - }
|
| -
|
| - public String getUrl() {
|
| - return mUrl;
|
| - }
|
| -
|
| - public boolean isLoading() {
|
| - return mLoading;
|
| - }
|
| -
|
| - public int getHttpStatusCode() {
|
| - return mHttpStatusCode;
|
| - }
|
| -
|
| - public void startNetLog() {
|
| - if (mRequestFactory != null) {
|
| - mRequestFactory.startNetLogToFile(Environment.getExternalStorageDirectory().getPath()
|
| - + "/cronet_sample_netlog_old_api.json",
|
| - false);
|
| - }
|
| - if (mCronetEngine != null) {
|
| - mCronetEngine.startNetLogToFile(Environment.getExternalStorageDirectory().getPath()
|
| - + "/cronet_sample_netlog_new_api.json",
|
| - false);
|
| - }
|
| - }
|
| -
|
| - public void stopNetLog() {
|
| - if (mRequestFactory != null) {
|
| - mRequestFactory.stopNetLog();
|
| - }
|
| - if (mCronetEngine != null) {
|
| - mCronetEngine.stopNetLog();
|
| - }
|
| - }
|
| -}
|
|
|