From 63560a7acab92b4204da727d36bc0b427109d4c6 Mon Sep 17 00:00:00 2001 From: Josh Guilfoyle Date: Wed, 28 Jan 2015 18:22:40 -0800 Subject: [PATCH] Initial commit --- .gitignore | 6 + CONTRIBUTING.md | 44 +++ LICENSE | 30 ++ PATENTS | 23 ++ README.md | 114 ++++++ build.gradle | 15 + docs/images/dumpapp-prefs.png | Bin 0 -> 67815 bytes docs/images/inspector-discovery.png | Bin 0 -> 51876 bytes docs/images/inspector-network.png | Bin 0 -> 114796 bytes docs/images/inspector-sqlite.png | Bin 0 -> 96216 bytes gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 51018 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++++++++ gradlew.bat | 90 +++++ scripts/dumpapp | 92 +++++ scripts/stetho_open.py | 137 +++++++ settings.gradle | 2 + stetho-sample/.gitignore | 1 + stetho-sample/build.gradle | 19 + stetho-sample/src/main/AndroidManifest.xml | 37 ++ .../facebook/stetho/sample/APODActivity.java | 193 +++++++++ .../stetho/sample/APODContentProvider.java | 120 ++++++ .../facebook/stetho/sample/APODContract.java | 17 + .../stetho/sample/APODRssFetcher.java | 220 +++++++++++ .../com/facebook/stetho/sample/Constants.java | 7 + .../stetho/sample/HelloWorldDumperPlugin.java | 49 +++ .../facebook/stetho/sample/MainActivity.java | 64 +++ .../com/facebook/stetho/sample/Networker.java | 368 ++++++++++++++++++ .../stetho/sample/SampleApplication.java | 42 ++ .../stetho/sample/SettingsActivity.java | 23 ++ .../src/main/res/layout/apod_list_item.xml | 42 ++ .../src/main/res/layout/main_activity.xml | 25 ++ stetho-sample/src/main/res/values/arrays.xml | 15 + stetho-sample/src/main/res/values/dimens.xml | 7 + stetho-sample/src/main/res/values/strings.xml | 17 + stetho-sample/src/main/res/xml/settings.xml | 28 ++ stetho/.gitignore | 1 + stetho/build.gradle | 38 ++ stetho/src/main/AndroidManifest.xml | 7 + .../stetho/DumperPluginsProvider.java | 14 + .../stetho/InspectorModulesProvider.java | 9 + .../main/java/com/facebook/stetho/Stetho.java | 255 ++++++++++++ .../facebook/stetho/common/ExceptionUtil.java | 19 + .../facebook/stetho/common/LogRedirector.java | 114 ++++++ .../com/facebook/stetho/common/LogUtil.java | 133 +++++++ .../facebook/stetho/common/Utf8Charset.java | 20 + .../java/com/facebook/stetho/common/Util.java | 60 +++ .../stetho/dumpapp/DumpException.java | 18 + .../stetho/dumpapp/DumpUsageException.java | 12 + .../stetho/dumpapp/DumpappHandler.java | 89 +++++ .../dumpapp/DumpappOutputBrokenException.java | 43 ++ .../com/facebook/stetho/dumpapp/Dumper.java | 154 ++++++++ .../stetho/dumpapp/DumperContext.java | 80 ++++ .../facebook/stetho/dumpapp/DumperPlugin.java | 73 ++++ .../stetho/dumpapp/GlobalOptions.java | 27 ++ .../stetho/dumpapp/RawDumpappHandler.java | 83 ++++ .../facebook/stetho/dumpapp/StreamFramer.java | 124 ++++++ .../dumpapp/StreamingDumpappHandler.java | 106 +++++ .../SharedPreferencesDumperPlugin.java | 208 ++++++++++ .../inspector/ChromeDevtoolsServer.java | 169 ++++++++ .../inspector/ChromeDiscoveryHandler.java | 179 +++++++++ .../inspector/MessageHandlingException.java | 13 + .../stetho/inspector/MethodDispatcher.java | 157 ++++++++ .../MismatchedResponseException.java | 16 + .../stetho/inspector/console/CLog.java | 30 ++ .../database/DatabasePeerManager.java | 146 +++++++ .../inspector/helper/ChromePeerManager.java | 134 +++++++ .../helper/PeerRegistrationListener.java | 10 + .../helper/PeersRegisteredListener.java | 33 ++ .../inspector/jsonrpc/DisconnectReceiver.java | 13 + .../inspector/jsonrpc/JsonRpcException.java | 19 + .../stetho/inspector/jsonrpc/JsonRpcPeer.java | 91 +++++ .../inspector/jsonrpc/JsonRpcResult.java | 12 + .../inspector/jsonrpc/PendingRequest.java | 21 + .../jsonrpc/PendingRequestCallback.java | 9 + .../jsonrpc/protocol/EmptyResult.java | 8 + .../jsonrpc/protocol/JsonRpcError.java | 51 +++ .../jsonrpc/protocol/JsonRpcEvent.java | 27 ++ .../jsonrpc/protocol/JsonRpcRequest.java | 32 ++ .../jsonrpc/protocol/JsonRpcResponse.java | 20 + .../network/DefaultResponseHandler.java | 41 ++ .../stetho/inspector/network/MimeMatcher.java | 77 ++++ .../network/NetworkEventReporter.java | 212 ++++++++++ .../network/NetworkEventReporterImpl.java | 304 +++++++++++++++ .../inspector/network/NetworkPeerManager.java | 51 +++ .../inspector/network/ResourceTypeHelper.java | 43 ++ .../inspector/network/ResponseBodyData.java | 12 + .../network/ResponseBodyFileManager.java | 79 ++++ .../inspector/network/ResponseHandler.java | 30 ++ .../network/ResponseHandlingInputStream.java | 254 ++++++++++++ .../protocol/ChromeDevtoolsDomain.java | 9 + .../protocol/ChromeDevtoolsMethod.java | 10 + .../stetho/inspector/protocol/module/CSS.java | 43 ++ .../inspector/protocol/module/Console.java | 111 ++++++ .../stetho/inspector/protocol/module/DOM.java | 47 +++ .../inspector/protocol/module/DOMStorage.java | 21 + .../inspector/protocol/module/Database.java | 187 +++++++++ .../inspector/protocol/module/Debugger.java | 32 ++ .../protocol/module/HeapProfiler.java | 39 ++ .../inspector/protocol/module/Inspector.java | 22 ++ .../inspector/protocol/module/Network.java | 279 +++++++++++++ .../inspector/protocol/module/Page.java | 168 ++++++++ .../inspector/protocol/module/Profiler.java | 54 +++ .../inspector/protocol/module/Runtime.java | 68 ++++ .../protocol/module/SimpleBooleanResult.java | 18 + .../inspector/protocol/module/Worker.java | 20 + .../facebook/stetho/json/ObjectMapper.java | 309 +++++++++++++++ .../stetho/json/annotation/JsonProperty.java | 12 + .../stetho/json/annotation/JsonValue.java | 9 + .../stetho/server/LocalSocketHttpServer.java | 326 ++++++++++++++++ .../LocalSocketHttpServerConnection.java | 142 +++++++ .../server/PeerAuthorizationException.java | 9 + .../stetho/server/RegistryInitializer.java | 22 ++ .../server/SecureHttpRequestHandler.java | 91 +++++ .../facebook/stetho/websocket/CloseCodes.java | 13 + .../websocket/CompositeInputStream.java | 108 +++++ .../com/facebook/stetho/websocket/Frame.java | 148 +++++++ .../stetho/websocket/FrameHelper.java | 53 +++ .../stetho/websocket/MaskingHelper.java | 12 + .../stetho/websocket/ReadCallback.java | 7 + .../stetho/websocket/ReadHandler.java | 44 +++ .../stetho/websocket/SimpleEndpoint.java | 55 +++ .../stetho/websocket/SimpleSession.java | 21 + .../stetho/websocket/WebSocketHandler.java | 226 +++++++++++ .../stetho/websocket/WebSocketSession.java | 188 +++++++++ .../stetho/websocket/WriteCallback.java | 10 + .../stetho/websocket/WriteHandler.java | 28 ++ .../database/DatabasePeerManagerTest.java | 29 ++ .../ResponseHandlingInputStreamTest.java | 179 +++++++++ .../stetho/json/ObjectMapperTest.java | 213 ++++++++++ 130 files changed, 9379 insertions(+) create mode 100644 .gitignore create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 PATENTS create mode 100644 README.md create mode 100644 build.gradle create mode 100644 docs/images/dumpapp-prefs.png create mode 100644 docs/images/inspector-discovery.png create mode 100644 docs/images/inspector-network.png create mode 100644 docs/images/inspector-sqlite.png create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100755 scripts/dumpapp create mode 100755 scripts/stetho_open.py create mode 100644 settings.gradle create mode 100644 stetho-sample/.gitignore create mode 100644 stetho-sample/build.gradle create mode 100644 stetho-sample/src/main/AndroidManifest.xml create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/APODActivity.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/APODContentProvider.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/APODContract.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/APODRssFetcher.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/Constants.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/HelloWorldDumperPlugin.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/MainActivity.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/Networker.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/SampleApplication.java create mode 100644 stetho-sample/src/main/java/com/facebook/stetho/sample/SettingsActivity.java create mode 100644 stetho-sample/src/main/res/layout/apod_list_item.xml create mode 100644 stetho-sample/src/main/res/layout/main_activity.xml create mode 100644 stetho-sample/src/main/res/values/arrays.xml create mode 100644 stetho-sample/src/main/res/values/dimens.xml create mode 100644 stetho-sample/src/main/res/values/strings.xml create mode 100644 stetho-sample/src/main/res/xml/settings.xml create mode 100644 stetho/.gitignore create mode 100644 stetho/build.gradle create mode 100644 stetho/src/main/AndroidManifest.xml create mode 100644 stetho/src/main/java/com/facebook/stetho/DumperPluginsProvider.java create mode 100644 stetho/src/main/java/com/facebook/stetho/InspectorModulesProvider.java create mode 100644 stetho/src/main/java/com/facebook/stetho/Stetho.java create mode 100644 stetho/src/main/java/com/facebook/stetho/common/ExceptionUtil.java create mode 100644 stetho/src/main/java/com/facebook/stetho/common/LogRedirector.java create mode 100644 stetho/src/main/java/com/facebook/stetho/common/LogUtil.java create mode 100644 stetho/src/main/java/com/facebook/stetho/common/Utf8Charset.java create mode 100644 stetho/src/main/java/com/facebook/stetho/common/Util.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/DumpException.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/DumpUsageException.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/DumpappHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/DumpappOutputBrokenException.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/Dumper.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/DumperContext.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/DumperPlugin.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/GlobalOptions.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/RawDumpappHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/StreamFramer.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/StreamingDumpappHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/dumpapp/plugins/SharedPreferencesDumperPlugin.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/ChromeDevtoolsServer.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/ChromeDiscoveryHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/MessageHandlingException.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/MethodDispatcher.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/MismatchedResponseException.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/console/CLog.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/database/DatabasePeerManager.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/helper/ChromePeerManager.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/helper/PeerRegistrationListener.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/helper/PeersRegisteredListener.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/DisconnectReceiver.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/JsonRpcException.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/JsonRpcPeer.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/JsonRpcResult.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/PendingRequest.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/PendingRequestCallback.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/protocol/EmptyResult.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/protocol/JsonRpcError.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/protocol/JsonRpcEvent.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/protocol/JsonRpcRequest.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/jsonrpc/protocol/JsonRpcResponse.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/DefaultResponseHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/MimeMatcher.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/NetworkEventReporter.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/NetworkEventReporterImpl.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/NetworkPeerManager.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/ResourceTypeHelper.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/ResponseBodyData.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/ResponseBodyFileManager.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/ResponseHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/network/ResponseHandlingInputStream.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/ChromeDevtoolsDomain.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/ChromeDevtoolsMethod.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/CSS.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Console.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/DOM.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/DOMStorage.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Database.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Debugger.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/HeapProfiler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Inspector.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Network.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Page.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Profiler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Runtime.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/SimpleBooleanResult.java create mode 100644 stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Worker.java create mode 100644 stetho/src/main/java/com/facebook/stetho/json/ObjectMapper.java create mode 100644 stetho/src/main/java/com/facebook/stetho/json/annotation/JsonProperty.java create mode 100644 stetho/src/main/java/com/facebook/stetho/json/annotation/JsonValue.java create mode 100644 stetho/src/main/java/com/facebook/stetho/server/LocalSocketHttpServer.java create mode 100644 stetho/src/main/java/com/facebook/stetho/server/LocalSocketHttpServerConnection.java create mode 100644 stetho/src/main/java/com/facebook/stetho/server/PeerAuthorizationException.java create mode 100644 stetho/src/main/java/com/facebook/stetho/server/RegistryInitializer.java create mode 100644 stetho/src/main/java/com/facebook/stetho/server/SecureHttpRequestHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/CloseCodes.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/CompositeInputStream.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/Frame.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/FrameHelper.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/MaskingHelper.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/ReadCallback.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/ReadHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/SimpleEndpoint.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/SimpleSession.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/WebSocketHandler.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/WebSocketSession.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/WriteCallback.java create mode 100644 stetho/src/main/java/com/facebook/stetho/websocket/WriteHandler.java create mode 100644 stetho/src/test/java/com/facebook/stetho/inspector/database/DatabasePeerManagerTest.java create mode 100644 stetho/src/test/java/com/facebook/stetho/inspector/network/ResponseHandlingInputStreamTest.java create mode 100644 stetho/src/test/java/com/facebook/stetho/json/ObjectMapperTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..2816b580 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.gradle +/local.properties +/.idea +*.iml +.DS_Store +/build diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..928efcca --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,44 @@ +# Contributing to Stetho +We want to make contributing to this project as easy and transparent as +possible. + +## Our Development Process +We work directly in the github project and provide versioned releases +appropriate for major milestones and minor bug fixes or improvements. GitHub +is used directly for issues and pull requests and the developers actively +respond to requests. + +## Pull Requests +We actively welcome your pull requests. +1. Fork the repo and create your branch from `master`. +2. If you've added code that should be tested, add tests +3. If you've changed APIs, update the documentation. +4. Ensure the test suite passes. +5. Make sure your code lints. +6. If you haven't already, complete the Contributor License Agreement ("CLA"). + +## Contributor License Agreement ("CLA") +In order to accept your pull request, we need you to submit a CLA. You only need +to do this once to work on any of Facebook's open source projects. + +Complete your CLA here: + +## Issues +We use GitHub issues to track public bugs. Please ensure your description is +clear and has sufficient instructions to be able to reproduce the issue. + +Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe +disclosure of security bugs. In those cases, please go through the process +outlined on that page and do not file a public issue. + +## Coding Style +* 2 spaces for indentation rather than tabs +* Line wrapping indents 4 spaces +* 100 character line length +* One parameter per line when line wrapping is required +* Use the `m` member variable prefix for private fields +* Opening braces to appear on the same line as code + +## License +By contributing to Stetho, you agree that your contributions will be licensed +under its BSD license. diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..0410e123 --- /dev/null +++ b/LICENSE @@ -0,0 +1,30 @@ +BSD License + +For Stetho software + +Copyright (c) 2015, Facebook, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/PATENTS b/PATENTS new file mode 100644 index 00000000..0b0e455d --- /dev/null +++ b/PATENTS @@ -0,0 +1,23 @@ +Additional Grant of Patent Rights + +"Software" means the Stetho software distributed by Facebook, Inc. + +Facebook hereby grants you a perpetual, worldwide, royalty-free, non-exclusive, +irrevocable (subject to the termination provision below) license under any +rights in any patent claims owned by Facebook, to make, have made, use, sell, +offer to sell, import, and otherwise transfer the Software. For avoidance of +doubt, no license is granted under Facebook’s rights in any patent claims that +are infringed by (i) modifications to the Software made by you or a third party, +or (ii) the Software in combination with any software or other technology +provided by you or a third party. + +The license granted hereunder will terminate, automatically and without notice, +for anyone that makes any claim (including by filing any lawsuit, assertion or +other action) alleging (a) direct, indirect, or contributory infringement or +inducement to infringe any patent: (i) by Facebook or any of its subsidiaries or +affiliates, whether or not such claim is related to the Software, (ii) by any +party if such claim arises in whole or in part from any software, product or +service of Facebook or any of its subsidiaries or affiliates, whether or not +such claim is related to the Software, or (iii) by any party relating to the +Software; or (b) that any right in any patent claim of Facebook is invalid or +unenforceable. diff --git a/README.md b/README.md new file mode 100644 index 00000000..998bf5d5 --- /dev/null +++ b/README.md @@ -0,0 +1,114 @@ +# Stetho +Stetho is a sophisticated debug bridge for Android applications. When enabled, +developers have access to the Chrome Developer Tools feature natively part of +the Chrome desktop browser. Developers can also choose to enable the optional +`dumpapp` tool which offers a powerful command-line interface to application +internals. + +## Features + +### WebKit Inspector +WebKit Inspector is the internal name of the Chrome Developer Tools feature. +It is implemented using a client/server protocol which the Stetho software +provides for your application. Once your application is integrated, simply +navigate to `chrome://inspect` and click "Inspect" to get started! + +![Inspector Discovery Screenshot](https://github.com/facebook/stetho/raw/master/docs/images/inspector-discovery.png) + +#### Network inspection +Network inspection is possible with the full spectrum of Chrome Developer Tools features, including image preview, JSON response helpers, and even exporting traces to the HAR format. + +![Inspector Network Screenshot](https://github.com/facebook/stetho/raw/master/docs/images/inspector-network.png) + +#### Database inspection +SQLite databases can be visualized and interactively explored with full read/write capabilities. + +![Inspector WebSQL Screenshot](https://github.com/facebook/stetho/raw/master/docs/images/inspector-sqlite.png) + +### dumpapp +Dumpapp extends beyond the Inspector UI features shown above to provide a much +more extensible, command-line interface to application components. A default +set of plugins is provided, but the real power of dumpapp is the ability to +easily create your own! + +![dumpapp prefs Screenshot](https://github.com/facebook/stetho/raw/master/docs/images/dumpapp-prefs.png) + +## Integration +Integrating with Stetho is intended to be seamless and straightforward for +most existing Android applications. There is a simple initialization step +which occurs in your `Application` class: + +```java +public class MyApplication extends Application { + public void onCreate() { + super.onCreate(); + Stetho.initialize( + Stetho.newInitializerBuilder(this) + .enableDumpapp(Stetho.defaultDumperPluginsProvider(this)) + .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this)) + .build()); + } +} +``` + +This brings up most of the default configuration but does not enable some +additional hooks (most notably, network inspection). See below for specific +details on individual subsystems. + +### Enable network inspection +If you are using the popular [OkHttp](http://https://github.com/square/okio) +library at the 2.2.x+ release, you can use the +[Interceptors](https://github.com/square/okhttp/wiki/Interceptors) system to +automatically hook into your existing stack. This is currently the simplest +and most straightforward way to enable network inspection: + +```java +OkHttpClient client = new OkHttpClient(); +client.networkInterceptors().add(new StethoInterceptor()); +``` + +If you are using any of other network stack options, you will need to manually +provide data to the `NetworkEventReporter` interface. The general pattern for implementing this is: + +```java +NetworkEventReporter reporter = NetworkEventReporterImpl.get(); +// Important to check if it is enabled first so as not to add overhead to +// the common case that is not under scrutiny. +if (reporter.isEnabled()) { + reporter.requestWillBeSent(new MyInspectorRequest(request)); +} +``` + +See the `stetho-sample` project for more details. + +### Custom dumpapp plugins +Custom plugins are the preferred means of extending the `dumpapp` system and +can be added easily during configuration. Simply replace your configuration +step as such: + +```java +Stetho.initialize(Stetho.newInitializerBuilder(context) + .enableDumpapp(new MyDumperPluginsProvider(context)) + .build()) + +private static class MyDumperPluginsProvider implements DumperPluginsProvider { + ... + + public Iterable get() { + ArrayList plugins = new ArrayList(); + for (DumperPlugin defaultPlugin : Stetho.defaultDumperPluginsProvider(mContext).get()) { + plugins.add(defaultPlugin); + } + plugins.add(new MyDumperPlugin()); + return plugins; + } +} +``` + +See the `stetho-sample` project for more details. + +## Improve Stetho! +See the CONTRIBUTING.md file for how to help out. + +## License +Stetho is BSD-licensed. We also provide an additional patent grant. diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..6fd32e27 --- /dev/null +++ b/build.gradle @@ -0,0 +1,15 @@ +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.0.0' + classpath 'org.robolectric:robolectric-gradle-plugin:0.14.+' + } +} + +allprojects { + repositories { + jcenter() + } +} diff --git a/docs/images/dumpapp-prefs.png b/docs/images/dumpapp-prefs.png new file mode 100644 index 0000000000000000000000000000000000000000..08aeadec37f43f1e2f393a9692f05e6a3caa7adf GIT binary patch literal 67815 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
g5=X59LnkX4S+FdR_ z?o-t6pR*+BAu73LF4L{yK1_UA4VgM9Fe=aQxg74cyGiRgKC&Gz+Y2c~^^PpX-ffo( zqbf7ePOugzuu|B{+q>8dM)4L0t#jG&;N{!oSul?~GgiI{OdY=MwJz|jhmGpq-J9DQ zSRZ=Sw9Kfz-?H7vNluHoHw9BbrY4i#O5N}pk&j?xYawW@>nw*-*|b%T_N@fsC85kX zkv%&9HnZF{_N|f{wq`0f!9^d9yC^9rM!Br2X6ycR>mHJlqM^5 zoI_VuM(^~hMw}k1S>$%OSZaH=JCsMPIE4#Ee9!BA=>oGymv|9PLB6L8BzqXLTew%C zY^QD?xP}L7hX#8d>1rx!HQOZ?yTCHyogF4CkFq-iTVZ>G6sl6(Um_ttqS3bJ)dbZV z^<)D3ZC4*joL+lSv!34Nwl-^#my9cSZ4|G6f(i#`z$AhzfEn%gf$<8fjOT&gWmI&Wc;utSyS7Le>7oL(oKt>*8 z8B0T1YF6y+!-VeWAoe+EuG3N1uYRqHH>wYH)pYy9)-Df~+^C`!t=^>={r_4_KrP_x zRj;qn{@VYkGU-82>5%!l+~0wUXrU&^?ANq^+%%aR3f47qBqu= z!o9mB3{TVR- z3!wYF{gtS;Z28nWXdua#gH6M8W+iMcO>Bhf$n;x|J_3tkFRi!%sMXEQs63`kNGG?2 zY|ud^N0TAp5;3QamMiJqANlLqUeuMoMa|fG`8{#JCyyqy>F0xrXJ^0xe@PfFE*wBX rfdsC&XmKH`jLWtcPyp04pCbjik#LaNHP!*a6eK6DB$X%m)aQQy8zF{m literal 0 HcmV?d00001 diff --git a/docs/images/inspector-discovery.png b/docs/images/inspector-discovery.png new file mode 100644 index 0000000000000000000000000000000000000000..77c8a9748f4d85d39396df9ec7eaefdcf3477c30 GIT binary patch literal 51876 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
vZ66P@zP;Vk;|YHgCwx>x?qb*JbCP<+N%?Y8 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 UFqrV60pO3cguHm^M+3kA0|YCT-v9sr literal 0 HcmV?d00001 diff --git a/docs/images/inspector-network.png b/docs/images/inspector-network.png new file mode 100644 index 0000000000000000000000000000000000000000..706b2a4e4ba53a7b0534973171a81a1ee5987830 GIT binary patch literal 114796 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
t|YK;0V+z!3- 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�RyIMI>@9pa$O>~; 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 literal 0 HcmV?d00001 diff --git a/docs/images/inspector-sqlite.png b/docs/images/inspector-sqlite.png new file mode 100644 index 0000000000000000000000000000000000000000..27c8eed4f595baa7124f40942689abe0a5144934 GIT binary patch literal 96216 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

gc6VM>w@n?Z})*~^XE`$3jKK7TFak2wk9*{ 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..c97a8bdb9088d370da7e88784a7a093b971aa23a GIT binary patch literal 51018 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000..aec99730 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/scripts/dumpapp b/scripts/dumpapp new file mode 100755 index 00000000..0c0e0abe --- /dev/null +++ b/scripts/dumpapp @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 + +import sys +import os +import io +from http.client import * +import urllib.parse + +from stetho_open import * + +def main(): + # Manually parse out -p , all other option handling occurs inside + # the hosting process. + process = None + args = sys.argv[1:] + if len(args) > 0 and (args[0] == '-p' or args[0] == '--process'): + if len(args) < 2: + print(sys.stderr, 'Missing ') + sys.exit(1) + else: + process = args[1] + args = args[2:] + + # Connect to ANDROID_SERIAL if supplied, otherwise fallback to any + # transport. + device = os.environ.get('ANDROID_SERIAL') + try: + conn = HTTPConnectionOverADB(device, process) + query_params = ['argv=' + urllib.parse.quote(arg) for arg in args] + url = '/dumpapp?%s' % ('&'.join(query_params)) + fake_host = { 'Host': 'localhost:5037' } + + http_method = None + body = None + if not sys.stdin.isatty(): + http_method = 'POST' + body = sys.stdin.detach().read() + else: + http_method = 'GET' + body = None + + conn.request(http_method, url, body, fake_host) + + reply = conn.getresponse() + + if reply.status != 200: + raise Exception('Unexpected HTTP reply from Stetho: %d' % (reply.status)) + + read_frames(reply) + except HumanReadableError as e: + print(e) + sys.exit(1) + except KeyboardInterrupt: + sys.exit(1) + +def read_frames(conn): + while True: + # All frames have a single character code followed by a big-endian int + code = read_input(conn, 1, 'code') + n = struct.unpack('!L', read_input(conn, 4, 'int4'))[0] + + if code == b'1': + if n > 0: + sys.stdout.buffer.write(read_input(conn, n, 'stdout blob')) + elif code == b'2': + if n > 0: + sys.stderr.buffer.write(read_input(conn, n, 'stderr blob')) + sys.stderr.buffer.flush() + elif code == b'x': + sys.exit(n) + else: + if raise_on_eof: + raise IOError('Unexpected header: %s' % code) + break + +def read_input(conn, n, tag): + data = conn.read(n) + if not data or len(data) != n: + raise IOError('Unexpected end of stream while reading %s.' % tag) + return data + +class HTTPConnectionOverADB(HTTPConnection): + def __init__(self, device, process): + super(HTTPConnectionOverADB, self).__init__('localhost', 5037) + self._device = device + self._process = process + + def connect(self): + self.sock = stetho_open(device=self._device, process=self._process) + +if __name__ == '__main__': + main() diff --git a/scripts/stetho_open.py b/scripts/stetho_open.py new file mode 100755 index 00000000..a7355378 --- /dev/null +++ b/scripts/stetho_open.py @@ -0,0 +1,137 @@ +#!/usr/bin/env python3 +############################################################################### +## +## Simple utility class to create a forwarded socket connection to an +## application's stetho domain socket. +## +## Usage: +## +## sock = stetho_open( +## device='', +## process='com.facebook.stetho.sample') +## doHttp(sock) +## +############################################################################### + +import socket +import struct + +def stetho_open(device=None, process=None): + adb = _connect_to_device(device) + + socket_name = None + if process is None: + socket_name = _find_only_stetho_socket(device) + else: + socket_name = _format_process_as_stetho_socket(process) + + try: + adb.select_service('localabstract:%s' % (socket_name)) + except SelectServiceError as e: + raise HumanReadableError( + 'Failure to target process %s: %s (is it running?)' % ( + process, e.reason)) + + return adb.sock + +def _find_only_stetho_socket(device): + adb = _connect_to_device(device) + try: + adb.select_service('shell:cat /proc/net/unix') + last_stetho_socket_name = None + process_names = [] + for line in adb.sock.makefile(): + row = line.rstrip().split(' ') + if len(row) > 7: + socket_name = row[7] + if socket_name.startswith('@stetho_'): + last_stetho_socket_name = socket_name[1:] + process_names.append( + _parse_process_from_stetho_socket(socket_name)) + if len(process_names) > 1: + raise HumanReadableError( + 'Multiple stetho-enabled processes available:%s\n' % ( + '\n\t'.join([''] + process_names)) + + 'Use -p to select one') + elif last_stetho_socket_name == None: + raise HumanReadableError('No stetho-enabled processes running') + else: + return last_stetho_socket_name + finally: + adb.sock.close() + +def _connect_to_device(device=None): + adb = AdbSmartSocketClient() + adb.connect() + + try: + if device is None: + adb.select_service('host:transport-any') + else: + adb.select_service('host:transport:%s' % (device)) + + return adb + except SelectServiceError as e: + raise HumanReadableError( + 'Failure to target device %s: %s' % (device, e.reason)) + +def _parse_process_from_stetho_socket(socket_name): + parts = socket_name.split('_') + if len(parts) < 2 or parts[0] != '@stetho': + raise Exception('Unexpected Stetho socket formatting: %s' % (socket_name)) + if parts[-2:] == [ 'devtools', 'remote' ]: + return '.'.join(parts[1:-2]) + else: + return '.'.join(parts[1:]) + +def _format_process_as_stetho_socket(process): + filtered = process.replace('.', '_').replace(':', '_') + return 'stetho_%s_devtools_remote' % (filtered) + +class AdbSmartSocketClient(object): + """Implements the smartsockets system defined by: + https://android.googlesource.com/platform/system/core/+/master/adb/protocol.txt + """ + + def __init__(self): + pass + + def connect(self, port=5037): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.connect(('127.0.0.1', port)) + self.sock = sock + + def select_service(self, service): + message = '%04x%s' % (len(service), service) + self.sock.send(message.encode('ascii')) + status = self._read_exactly(4) + if status == b'OKAY': + # All good... + pass + elif status == b'FAIL': + reason_len = int(self._read_exactly(4), 16) + reason = self._read_exactly(reason_len).decode('ascii') + raise SelectServiceError(reason) + else: + raise Exception('Unrecognized status=%s' % (status)) + + def _read_exactly(self, num_bytes): + buf = b'' + while len(buf) < num_bytes: + new_buf = self.sock.recv(num_bytes) + buf += new_buf + return buf + +class SelectServiceError(Exception): + def __init__(self, reason): + self.reason = reason + + def __str__(self): + return repr(self.reason) + +class HumanReadableError(Exception): + def __init__(self, reason): + self.reason = reason + + def __str__(self): + return self.reason diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..d8732386 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,2 @@ +include ':stetho' +include ':stetho-sample' diff --git a/stetho-sample/.gitignore b/stetho-sample/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/stetho-sample/.gitignore @@ -0,0 +1 @@ +/build diff --git a/stetho-sample/build.gradle b/stetho-sample/build.gradle new file mode 100644 index 00000000..da932c58 --- /dev/null +++ b/stetho-sample/build.gradle @@ -0,0 +1,19 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 21 + buildToolsVersion "21.1.2" + + defaultConfig { + applicationId "com.facebook.stetho.sample" + minSdkVersion 11 + targetSdkVersion 21 + versionCode 1 + versionName "1.0" + } +} + +dependencies { + compile project(':stetho') + compile 'com.google.code.findbugs:jsr305:2.0.1' +} diff --git a/stetho-sample/src/main/AndroidManifest.xml b/stetho-sample/src/main/AndroidManifest.xml new file mode 100644 index 00000000..60d076ef --- /dev/null +++ b/stetho-sample/src/main/AndroidManifest.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/APODActivity.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODActivity.java new file mode 100644 index 00000000..43eba822 --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODActivity.java @@ -0,0 +1,193 @@ +package com.facebook.stetho.sample; + +import java.io.IOException; + +import android.app.ListActivity; +import android.app.LoaderManager; +import android.content.Context; +import android.content.CursorLoader; +import android.content.Intent; +import android.content.Loader; +import android.database.CharArrayBuffer; +import android.database.Cursor; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CursorAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +/** + * Simple demonstration of fetching and caching a specific RSS feed showing the + * "Astronomy Picture of the Day" feed from NASA. This demonstrates both the database access + * and network inspection features of Stetho. + */ +public class APODActivity extends ListActivity { + private static final int LOADER_APOD_POSTS = 1; + + private static final String TAG = "APODActivity"; + + private APODPostsAdapter mAdapter; + + public static void show(Context context) { + context.startActivity(new Intent(context, APODActivity.class)); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + getLoaderManager().initLoader(LOADER_APOD_POSTS, new Bundle(), mLoaderCallback); + + new APODRssFetcher(getContentResolver()).fetchAndStore(); + + mAdapter = new APODPostsAdapter(this); + setListAdapter(mAdapter); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + getLoaderManager().destroyLoader(LOADER_APOD_POSTS); + } + + private final LoaderManager.LoaderCallbacks mLoaderCallback = + new LoaderManager.LoaderCallbacks() { + @Override + public Loader onCreateLoader(int id, Bundle args) { + switch (id) { + case LOADER_APOD_POSTS: + return APODPostsQuery.createCursorLoader(APODActivity.this); + default: + throw new IllegalArgumentException("id=" + id); + } + } + + @Override + public void onLoadFinished(Loader loader, Cursor data) { + mAdapter.changeCursor(data); + } + + @Override + public void onLoaderReset(Loader loader) { + mAdapter.changeCursor(null); + } + }; + + private class APODPostsAdapter extends CursorAdapter { + private final LayoutInflater mInflater; + + public APODPostsAdapter(Context context) { + super(context, null /* cursor */, false /* autoRequery */); + mInflater = LayoutInflater.from(context); + } + + @Override + public View newView(Context context, Cursor cursor, ViewGroup parent) { + View view = mInflater.inflate(R.layout.apod_list_item, parent, false); + view.setTag(new ViewHolder(view)); + return view; + } + + @Override + public void bindView(View view, Context context, Cursor cursor) { + ViewHolder holder = (ViewHolder)view.getTag(); + int bindPosition = cursor.getPosition(); + holder.position = bindPosition; + + final String imageUrl = cursor.getString(APODPostsQuery.DESCRIPTION_IMAGE_URL_INDEX); + holder.image.setImageDrawable(null); + fetchImage(imageUrl, bindPosition, holder); + + cursor.copyStringToBuffer(APODPostsQuery.TITLE_INDEX, holder.titleBuffer); + + setTextWithBuffer(holder.title, holder.titleBuffer); + + cursor.copyStringToBuffer(APODPostsQuery.DESCRIPTION_TEXT_INDEX, holder.descriptionBuffer); + setTextWithBuffer(holder.description, holder.descriptionBuffer); + } + + // Really crude image handling. Please don't do this in a real app :) + private void fetchImage( + final String imageUrl, + final int bindPosition, + final ViewHolder holder) { + Networker.HttpRequest imageRequest = Networker.HttpRequest.newBuilder() + .method(Networker.HttpMethod.GET) + .url(imageUrl) + .build(); + Networker.get().submit(imageRequest, new Networker.Callback() { + @Override + public void onResponse(Networker.HttpResponse result) { + if (bindPosition == holder.position) { + Log.d(TAG, "Got " + imageUrl + ": " + result.statusCode + ", " + result.body.length); + if (result.statusCode == 200) { + final Bitmap bitmap = + BitmapFactory.decodeByteArray(result.body, 0, result.body.length); + APODActivity.this.runOnUiThread(new Runnable() { + @Override + public void run() { + holder.image.setImageDrawable(new BitmapDrawable(bitmap)); + } + }); + } + } + } + + @Override + public void onFailure(IOException e) { + // Let Stetho demonstrate the errors :) + } + }); + } + } + + private static class ViewHolder { + public final ImageView image; + public final TextView title; + public final CharArrayBuffer titleBuffer = new CharArrayBuffer(32); + public final TextView description; + public final CharArrayBuffer descriptionBuffer = new CharArrayBuffer(64); + + int position; + + public ViewHolder(View v) { + image = (ImageView)v.findViewById(R.id.image); + title = (TextView)v.findViewById(R.id.title); + description = (TextView)v.findViewById(R.id.description); + } + } + + private static void setTextWithBuffer(TextView textView, CharArrayBuffer buffer) { + textView.setText(buffer.data, 0, buffer.sizeCopied); + } + + private static class APODPostsQuery { + public static String[] PROJECTION = { + APODContract.Columns._ID, + APODContract.Columns.TITLE, + APODContract.Columns.DESCRIPTION_TEXT, + APODContract.Columns.DESCRIPTION_IMAGE_URL, + }; + + public static final int ID_INDEX = 0; + public static final int TITLE_INDEX = 1; + public static final int DESCRIPTION_TEXT_INDEX = 2; + public static final int DESCRIPTION_IMAGE_URL_INDEX = 3; + + public static CursorLoader createCursorLoader(Context context) { + return new CursorLoader( + context, + APODContract.CONTENT_URI, + PROJECTION, + null /* selection */, + null /* selectionArgs */, + null /* sortOrder */); + } + } +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/APODContentProvider.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODContentProvider.java new file mode 100644 index 00000000..05c0ad1f --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODContentProvider.java @@ -0,0 +1,120 @@ +package com.facebook.stetho.sample; + +import java.util.ArrayList; + +import android.content.ContentProvider; +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentValues; +import android.content.Context; +import android.content.OperationApplicationException; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.net.Uri; + +public class APODContentProvider extends ContentProvider { + private APODSQLiteOpenHelper mOpenHelper; + + @Override + public boolean onCreate() { + mOpenHelper = new APODSQLiteOpenHelper(getContext()); + return true; + } + + @Override + public Cursor query( + Uri uri, + String[] projection, + String selection, + String[] selectionArgs, + String sortOrder) { + SQLiteDatabase db = mOpenHelper.getWritableDatabase(); + Cursor cursor = db.query( + APODContract.TABLE_NAME, + projection, + selection, + selectionArgs, + null /* groupBy */, + null /* having */, + sortOrder, + null /* limit */); + cursor.setNotificationUri(getContext().getContentResolver(), APODContract.CONTENT_URI); + return cursor; + } + + @Override + public String getType(Uri uri) { + return null; + } + + @Override + public Uri insert(Uri uri, ContentValues values) { + SQLiteDatabase db = mOpenHelper.getWritableDatabase(); + long id = db.insert(APODContract.TABLE_NAME, null /* nullColumnHack */, values); + return uri.buildUpon().appendEncodedPath(String.valueOf(id)).build(); + } + + @Override + public int delete(Uri uri, String selection, String[] selectionArgs) { + SQLiteDatabase db = mOpenHelper.getWritableDatabase(); + int count = db.delete(APODContract.TABLE_NAME, selection, selectionArgs); + return count; + } + + @Override + public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { + SQLiteDatabase db = mOpenHelper.getWritableDatabase(); + int count = db.update(APODContract.TABLE_NAME, values, selection, selectionArgs); + return count; + } + + @Override + public ContentProviderResult[] applyBatch(ArrayList operations) + throws OperationApplicationException { + SQLiteDatabase db = mOpenHelper.getWritableDatabase(); + db.beginTransaction(); + try { + ContentProviderResult[] results = super.applyBatch(operations); + db.setTransactionSuccessful(); + return results; + } finally { + db.endTransaction(); + notifyChange(); + } + } + + private void notifyChange() { + getContext().getContentResolver().notifyChange(APODContract.CONTENT_URI, null /* observer */); + } + + private static class APODSQLiteOpenHelper extends SQLiteOpenHelper { + private static final String DB_NAME = "apod.db"; + private static final int DB_VERSION = 1; + + public APODSQLiteOpenHelper(Context context) { + super(context, DB_NAME, null /* factory */, DB_VERSION); + } + + @Override + public void onCreate(SQLiteDatabase db) { + db.execSQL( + "CREATE TABLE " + APODContract.TABLE_NAME + " (" + + APODContract.Columns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + + APODContract.Columns.TITLE + " TEXT, " + + APODContract.Columns.DESCRIPTION_IMAGE_URL + " TEXT, " + + APODContract.Columns.DESCRIPTION_TEXT + " TEXT " + + ")"); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + drop(db); + onCreate(db); + } + + private void drop(SQLiteDatabase db) { + db.execSQL("DROP TABLE " + APODContract.TABLE_NAME); + } + } +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/APODContract.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODContract.java new file mode 100644 index 00000000..eda7fb18 --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODContract.java @@ -0,0 +1,17 @@ +package com.facebook.stetho.sample; + +import android.net.Uri; +import android.provider.BaseColumns; + +public interface APODContract { + public static final String AUTHORITY = "com.facebook.stetho.sample.apod"; + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY); + + public static final String TABLE_NAME = "rss_items"; + + public interface Columns extends BaseColumns { + public static final String TITLE = "title"; + public static final String DESCRIPTION_TEXT = "description_text"; + public static final String DESCRIPTION_IMAGE_URL = "description_image_url"; + } +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/APODRssFetcher.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODRssFetcher.java new file mode 100644 index 00000000..09f8249b --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/APODRssFetcher.java @@ -0,0 +1,220 @@ +package com.facebook.stetho.sample; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import android.content.ContentProviderOperation; +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.OperationApplicationException; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.os.RemoteException; +import android.text.Html; +import android.util.Log; +import android.util.Xml; + +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +public class APODRssFetcher { + private static final String TAG = "APODRssFetcher"; + private static final String APOD_RSS_URL = "http://apod.nasa.gov/apod.rss"; + + private final ContentResolver mContentResolver; + + public APODRssFetcher(ContentResolver contentResolver) { + mContentResolver = contentResolver; + } + + public void fetchAndStore() { + Networker.HttpRequest request = Networker.HttpRequest.newBuilder() + .friendlyName("APOD RSS") + .method(Networker.HttpMethod.GET) + .url(APOD_RSS_URL) + .build(); + Networker.get().submit(request, mStoreRssResponse); + } + + private final Networker.Callback mStoreRssResponse = new Networker.Callback() { + @Override + public void onResponse(Networker.HttpResponse result) { + if (result.statusCode == 200) { + try { + parseAndStore(result.body); + } catch (XmlPullParserException e) { + Log.e(TAG, "Parse error", e); + } catch (OperationApplicationException e) { + Log.e(TAG, "Database write error", e); + } catch (RemoteException e) { + // Not recoverable, our process or the system_server must be dying... + throw new RuntimeException(e); + } catch (IOException e) { + // Reading from a byte[] shouldn't cause this... + throw new RuntimeException(e); + } + } + } + + @Override + public void onFailure(IOException e) { + // Show in Stetho :) + } + + private void parseAndStore(byte[] body) + throws + XmlPullParserException, + RemoteException, + OperationApplicationException, + IOException { + XmlPullParser parser = Xml.newPullParser(); + parser.setInput(new ByteArrayInputStream(body), "UTF-8"); + List items = new RssParser(parser).parse(); + Log.d(TAG, "Fetched " + items.size() + " items"); + + ArrayList operations = new ArrayList(); + operations.add( + ContentProviderOperation.newDelete(APODContract.CONTENT_URI) + .build()); + for (RssItem item : items) { + Log.d(TAG, "Add item: " + item.title); + operations.add( + ContentProviderOperation.newInsert(APODContract.CONTENT_URI) + .withValues(convertItemToValues(item)) + .build()); + } + + mContentResolver.applyBatch(APODContract.AUTHORITY, operations); + } + + private ContentValues convertItemToValues(RssItem item) { + ContentValues values = new ContentValues(); + values.put(APODContract.Columns.TITLE, item.title); + + ExtractImageGetter imageGetter = new ExtractImageGetter(); + String strippedText = Html.fromHtml( + item.description, + imageGetter, + null /* tagHandler */) + .toString(); + + // Hack to remove some strange non-printing character at the start... + strippedText = strippedText.substring(1).trim(); + List imageUrls = imageGetter.getSources(); + String imageUrl = !imageUrls.isEmpty() ? imageUrls.get(0) : null; + + values.put(APODContract.Columns.DESCRIPTION_IMAGE_URL, imageUrl); + values.put(APODContract.Columns.DESCRIPTION_TEXT, strippedText); + + return values; + } + }; + + private static class ExtractImageGetter implements Html.ImageGetter { + private final ArrayList mSources = new ArrayList(); + + @Override + public Drawable getDrawable(String source) { + mSources.add(source); + + // Dummy drawable. + return new ColorDrawable(Color.TRANSPARENT); + } + + public List getSources() { + return mSources; + } + } + + private static class RssParser { + private final XmlPullParser mParser; + + public RssParser(XmlPullParser parser) { + mParser = parser; + } + + public List parse() throws IOException, XmlPullParserException { + ArrayList items = new ArrayList(); + + mParser.nextTag(); + mParser.require(XmlPullParser.START_TAG, null, "rss"); + mParser.nextTag(); + mParser.require(XmlPullParser.START_TAG, null, "channel"); + + while (mParser.next() != XmlPullParser.END_TAG) { + if (mParser.getEventType() != XmlPullParser.START_TAG) { + continue; + } + + String name = mParser.getName(); + if (name.equals("item")) { + items.add(readItem()); + } else { + skip(); + } + } + + return items; + } + + private RssItem readItem() throws XmlPullParserException, IOException { + mParser.require(XmlPullParser.START_TAG, null, "item"); + RssItem item = new RssItem(); + while (mParser.next() != XmlPullParser.END_TAG) { + if (mParser.getEventType() != XmlPullParser.START_TAG) { + continue; + } + String name = mParser.getName(); + if (name.equals("title")) { + item.title = readTextFromTag("title"); + } else if (name.equals("description")) { + item.description = readTextFromTag("description"); + } else { + skip(); + } + } + return item; + } + + private String readTextFromTag(String tagName) throws IOException, XmlPullParserException { + mParser.require(XmlPullParser.START_TAG, null, tagName); + String text = readText(); + mParser.require(XmlPullParser.END_TAG, null, tagName); + return text; + } + + private String readText() throws IOException, XmlPullParserException { + String result = ""; + if (mParser.next() == XmlPullParser.TEXT) { + result = mParser.getText(); + mParser.nextTag(); + } + return result; + } + + private void skip() throws IOException, XmlPullParserException { + if (mParser.getEventType() != XmlPullParser.START_TAG) { + throw new IllegalStateException(); + } + int depth = 1; + while (depth != 0) { + switch (mParser.next()) { + case XmlPullParser.END_TAG: + depth--; + break; + case XmlPullParser.START_TAG: + depth++; + break; + } + } + } + } + + private static class RssItem { + public String title; + public String description; + } +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/Constants.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/Constants.java new file mode 100644 index 00000000..54b27a9e --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/Constants.java @@ -0,0 +1,7 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.stetho.sample; + +public class Constants { + public static final String TAG = "StethoSample"; +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/HelloWorldDumperPlugin.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/HelloWorldDumperPlugin.java new file mode 100644 index 00000000..3d0b5ea0 --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/HelloWorldDumperPlugin.java @@ -0,0 +1,49 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.stetho.sample; + +import java.io.PrintStream; +import java.util.Iterator; + +import android.text.TextUtils; + +import com.facebook.stetho.dumpapp.DumpException; +import com.facebook.stetho.dumpapp.DumpUsageException; +import com.facebook.stetho.dumpapp.DumperContext; +import com.facebook.stetho.dumpapp.DumperPlugin; + +public class HelloWorldDumperPlugin implements DumperPlugin { + private static final String NAME = "hello"; + + @Override + public String getName() { + return NAME; + } + + @Override + public void dump(DumperContext dumpContext) throws DumpException { + PrintStream writer = dumpContext.getStdout(); + Iterator args = dumpContext.getArgsAsList().iterator(); + + String helloToWhom = args.hasNext() ? args.next() : null; + if (helloToWhom != null) { + doHello(writer, helloToWhom); + } else { + doUsage(writer); + } + } + + private void doHello(PrintStream writer, String name) throws DumpUsageException { + if (TextUtils.isEmpty(name)) { + // This will print an error to the dumpapp user and cause a non-zero exit of the + // script. + throw new DumpUsageException("Name is empty"); + } + + writer.println("Hello " + name + "!"); + } + + private void doUsage(PrintStream writer) { + writer.println("Usage: dumpapp " + NAME + " "); + } +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/MainActivity.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/MainActivity.java new file mode 100644 index 00000000..a46ca4dc --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/MainActivity.java @@ -0,0 +1,64 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.stetho.sample; + +import java.io.IOException; + +import android.app.Activity; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.util.Log; +import android.view.View; +import android.widget.Toast; + +public class MainActivity extends Activity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main_activity); + + findViewById(R.id.settings_btn).setOnClickListener(mMainButtonClicked); + findViewById(R.id.apod_btn).setOnClickListener(mMainButtonClicked); + } + + @Override + protected void onResume() { + super.onResume(); + getPrefs().registerOnSharedPreferenceChangeListener(mToastingPrefListener); + } + + @Override + protected void onPause() { + super.onPause(); + getPrefs().unregisterOnSharedPreferenceChangeListener(mToastingPrefListener); + } + + private SharedPreferences getPrefs() { + return PreferenceManager.getDefaultSharedPreferences(this /* context */); + } + + private final View.OnClickListener mMainButtonClicked = new View.OnClickListener() { + @Override + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.settings_btn) { + SettingsActivity.show(MainActivity.this); + } else if (id == R.id.apod_btn) { + APODActivity.show(MainActivity.this); + } + } + }; + + private final SharedPreferences.OnSharedPreferenceChangeListener mToastingPrefListener = + new SharedPreferences.OnSharedPreferenceChangeListener() { + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + Object value = sharedPreferences.getAll().get(key); + Toast.makeText( + MainActivity.this, + getString(R.string.pref_change_message, key, value), + Toast.LENGTH_SHORT).show(); + } + }; +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/Networker.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/Networker.java new file mode 100644 index 00000000..b4164f4d --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/Networker.java @@ -0,0 +1,368 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.stetho.sample; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; + +import android.util.Pair; + +import com.facebook.stetho.inspector.network.DefaultResponseHandler; +import com.facebook.stetho.inspector.network.NetworkEventReporter; +import com.facebook.stetho.inspector.network.NetworkEventReporterImpl; + +/** + * Very simple centralized network middleware for illustration purposes. + */ +public class Networker { + private static Networker sInstance; + + private final Executor sExecutor = Executors.newFixedThreadPool(4); + private final NetworkEventReporter mStethoHook = NetworkEventReporterImpl.get(); + private final AtomicInteger mSequenceNumberGenerator = new AtomicInteger(0); + + private static final int READ_TIMEOUT_MS = 10000; + private static final int CONNECT_TIMEOUT_MS = 15000; + + public static synchronized Networker get() { + if (sInstance == null) { + sInstance = new Networker(); + } + return sInstance; + } + + private Networker() { + } + + public void submit(HttpRequest request, Callback callback) { + request.uniqueId = String.valueOf(mSequenceNumberGenerator.getAndIncrement()); + sExecutor.execute(new HttpRequestTask(request, callback)); + } + + private class HttpRequestTask implements Runnable { + private final HttpRequest request; + private final Callback callback; + + public HttpRequestTask(HttpRequest request, Callback callback) { + this.request = request; + this.callback = callback; + } + + @Override + public void run() { + try { + HttpResponse response = doFetch(); + callback.onResponse(response); + } catch (IOException e) { + callback.onFailure(e); + } + } + + private HttpResponse doFetch() throws IOException { + if (mStethoHook.isEnabled()) { + mStethoHook.requestWillBeSent( + new SimpleInspectorRequest(request)); + } + + HttpURLConnection conn = openConnectionAndSendRequest(); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + InputStream responseStream = conn.getInputStream(); + + if (mStethoHook.isEnabled()) { + responseStream = mStethoHook.interpretResponseStream( + request.uniqueId, + conn.getHeaderField("Content-Type"), + responseStream, + new DefaultResponseHandler(mStethoHook, request.uniqueId)); + } + + if (responseStream != null) { + copy(responseStream, out, new byte[1024]); + } + return new HttpResponse(conn.getResponseCode(), out.toByteArray()); + } + + private HttpURLConnection openConnectionAndSendRequest() throws IOException { + try { + URL url = new URL(request.url); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setReadTimeout(READ_TIMEOUT_MS); + conn.setConnectTimeout(CONNECT_TIMEOUT_MS); + conn.setRequestMethod(request.method.toString()); + if (request.method == HttpMethod.POST) { + conn.setDoOutput(true); + conn.getOutputStream().write(request.body); + } + + conn.connect(); + if (mStethoHook.isEnabled()) { + // Technically we should add headers here as well. + int requestSize = request.body != null ? request.body.length : 0; + mStethoHook.dataSent( + request.uniqueId, + requestSize, + requestSize); + mStethoHook.responseHeadersReceived(new SimpleInspectorResponse(request, conn)); + } + return conn; + } catch (IOException ex) { + if (mStethoHook.isEnabled()) { + mStethoHook.httpExchangeFailed(request.uniqueId, ex.toString()); + } + throw ex; + } + } + } + + private static void copy(InputStream in, OutputStream out, byte[] buf) throws IOException { + if (in == null) { + return; + } + int n; + while ((n = in.read(buf)) != -1) { + out.write(buf, 0, n); + } + } + + + public static class HttpRequest { + public final String friendlyName; + public final HttpMethod method; + public final String url; + public final byte[] body; + public final ArrayList> headers; + + String uniqueId; + + public static Builder newBuilder() { + return new Builder(); + } + + HttpRequest(Builder b) { + if (b.method == HttpMethod.POST) { + if (b.body == null) { + throw new IllegalArgumentException("POST must have a body"); + } + } else if (b.method == HttpMethod.GET) { + if (b.body != null) { + throw new IllegalArgumentException("GET cannot have a body"); + } + } + this.friendlyName = b.friendlyName; + this.method = b.method; + this.url = b.url; + this.body = b.body; + this.headers = b.headers; + } + + public static class Builder { + private String friendlyName; + private Networker.HttpMethod method; + private String url; + private byte[] body = null; + private ArrayList> headers = new ArrayList>(); + + Builder() { + } + + public Builder friendlyName(String friendlyName) { + this.friendlyName = friendlyName; + return this; + } + + public Builder method(Networker.HttpMethod method) { + this.method = method; + return this; + } + + public Builder url(String url) { + this.url = url; + return this; + } + + public Builder body(byte[] body) { + this.body = body; + return this; + } + + public Builder addHeader(String name, String value) { + this.headers.add(Pair.create(name, value)); + return this; + } + + public HttpRequest build() { + return new HttpRequest(this); + } + } + } + + public static enum HttpMethod { + GET, POST + } + + public static class HttpResponse { + public final int statusCode; + public final byte[] body; + + HttpResponse(int statusCode, byte[] body) { + this.statusCode = statusCode; + this.body = body; + } + } + + public interface Callback { + public void onResponse(HttpResponse result); + public void onFailure(IOException e); + } + + private static class SimpleInspectorRequest + extends SimpleInspectorHeaders + implements NetworkEventReporter.InspectorRequest { + private final HttpRequest request; + + public SimpleInspectorRequest(HttpRequest request) { + super(request.headers); + this.request = request; + } + + @Override + public String id() { + return request.uniqueId; + } + + @Override + public String friendlyName() { + return request.friendlyName; + } + + @Override + public Integer friendlyNameExtra() { + return null; + } + + @Override + public String url() { + return request.url; + } + + @Override + public String method() { + return request.method.toString(); + } + + @Override + public byte[] body() throws IOException { + return request.body; + } + } + + private static class SimpleInspectorResponse + extends SimpleInspectorHeaders + implements NetworkEventReporter.InspectorResponse { + private final HttpRequest request; + private final int statusCode; + private final String statusMessage; + + public SimpleInspectorResponse(HttpRequest request, HttpURLConnection conn) throws IOException { + super(convertHeaders(conn.getHeaderFields())); + this.request = request; + statusCode = conn.getResponseCode(); + statusMessage = conn.getResponseMessage(); + } + + private static ArrayList> convertHeaders(Map> map) { + ArrayList> array = new ArrayList>(); + for (Map.Entry> mapEntry : map.entrySet()) { + for (String mapEntryValue : mapEntry.getValue()) { + // HttpURLConnection puts a weird null entry in the header map that corresponds to + // the HTTP response line (for instance, HTTP/1.1 200 OK). Ignore that weirdness... + if (mapEntry.getKey() != null) { + array.add(Pair.create(mapEntry.getKey(), mapEntryValue)); + } + } + } + return array; + } + + @Override + public String requestId() { + return request.uniqueId; + } + + @Override + public String url() { + return request.url; + } + + @Override + public int statusCode() { + return statusCode; + } + + @Override + public String reasonPhrase() { + return statusMessage; + } + + @Override + public boolean connectionReused() { + // No idea... + return false; + } + + @Override + public int connectionId() { + return request.uniqueId.hashCode(); + } + + @Override + public boolean fromDiskCache() { + return false; + } + } + + private static class SimpleInspectorHeaders implements NetworkEventReporter.InspectorHeaders { + private final ArrayList> headers; + + public SimpleInspectorHeaders(ArrayList> headers) { + this.headers = headers; + } + + @Override + public int headerCount() { + return headers.size(); + } + + @Override + public String headerName(int index) { + return headers.get(index).first; + } + + @Override + public String headerValue(int index) { + return headers.get(index).second; + } + + @Override + public String firstHeaderValue(String name) { + int N = headerCount(); + for (int i = 0; i < N; i++) { + if (name.equals(headerName(i))) { + return headerValue(i); + } + } + return null; + } + } +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/SampleApplication.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/SampleApplication.java new file mode 100644 index 00000000..f03b1e87 --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/SampleApplication.java @@ -0,0 +1,42 @@ +package com.facebook.stetho.sample; + +import java.util.ArrayList; + +import android.app.Application; +import android.content.Context; + +import com.facebook.stetho.DumperPluginsProvider; +import com.facebook.stetho.Stetho; +import com.facebook.stetho.dumpapp.DumperPlugin; + +public class SampleApplication extends Application { + @Override + public void onCreate() { + super.onCreate(); + + final Context context = this; + Stetho.initialize( + Stetho.newInitializerBuilder(context) + .enableDumpapp(new SampleDumperPluginsProvider(context)) + .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(context)) + .build()); + } + + private static class SampleDumperPluginsProvider implements DumperPluginsProvider { + private final Context mContext; + + public SampleDumperPluginsProvider(Context context) { + mContext = context; + } + + @Override + public Iterable get() { + ArrayList plugins = new ArrayList(); + for (DumperPlugin defaultPlugin : Stetho.defaultDumperPluginsProvider(mContext).get()) { + plugins.add(defaultPlugin); + } + plugins.add(new HelloWorldDumperPlugin()); + return plugins; + } + } +} diff --git a/stetho-sample/src/main/java/com/facebook/stetho/sample/SettingsActivity.java b/stetho-sample/src/main/java/com/facebook/stetho/sample/SettingsActivity.java new file mode 100644 index 00000000..46e39af1 --- /dev/null +++ b/stetho-sample/src/main/java/com/facebook/stetho/sample/SettingsActivity.java @@ -0,0 +1,23 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.stetho.sample; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.preference.PreferenceActivity; + +public class SettingsActivity extends PreferenceActivity { + public static void show(Context context) { + context.startActivity(new Intent(context, SettingsActivity.class)); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Trying to avoid a dependency on the support library and go all the way back to Gingerbread, + // so we can't rely on the fragment-based preferences and must use the old deprecated methods. + addPreferencesFromResource(R.xml.settings); + } +} diff --git a/stetho-sample/src/main/res/layout/apod_list_item.xml b/stetho-sample/src/main/res/layout/apod_list_item.xml new file mode 100644 index 00000000..af83f261 --- /dev/null +++ b/stetho-sample/src/main/res/layout/apod_list_item.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + diff --git a/stetho-sample/src/main/res/layout/main_activity.xml b/stetho-sample/src/main/res/layout/main_activity.xml new file mode 100644 index 00000000..16ee1297 --- /dev/null +++ b/stetho-sample/src/main/res/layout/main_activity.xml @@ -0,0 +1,25 @@ + + + +