Delete TestDocumentsProvider.

We can use StubProvider.

Change-Id: I8a38acd86e2ce57ff50f05710cb7f7f4c1fec63d
diff --git a/packages/DocumentsUI/testing/TestDocumentsProvider/Android.mk b/packages/DocumentsUI/testing/TestDocumentsProvider/Android.mk
deleted file mode 100644
index 8baadba..0000000
--- a/packages/DocumentsUI/testing/TestDocumentsProvider/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := TestDocumentsProvider
-LOCAL_CERTIFICATE := platform
-LOCAL_MODULE_TAGS := tests
-#LOCAL_SDK_VERSION := current
-
-LOCAL_PROGUARD_ENABLED := disabled
-LOCAL_DEX_PREOPT := false
-
-include $(BUILD_PACKAGE)
diff --git a/packages/DocumentsUI/testing/TestDocumentsProvider/AndroidManifest.xml b/packages/DocumentsUI/testing/TestDocumentsProvider/AndroidManifest.xml
deleted file mode 100644
index 66988a1..0000000
--- a/packages/DocumentsUI/testing/TestDocumentsProvider/AndroidManifest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 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.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.android.documentsui.testing">
-    <application>
-        <provider android:name="TestDocumentsProvider"
-                android:authorities="com.android.documentsui.testing"
-                android:exported="true"
-                android:grantUriPermissions="true"
-                android:permission="android.permission.MANAGE_DOCUMENTS">
-            <intent-filter>
-                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
-            </intent-filter>
-        </provider>
-    </application>
-</manifest>
diff --git a/packages/DocumentsUI/testing/TestDocumentsProvider/src/com/android/documentsui/testing/TestDocumentsProvider.java b/packages/DocumentsUI/testing/TestDocumentsProvider/src/com/android/documentsui/testing/TestDocumentsProvider.java
deleted file mode 100644
index 63ff0de..0000000
--- a/packages/DocumentsUI/testing/TestDocumentsProvider/src/com/android/documentsui/testing/TestDocumentsProvider.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * Copyright (C) 2015 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.
- */
-
-package com.android.documentsui.testing;
-
-import android.database.Cursor;
-import android.database.MatrixCursor;
-import android.database.MatrixCursor.RowBuilder;
-import android.os.AsyncTask;
-import android.os.CancellationSignal;
-import android.os.ParcelFileDescriptor;
-import android.provider.DocumentsContract.Document;
-import android.provider.DocumentsContract.Root;
-import android.provider.DocumentsProvider;
-import android.util.Log;
-
-import java.io.ByteArrayOutputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class TestDocumentsProvider extends DocumentsProvider {
-    private static final String TAG = "TestDocumentsProvider";
-
-    private static final String[] DEFAULT_ROOT_PROJECTION = new String[] {
-            Root.COLUMN_ROOT_ID,
-            Root.COLUMN_FLAGS,
-            Root.COLUMN_ICON,
-            Root.COLUMN_TITLE,
-            Root.COLUMN_DOCUMENT_ID, Root.COLUMN_AVAILABLE_BYTES,
-    };
-
-    private static final String[] DEFAULT_DOCUMENT_PROJECTION = new String[] {
-            Document.COLUMN_DOCUMENT_ID,
-            Document.COLUMN_MIME_TYPE,
-            Document.COLUMN_DISPLAY_NAME,
-            Document.COLUMN_LAST_MODIFIED,
-            Document.COLUMN_FLAGS,
-            Document.COLUMN_SIZE,
-    };
-
-    private static String[] resolveRootProjection(String[] projection) {
-        return projection != null ? projection : DEFAULT_ROOT_PROJECTION;
-    }
-
-    private static String[] resolveDocumentProjection(String[] projection) {
-        return projection != null ? projection : DEFAULT_DOCUMENT_PROJECTION;
-    }
-
-    @Override
-    public boolean onCreate() {
-        resetRoots();
-        return true;
-    }
-
-    @Override
-    public Cursor queryRoots(String[] projection) throws FileNotFoundException {
-        final MatrixCursor result = new MatrixCursor(resolveRootProjection(projection));
-
-        RowBuilder row = result.newRow();
-        row.add(Root.COLUMN_ROOT_ID, "local");
-        row.add(Root.COLUMN_FLAGS, Root.FLAG_LOCAL_ONLY);
-        row.add(Root.COLUMN_TITLE, "TEST-Local");
-        row.add(Root.COLUMN_SUMMARY, "TEST-LocalSummary");
-        row.add(Root.COLUMN_DOCUMENT_ID, "doc:local");
-
-        row = result.newRow();
-        row.add(Root.COLUMN_ROOT_ID, "create");
-        row.add(Root.COLUMN_FLAGS, Root.FLAG_SUPPORTS_CREATE | Root.FLAG_SUPPORTS_IS_CHILD);
-        row.add(Root.COLUMN_TITLE, "TEST-Create");
-        row.add(Root.COLUMN_DOCUMENT_ID, "doc:create");
-
-        return result;
-    }
-
-    private Map<String, Doc> mDocs = new HashMap<>();
-
-    private Doc mLocalRoot;
-    private Doc mCreateRoot;
-
-    private Doc buildDoc(String docId, String displayName, String mimeType) {
-        final Doc doc = new Doc();
-        doc.docId = docId;
-        doc.displayName = displayName;
-        doc.mimeType = mimeType;
-        mDocs.put(doc.docId, doc);
-        return doc;
-    }
-
-    public void resetRoots() {
-        Log.d(TAG, "resetRoots()");
-
-        mDocs.clear();
-
-        mLocalRoot = buildDoc("doc:local", null, Document.MIME_TYPE_DIR);
-
-        mCreateRoot = buildDoc("doc:create", null, Document.MIME_TYPE_DIR);
-        mCreateRoot.flags = Document.FLAG_DIR_SUPPORTS_CREATE;
-
-        {
-            Doc file1 = buildDoc("doc:file1", "FILE1", "mime1/file1");
-            file1.contents = "fileone".getBytes();
-            file1.flags = Document.FLAG_SUPPORTS_WRITE;
-            mLocalRoot.children.add(file1);
-            mCreateRoot.children.add(file1);
-        }
-
-        {
-            Doc file2 = buildDoc("doc:file2", "FILE2", "mime2/file2");
-            file2.contents = "filetwo".getBytes();
-            file2.flags = Document.FLAG_SUPPORTS_WRITE;
-            mLocalRoot.children.add(file2);
-            mCreateRoot.children.add(file2);
-        }
-
-        Doc dir1 = buildDoc("doc:dir1", "DIR1", Document.MIME_TYPE_DIR);
-        mLocalRoot.children.add(dir1);
-
-        {
-            Doc file3 = buildDoc("doc:file3", "FILE3", "mime3/file3");
-            file3.contents = "filethree".getBytes();
-            file3.flags = Document.FLAG_SUPPORTS_WRITE;
-            dir1.children.add(file3);
-        }
-
-        Doc dir2 = buildDoc("doc:dir2", "DIR2", Document.MIME_TYPE_DIR);
-        mCreateRoot.children.add(dir2);
-
-        {
-            Doc file4 = buildDoc("doc:file4", "FILE4", "mime4/file4");
-            file4.contents = "filefour".getBytes();
-            file4.flags = Document.FLAG_SUPPORTS_WRITE;
-            dir2.children.add(file4);
-        }
-    }
-
-    private static class Doc {
-        public String docId;
-        public int flags;
-        public String displayName;
-        public long size;
-        public String mimeType;
-        public long lastModified;
-        public byte[] contents;
-        public List<Doc> children = new ArrayList<>();
-
-        public void include(MatrixCursor result) {
-            final RowBuilder row = result.newRow();
-            row.add(Document.COLUMN_DOCUMENT_ID, docId);
-            row.add(Document.COLUMN_DISPLAY_NAME, displayName);
-            row.add(Document.COLUMN_SIZE, size);
-            row.add(Document.COLUMN_MIME_TYPE, mimeType);
-            row.add(Document.COLUMN_FLAGS, flags);
-            row.add(Document.COLUMN_LAST_MODIFIED, lastModified);
-        }
-    }
-
-    @Override
-    public boolean isChildDocument(String parentDocumentId, String documentId) {
-        for (Doc doc : mDocs.get(parentDocumentId).children) {
-            if (doc.docId.equals(documentId)) {
-                return true;
-            }
-            if (Document.MIME_TYPE_DIR.equals(doc.mimeType)) {
-                return isChildDocument(doc.docId, documentId);
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public String createDocument(String parentDocumentId, String mimeType, String displayName)
-            throws FileNotFoundException {
-        final String docId = "doc:" + System.currentTimeMillis();
-        final Doc doc = buildDoc(docId, displayName, mimeType);
-        doc.flags = Document.FLAG_SUPPORTS_WRITE | Document.FLAG_SUPPORTS_RENAME;
-        mDocs.get(parentDocumentId).children.add(doc);
-        return docId;
-    }
-
-    @Override
-    public String renameDocument(String documentId, String displayName)
-            throws FileNotFoundException {
-        mDocs.get(documentId).displayName = displayName;
-        return null;
-    }
-
-    @Override
-    public void deleteDocument(String documentId) throws FileNotFoundException {
-        mDocs.remove(documentId);
-        for (Doc doc : mDocs.values()) {
-            doc.children.remove(documentId);
-        }
-    }
-
-    @Override
-    public Cursor queryDocument(String documentId, String[] projection)
-            throws FileNotFoundException {
-        final MatrixCursor result = new MatrixCursor(resolveDocumentProjection(projection));
-        mDocs.get(documentId).include(result);
-        return result;
-    }
-
-    @Override
-    public Cursor queryChildDocuments(String parentDocumentId, String[] projection,
-            String sortOrder) throws FileNotFoundException {
-        final MatrixCursor result = new MatrixCursor(resolveDocumentProjection(projection));
-        for (Doc doc : mDocs.get(parentDocumentId).children) {
-            doc.include(result);
-        }
-        return result;
-    }
-
-    @Override
-    public ParcelFileDescriptor openDocument(String documentId, String mode,
-            CancellationSignal signal) throws FileNotFoundException {
-        final Doc doc = mDocs.get(documentId);
-        if (doc == null) {
-            throw new FileNotFoundException();
-        }
-        final ParcelFileDescriptor[] pipe;
-        try {
-            pipe = ParcelFileDescriptor.createPipe();
-        } catch (IOException e) {
-            throw new IllegalStateException(e);
-        }
-        if (mode.contains("w")) {
-            new AsyncTask<Void, Void, Void>() {
-                @Override
-                protected Void doInBackground(Void... params) {
-                    synchronized (doc) {
-                        try {
-                            final InputStream is = new ParcelFileDescriptor.AutoCloseInputStream(
-                                    pipe[0]);
-                            doc.contents = readFullyNoClose(is);
-                            is.close();
-                            doc.notifyAll();
-                        } catch (IOException e) {
-                            Log.w(TAG, "Failed to stream", e);
-                        }
-                    }
-                    return null;
-                }
-            }.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
-            return pipe[1];
-        } else {
-            new AsyncTask<Void, Void, Void>() {
-                @Override
-                protected Void doInBackground(Void... params) {
-                    synchronized (doc) {
-                        try {
-                            final OutputStream os = new ParcelFileDescriptor.AutoCloseOutputStream(
-                                    pipe[1]);
-                            while (doc.contents == null) {
-                                doc.wait();
-                            }
-                            os.write(doc.contents);
-                            os.close();
-                        } catch (IOException e) {
-                            Log.w(TAG, "Failed to stream", e);
-                        } catch (InterruptedException e) {
-                            Log.w(TAG, "Interuppted", e);
-                        }
-                    }
-                    return null;
-                }
-            }.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
-            return pipe[0];
-        }
-    }
-
-    private static byte[] readFullyNoClose(InputStream in) throws IOException {
-        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-        byte[] buffer = new byte[1024];
-        int count;
-        while ((count = in.read(buffer)) != -1) {
-            bytes.write(buffer, 0, count);
-        }
-        return bytes.toByteArray();
-    }
-}
diff --git a/packages/DocumentsUI/tests/Android.mk b/packages/DocumentsUI/tests/Android.mk
index cf486b1..2a540d4 100644
--- a/packages/DocumentsUI/tests/Android.mk
+++ b/packages/DocumentsUI/tests/Android.mk
@@ -17,4 +17,3 @@
 
 include $(BUILD_PACKAGE)
 
-include $(LOCAL_PATH)/../testing/TestDocumentsProvider/Android.mk