)]}'
{
  "log": [
    {
      "commit": "4fbbda4cecb078bd3867f416b02cc75f5455284f",
      "tree": "e4d988ec4be9e86e7fa5a2cfb1e20ecb1342ce72",
      "parents": [
        "5e21bf934b2a71b595deb9856a2044eea4dbce86"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 24 18:34:07 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 25 17:34:48 2012 -0700"
      },
      "message": "Handle multi-user mountObb() requests.\n\nSince emulated external storage paths differ based on execution\ncontext, carefully fix up paths for various use-cases:\n\n1. When sending paths to DefaultContainerService, always scope\n   OBB paths as belonging to USER_OWNER.\n2. When sending paths to vold, always build emulated storage paths\n   visible to root.\n3. Always use the original untouched path when talking with apps.\n\nMount OBB containers using shared app GID, so that an app can read\nthe mount point across users.\n\nHandle legacy paths like \"/sdcard\" by resolving the canonical path\nbefore sending to MountService.  Move tests to servicestests, and\nadd tests for new path generation logic.\n\nBug: 7212801\nChange-Id: I078c52879cd08d9c8a52cc8c83ac7ced1e8035e7\n"
    },
    {
      "commit": "13c7197da8a16f77f6398708a6314c80cb01e0d1",
      "tree": "092ded9f3fd6a3d59b4840f640f2cf4abb4ff45c",
      "parents": [
        "920d06db8dd2d6380a437fd03cb54b8caac92cee"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Wed Sep 07 16:35:56 2011 -0700"
      },
      "committer": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Fri Sep 09 14:44:40 2011 -0700"
      },
      "message": "Revert encryption mapping for device wipes.\n\nExternal storage volumes that were emulated+encrypted needed to have\ntheir encryption mapping removed so that it doesn\u0027t try to encrypt the\nvolume after formatting them.\n\nThis just wires through an argument through vold, and assumes that vold\nwill do the right thing even if there is no encryption mapping set.\n\nBug: 5017638\nChange-Id: I858fae3d12cb415bc34637f520f71220ad9daaad\n"
    },
    {
      "commit": "d6332552761fcce700adb465ff540d30a671403c",
      "tree": "b476c74c4e0872f9bf0531797da06a69c745de2f",
      "parents": [
        "a085ef3e35e986463567360b1d02a66c642ea603"
      ],
      "author": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Fri Jan 07 09:01:15 2011 -0600"
      },
      "committer": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Fri Jan 07 09:01:56 2011 -0600"
      },
      "message": "Add a method enable encryption.\n\nThis is for testing and needs to be cleaned up.\n\nChange-Id: I71cd5412f7096dc13d9ab61229ee9846c6f0006a\n"
    },
    {
      "commit": "5af0b916f850486cff4797355bf9e7dc3352fe00",
      "tree": "596919e498d72eadbc42b3307ac4f81542d34746",
      "parents": [
        "cf7775a88f8c88fc3a902799fc1d5100f6f7e0d6"
      ],
      "author": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Mon Nov 29 09:05:25 2010 -0600"
      },
      "committer": {
        "name": "Jason parks",
        "email": "jparks@google.com",
        "time": "Wed Jan 05 12:32:49 2011 -0600"
      },
      "message": "Add decryption support to MountService.\n\n* Implement the decryptStorage() method on the Mount Service.\n  This method makes the calls into vold to decrypt the encrypted\n  volumes and mount them.\n\nChange-Id: I4f6e07a111cf0b36611d590debf9f6579c5ac5f7"
    },
    {
      "commit": "af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c",
      "tree": "c59adbe6d27cf236d6920f689dd237a115fef3f9",
      "parents": [
        "ce2f1909c74a1b90995f06a865d21260b062300b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 08 09:21:39 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:22:03 2010 -0700"
      },
      "message": "OBB: rearrange to be entirely asynchronous\n\nRearrange structure of MountService handling of OBBs to be entirely\nasynchronous so we don\u0027t rely on locking as much. We still need the\nlocking to support dumpsys which has been improved to output all the\ndata structures for OBBs.\n\nAdded more tests to cover more of the error return codes.\n\nOh and fix a logic inversion bug.\n\nChange-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9\n"
    },
    {
      "commit": "05105f7abe02b2dff91d6260b3628c8b97816bab",
      "tree": "f42676d818548d76b2c55045a1bcc4866d6feec1",
      "parents": [
        "ea2cf2f936b03f1720bc43863e41c89ea2a7903a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 22 17:29:43 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:23:26 2010 -0700"
      },
      "message": "Update OBB API to include callbacks\n\nAdd a callback for users of the StorageManager API to be able to receive\nnotifications when the requested operation completes for mountObb and\nunmountObb.\n\nAdd NDK API to get to ObbInfo like the Java API has.\n\nAlso update the docs for the API and remove the \"STOPSHIP\" comments.\n\nChange-Id: I23a4409c7f8b74d3169614beba920b4d667990a4\n"
    },
    {
      "commit": "be857d42849eaaa554d4772dbba7755f8a0f3547",
      "tree": "e6fa28c1620c2908a00b035db8d7a5da68095eae",
      "parents": [
        "6be237120e9673e3cfc5243da5bbca287effcf09"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 18 15:59:25 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Aug 20 13:17:12 2010 -0700"
      },
      "message": "Reorganize MountService IPC\n\nRemove auto-generated AIDL files and replace them with manually edited\n.java and .cpp/.h files so that binder calls can be made from either\nJava or C++.\n\nUpdate the makefiles to not attempt to generate the AIDL files and also\nremove the old auto-generated .java files.\n\nPut all the storage-related C++ things in libstorage so that we don\u0027t\npollute other libraries.\n\nChange-Id: I82d1631295452709f12ff1270f36c3100e652806\n"
    }
  ]
}
