Initial empty repository
Initial move of code from frameworks/support/multidex to here

Also,
- Removed extraneous Eclipse-specific configuration files that are
  unnecessary in the Android build tree
- Includes the patch to support API level 19 from
  https://googleplex-android-review.git.corp.google.com/#/c/348129
- Checks for null and returns without patching the classloader when
  getting the package manager or package name from the passed in Context
  to MultiDex.install(...) since the Context object is probably a mock
  context for testing.
- Moved the test runners to package com.android.test.runner, which seems
  to be the standard place for all test runners.

Bug: 10674263
Change-Id: Idc894b360bd17db4acb50dd7daa2839ea8ea37e0
Restore SDK eclipse projects.

Change-Id: I0571445e464ab74ffcb4e972159a2a7cf805f613
Keep time extracted entry to avoid multiple dexopt.

Fix bug 11415819

Change-Id: I1a1300f430f0db7b587e2f29c273884ef80f7fbe
Control modTime of extracted files.

And use it to clean more accuratly old extracted files.

Fix bug 11232823

Change-Id: I23678ae07a8df955276ece7b8c0cdddef907992b
Merge "Control modTime of extracted files."
Update mZips field in classloader for GB

This enables mockito tests to also run.

Bug: 11709435
Change-Id: I9ebc5f5441a396c12eb8cde554d69a003fa6e7ad
Fix creation of zip file for multi-dex

Bug: 11791202
Change-Id: Ib8f97f11287a59db0ec119a1d55913aa8df3ce33
Minor cleaning in the code and comment.

- Remove 2 unused method arguments.
- Fix a bad copy paste of a comment.
- Remove a useless if.

Change-Id: I1b88b91e38cbe3c024207113f1c4a7bdc052e514
Verify secondary dex zip file is a zip file and retry

Also, print out the SHA1 digest of the zip file for all
attempts at extracting the zip file.

Bug: 11895788
Change-Id: I4170c2362aa8370fd13bc7bed62f2e6eb3223768
Remove computation of sha1 of zip file

This would spin up a lot of code to compute this and is
not something we want to do in every process that GMS Core
runs in.  Return zip file length to have some data about the
file.

Change-Id: Ibb22c54a6d8ef33c690fd35f2b69c427449ef5d1
Make file lock before renaming zip file

Change-Id: I548dd046f89d937f974cb5a925de70c7ecfad7a4
Buffer the file output stream

Also, removed the file locking which had no effect.

Bug: 11895788
Change-Id: I8b520fff9496f289eba88690b3b583f9c43b932c
Add log to identify the source of the zip corruption.

This CL is to be reverted when debug is done.

Change-Id: I47f2464a4b32affe2d63f874a1df3f8f24e569d5
Add additional check for valid Zip file before multidex install

Bug: 11895788
Change-Id: Id4f6e5b09be809eeb29367bebe78c03e49864cbf
Adjust to android-test-lib rename.

Change-Id: I009fd942bca11b998039016fec2116d58bd5ef56
Get multidex library building under Gradle

Change-Id: Ic6f8689c68c7bc79bf831441008ae6d08d58e91d
Check whether to extract secondary dex files based on apk size and CRC

This addresses an edge case where the secondary dex is not reloaded
when it should because of an OTA due to the modification time of the
PrebuiltGmsCore.apk in the system image is never different even though
PrebuiltGmsCore.apk may have changed in the OTA.  This performs two
checks, the first is that the overall size of the apk is the same.
The second is to check that the number of dex files are the same, and
the CRC values of the dex file zip entries are the same.

Bug: 12550057
Change-Id: I526f6b88cfc7957840b0c35aaad0eab0cd776f7e
Remove the check for source apk file size

The file deletion when finding that the source apk file size
was different than what was stored in SharedPreferences causes a race
condition when multiple processes are executing this code, where one
process could erase the secondary zip file while a different process had
already started to create the zip file.  This check is unnecessary and
has been removed.

Also, changed the parameter for getting the SharedPreferences to
Context.MODE_MULTI_PROCESS, which forces a re-read of the key/value
pairs from the file.

This should also fix the original bug b/12550057.

Bug: 12594955
Bug: 12550057
Change-Id: I53f4bca0d03a5737d802509274520a78effcf228
Fix gradle build

Change-Id: Idb9442556122d83f2277aceb79101f4f53e4c632