Revert "Add JavaInputStreamAdaptor files into third_party directory."

This reverts commit cf8b723ffdb2334022652a32e69169f97a8967ed.

Reason for revert: reverting and relanding to make the google3
roller happy

Original change's description:
> Add JavaInputStreamAdaptor files into third_party directory.
> 
> This code needs to be migrated out of the main Skia directory due to its
> use of the Apache 2.0 license. A followup CL will remove these files
> from their current home at platform_tools/android/apps/skottie/src/
> main/cpp.
> 
> Change-Id: I939b05afcebb29e1deab1d4ae1b38012f719cf7e
> Bug: skia:10310
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295082
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Weston Tracey <westont@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

TBR=bungeman@google.com,westont@google.com,johnstiles@google.com

Change-Id: Ib3cbad92b8c5616735a013d06e3345ac50f78c84
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10310, skia:10353
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295200
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
diff --git a/third_party/aosp/JavaInputStreamAdaptor.cpp b/third_party/aosp/JavaInputStreamAdaptor.cpp
deleted file mode 100644
index caeb859..0000000
--- a/third_party/aosp/JavaInputStreamAdaptor.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#include "include/core/SkTypes.h"
-#include "platform_tools/android/apps/skottie/src/main/cpp/JavaInputStreamAdaptor.h"
-
-static jclass findClassCheck(JNIEnv* env, const char classname[]) {
-    jclass clazz = env->FindClass(classname);
-    SkASSERT(!env->ExceptionCheck());
-    return clazz;
-}
-
-static jmethodID getMethodIDCheck(JNIEnv* env, jclass clazz,
-                                  const char methodname[], const char type[]) {
-    jmethodID id = env->GetMethodID(clazz, methodname, type);
-    SkASSERT(!env->ExceptionCheck());
-    return id;
-}
-
-static jmethodID    gInputStream_readMethodID;
-static jmethodID    gInputStream_skipMethodID;
-
-static JNIEnv* get_env_or_die(JavaVM* jvm) {
-    JNIEnv* env;
-    if (jvm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
-        char errorMessage[256];
-        sprintf(errorMessage, "Failed to get JNIEnv for JavaVM: %p", jvm);
-        SK_ABORT(errorMessage);
-    }
-    return env;
-}
-
-/**
- *  Wrapper for a Java InputStream.
- */
-class JavaInputStreamAdaptor : public SkStream {
-    JavaInputStreamAdaptor(JavaVM* jvm, jobject js, jbyteArray ar, jint capacity,
-                           bool swallowExceptions)
-            : fJvm(jvm)
-            , fJavaInputStream(js)
-            , fJavaByteArray(ar)
-            , fCapacity(capacity)
-            , fBytesRead(0)
-            , fIsAtEnd(false)
-            , fSwallowExceptions(swallowExceptions) {}
-
-public:
-    static JavaInputStreamAdaptor* Create(JNIEnv* env, jobject js, jbyteArray ar,
-                                          bool swallowExceptions) {
-        JavaVM* jvm;
-        if (env->GetJavaVM(&jvm) != JNI_OK) {
-            SK_ABORT("Failed to get JavaVM");
-        }
-
-        js = env->NewGlobalRef(js);
-        if (!js) {
-            return nullptr;
-        }
-
-        ar = (jbyteArray) env->NewGlobalRef(ar);
-        if (!ar) {
-            env->DeleteGlobalRef(js);
-            return nullptr;
-        }
-
-        jint capacity = env->GetArrayLength(ar);
-        return new JavaInputStreamAdaptor(jvm, js, ar, capacity, swallowExceptions);
-    }
-
-    ~JavaInputStreamAdaptor() override {
-        auto* env = get_env_or_die(fJvm);
-        env->DeleteGlobalRef(fJavaInputStream);
-        env->DeleteGlobalRef(fJavaByteArray);
-    }
-
-    size_t read(void* buffer, size_t size) override {
-        auto* env = get_env_or_die(fJvm);
-        if (!fSwallowExceptions && checkException(env)) {
-            // Just in case the caller did not clear from a previous exception.
-            return 0;
-        }
-        if (NULL == buffer) {
-            if (0 == size) {
-                return 0;
-            } else {
-                /*  InputStream.skip(n) can return <=0 but still not be at EOF
-                    If we see that value, we need to call read(), which will
-                    block if waiting for more data, or return -1 at EOF
-                 */
-                size_t amountSkipped = 0;
-                do {
-                    size_t amount = this->doSkip(size - amountSkipped, env);
-                    if (0 == amount) {
-                        char tmp;
-                        amount = this->doRead(&tmp, 1, env);
-                        if (0 == amount) {
-                            // if read returned 0, we're at EOF
-                            fIsAtEnd = true;
-                            break;
-                        }
-                    }
-                    amountSkipped += amount;
-                } while (amountSkipped < size);
-                return amountSkipped;
-            }
-        }
-        return this->doRead(buffer, size, env);
-    }
-
-    bool isAtEnd() const override { return fIsAtEnd; }
-
-private:
-    size_t doRead(void* buffer, size_t size, JNIEnv* env) {
-        size_t bytesRead = 0;
-        // read the bytes
-        do {
-            jint requested = 0;
-            if (size > static_cast<size_t>(fCapacity)) {
-                requested = fCapacity;
-            } else {
-                // This is safe because requested is clamped to (jint)
-                // fCapacity.
-                requested = static_cast<jint>(size);
-            }
-
-            jint n = env->CallIntMethod(fJavaInputStream,
-                                        gInputStream_readMethodID, fJavaByteArray, 0, requested);
-            if (checkException(env)) {
-                SkDebugf("---- read threw an exception\n");
-                return bytesRead;
-            }
-
-            if (n < 0) { // n == 0 should not be possible, see InputStream read() specifications.
-                fIsAtEnd = true;
-                break;  // eof
-            }
-
-            env->GetByteArrayRegion(fJavaByteArray, 0, n,
-                                    reinterpret_cast<jbyte*>(buffer));
-            if (checkException(env)) {
-                SkDebugf("---- read:GetByteArrayRegion threw an exception\n");
-                return bytesRead;
-            }
-
-            buffer = (void*)((char*)buffer + n);
-            bytesRead += n;
-            size -= n;
-            fBytesRead += n;
-        } while (size != 0);
-
-        return bytesRead;
-    }
-
-    size_t doSkip(size_t size, JNIEnv* env) {
-        jlong skipped = env->CallLongMethod(fJavaInputStream,
-                                            gInputStream_skipMethodID, (jlong)size);
-        if (checkException(env)) {
-            SkDebugf("------- skip threw an exception\n");
-            return 0;
-        }
-        if (skipped < 0) {
-            skipped = 0;
-        }
-
-        return (size_t)skipped;
-    }
-
-    bool checkException(JNIEnv* env) {
-        if (!env->ExceptionCheck()) {
-            return false;
-        }
-
-        env->ExceptionDescribe();
-        if (fSwallowExceptions) {
-            env->ExceptionClear();
-        }
-
-        // There is no way to recover from the error, so consider the stream
-        // to be at the end.
-        fIsAtEnd = true;
-
-        return true;
-    }
-
-    JavaVM*     fJvm;
-    jobject     fJavaInputStream;
-    jbyteArray  fJavaByteArray;
-    const jint  fCapacity;
-    size_t      fBytesRead;
-    bool        fIsAtEnd;
-    const bool  fSwallowExceptions;
-};
-
-static SkStream* CreateJavaInputStreamAdaptor(JNIEnv* env, jobject stream, jbyteArray storage,
-                                       bool swallowExceptions = true) {
-    return JavaInputStreamAdaptor::Create(env, stream, storage, swallowExceptions);
-}
-
-static SkMemoryStream* adaptor_to_mem_stream(SkStream* stream) {
-    SkASSERT(stream != NULL);
-    size_t bufferSize = 4096;
-    size_t streamLen = 0;
-    size_t len;
-    char* data = (char*)sk_malloc_throw(bufferSize);
-
-    while ((len = stream->read(data + streamLen,
-                               bufferSize - streamLen)) != 0) {
-        streamLen += len;
-        if (streamLen == bufferSize) {
-            bufferSize *= 2;
-            data = (char*)sk_realloc_throw(data, bufferSize);
-        }
-    }
-    data = (char*)sk_realloc_throw(data, streamLen);
-
-    SkMemoryStream* streamMem = new SkMemoryStream();
-    streamMem->setMemoryOwned(data, streamLen);
-    return streamMem;
-}
-
-SkStreamRewindable* CopyJavaInputStream(JNIEnv* env, jobject stream,
-                                        jbyteArray storage) {
-    std::unique_ptr<SkStream> adaptor(CreateJavaInputStreamAdaptor(env, stream, storage));
-    if (NULL == adaptor.get()) {
-        return NULL;
-    }
-    return adaptor_to_mem_stream(adaptor.get());
-}
-
-
-extern "C" JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
-    JNIEnv* env;
-    if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
-        return -1;
-    }
-
-    jclass inputStream_Clazz = findClassCheck(env, "java/io/InputStream");
-    gInputStream_readMethodID = getMethodIDCheck(env, inputStream_Clazz, "read", "([BII)I");
-    gInputStream_skipMethodID = getMethodIDCheck(env, inputStream_Clazz, "skip", "(J)J");
-
-    return JNI_VERSION_1_6;
-}
diff --git a/third_party/aosp/JavaInputStreamAdaptor.h b/third_party/aosp/JavaInputStreamAdaptor.h
deleted file mode 100644
index 8cfc2a4..0000000
--- a/third_party/aosp/JavaInputStreamAdaptor.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include "include/core/SkStream.h"
-#include "include/private/SkMalloc.h"
-#include <jni.h>
-
-SkStreamRewindable* CopyJavaInputStream(JNIEnv* env, jobject stream,
-                                        jbyteArray storage);
diff --git a/third_party/aosp/LICENSE b/third_party/aosp/LICENSE
deleted file mode 100644
index 64635a4..0000000
--- a/third_party/aosp/LICENSE
+++ /dev/null
@@ -1,161 +0,0 @@
-Apache License
-
-Version 2.0, January 2004
-
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and
-distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the
-copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other
-entities that control, are controlled by, or are under common control with
-that entity. For the purposes of this definition, "control" means (i) the
-power, direct or indirect, to cause the direction or management of such 
-entity, whether by contract or otherwise, or (ii) ownership of fifty 
-percent (50%) or more of the outstanding shares, or (iii) beneficial 
-ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising 
-permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, 
-including but not limited to software source code, documentation 
-source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation 
-or translation of a Source form, including but not limited to compiled 
-object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object 
-form, made available under the License, as indicated by a copyright 
-notice that is included in or attached to the work (an example is 
-provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object 
-form, that is based on (or derived from) the Work and for which the 
-editorial revisions, annotations, elaborations, or other modifications 
-represent, as a whole, an original work of authorship. For the purposes 
-of this License, Derivative Works shall not include works that remain 
-separable from, or merely link (or bind by name) to the interfaces of, 
-the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original 
-version of the Work and any modifications or additions to that Work or 
-Derivative Works thereof, that is intentionally submitted to Licensor 
-for inclusion in the Work by the copyright owner or by an individual or 
-Legal Entity authorized to submit on behalf of the copyright owner. For 
-the purposes of this definition, "submitted" means any form of electronic, 
-verbal, or written communication sent to the Licensor or its 
-representatives, including but not limited to communication on electronic 
-mailing lists, source code control systems, and issue tracking systems that 
-are managed by, or on behalf of, the Licensor for the purpose of discussing 
-and improving the Work, but excluding communication that is conspicuously 
-marked or otherwise designated in writing by the copyright owner as "Not 
-a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on 
-behalf of whom a Contribution has been received by Licensor and subsequently 
-incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this 
-License, each Contributor hereby grants to You a perpetual, worldwide, 
-non-exclusive, no-charge, royalty-free, irrevocable copyright license to 
-reproduce, prepare Derivative Works of, publicly display, publicly perform, 
-sublicense, and distribute the Work and such Derivative Works in Source or 
-Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this 
-License, each Contributor hereby grants to You a perpetual, worldwide, 
-non-exclusive, no-charge, royalty-free, irrevocable (except as stated in 
-this section) patent license to make, have made, use, offer to sell, sell, 
-import, and otherwise transfer the Work, where such license applies only to 
-those patent claims licensable by such Contributor that are necessarily 
-infringed by their Contribution(s) alone or by combination of their 
-Contribution(s) with the Work to which such Contribution(s) was submitted. 
-If You institute patent litigation against any entity (including a cross-claim
-or counterclaim in a lawsuit) alleging that the Work or a Contribution 
-incorporated within the Work constitutes direct or contributory patent 
-infringement, then any patent licenses granted to You under this License 
-for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or 
-Derivative Works thereof in any medium, with or without modifications, and 
-in Source or Object form, provided that You meet the following conditions:
-
-You must give any other recipients of the Work or Derivative Works a copy of 
-this License; and
-You must cause any modified files to carry prominent notices stating that 
-You changed the files; and
-You must retain, in the Source form of any Derivative Works that You 
-distribute, all copyright, patent, trademark, and attribution notices 
-from the Source form of the Work, excluding those notices that do not 
-pertain to any part of the Derivative Works; and
-If the Work includes a "NOTICE" text file as part of its distribution, 
-then any Derivative Works that You distribute must include a readable 
-copy of the attribution notices contained within such NOTICE file, excluding
-those notices that do not pertain to any part of the Derivative Works, in
-at least one of the following places: within a NOTICE text file distributed 
-as part of the Derivative Works; within the Source form or documentation, if 
-provided along with the Derivative Works; or, within a display generated by 
-the Derivative Works, if and wherever such third-party notices normally 
-appear. The contents of the NOTICE file are for informational purposes 
-only and do not modify the License. You may add Your own attribution 
-notices within Derivative Works that You distribute, alongside or as 
-an addendum to the NOTICE text from the Work, provided that such additional 
-attribution notices cannot be construed as modifying the License. 
-
-You may add Your own copyright statement to Your modifications and may provide
-additional or different license terms and conditions for use, reproduction, or
-distribution of Your modifications, or for any such Derivative Works as a 
-whole, provided Your use, reproduction, and distribution of the Work otherwise 
-complies with the conditions stated in this License.
-5. Submission of Contributions. Unless You explicitly state otherwise, any 
-Contribution intentionally submitted for inclusion in the Work by You to the 
-Licensor shall be under the terms and conditions of this License, without any 
-additional terms or conditions. Notwithstanding the above, nothing herein 
-shall supersede or modify the terms of any separate license agreement you 
-may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, 
-trademarks, service marks, or product names of the Licensor, except as 
-required for reasonable and customary use in describing the origin of the 
-Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to 
-in writing, Licensor provides the Work (and each Contributor provides its 
-Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
-ANY KIND, either express or implied, including, without limitation, any 
-warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or 
-FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining 
-the appropriateness of using or redistributing the Work and assume any risks 
-associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in
-tort (including negligence), contract, or otherwise, unless required by 
-applicable law (such as deliberate and grossly negligent acts) or agreed to 
-in writing, shall any Contributor be liable to You for damages, including 
-any direct, indirect, special, incidental, or consequential damages of any 
-character arising as a result of this License or out of the use or inability 
-to use the Work (including but not limited to damages for loss of goodwill, 
-work stoppage, computer failure or malfunction, or any and all other 
-commercial damages or losses), even if such Contributor has been advised 
-of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the 
-Work or Derivative Works thereof, You may choose to offer, and charge a 
-fee for, acceptance of support, warranty, indemnity, or other liability 
-obligations and/or rights consistent with this License. However, in accepting
-such obligations, You may act only on Your own behalf and on Your sole 
-responsibility, not on behalf of any other Contributor, and only if You
-agree to indemnify, defend, and hold each Contributor harmless for any 
-liability incurred by, or claims asserted against, such Contributor by 
-reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
\ No newline at end of file