)]}'
{
  "log": [
    {
      "commit": "a9ac835437f45c7f7f3fc53f56aec2d53390fa72",
      "tree": "9dbf739a498124e08481956d19c67fb76e90696f",
      "parents": [
        "626f0dc73bc1007d16688eddf29ea58ec26f424e",
        "adb89214532a2eda2b5396886ae1ada16d890b24"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 28 22:51:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 22:51:42 2015 +0000"
      },
      "message": "Merge \"Clean up calls to Rect.intersect()\" into mnc-dev"
    },
    {
      "commit": "adb89214532a2eda2b5396886ae1ada16d890b24",
      "tree": "2289de40e3fecea23c1a12972bb067b29592bd2c",
      "parents": [
        "63428ccde7e925ceb94aa40e933b3d51954a7797"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 28 15:35:52 2015 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 28 15:39:05 2015 -0700"
      },
      "message": "Clean up calls to Rect.intersect()\n\nThis CL checks for the return value for Rect.intersect() for whether\nthere is actually an intersection before taking the return intersected\nrect. In the case of no intersection (Rect.intersect() returns false),\nan empty rect will be used as the intersection.\n\nbug: 7368679\nChange-Id: Ibda3bfd662f8ca83cb5662748d9be250243b72b2\n"
    },
    {
      "commit": "5ca3afa296cdfd2a5a1086b69d09e5035969b05c",
      "tree": "9ebc6193a577cbc2c5c0ad5c8a21c55589463631",
      "parents": [
        "e9ac81745ef0c5f0d96a2c9dfcf2f84a86ccf85d"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 07 10:55:59 2015 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 28 12:47:30 2015 -0700"
      },
      "message": "Update asan/app_process.\n\nBuild both 32 and 64-bit versions and don\u0027t limit it to eng.\n\nChange-Id: I5d6cc8005291100d5fe0f1385e8a0b4ba5f4d630\n(cherry picked from commit e740b17d2400ed0db17d1f7fce4f052bbbf808ab)\n"
    },
    {
      "commit": "2177ed407b8323e6f50d2aa64a62fbdc773e1859",
      "tree": "13c94e7b2f138e0f6e23bbb2f673d966b5bc989e",
      "parents": [
        "038959e851603500eb39b52fef33cbe75dbd73e3",
        "4c099d0c49c8366efd3c26854465b3ceef49b627"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 15 21:55:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 15 21:55:57 2015 +0000"
      },
      "message": "Merge changes from topic \u0027bench\u0027 into mnc-dev\n\n* changes:\n  Command to change force adoptable state.\n  Initial pass at storage benchmarks.\n"
    },
    {
      "commit": "4c099d0c49c8366efd3c26854465b3ceef49b627",
      "tree": "525ec22eff76fe90e003918fe22603ea60a9905b",
      "parents": [
        "9756d75ec28844f5ca30fda786a117c1a0ee88da"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 15 13:45:00 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 15 14:15:35 2015 -0700"
      },
      "message": "Command to change force adoptable state.\n\nSince user builds can\u0027t setprop, add an explicit \"sm\" verb to change\nthe force adoptable state.\n\nBug: 21191915\nChange-Id: I719d9b18c1a98c97442a5ddb1cc5512e8e4d3d3f\n"
    },
    {
      "commit": "4ccca50d7e501154127ac360e0fcbae850b1bbc8",
      "tree": "f903d0ee7143bcbe089248662d75a5df068fe47a",
      "parents": [
        "2bdd69c4a2d9a8a5e94770a710123fb1958cf25b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 16:18:05 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 16:24:19 2015 -0700"
      },
      "message": "Fix grant/revoke to act on owner by default and log invalid user id.\n\nbug:21163229\n\nChange-Id: I66d0cc130b37b5752ed06afc73259ed41bfb7830\n"
    },
    {
      "commit": "9831fad6768135dbd982d6dca78d7f6de81bb320",
      "tree": "ef56029d39afbc3a6b4c8feb563997c49e6bd192",
      "parents": [
        "645edef4834c2911386b659cc775840fb7479e01",
        "fcf10f7c12cb3107bdfedce6f76a8c866d154f3c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed May 13 22:31:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 22:31:57 2015 +0000"
      },
      "message": "Merge \"Modify how USB connections are handled.\" into mnc-dev"
    },
    {
      "commit": "fcf10f7c12cb3107bdfedce6f76a8c866d154f3c",
      "tree": "54e502f36ee820d1fc74cc52e653b7547801df41",
      "parents": [
        "2047ce824030a2ea6227a7544789281530b7892d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed May 13 11:54:03 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed May 13 14:28:13 2015 -0700"
      },
      "message": "Modify how USB connections are handled.\n\n* Introduce a new \"charger only\" mode. In this mode, MTP is disabled,\nand no file transfers can occur.\n* Make charger only mode the default.\n* Modify \"persist.sys.usb.config\" so it now only holds the adb status.\n* Make the USB settings non-persistent. Unplugging the USB connection will\nreset the device back to \"charger only\" mode.\n* Fixup wording per UI guidelines.\n\nTODO: Re-implement MDM restrictions for USB / MTP access controls.\n\nBug: 18905620\nChange-Id: I99a50d9132a81e98187f431166fd9fef4d437e4f\n"
    },
    {
      "commit": "c968e219372e140e2ae34f9b1e91597ccb719381",
      "tree": "1cb8712578f749adccf4f899adacaab897e030b4",
      "parents": [
        "d6acd422aff35bc7cb8ab46fa422a4be7fffd026",
        "0d838a0fad500a3c446df501d8aa7656c2c3a7a2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 20:57:01 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 20:57:03 2015 +0000"
      },
      "message": "Merge \"Determine if we have adoptable disks.\" into mnc-dev"
    },
    {
      "commit": "0d838a0fad500a3c446df501d8aa7656c2c3a7a2",
      "tree": "6027ab0923e889c7ea4720a41fa5e977e1235539",
      "parents": [
        "f85ac77f0c2b923ff8d93a731d2a0107c4c57744"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 13:54:30 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 13:54:35 2015 -0700"
      },
      "message": "Determine if we have adoptable disks.\n\nBug: 19993667\nChange-Id: I9b21b05736c22d34ca22f5ad6e1a6ebec440cfb6\n"
    },
    {
      "commit": "44b4add4ce912ac2502082c6778e9a818a778c82",
      "tree": "d50d4682e1e8022afad510e321e778e8deffaf6a",
      "parents": [
        "20cb37c6cb652cbb129f60232f43614d2812c38b",
        "7d2af54a98358e9dea96f879ebd1ea915263522b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 05:27:28 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 05:27:30 2015 +0000"
      },
      "message": "Merge \"New \"sm\" shell tool to call StorageManager.\" into mnc-dev"
    },
    {
      "commit": "7d2af54a98358e9dea96f879ebd1ea915263522b",
      "tree": "ee277a888fe98c570bb1950a9afdde9b8098d67d",
      "parents": [
        "fced534dec1088bdd7da1495d76b73996dc8a1a1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 12 15:27:15 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 12 15:52:43 2015 -0700"
      },
      "message": "New \"sm\" shell tool to call StorageManager.\n\nSurface basic StorageManager commands through shell tool, like\nsimple listing of disks and volumes, and commands like mounting and\npartitioning.\n\nThe output is designed to be parsed by host-side testing tools,\ninstead of relying on fragile dumpsys parsing.\n\nBug: 19993667\nChange-Id: I993e92ecf57996678965945f0ae648b392a77ea2\n"
    },
    {
      "commit": "8c7f700a59ad26e75c9791335d78f14322cad49a",
      "tree": "151d514ffaf4c6bde3ee650e8f94b7f64eb74fd8",
      "parents": [
        "3ce72722ca14ad9e84ca54920bb2829696f68d53"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 07 10:48:44 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 11 17:13:57 2015 -0700"
      },
      "message": "Add permission meta-state flags to support grant/revoke permission policy.\n\nWe now maintain a mata-state with each permission in the form of flags\nspecyfying the policy for this permission. This enables support of the\nfollowing use cases:\n\n1. The user denies a permission with prejudice in which case an app cannot\n   request the permission at runtime. If an app requests such a permssion\n   it gets a denial unless the user grants the permission from settings.\n\n2. A legacy app with disabled app-ops being upgraded to support runtime\n   permissions. The disabled app ops are converted to permission revocations.\n   The app ops manager is a part of the activity manger which sits on top\n   of the package manager, hence the latter cannot have a dependency on the\n   former. To avoid this the package installer which is the global\n   permission managment authority marks the permission as revoked on\n   upgrade and the package manager revokes it on upgrade.\n\n3. A device policy fixing a permission in a granted or revoked state. This\n   additional information is folded in the meta-state flags and neither\n   apps can request such permissions if revoked not the user can change\n   the permission state in the UI.\n\nChange-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811\n"
    },
    {
      "commit": "a5b2684c25add3ba6ebc43c27a1abc6bce2b2af4",
      "tree": "dc704504bae79612fc08ddbfe58db1ac9bf06e62",
      "parents": [
        "c454f786e2301b26afee3809a293a7fadd65434a",
        "e5f330456bdf5e138485ee117929fc4337866132"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon May 11 16:11:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 11 16:11:14 2015 +0000"
      },
      "message": "Merge \"Rename *AppIdle to *AppInactive per api-council\" into mnc-dev"
    },
    {
      "commit": "e5f330456bdf5e138485ee117929fc4337866132",
      "tree": "9c4b921692303f129febd3c56fcfbad9f95837ab",
      "parents": [
        "e678b41cdb56847c094260607ea39aea4abb808e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 08 13:20:22 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 08 13:20:22 2015 -0700"
      },
      "message": "Rename *AppIdle to *AppInactive per api-council\n\nChange to setAppInactive and isAppInactive in a few places.\n\nBug: 20823737\nChange-Id: Ie57dbc0dd2842e771bb5fd9f69b8041aacaa005c\n"
    },
    {
      "commit": "80f232deaee9fe4f69eaa5b8d355aac9bad7a291",
      "tree": "69914780c4aa24bb09c51339fb57e44e56d6baca",
      "parents": [
        "b4b44378011b9935ddb6f3f18bf1b7d5f57e948b",
        "b65b66ccc251371c817abe75176a73f84565410e"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Thu May 07 17:17:03 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 07 17:17:03 2015 +0000"
      },
      "message": "am b65b66cc: am 2224eac3: Merge \"bootanimation: fix garbage line issue when screen height is odd.\" into lmp-mr1-modular-dev\n\n* commit \u0027b65b66ccc251371c817abe75176a73f84565410e\u0027:\n  bootanimation: fix garbage line issue when screen height is odd.\n"
    },
    {
      "commit": "b65b66ccc251371c817abe75176a73f84565410e",
      "tree": "000e3ae2151dc5c85e23a5b9e3b7096ffd3f3f24",
      "parents": [
        "b53420d02def4277cf5b8a04da289b4291a9f24a",
        "2224eac30375a731f4ad38d6930dbc37b0855a0d"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "message": "am 2224eac3: Merge \"bootanimation: fix garbage line issue when screen height is odd.\" into lmp-mr1-modular-dev\n\n* commit \u00272224eac30375a731f4ad38d6930dbc37b0855a0d\u0027:\n  bootanimation: fix garbage line issue when screen height is odd.\n"
    },
    {
      "commit": "d13d504e4b7548f0ce4f9c4f0eee5c1ac2ce6794",
      "tree": "6686b4699d67f62045f51ed88b1dddcc1b9fdd46",
      "parents": [
        "d3de33e9dfaee6c0336a51e774632813b3344fca"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Mon May 04 15:24:12 2015 -0700"
      },
      "committer": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Tue May 05 13:21:27 2015 -0700"
      },
      "message": "bootanimation: fix garbage line issue when screen height is odd.\n\nbug:20032072\n\nChange-Id: I784fb6f815b22c37dcd7354729aca346726196d9\n"
    },
    {
      "commit": "275e3e43f2fba72fa99001cafa2a70e5478fc545",
      "tree": "be196ff698ba222c410d0666d430fa0ec5aa5ae4",
      "parents": [
        "b423e300f77de90aea34321ef7f67882d4e526ed"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 24 16:10:32 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 24 18:01:45 2015 -0700"
      },
      "message": "Migrate primary external storage.\n\nWire up through MountService to call down into vold.  Watch for\nunsolicited events that report progress, including special value \"82\"\nthat signals that copy has finished.  We use this value to persist\nthe volumeUuid in case of unexpected reboot, since it indicates the\nnew volume is ready.\n\nWire progress updates through existing callback pipeline.\n\nUpdate the volume mounting code to match against the persisted UUID\nwhen selecting the primary external storage.\n\nBug: 19993667\nChange-Id: Id46957610fb43517bbfbc368f29b7d430664590d\n"
    },
    {
      "commit": "4bc704655abee70c1998b9a62777cdf643920467",
      "tree": "eebc4498bd00c79dfc496ed805baaa23fbb06879",
      "parents": [
        "d4925af83911f697aa3160106914569949a68e18",
        "cf76872a62075abf9008e99ca08413fb70761dc2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 24 20:03:01 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 20:03:02 2015 +0000"
      },
      "message": "Merge \"Add ability to get and set idle state of apps\""
    },
    {
      "commit": "cf76872a62075abf9008e99ca08413fb70761dc2",
      "tree": "20ba4867939d30bccefe383ae85848bd610e0dde",
      "parents": [
        "a1ab2d37a055f9c2d623260b41ecff778fdf3aa2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Apr 23 20:36:41 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 24 12:58:46 2015 -0700"
      },
      "message": "Add ability to get and set idle state of apps\n\nAdd am shell command to set and get idle\nAdd public API to check if an app is idle\n\nBug: 20534955\nBug: 20493806\nChange-Id: Ib48b3fe847c71f05ef3905563f6e903cf060c498\n"
    },
    {
      "commit": "620b32b316fd4f1bab4eef55ec8802d14a55e7dd",
      "tree": "afedbccf5c135e8d19ba52db199316ab0932a277",
      "parents": [
        "61044cfd9c7f02d3806338a6b8f137f50e1b1e0f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 23 19:36:02 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 23 20:32:17 2015 -0700"
      },
      "message": "Package and storage movement callbacks.\n\nSince package and primary storage movement can take quite awhile,\nwe want to have SystemUI surface progress and allow the Settings\napp to be torn down while the movement proceeds in the background.\n\nMovement requests now return a unique ID that identifies an ongoing\noperation, and interested parties can observe ongoing progress and\nfinal status.  Internally, progress and status are overloaded so\nthe values 0-100 are progress, and any values outside that range\nare terminal status.\n\nAdd explicit constants for special-cased volume UUIDs, and change\nthe APIs to accept VolumeInfo to reduce confusion.  Internally the\nUUID value \"null\" means internal storage, and \"primary_physical\"\nmeans the current primary physical volume.  These values are used\nfor both package and primary storage movement destinations.\n\nPersist the current primary storage location in MountService\nmetadata, since it can be moved over time.\n\nSurface disk scanned events with separate volume count so we can\ndetermine when it\u0027s partitioned successfully.  Also send broadcast\nto support TvSettings launching into adoption flow.\n\nBug: 19993667\nChange-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10\n"
    },
    {
      "commit": "529f91fc8e7e884ef19bef8eb3e4e3a1d69336f4",
      "tree": "463b7b5d9175e98402939a2bbfebd4f30899feac",
      "parents": [
        "355df8f16ae4c428997d88ba86f1ce07e5eca35e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 18 20:23:13 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 18 21:11:58 2015 -0700"
      },
      "message": "Always send volume UUID with installd commands.\n\nSince packages can be moved to other volumes, all relevant commands\nto installd now require an explicit volume UUID parameter.\n\nBug: 20275577\nChange-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e\n"
    },
    {
      "commit": "1dfab471ed50478b4f63552778c949a2f0d37521",
      "tree": "aed4ce1d9dd3b866044a2891e1a6aa86d60d1397",
      "parents": [
        "65aea84c5a41c7c14bfcaf2f390911f8b5596acd",
        "a26c83718004c7640827d86b0f6a0fdf33017751"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 18:50:41 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 17 18:50:41 2015 +0000"
      },
      "message": "am a26c8371: am 5682a23e: am fef8bcf9: Merge \"Explicitly use clang.\"\n\n* commit \u0027a26c83718004c7640827d86b0f6a0fdf33017751\u0027:\n  Explicitly use clang.\n"
    },
    {
      "commit": "b9f6b0eec3b1d331e0be352409659292cc0f0b06",
      "tree": "8eafa6099d8c71cc9f5ef9b9b0cd24f9579b9def",
      "parents": [
        "c0c8d1983c5d7c9bc9469944a9d46856aff95ab9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 10:40:48 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 10:40:48 2015 -0700"
      },
      "message": "Explicitly use clang.\n\nThis was implicitly enabled by using ASAN.\n\nChange-Id: I562402a8191e2a3ab3eefd43860fbe7c58d441d8\n"
    },
    {
      "commit": "0bd2aa760346edd096f7c27283f394631f246f30",
      "tree": "ae3d425b60ea6af8a3e16b8c3580c3df97de0d37",
      "parents": [
        "8a2c92c834d4173132aa9fd23fa136d50bf7b0cc"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Apr 16 13:50:44 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Apr 17 08:37:56 2015 -0700"
      },
      "message": "Fail early when starting a background user activity.\n\nIf it shouldn\u0027t be displayed for all users.\n\nBug: 13507605\nChange-Id: I8fe8e5a98759c1ca058cc7d222817f6d580ffa11\n"
    },
    {
      "commit": "d46747a1c64b6ca3282e8841833980ab91829436",
      "tree": "feca484f9f10ee91399a12b41a524fb7f20a3eb5",
      "parents": [
        "10acf6d3efde60977d2d2e82b90c53d722d9d357"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 15 19:02:36 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 15 19:02:36 2015 -0700"
      },
      "message": "Add support for disabling display scaling for development.\n\nAdded two new options to the wm command.\n\n1. Set the screen size based on dips rather than pixels using the\ncurrent screen density.\n\neg. adb shell wm size 320dpx320dp\n\n2. Disable automatic scaling of the contents of the display.\nWhen combined with the previous command, this is useful for seeing\nhow the UI would behave if the screen remained at its current density\nbut changed physical size.\n\neg. adb shell wm scaling off\n\nBug: 19899223\nChange-Id: I545f893ba4861494e995cf0457ebeba1050d28dc\n"
    },
    {
      "commit": "1e38382b542f5cef9957a89692b02c55a3dd351c",
      "tree": "18c1b04b4e8f485fc3e6a99874d43e0161b8a8a4",
      "parents": [
        "172753e6f851aa1905953b00d11a48873ff4bbb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 10 14:02:33 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 14 10:01:24 2015 -0700"
      },
      "message": "Fixes to idle alarm scheduling, package importance.\n\n- Add new API to ask the activity manager what the current\n  importance of a particular package name is (along with a few\n  new useful importance levels).\n\n- Fix my last alarm manager change to actually execute the\n  alarms we have now decided should run even while we are idle.\n\nChange-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687\n"
    },
    {
      "commit": "39fb7fd730dc2113ced7e663d7a35e48a4c6b1ae",
      "tree": "62072f007251cdfe1ab1f93e68d838d53e9f2ad4",
      "parents": [
        "80ac603651b56c7f22268fbafb65206f8c03d6ba"
      ],
      "author": {
        "name": "Benjamin Franz",
        "email": "bfranz@google.com",
        "time": "Wed Feb 18 16:11:18 2015 +0000"
      },
      "committer": {
        "name": "Benjamin Franz",
        "email": "bfranz@google.com",
        "time": "Tue Apr 07 11:02:46 2015 +0100"
      },
      "message": "Allow silent package install for device owner.\n\nAllow the device owner to silently install and remove packages using the\nPackageInstaller APIs. Show notifications to the user after the\ninstallation / deletion was successful.\n\nBug: 19422461\nChange-Id: I0506e18c510efd9d04c4aea9b60a37456e689615\n"
    },
    {
      "commit": "b2b9ab8354da1485178cd8d8e9d89ac915b3f269",
      "tree": "3d58a32b4ef47c632e5aebebee34e143d1d8cc5a",
      "parents": [
        "b9223015261afdec7e8686b732b298b809bf87dc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 05 21:10:42 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 06 21:17:58 2015 -0700"
      },
      "message": "Installing packages to expanded storage.\n\nPackageManager now offers to load/unload packages when expanded\nvolumes are mounted/unmounted.  Expanded storage volumes are still\ntreated as FLAG_EXTERNAL_STORAGE from a public API point-of-view,\nbut this change starts treating the INSTALL_EXTERNAL flag as\nexclusively meaning ASEC containers.\n\nStart tracking the UUID of the volume where a package is installed,\ngiving us a quick way to find relevant packages.  When resolving an\ninstall location, look across all expanded volumes and pick the one\nwith the largest free space.  When upgrading an existing package,\ncontinue preferring the existing volume.  PackageInstaller now knows\nhow to stage on these volumes.\n\nAdd new movePackage() variant that accepts a target volume UUID\nas destination, it will eventually move data too.  Expose this\nmove command through \"pm\" command for testing.\n\nAutomount expanded volumes when they appear.\n\nBug: 19993667\nChange-Id: I9ca2aa328b9977d34e8b3e153db4bea8b8d6f8e3\n"
    },
    {
      "commit": "b677e0a49643d265eb0fa5efc3666a1e9362477f",
      "tree": "a75e78dd2549a6a5872ae62c30c20951c1d50dd2",
      "parents": [
        "516460819541e483321ef9156e4093d19f123ecc",
        "3605fac80b527fafd76836b09a4cfe1ad8b11e19"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 06 20:24:10 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 06 20:24:13 2015 +0000"
      },
      "message": "Merge \"Update command line usage for pm\""
    },
    {
      "commit": "3605fac80b527fafd76836b09a4cfe1ad8b11e19",
      "tree": "6e45e73b03367160bd441ba369f3d5090f2d5c05",
      "parents": [
        "092f038d502e49ae91db6f5af5a34344704fcae2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 06 13:20:45 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 06 13:20:45 2015 -0700"
      },
      "message": "Update command line usage for pm\n\nInclude the --user flag.\n\nChange-Id: Id2a2bc73f4b7392e308c5946eeb42b21426a1bfd\n"
    },
    {
      "commit": "d59a5d59df920d743723521a2afed9de1da3373b",
      "tree": "2fa60c308b330a8203d00f1e99811e54c6f486a9",
      "parents": [
        "cef55cde1cf1b9b15583d6b4c439dfea7bac7c26"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 04 14:52:14 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 04 17:36:05 2015 -0700"
      },
      "message": "Various fixes and improvements...\n\nIssue #19912529: VI: VoiceInteractor callback ClassCastException\n\nFix to use correct argument.\n\nIssue #19912636: VI: Documentation for VoiceInteractionSession.onBackPressed\n\nAdded documentation.\n\nIssue #19912703: VI: VoiceInteractionSession NPE on Abort Request\n\nMaybe fix this -- don\u0027t crash if there is no active session.\n\nIssue #19953731: VI: Add value index to...\n...android.app.VoiceInteractor.PickOptionRequest.Option\n\nThere is now an optional index integer that can be associated with\nevery Option object.\n\nIssue #19912635: VI: Behavior of startActivity when in voice...\n...interaction is unexpected\n\nWe now forcibly finish the current voice interaction task whenever\nanother activity takes focus from it.\n\nIssue #20066569: Add API to request heap dumps\n\nNew ActivityManager API to set the pss limit to generate heap\ndumps.\n\nAlso added app ops for assist receiving structure and screenshot\ndata, so that we can track when it does these things.\n\nChange-Id: I688d4ff8f0bd0b8b9e3390a32375b4bb7875c1a1\n"
    },
    {
      "commit": "222ab662051e9836b3623826fcb80ee7b5fa286f",
      "tree": "6084cc9a1ac172182169bb2a87b9d0ab87f286e2",
      "parents": [
        "6b115be0a2004d7b6faa3176e9d3a6460ee110d5",
        "1c329e856a1a7cdef6e55ee0269837a234631f75"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 17:33:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 01 17:33:31 2015 +0000"
      },
      "message": "am 1c329e85: am 855998d0: am c90a4418: Merge \"idmap: scan missing include for sys/stat.h\"\n\n* commit \u00271c329e856a1a7cdef6e55ee0269837a234631f75\u0027:\n  idmap: scan missing include for sys/stat.h\n"
    },
    {
      "commit": "6b115be0a2004d7b6faa3176e9d3a6460ee110d5",
      "tree": "a6fbc1879a779a52ab0df405304d9bbbd9726d17",
      "parents": [
        "78c926c9a3ee2a513bff08ca3e6276eafeebc531",
        "fa037c65d37b911024d597415beea3a9368a6fb5"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 17:27:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 01 17:27:21 2015 +0000"
      },
      "message": "am fa037c65: am f942e36a: am 5218065d: Merge \"app_main missing include for sys/stat.h\"\n\n* commit \u0027fa037c65d37b911024d597415beea3a9368a6fb5\u0027:\n  app_main missing include for sys/stat.h\n"
    },
    {
      "commit": "b62286e60c079936a5f1e5b0befd32d2d9bf1b3f",
      "tree": "9d46bbd5ed622dfb8c4f81daace7d996ce801a49",
      "parents": [
        "5218065dec34abdb15ee2fb5fffa86207b6b57a8"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 07:48:34 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 16:52:14 2015 +0000"
      },
      "message": "idmap: scan missing include for sys/stat.h\n\nscan.cpp gets sys/stat.h inherited from\nprivate/android_filesystem_config.h it should\nnot rely on this in the future. The intent is\nto move fs_config function into libcutils and\nthus deprecate any need for sys/stat.h in this\ninclude file.\n\nBug: 19908228\nChange-Id: If547e86513b06c536972138ae571c3d9c714ffe9\n"
    },
    {
      "commit": "fc737fb76cc889d0c19bd8bf74d2b5f1fc4fbe6e",
      "tree": "da0b535aa2f0a15b68a6272fc3bcfb626715fa00",
      "parents": [
        "562c6a71f98e921fe8def18991b2a26f153c683d"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 07:36:23 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 16:02:32 2015 +0000"
      },
      "message": "app_main missing include for sys/stat.h\n\napp_main.c gets sys/stat.h inherited from\nprivate/android_filesystem_config.h it should\nnot rely on this in the future. The intent is\nto move fs_config function into libcutils and\nthus deprecate any need for sys/stat.h in this\ninclude file.\n\nBug: 19908228\nChange-Id: I477b825e582742113f849aaa1df50c41e496b6f6\n"
    },
    {
      "commit": "34faab5a54b9415c340dfeb29af6886f00bb5d9e",
      "tree": "a521940f642e26a2e4c611978f1643c191ae7614",
      "parents": [
        "1cef4196886b0cc1238111d396c1e3665a5fd2ae"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 26 11:02:37 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 26 11:05:08 2015 -0700"
      },
      "message": "Add --sampling to am profile start\n\nChange-Id: I00dfdef6a7ac61ab4ce16fefe1ddc5554ace0c88\n"
    },
    {
      "commit": "95c1adea0c5fe10ceba217a327163757f4589d3d",
      "tree": "f15fd1568262a9b9ab8568a2fe8e56a417f540c8",
      "parents": [
        "ca7256ef32aced37c5eac0dcbb4950b52efedaf2"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 19 09:38:52 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Mar 24 01:53:50 2015 +0000"
      },
      "message": "Add install option to grant all runtime permissions.\n\nChange-Id: I72ba67a72025646a3d53611621b0353d3a86677c\n"
    },
    {
      "commit": "c6d1c345f41cf817bf2c07c97b97107d94296064",
      "tree": "4bb0bac510ae49524f25a71e3f9e73f5f78cf36f",
      "parents": [
        "3910eb551c7736015708c627dcabaa75c66d9ec3"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 26 14:44:43 2015 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 23 18:50:35 2015 -0700"
      },
      "message": "Runtime permissions: per user permission tracking.\n\nBefore all permissions were granted at install time at once, so the user\nwas persented with an all or nothing choice. In the new runtime permissions\nmodel all dangarous permissions (nomal are always granted and signature\none are granted if signatures match) are not granted at install time and\nthe app can request them as necessary at runtime.\n\nBefore, all granted permission to an app were identical for all users as\ngranting is performed at install time. However, the new runtime model\nallows the same app running under two different users to have different\nruntime permission grants. This change refactors the permissions book\nkeeping in the package manager to enable per user permission tracking.\n\nThe change also adds the app facing APIs for requesting runtime permissions.\n\nChange-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5\n"
    },
    {
      "commit": "3449789b9ca58fee7e5cd02ff89d544f4a6bc9b5",
      "tree": "4bae1e5c337a33c8ae280a2aed7741ec29f400be",
      "parents": [
        "c6ee744a90a4a84df93b6631ca7df8736ef320e1"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 20 15:52:43 2015 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Mar 12 19:51:57 2015 +0000"
      },
      "message": "SkStream is no longer a ref counted object.\n\nWith https://codereview.chromium.org/849103004/, SkStream is no longer\nref counted. Change callers that currently unref() SkStreams to one of\neither:\n- delete the stream\n- pass ownership of the stream\n\nscreencap.cpp:\nCall EncodeData directly, bypassing SkDynamicMemoryWStream and SkBitmap.\n\nUtils.cpp:\nWrite directly to an SkData, and then use that to construct a new\nSkStream.\n\nCherry-pick of a change that originally landed in master-skia and is\ndependent on a skia merge (ag/655422).\n\nChange-Id: Idc99ad7d5a70c893dc012d59915216f301ab3c9d\n"
    },
    {
      "commit": "b9a5e4ad30c9add140fd13491419ae66e947809d",
      "tree": "34000ecab4b9ef4175687e1cba78456524481a0f",
      "parents": [
        "eb803aef3b0f55785624e6a51deae867c1a95e88"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 03 17:04:12 2015 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 06 16:42:03 2015 -0800"
      },
      "message": "Add new debug feature to automatically create heap dumps.\n\nNot yet working, unless you turn off SELinux enforcing.\nWe need to update SElinux to allow the system process\nto give apps access to /data/system/heapdump/javaheap.bin.\n\nCurrently watching can only be enabled through the shell,\nsuch as:\n\nadb shell am set-watch-heap com.android.systemui 1024\n\nThe last number is the process pss size in bytes, so this is\nasking us to warn if it goes about 1K which will be all the\ntime.\n\nChange-Id: I2089e5db2927afca0bf01a363c6247ee5dcb26e8\n"
    },
    {
      "commit": "0510c2ee6014a3e1914c1e2474f08ed1e9aaaf89",
      "tree": "9e0ba7f39f33071b5d536e90489fb03afdb0a204",
      "parents": [
        "20d58e2af7738209b068038197db516d365d887a"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Mar 04 14:55:37 2015 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Mar 05 08:35:37 2015 -0500"
      },
      "message": "Add a list verb to the settings cmd.\n\nChange-Id: I8a203eefced3431085fd1981b1d120baab2cb77a\n"
    },
    {
      "commit": "a8c6111a88df157240ea40e61f46df8366b1b945",
      "tree": "41fb40d840fdc125217fb8de2d993c2b14c8525c",
      "parents": [
        "7b91c55b3ff4857e904a11a0a67fcc86a32868b4"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 02 16:21:35 2015 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 02 16:24:18 2015 -0800"
      },
      "message": "Content and settings shell commands passing invalid calling package.\n\nChange-Id: Ia80099ba0afba054b70511c0d95265ec303446e0\n"
    },
    {
      "commit": "08c7116ab9cd04ad6dd3c04aa1017237e7f409ac",
      "tree": "6ddb0659a3ecd024e0165ba050940bc40ea257fe",
      "parents": [
        "3062e57072145ba5e71ba8b2cf565d3453db04a7"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Feb 28 13:12:17 2015 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Feb 28 14:47:49 2015 -0500"
      },
      "message": "Remove unused imports in frameworks/base.\n\nChange-Id: I031443de83f93eb57a98863001826671b18f3b17\n"
    },
    {
      "commit": "53a29a90f35f72462c0d6ad650921d5566c1f8f0",
      "tree": "b898010e266072c37dca0b1179f06c543c00b7a6",
      "parents": [
        "d697ceac0227822ab33d8f7cbe5442cc37d9d74a"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Feb 23 15:42:52 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Feb 24 09:33:18 2015 -0800"
      },
      "message": "Added ActivityManager API and AM command to resize a task.\n\nAlso fixed issue with ActivityStackSupervisor.moveTaskToStackLocked()\nfunctionality not working correctly.\n\nChange-Id: Ia13f1e92a7c59ce6543c226533ac8ea623488290\n"
    },
    {
      "commit": "23eeb2b8aefce56a0a35a6fc460bd8718157e902",
      "tree": "a0a612939f95de6ffd1bb419fe155aba977bdf73",
      "parents": [
        "419389c52a2c81cbb0b4615d6b0b1c1253c3469c",
        "287c53f4a8bade1cb6c2dd2fe858da9c303e3e3d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 24 13:09:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 13:09:55 2015 +0000"
      },
      "message": "am 287c53f4: am 76507a64: am 72dc62ea: Merge \"Track removal of refcounts from FileMap.\"\n\n* commit \u0027287c53f4a8bade1cb6c2dd2fe858da9c303e3e3d\u0027:\n  Track removal of refcounts from FileMap.\n"
    },
    {
      "commit": "76507a64b530c757dc284f1f4d0807ffbfd9a701",
      "tree": "18ec820c1dd7fb03a97636fcc5451fd88e049cc2",
      "parents": [
        "948682d15f1a4a6676318213a49b50b967cfae27",
        "72dc62ead214bdec5c46d42f4e859b139dba0a00"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 24 12:56:52 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 12:56:52 2015 +0000"
      },
      "message": "am 72dc62ea: Merge \"Track removal of refcounts from FileMap.\"\n\n* commit \u002772dc62ead214bdec5c46d42f4e859b139dba0a00\u0027:\n  Track removal of refcounts from FileMap.\n"
    },
    {
      "commit": "688ff4cf0f93d1a886437884f23874e5595d59a3",
      "tree": "b8ef91775dfc3dff86d05aa5638b17dee597ca91",
      "parents": [
        "adb52ef7034d4d3e0eee58cedae2a343d29771b9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "message": "Track removal of refcounts from FileMap.\n\nUse delete instead of release.\n\nChange-Id: I25c841b368aa9d51e9259399b94cafa2bbb7a076\n"
    },
    {
      "commit": "4fecab570da64a1956352aedf1b3245d3ba26030",
      "tree": "4986924779f175b20662b8f41144fdb5f40d40b2",
      "parents": [
        "644ebc8800ad5e2fa1c239bd65a2cf6a88e6556b",
        "32acf753e8989766f67fd5300d3eb467f707cc79"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:36 2015 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:36 2015 -0800"
      },
      "message": "Merge commit \u002732acf753e8989766f67fd5300d3eb467f707cc79\u0027 into HEAD\n"
    },
    {
      "commit": "211f8b4d83fab4b4e036ff538bd8c14fbb856b72",
      "tree": "55c38b887d63acc8ae9a35536f762d885f7343d4",
      "parents": [
        "2447a40fce4e073c6f92926e4f83548367953055",
        "b1ea8a5316f9e439fd7608e1152c45aaf8f098ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 02:09:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 17 02:09:42 2015 +0000"
      },
      "message": "am b1ea8a53: am 2aa2672d: am 627396ac: Merge \"Add missing \u003csys/file.h\u003e include for flock.\"\n\n* commit \u0027b1ea8a5316f9e439fd7608e1152c45aaf8f098ff\u0027:\n  Add missing \u003csys/file.h\u003e include for flock.\n"
    },
    {
      "commit": "b1ea8a5316f9e439fd7608e1152c45aaf8f098ff",
      "tree": "ac536ca51d1d563082a710c49c90ac5f9cc4905e",
      "parents": [
        "c8036cdc602a35a415fd66370c7621bb957f657e",
        "2aa2672dd8168ac2bbd9d01c31ff14fea226b089"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 01:34:35 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 17 01:34:35 2015 +0000"
      },
      "message": "am 2aa2672d: am 627396ac: Merge \"Add missing \u003csys/file.h\u003e include for flock.\"\n\n* commit \u00272aa2672dd8168ac2bbd9d01c31ff14fea226b089\u0027:\n  Add missing \u003csys/file.h\u003e include for flock.\n"
    },
    {
      "commit": "b9de25f7db14102518485ad8375784848a200e60",
      "tree": "dcda897929b55a2d9500366288e2c4efd4d1efb3",
      "parents": [
        "e7e923818096a8a046ad183e932454428218c867"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 16 10:43:19 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 16 10:43:19 2015 -0800"
      },
      "message": "Add missing \u003csys/file.h\u003e include for flock.\n\nChange-Id: I0c66c03aeb4df614f7880a830b95c40f43f804db\n"
    },
    {
      "commit": "5e789f03b2bd018ab44cb4d1018f3682f27fd510",
      "tree": "01125dbd44550fd395b71960f1e3129f9a316c4c",
      "parents": [
        "346066ef90c6b0af50ba0187338de7e8c8c2f8aa"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 14:35:47 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Feb 12 09:25:52 2015 -0800"
      },
      "message": "Fixed bug in \u0027am stack split\u0027 command.\n\nChange-Id: Id3efb65a3f9cbf3c223ea08d51e2028180bd5479\n"
    },
    {
      "commit": "2c5763ae5d04ebd67eae2f86f840e6e68304e821",
      "tree": "e15ccc4b2e4e2b4c64751ca957be4c1918315982",
      "parents": [
        "094ff96b3f5a7fefb7e7dd75cb21927cfed42a81"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 10:26:44 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 14:02:19 2015 -0800"
      },
      "message": "Am command to split a stack.\n\nChange-Id: Idf3a364fc3826f6fe92f55b5c83b16b380d62ff4\n"
    },
    {
      "commit": "9d3de4cfb42519fefe9d8b03c38ba440bd6bc886",
      "tree": "b0510ec8967a1cab6e6d179c37c6e647bb5db9e5",
      "parents": [
        "547c9e5212cabc14efcd495935970ae98914a207"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sun Feb 01 16:49:44 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Feb 02 16:06:55 2015 -0800"
      },
      "message": "Support for activity to opt-in/out of resizeable/multi-window support.\n\nBug: 19178148\nChange-Id: I5819a71cdc48e0af4add11a6d4a503ec5cbe5d63\n"
    },
    {
      "commit": "aab56dbc1ef5c91afad1e61d633305bb3aa3cb1b",
      "tree": "53692389a4e012a10626024c8806535339de9425",
      "parents": [
        "728dace14d83e87e777ceaaf3dfd031cf3502f80"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 30 09:39:53 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 30 09:39:53 2015 -0800"
      },
      "message": "Show stacks underneath a resized stack\n\nWhen a stack is resized, make sure any non-fullscreen stack beneath it\nbecomes visible. This may mean additional activities are resumed in the\nprocess.\n\nBug: 19083171\nChange-Id: I5e7a3f82d76932ea2b9dbf0324ea183c42ee5496\n"
    },
    {
      "commit": "026111bc56498d6ac463b335d91e2ee5e06901be",
      "tree": "62ca9b5630bbdb7385789bf3dc5db906681208ae",
      "parents": [
        "85d6a63d41676abef92701c8d61af7552aa478a4",
        "3a10a672f05735be46256617b8a61cdb1e589008"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 27 23:27:37 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 27 23:27:37 2015 +0000"
      },
      "message": "am f7049289: am 3812e68e: Merge \"kill HAVE_PTHREADS.\"\nautomerge: 3a10a67\n\n* commit \u00273a10a672f05735be46256617b8a61cdb1e589008\u0027:\n  kill HAVE_PTHREADS.\n"
    },
    {
      "commit": "3a10a672f05735be46256617b8a61cdb1e589008",
      "tree": "1af6e4124be472ec39bc66563ade6f4efca10b5a",
      "parents": [
        "3fd1ebff6c017ba4495070cb34f1ed7652b33cc9",
        "f70492898b3efa3c5f480f195062fa6f293bc764"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 27 07:04:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 27 07:04:55 2015 +0000"
      },
      "message": "am f7049289: am 3812e68e: Merge \"kill HAVE_PTHREADS.\"\n\n* commit \u0027f70492898b3efa3c5f480f195062fa6f293bc764\u0027:\n  kill HAVE_PTHREADS.\n"
    },
    {
      "commit": "1610486d371b867c0a842ede38e64774c18ba5d9",
      "tree": "0c48396116094b6642fbc86973c3939d800ca7d3",
      "parents": [
        "82a1a2c63959adc0c7e3208c6ffa6985a346ae57"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 19:43:58 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 22:32:38 2015 -0800"
      },
      "message": "kill HAVE_PTHREADS.\n\nBug: 19083585\nChange-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564\n"
    },
    {
      "commit": "4900bf9d82c4905fadc43d8e2dd9a7f896da2d81",
      "tree": "d6758555e1a054e6a6e46276919166bd44f9db14",
      "parents": [
        "df8e59abe5b0803cddee243e2c98d06afb66f5a9"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 16 16:05:14 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jan 20 10:51:49 2015 -0800"
      },
      "message": "Expose new binder call createStackOnDisplay()\n\nCreates a new, empty ActivityStack on a display. Use the binder call to\nlaunch an activity on said stack.\n\nBug: 19001243\nChange-Id: I0f04e8f2703bcc706f58e75333869fb35f6b1ee9\n"
    },
    {
      "commit": "c7321134b31061cbf36bc54873e5cf5b2491e5e9",
      "tree": "08720488cc061c89080ecb6117dcee9e25bbb851",
      "parents": [
        "d6fe549b5027d390985cdf97985103f0ad1209ae",
        "474c7aceae0c6a91049deb7db944cbe85b56bcc7"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Jan 19 18:41:27 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 19 18:41:33 2015 +0000"
      },
      "message": "Merge \"Update dpm command to follow --user convention.\""
    },
    {
      "commit": "ca4d842205ce256aab53825920a791c7ab9d62f1",
      "tree": "47ef2bacdd4fb8bfa26c5b1fe6556a23970e5e1d",
      "parents": [
        "2c4b1610ef6d8ad9cafcb595f05e20eb92344569"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Jan 15 15:19:22 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Jan 15 15:22:17 2015 -0800"
      },
      "message": "Rename the binder call createActivityContainer\n\nChange the call to createVirtualActivityContainer to better describe what\u0027s\nactually being created with the call.\n\nChange-Id: Id3a32df19a5bb6740cbabcd65897349e9f2f2946\n"
    },
    {
      "commit": "474c7aceae0c6a91049deb7db944cbe85b56bcc7",
      "tree": "919066bc0b5a4432c68726486bb9ce7d0932897a",
      "parents": [
        "cd0555f27384c1bbb91fbb544d33e834acb3f3c3"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Jan 13 14:16:03 2015 +0000"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Jan 13 20:07:46 2015 +0000"
      },
      "message": "Update dpm command to follow --user convention.\n\nBug: 18426246\nChange-Id: Ieacba15c4b4bfaf6ac325d20554ac91a1051ca4c\n"
    },
    {
      "commit": "58958678010910a3e8eca6ef574e2dd7f12aec42",
      "tree": "f13fd5b4f28fca6ae312b38084668dfb00c9c0b4",
      "parents": [
        "62fbd4feb1bccfdfa08a96c71eb5a1b102ac4c2c",
        "9bd1382f210732f406e497883dc8f4039f8d33d9"
      ],
      "author": {
        "name": "Hui Shu",
        "email": "hush@google.com",
        "time": "Mon Jan 05 22:21:51 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 05 22:21:51 2015 +0000"
      },
      "message": "am e5cb6a25: am bb845152: Merge \"pm path needs to return 0 when it succeeds.\" into lmp-mr1-dev\nautomerge: 9bd1382\n\n* commit \u00279bd1382f210732f406e497883dc8f4039f8d33d9\u0027:\n  pm path needs to return 0 when it succeeds.\n"
    },
    {
      "commit": "9bd1382f210732f406e497883dc8f4039f8d33d9",
      "tree": "d5fa803ebe67bd48bba78f61d6f09346190656d5",
      "parents": [
        "b8e51390af6015c1eaff7679546a5a7d2dfa701d",
        "e5cb6a253afa8faffb85c73779a78c74aead23ae"
      ],
      "author": {
        "name": "Hui Shu",
        "email": "hush@google.com",
        "time": "Mon Jan 05 22:20:28 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 05 22:20:28 2015 +0000"
      },
      "message": "am e5cb6a25: am bb845152: Merge \"pm path needs to return 0 when it succeeds.\" into lmp-mr1-dev\n\n* commit \u0027e5cb6a253afa8faffb85c73779a78c74aead23ae\u0027:\n  pm path needs to return 0 when it succeeds.\n"
    },
    {
      "commit": "bb8451521196ce493e8827fd50ab84f3c776931d",
      "tree": "d1c0045dd4f18322a6758f037289b4319bdf650a",
      "parents": [
        "1d893785bdd8af210eab861653e3e7664c728897",
        "ac3151063e47ab693242d8d0eae021601a7d6529"
      ],
      "author": {
        "name": "Hui Shu",
        "email": "hush@google.com",
        "time": "Mon Jan 05 22:07:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 05 22:07:16 2015 +0000"
      },
      "message": "Merge \"pm path needs to return 0 when it succeeds.\" into lmp-mr1-dev"
    },
    {
      "commit": "64616f2fc774c09fbada28f4fce3ed1dbf35f7dc",
      "tree": "0f12ce80fcc31eb4ca6161895802b10af610ab74",
      "parents": [
        "a8f6c40f8ac0294dd1c3409f893aaa176569f984",
        "f15b67267a7b510c6c0d59a8a4c5150a90c63fe0"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 05 08:31:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 05 08:32:01 2015 +0000"
      },
      "message": "Merge \"Support quatation mark for text command\""
    },
    {
      "commit": "45159937bc6acfabcb5424f37207b3be963d8ae9",
      "tree": "37f211eb7bcf6bc914bd6a6d2d2902d683578783",
      "parents": [
        "ea84327fa48a33e3729c290ffe0862d86deb24a4",
        "1cc57aba8128134f55b6d5e4f4800c51e3472828"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Dec 29 11:14:51 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 29 11:14:51 2014 +0000"
      },
      "message": "am 1bafd01a: am 44a5a30a: Merge \"Fix \"pm list permissions\" crash if resource string missing\"\nautomerge: 1cc57ab\n\n* commit \u00271cc57aba8128134f55b6d5e4f4800c51e3472828\u0027:\n  Fix \"pm list permissions\" crash if resource string missing\n"
    },
    {
      "commit": "1cc57aba8128134f55b6d5e4f4800c51e3472828",
      "tree": "e4339a0e0618ec85a6c7ad39fc6ef1f23be66741",
      "parents": [
        "7e6ae353f022426d52df77acca4d0ded58b939b5",
        "1bafd01a3fc5f94e77d1c18e5a7dcdecddcaa47f"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Dec 29 11:13:22 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 29 11:13:22 2014 +0000"
      },
      "message": "am 1bafd01a: am 44a5a30a: Merge \"Fix \"pm list permissions\" crash if resource string missing\"\n\n* commit \u00271bafd01a3fc5f94e77d1c18e5a7dcdecddcaa47f\u0027:\n  Fix \"pm list permissions\" crash if resource string missing\n"
    },
    {
      "commit": "44a5a30a61e69b60f2f2b4b8884d28a0ec855f3a",
      "tree": "589959fe1eae3ac3e405d776845b485a22cb7336",
      "parents": [
        "712a02050e7be4479f12a81aeb23d7217b8d7a8d",
        "bf8b57af351ae9272b7490b373ca57b2a96e643a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Dec 29 11:01:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 29 11:01:28 2014 +0000"
      },
      "message": "Merge \"Fix \"pm list permissions\" crash if resource string missing\""
    },
    {
      "commit": "a6ad625cc7723f078e189790d381dd0777bca2ae",
      "tree": "b25a76a5ab26d0031eb92b3a6fc930e48a2b817d",
      "parents": [
        "bdd637a3ff56118f7c44b874ead3daf132c6c2e9",
        "093dad2a47aed9f16fd4190af4b3070b49b982f1"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Dec 18 21:04:52 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 18 21:04:52 2014 +0000"
      },
      "message": "am e06184e4: Merge \"Add mips64 support to app_process.\" automerge: 51bdc62\nautomerge: 093dad2\n\n* commit \u0027093dad2a47aed9f16fd4190af4b3070b49b982f1\u0027:\n  Add mips64 support to app_process.\n"
    },
    {
      "commit": "093dad2a47aed9f16fd4190af4b3070b49b982f1",
      "tree": "466c935df8ac8ca5087974a1fbf20166daf5b309",
      "parents": [
        "22810c4d171a1057bd2f36cb62664a242e7be0b9",
        "51bdc629f59b45fa64331e3c41ac35147ed4c7f6"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Dec 18 20:58:17 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 18 20:58:17 2014 +0000"
      },
      "message": "am e06184e4: Merge \"Add mips64 support to app_process.\"\nautomerge: 51bdc62\n\n* commit \u002751bdc629f59b45fa64331e3c41ac35147ed4c7f6\u0027:\n  Add mips64 support to app_process.\n"
    },
    {
      "commit": "7e7c6031821e2aa55c756a9c85f97a22f4875552",
      "tree": "0469a30448b73c613136b024596ab49a83e51d05",
      "parents": [
        "93241de734c3b9cf20e8e8956e6f6ccacc5b5ef2"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Wed Dec 17 20:25:20 2014 -0800"
      },
      "committer": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Wed Dec 17 20:27:25 2014 -0800"
      },
      "message": "Add mips64 support to app_process.\n\nChange-Id: Ieb05a212606f02ebad119a0aea0ed92773ace214\n"
    },
    {
      "commit": "0d09166a68292c005ac28326a41a02e7595aca54",
      "tree": "87f47c61508d09ae51af1599d8e8a840deb83ca3",
      "parents": [
        "61e0abc2f5245eb096ca764eef54616b3fb7f9b6"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sat Dec 13 23:09:56 2014 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sat Dec 13 23:09:56 2014 -0800"
      },
      "message": "Reapply: Add generated source dependency for Jack compilation.\n\nOriginal change:\nframeworks/testing 04af616aeba3a4e57b32092afe763981d1776dc8\n\nChange reapplied due to source location move\n\nBug: 18708851\nChange-Id: I2c220194aa94af528767c123f6fa34b623ce73d4\n"
    },
    {
      "commit": "9954a44896937d8f7fd7aebbe276c570101d4c77",
      "tree": "31f557804303169ec8daf987be4e1bad1d8a3ecc",
      "parents": [
        "584c3dfb53f7a795627a4ea8082ff54e83e4336a",
        "d8ca1208b3ee76e45e45e47d5806c398442a55a3"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Dec 14 04:04:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Dec 14 04:04:26 2014 +0000"
      },
      "message": "am d8ca1208: am 07bba9ab: Merge \"shell based UI Automator source move\" into lmp-mr1-dev\n\n* commit \u0027d8ca1208b3ee76e45e45e47d5806c398442a55a3\u0027:\n  shell based UI Automator source move\n"
    },
    {
      "commit": "18b892c723e812a7e111f102d2b0c0782b116bb6",
      "tree": "ab7f42c778169da272b503d308c2cc712effef2b",
      "parents": [
        "1f28a6a571a9b4ff78d85e2b62a30d77ce986d7b"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Dec 11 15:12:30 2014 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Dec 12 17:31:38 2014 -0800"
      },
      "message": "shell based UI Automator source move\n\nframeworks/testing/uiautomator -\u003e frameworks/base/cmds/uiautomator\n  (samples, utils sub folders exlcuded)\nframeworks/testing/uiautomator/utils -\u003e frameworks/base/tests/utils\n\nno source files changed, only one line makefile update (for\nUI Automator API check)\n\nBug: 18708851\nChange-Id: I396bd386d3d55a52df18af183685daf80caa9f73\n"
    },
    {
      "commit": "ac3151063e47ab693242d8d0eae021601a7d6529",
      "tree": "8bf079a88291472883a42d602d4c09779a75ecaf",
      "parents": [
        "da39290460b30e5080769f039d6dff352b3c7808"
      ],
      "author": {
        "name": "Hui Shu",
        "email": "hush@google.com",
        "time": "Fri Dec 12 14:04:36 2014 -0800"
      },
      "committer": {
        "name": "Hui Shu",
        "email": "hush@google.com",
        "time": "Fri Dec 12 14:06:01 2014 -0800"
      },
      "message": "pm path needs to return 0 when it succeeds.\n\nBUG: 18721587\nChange-Id: I2136d1933e62a20645517d17c1365d214509de16\n"
    },
    {
      "commit": "d1aa67b8e19ae96bd2ae4e6719d13902a8b6d845",
      "tree": "b5dc9b17cd8b0d69d5487f719824b47870e822ab",
      "parents": [
        "46765a0fbc015ae07be5a8e18afd66f048883462",
        "b0dd6d3a8a7f11454239facf0ee9b2dd2390945e"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 11 21:02:08 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 11 21:02:08 2014 +0000"
      },
      "message": "am b0dd6d3a: am 4c23a0ec: Merge \"Adjust format strings to work on both 32-bit and 64-bit builds\"\n\n* commit \u0027b0dd6d3a8a7f11454239facf0ee9b2dd2390945e\u0027:\n  Adjust format strings to work on both 32-bit and 64-bit builds\n"
    },
    {
      "commit": "cc0c8f23f314516426ce72a5df211f3052539560",
      "tree": "050ce2a8d43f2e341587ebf0837dae1ed0ba2f63",
      "parents": [
        "eb4de87683a0d1959d64af08f3685e1b3701a314"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 20 14:14:39 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Dec 10 10:27:50 2014 -0800"
      },
      "message": "Switch to libsigchain.a\n\n Use LOCAL_WHOLE_STATIC_LIBRARIES to instruct static linker\n to export symbols from the static library.\n\n(cherry picked from commit 5ba317cee071b718a163ab9acf2b6b4f6a337b39)\n\nBug: 18701723\nChange-Id: Id9b567a1529574eab2225777f1f2a5ea10e540ad\n"
    },
    {
      "commit": "f15b67267a7b510c6c0d59a8a4c5150a90c63fe0",
      "tree": "29e95a466022e3efe03c2fd38e99987ecb395713",
      "parents": [
        "5a7445b00d267db966cc72cd905aaf2379e64b6b"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Dec 08 15:19:14 2014 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Dec 08 15:19:14 2014 +0900"
      },
      "message": "Support quatation mark for text command\n\nChange-Id: If32daa593f5feb3b80b143faabd7e83511df2365\n"
    },
    {
      "commit": "46c82b4cd241a447834ed2f5a6be16777b7a990b",
      "tree": "afb199f10ef684e20579058a416c6d8eaa3f83e1",
      "parents": [
        "8c9283f41083a20a82ae37eac44b79de6eb3158e"
      ],
      "author": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Sun Nov 30 11:04:10 2014 +0100"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Dec 05 16:14:07 2014 -0800"
      },
      "message": "Adjust format strings to work on both 32-bit and 64-bit builds\n\nAdjust format strings to not produce Clang warnings in both 32-bit and\n64-bit builds\n\nChange-Id: I76c29d8d5d0fb4b5e9d9518077652370ffe9e871\nSigned-off-by: Bernhard Rosenkränzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "b46e9da64c51bcbfdd21b8e18850064eeb50d930",
      "tree": "1528a377f130885bfb9394f8db4648aded5901d3",
      "parents": [
        "bf6f7960f43fe03cd7e0c823263dca58111b8130",
        "bedd1744b2afa0ede3ab7ac38a0e4a2111ed53bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 03 20:42:17 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 03 20:42:17 2014 +0000"
      },
      "message": "am bedd1744: am ef44c051: Merge \"Work on issue #18572506: AppOps in-memory state is invalid after...\" into lmp-mr1-dev\n\n* commit \u0027bedd1744b2afa0ede3ab7ac38a0e4a2111ed53bf\u0027:\n  Work on issue #18572506: AppOps in-memory state is invalid after...\n"
    },
    {
      "commit": "7b7c58b3842d47c4c8df4876e2e2248c58477d97",
      "tree": "d925059e01f7d7a7f0c3c85fa05a9e3fee33e7a1",
      "parents": [
        "76de89820c51c4bc288b440a82374b9d6c806244"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 02 18:32:20 2014 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 03 10:01:14 2014 -0800"
      },
      "message": "Work on issue #18572506: AppOps in-memory state is invalid after...\n\n...uninstalling updates to a system app\n\nThings seem to be working fine, however we were not as aggressive at\nwriting out the current state in this case as we probably should be.\n\nAlso introduce more features to the appops command, which are useful\nfor testing this.\n\nChange-Id: I177a9cc0e16e98b76fee0d052d742e06842bb3f9\n"
    },
    {
      "commit": "243a42a7993761845e7042f1845de50aba2ffc7a",
      "tree": "d6093bcad572c7eacfe59592e179e933cd1271b9",
      "parents": [
        "b30866681475aff8fd23841dbadf1d39e0001e20",
        "43ea037b4c61e332d7419ac069a62e314166fdd7"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Nov 25 19:03:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 25 19:03:57 2014 +0000"
      },
      "message": "am 43ea037b: am 481c4b64: Merge \"Fix class vs. struct mismatch\"\n\n* commit \u002743ea037b4c61e332d7419ac069a62e314166fdd7\u0027:\n  Fix class vs. struct mismatch\n"
    },
    {
      "commit": "bcf57d9d3ab537b091bb9d6c02d25419f44a90c7",
      "tree": "390a929560f30fbdcdb10bcfce0e91215ac70da1",
      "parents": [
        "351ab57e2538bbe98455661517bd0e4b7f104605",
        "f07a99f9b92878e3570fe1715c701bc4c32d2ad9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Nov 25 18:43:43 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 25 18:43:43 2014 +0000"
      },
      "message": "am f07a99f9: am 07aca15b: Merge \"Better am error when SELinux blocking access.\" into lmp-mr1-dev\n\n* commit \u0027f07a99f9b92878e3570fe1715c701bc4c32d2ad9\u0027:\n  Better am error when SELinux blocking access.\n"
    },
    {
      "commit": "3939d6abf2a4b514e322c1c669da97614ac4510a",
      "tree": "cfc4dabf05af2268cc0c3bb773939e8a7a315809",
      "parents": [
        "0da89b76402816dade084166a97b1d352ae1f78b",
        "8e55c4bff83af7eea3212bc9ff6a254ac70139fd"
      ],
      "author": {
        "name": "Zoltan Szatmary-Ban",
        "email": "szatmz@google.com",
        "time": "Tue Nov 25 15:08:08 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 25 15:08:08 2014 +0000"
      },
      "message": "am 8e55c4bf: am 604aec95: Merge \"Add new subcommand \\\u0027set-active-admin\\\u0027 to the dpm command.\" into lmp-mr1-dev\n\n* commit \u00278e55c4bff83af7eea3212bc9ff6a254ac70139fd\u0027:\n  Add new subcommand \u0027set-active-admin\u0027 to the dpm command.\n"
    },
    {
      "commit": "99d61edfda1f80d13f1f1c96fbec41278f3da709",
      "tree": "14233c90399e45c1f6dfc4aebd75d3b117384948",
      "parents": [
        "613d20668a28f9dc970949c9efd2ca7f61bed6f4"
      ],
      "author": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Nov 17 21:15:30 2014 +0100"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 24 16:18:15 2014 -0800"
      },
      "message": "Fix class vs. struct mismatch\n\nDon\u0027t refer to classes as structs and view versa -- causes warnings in\nclang (in code built with -Werror)\n\nChange-Id: I4d7f461bcf6fe4e43a14ad2f28ee0e0ddea95abc\nSigned-off-by: Bernhard Rosenkränzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "dbea3cd118fe4eeb9b43ea50727987fa790a2edd",
      "tree": "48c62fd389ed91bbcfdfc844f0e4316b6ac8e0af",
      "parents": [
        "962bd4a69175077a95bc04bcdcc80ee6cb1034f8"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 24 14:45:40 2014 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 24 14:51:34 2014 -0800"
      },
      "message": "Better am error when SELinux blocking access.\n\nBug: 18479882\nChange-Id: I0732e54838c4e04d9d727e7c5fd9d7e7bacbaa1f\n"
    },
    {
      "commit": "604aec9574212aabb3391585799a72e6820466cd",
      "tree": "1b0e7e32517c254e3a63edf972277ac8f058b5d3",
      "parents": [
        "962b06f9a02f08392b6f87225a314ebf39dd7a07",
        "e9119876a21575ee7a7d058da85d04c4c4b8a971"
      ],
      "author": {
        "name": "Zoltan Szatmary-Ban",
        "email": "szatmz@google.com",
        "time": "Mon Nov 24 12:08:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 24 12:08:20 2014 +0000"
      },
      "message": "Merge \"Add new subcommand \u0027set-active-admin\u0027 to the dpm command.\" into lmp-mr1-dev"
    },
    {
      "commit": "676b1d886c95a2481dc377a9c2a6e045f08326e0",
      "tree": "0574449e54775b4e68945e7b68e2d9a8c15db96c",
      "parents": [
        "235fcdceb439fe676f6876c6c74626718363c540",
        "c43613becf0146a0d54ff15f5ca024d759c43290"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 21 03:01:09 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 21 03:01:09 2014 +0000"
      },
      "message": "am 28096c49: Merge \"Fix issue #15828903: Intent.parseUri allows call to FLAG_GRANT_*_URI_PERMISSION\" into lmp-mr1-dev\nautomerge: c43613b\n\n* commit \u0027c43613becf0146a0d54ff15f5ca024d759c43290\u0027:\n  Fix issue #15828903: Intent.parseUri allows call to FLAG_GRANT_*_URI_PERMISSION\n"
    },
    {
      "commit": "24b1c23c62b3d8ca1d762a76b2f1ef6360fc683e",
      "tree": "7ff5b24df000003126c17c504313507f4693107a",
      "parents": [
        "a6d2789c954698f6dca5479b305689d22fc05d80"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 20 17:17:39 2014 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 20 17:17:39 2014 -0800"
      },
      "message": "Fix issue #15828903: Intent.parseUri allows call to FLAG_GRANT_*_URI_PERMISSION\n\nYou now need to set a flag if you want this unsafe behavior.\n\nChange-Id: I185e9a04e005e42a887c3d58a2818616790b060a\n"
    },
    {
      "commit": "377d6f00dc2ab42df501fd12b23e1dab54cea6b7",
      "tree": "68ca3dd6db17c060f07f573362c1a9d66019bfc5",
      "parents": [
        "0d4a4e6e59267ed58d9fe44303e400877aa1caab",
        "42fec57f3addfb1958f814b5d6772ff81341ba20"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 21 00:43:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 00:43:51 2014 +0000"
      },
      "message": "am 42fec57f: am d9968438: Merge \"Fix issue with call backs from media process.\" into lmp-mr1-dev\n\n* commit \u002742fec57f3addfb1958f814b5d6772ff81341ba20\u0027:\n  Fix issue with call backs from media process.\n"
    },
    {
      "commit": "cd24a6d70b54c79605e51fcc6a249313e9c25a51",
      "tree": "6ce7fd404ee913e03f3b89f9ac20f1bd892402f4",
      "parents": [
        "3a091b79978caa9b5d58ae19f693279e5a717c2a",
        "43b8643e86d7c5d0d5cf536336126232454f361a"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 20 23:57:35 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 20 23:57:35 2014 +0000"
      },
      "message": "am 43b8643e: am f926d71b: Merge \"Fix format strings mismatching the parameters passed to them\"\n\n* commit \u002743b8643e86d7c5d0d5cf536336126232454f361a\u0027:\n  Fix format strings mismatching the parameters passed to them\n"
    },
    {
      "commit": "09993f768bcb6dd9ed76b5c655da2ad9d0ad8396",
      "tree": "fd10f5ffc634e0d574f269f7fd2f18b742f6e1d1",
      "parents": [
        "8e357bf54173c3f83584c10983392f0d87e0b2b3"
      ],
      "author": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Nov 17 20:25:28 2014 +0100"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 20 15:24:46 2014 -0800"
      },
      "message": "Fix format strings mismatching the parameters passed to them\n\nChange-Id: Ia0d33aec9edadac60508fb422e0821e6d8f28afa\nSigned-off-by: Bernhard Rosenkränzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "582bdf9a5961a32de27556832e23e0611c4d1cbb",
      "tree": "ec33c632f8b6f6d0437342c4dfe211ae6e6f1ed3",
      "parents": [
        "c51fdd1bbf507862c10686458d2486f57a5b9585",
        "d8c169fedf883491e46b354484909694fd52cfaf"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 23:00:56 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 20 23:00:56 2014 +0000"
      },
      "message": "am d8c169fe: am 0c437fd3: Merge \"Add appropriate casts for char16_t.\"\n\n* commit \u0027d8c169fedf883491e46b354484909694fd52cfaf\u0027:\n  Add appropriate casts for char16_t.\n"
    },
    {
      "commit": "6698749dd4d4d6513b26aa9071af290b956b68a7",
      "tree": "6c0716e521b60ff501f4aa4a3f7aff160578135f",
      "parents": [
        "36c7f4b67326bad547f16aa6e72140bd839ab28d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:41:21 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:47:40 2014 -0800"
      },
      "message": "Add appropriate casts for char16_t.\n\nC++11 defines a real char16_t, which is not implicitly convertible to\nuint16_t (and by extension jchar). Add casts as needed.\n\nBug: 18300613\nChange-Id: I00752002ef2e938bdb57f70947e8fd53ec103293\n"
    },
    {
      "commit": "ff17024e583b170312d82089fd358d278ce16c9a",
      "tree": "8c88e1081fe932f64fbae35b87fad3bb6f4ddd93",
      "parents": [
        "9522055f1d10b30158b772885bf4befe06fb2a08"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 19 10:59:01 2014 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 19 14:29:10 2014 -0800"
      },
      "message": "Fix issue with call backs from media process.\n\nAll but a few lines of this is for issue #16013164, which allowed\napps to do some operations as the media uid by having it call\nback to them to open a file.  The problem here is with the tempory\nidentity stuff in the activity manager, allowing us to make the open\ncall as the original caller...  ideally we should figure out a way\nto just get rid of all of that, but the solution here is actually\neasier (even though it doesn\u0027t look it) -- we now hand a token over\nto the openFile() call that it can use when doing permission checks\nto say \"yes I would like the check to be against whoever is responsible\nfor the open\".  This allows us to do the uid remapping for only this\none specific set of permission checks, and nothing else.\n\nAlso fix issue #17487348: Isolated services can access system services\nthey shouldn\u0027t be able to.  Don\u0027t send any system service IBinder objects\ndown for the first initialization of an isolated process.\n\nChange-Id: I3c70e16e0899d7eef0bae458e83958b41ed2b75e\n"
    },
    {
      "commit": "e9119876a21575ee7a7d058da85d04c4c4b8a971",
      "tree": "6e2feda16426b48d9c9dd3c2d3512a7e5ed2330c",
      "parents": [
        "b30d902ed404e5646bced27bdd2ca4006af802bf"
      ],
      "author": {
        "name": "Zoltan Szatmary-Ban",
        "email": "szatmz@google.com",
        "time": "Tue Oct 28 12:28:57 2014 +0000"
      },
      "committer": {
        "name": "Zoltan Szatmary-Ban",
        "email": "szatmz@google.com",
        "time": "Wed Nov 19 13:47:11 2014 +0000"
      },
      "message": "Add new subcommand \u0027set-active-admin\u0027 to the dpm command.\n\nBug: 18002490\nChange-Id: I91746032df08ef0fdef05711114691da18796a0a\n"
    },
    {
      "commit": "bd20bf7b80b115bf64d892f52c2c9c21f8a3cd64",
      "tree": "42a52ea14f3509a2a6f1be0a575bffa5fec80b28",
      "parents": [
        "d083d20bdeb4ca287688c7f848af1f2e6e703bfb",
        "e5e43e9ab88bf6a9951a323ae5f804967dab4c96"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sat Nov 15 01:24:30 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Nov 15 01:24:30 2014 +0000"
      },
      "message": "am 7658f0ed: Merge \"Teach bmgr that \"android\" is a valid package name\" into lmp-mr1-dev\nautomerge: e5e43e9\n\n* commit \u0027e5e43e9ab88bf6a9951a323ae5f804967dab4c96\u0027:\n  Teach bmgr that \"android\" is a valid package name\n"
    }
  ],
  "next": "fbec21ff43c8a35e95fca9ce40351350608974e9"
}
