├── AndroidAsync ├── res │ └── .gitignore ├── test │ ├── assets │ │ ├── hello.txt │ │ ├── test.json │ │ └── 6691924d7d24237d3b3679310157d640 │ ├── res │ │ ├── raw │ │ │ └── keystore.bks │ │ ├── drawable-hdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-ldpi │ │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher.png │ │ └── values │ │ │ └── strings.xml │ └── src │ │ └── com │ │ └── koushikdutta │ │ └── async │ │ └── test │ │ ├── TriggerFuture.java │ │ ├── SanityChecks.java │ │ ├── BodyTests.java │ │ ├── ConvertTests.java │ │ ├── ProxyTests.java │ │ ├── Md5.java │ │ ├── LineEmitterTests.java │ │ ├── FileTests.java │ │ ├── ParserTests.java │ │ ├── IssueWithWebSocketFuturesTests.java │ │ ├── Issue59.java │ │ ├── SSLTests.java │ │ ├── ByteUtilTests.java │ │ ├── RedirectTests.java │ │ ├── WebSocketTests.java │ │ └── DnsTests.java ├── lint.xml ├── ic_launcher-web.png ├── src │ └── com │ │ └── koushikdutta │ │ └── async │ │ ├── TapCallback.java │ │ ├── callback │ │ ├── ValueFunction.java │ │ ├── WritableCallback.java │ │ ├── ResultCallback.java │ │ ├── ValueCallback.java │ │ ├── SocketCreateCallback.java │ │ ├── ConnectCallback.java │ │ ├── ContinuationCallback.java │ │ ├── CompletedCallback.java │ │ ├── ListenCallback.java │ │ └── DataCallback.java │ │ ├── future │ │ ├── DependentFuture.java │ │ ├── SuccessCallback.java │ │ ├── DoneCallback.java │ │ ├── TypeConverter.java │ │ ├── DependentCancellable.java │ │ ├── FutureRunnable.java │ │ ├── FailCallback.java │ │ ├── ThenCallback.java │ │ ├── ThenFutureCallback.java │ │ ├── FailConvertCallback.java │ │ ├── FailRecoverCallback.java │ │ ├── FutureCallback.java │ │ ├── Cancellable.java │ │ ├── MultiTransformFuture.java │ │ ├── TransformFuture.java │ │ ├── FutureThread.java │ │ ├── HandlerFuture.java │ │ ├── MultiFuture.java │ │ ├── Futures.java │ │ ├── SimpleCancellable.java │ │ └── Future.java │ │ ├── http │ │ ├── server │ │ │ ├── MalformedRangeException.java │ │ │ ├── RouteMatcher.java │ │ │ ├── StreamSkipException.java │ │ │ ├── HttpServerRequestCallback.java │ │ │ ├── MimeEncodingException.java │ │ │ ├── AsyncHttpRequestBodyProvider.java │ │ │ ├── AsyncHttpServerRequest.java │ │ │ ├── AsyncHttpServerResponse.java │ │ │ ├── UnknownRequestBody.java │ │ │ └── AsyncProxyServer.java │ │ ├── BodyDecoderException.java │ │ ├── ConnectionFailedException.java │ │ ├── filter │ │ │ ├── ChunkedDataException.java │ │ │ ├── PrematureDataEndException.java │ │ │ ├── DataRemainingException.java │ │ │ ├── ChunkedOutputFilter.java │ │ │ ├── ContentLengthFilter.java │ │ │ └── InflaterInputFilter.java │ │ ├── WebSocketHandshakeException.java │ │ ├── RedirectLimitExceededException.java │ │ ├── callback │ │ │ ├── HttpConnectCallback.java │ │ │ └── RequestCallback.java │ │ ├── ConnectionClosedException.java │ │ ├── AsyncHttpPut.java │ │ ├── AsyncHttpPost.java │ │ ├── AsyncHttpDelete.java │ │ ├── AsyncHttpGet.java │ │ ├── AsyncSSLEngineConfigurator.java │ │ ├── AsyncHttpHead.java │ │ ├── AsyncHttpResponse.java │ │ ├── body │ │ │ ├── AsyncHttpRequestBody.java │ │ │ ├── StringPart.java │ │ │ ├── StreamPart.java │ │ │ ├── FilePart.java │ │ │ ├── ByteBufferListRequestBody.java │ │ │ ├── FileBody.java │ │ │ ├── StreamBody.java │ │ │ ├── JSONArrayBody.java │ │ │ ├── JSONObjectBody.java │ │ │ ├── StringBody.java │ │ │ ├── Part.java │ │ │ └── DocumentBody.java │ │ ├── WebSocket.java │ │ ├── SimpleMiddleware.java │ │ ├── cache │ │ │ ├── Objects.java │ │ │ └── ResponseSource.java │ │ ├── RequestLine.java │ │ ├── SSLEngineSNIConfigurator.java │ │ ├── HttpDate.java │ │ └── Protocol.java │ │ ├── AsyncServerSocket.java │ │ ├── AsyncSocket.java │ │ ├── HostnameResolutionException.java │ │ ├── wrapper │ │ ├── DataEmitterWrapper.java │ │ └── AsyncSocketWrapper.java │ │ ├── AsyncSSLServerSocket.java │ │ ├── AsyncSSLSocket.java │ │ ├── util │ │ ├── Charsets.java │ │ ├── TaggedList.java │ │ ├── UntypedHashtable.java │ │ ├── FileUtility.java │ │ ├── IdleTimeout.java │ │ ├── Allocator.java │ │ ├── TimeoutBase.java │ │ ├── HashList.java │ │ └── ThrottleTimeout.java │ │ ├── DataTrackingEmitter.java │ │ ├── AsyncSSLException.java │ │ ├── parser │ │ ├── AsyncParser.java │ │ ├── JSONObjectParser.java │ │ ├── JSONArrayParser.java │ │ ├── DocumentParser.java │ │ ├── StringParser.java │ │ └── ByteBufferListParser.java │ │ ├── DataEmitter.java │ │ ├── DataSink.java │ │ ├── FilteredDataSink.java │ │ ├── stream │ │ ├── FileDataSink.java │ │ ├── ByteBufferListInputStream.java │ │ ├── OutputStreamDataCallback.java │ │ └── OutputStreamDataSink.java │ │ ├── DataEmitterBase.java │ │ ├── DataEmitterReader.java │ │ ├── LineEmitter.java │ │ ├── ThreadQueue.java │ │ ├── ChannelWrapper.java │ │ ├── ZipDataSink.java │ │ ├── AsyncDatagramSocket.java │ │ ├── SocketChannelWrapper.java │ │ ├── ServerSocketChannelWrapper.java │ │ ├── AsyncSemaphore.java │ │ ├── DatagramChannelWrapper.java │ │ ├── FilteredDataEmitter.java │ │ ├── SelectorWrapper.java │ │ └── FileDataEmitter.java ├── AndroidManifest.xml ├── .classpath ├── project.properties ├── Android.mk ├── proguard-project.txt └── build.gradle ├── AndroidAsync-Kotlin ├── consumer-rules.pro ├── .gitignore ├── src │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── koushikdutta │ │ │ └── async │ │ │ └── kotlin │ │ │ └── FutureExtensions.kt │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── koushikdutta │ │ │ └── async │ │ │ └── kotlin │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── koushikdutta │ │ └── async │ │ └── kotlin │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro ├── README.md └── build.gradle ├── settings.gradle ├── AndroidAsyncSample ├── ic_launcher-web.png ├── res │ ├── values │ │ ├── styles.xml │ │ └── strings.xml │ ├── values-v11 │ │ └── styles.xml │ ├── drawable-hdpi │ │ ├── ic_launcher.png │ │ └── ic_action_search.png │ ├── drawable-ldpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ ├── ic_launcher.png │ │ └── ic_action_search.png │ ├── drawable-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_action_search.png │ ├── values-v14 │ │ └── styles.xml │ ├── menu │ │ └── activity_main.xml │ └── layout │ │ └── activity_main.xml ├── build.gradle ├── project.properties ├── proguard-project.txt ├── AndroidManifest.xml └── src │ └── com │ └── koushikdutta │ └── async │ └── sample │ └── middleware │ ├── BasicAuthMiddleware.java │ └── CacheOverrideMiddleware.java ├── .gitignore ├── LICENSE ├── .github └── FUNDING.yml └── gradlew.bat /AndroidAsync/res/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /AndroidAsync-Kotlin/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /AndroidAsync-Kotlin/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /AndroidAsync/test/assets/hello.txt: -------------------------------------------------------------------------------- 1 | hello world -------------------------------------------------------------------------------- /AndroidAsync/test/assets/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "foo": "bar" 3 | } -------------------------------------------------------------------------------- /AndroidAsync/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include 'AndroidAsync', 'AndroidAsyncSample', 'AndroidAsyncStetho' 2 | 3 | -------------------------------------------------------------------------------- /AndroidAsync/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rifkyprayoga/AndroidAsync/HEAD/AndroidAsync/ic_launcher-web.png -------------------------------------------------------------------------------- /AndroidAsync/test/res/raw/keystore.bks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rifkyprayoga/AndroidAsync/HEAD/AndroidAsync/test/res/raw/keystore.bks -------------------------------------------------------------------------------- /AndroidAsyncSample/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rifkyprayoga/AndroidAsync/HEAD/AndroidAsyncSample/ic_launcher-web.png -------------------------------------------------------------------------------- /AndroidAsync/src/com/koushikdutta/async/TapCallback.java: -------------------------------------------------------------------------------- 1 | package com.koushikdutta.async; 2 | 3 | 4 | public interface TapCallback { 5 | } 6 | -------------------------------------------------------------------------------- /AndroidAsyncSample/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |