)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "fbec21ff43c8a35e95fca9ce40351350608974e9",
      "tree": "24d58d1fa567fb10682da017b5acdb3693a3e81b",
      "parents": [
        "2f8d4ea2064940b373c96b47d6fcdefad3732ee8"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 13 16:36:33 2014 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 13 16:39:56 2014 -0800"
      },
      "message": "Teach bmgr that \"android\" is a valid package name\n\nBug 18379037\n\nChange-Id: I4d6da2893f83e672920bbda9447aa4cbd1ecec7b\n"
    },
    {
      "commit": "95ef0ac77738eac98e4952fe1e94db64c1560f5e",
      "tree": "d5f921dc513747500f6093a7821e0bc20258bd3f",
      "parents": [
        "8c95fb8cba3f1ae21161d386b0b74275d3c158d1",
        "525da301930e554dc331828adee35613f945c250"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 11 00:55:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 11 00:55:10 2014 +0000"
      },
      "message": "am 525da301: am 85d558cd: Add Activity API to get referrer information.\n\n* commit \u0027525da301930e554dc331828adee35613f945c250\u0027:\n  Add Activity API to get referrer information.\n"
    },
    {
      "commit": "85d558cd486d195aabfc4b43cff8f338126f60a5",
      "tree": "0a228ca6ffb9079635434a740abeeece370f055d",
      "parents": [
        "993e3d2d40cbd95d78cd3d2a76c77af2f4ab0e88"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 04 10:31:54 2014 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 11 00:42:18 2014 +0000"
      },
      "message": "Add Activity API to get referrer information.\n\nThis expands the use of EXTRA_REFERRER to be relevant anywhere,\nallowing apps to supply referrer information if they want.  However,\nif they don\u0027t explicitly supply it, then the platform now keeps\ntrack of package names that go with Intents when delivering them\nto apps, which it can be returned as the default value.\n\nThe new method Activity.getReferrer() is used to retrieve this\nreferrer information.  It knows about EXTRA_REFERRER, it can return\nthe default package name tracked internally, and it also can return\na new EXTRA_REFERRER_NAME if that exists.  The latter is needed\nbecause we can\u0027t use EXTRA_REFERRER in some cases since it is a Uri,\nand things like #Intent; URI extras can only generate primitive type\nextras.  We really need to support this syntax for referrers, so we\nneed to have this additional extra field as an option.\n\nWhen a referrer is to a native app, we are adopting the android-app\nscheme.  Since we are doing this, Intent\u0027s URI creation and parsing\nnow supports this scheme, and we improve its syntax to be able to build\nintents with custom actions and stuff, instead of being all hung up\non custom schemes.\n\nWhile doing this, fixed a problem when parsing both intent: and new\nandroid-app: schemes with a selector portion, where we were not\nrespecting any scheme that was specified.\n\nChange-Id: I06e55221e21a8156c1d6ac755a254fea386917a2\n"
    },
    {
      "commit": "5bf0c65eef972e743ca02e93f8d5ad7df5097931",
      "tree": "28c3f347ee4b4c25547911cb737f38614b18b3b1",
      "parents": [
        "bc1d97556d32a45ceca5db3e2af12cd3d4cf5590",
        "f89a2fdacb2ba907f180188dc79f9de81e3eb254"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 08 02:04:43 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 08 02:04:43 2014 +0000"
      },
      "message": "am f89a2fda: Merge \"Frameworks/base: Fix two warnings in cmds\"\n\n* commit \u0027f89a2fdacb2ba907f180188dc79f9de81e3eb254\u0027:\n  Frameworks/base: Fix two warnings in cmds\n"
    },
    {
      "commit": "ebee1379eaf4306eb2de9437844009aa7eb18c28",
      "tree": "165544f1e460464e14c41e8b88f73107e1668494",
      "parents": [
        "487ae9b8dc3e08c1a830d519a801a07cd59c8f2b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 16:28:19 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 08 01:04:45 2014 +0000"
      },
      "message": "Frameworks/base: Fix two warnings in cmds\n\nChange-Id: Ifb9c7fb7a2d28c13010ddc186bea5f5f0daefb4a"
    },
    {
      "commit": "9a0aa553ad9f6657cbbf0a182566c481e191e6b7",
      "tree": "8e657f6a4ca498fd3c038c6cf6a4f89eb1850a9a",
      "parents": [
        "1b0dbd5c954b61e2ee95f87817a1ec0e7d242b20",
        "e80c01e8d124c69ca60fc8e7a0ca7001be3796e0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 22:49:44 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 07 22:49:44 2014 +0000"
      },
      "message": "am e80c01e8: Merge \"Frameworks/base: Turn on -Wall -Werror in cmds\"\n\n* commit \u0027e80c01e8d124c69ca60fc8e7a0ca7001be3796e0\u0027:\n  Frameworks/base: Turn on -Wall -Werror in cmds\n"
    },
    {
      "commit": "cfedceb8c180a2e176154d461659e0c3569dc931",
      "tree": "00de5f6ee61e72713c3b141f5a308f33f312bf53",
      "parents": [
        "59701b9ba5c453e327bc0e6873a9f6ff87a10391"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 30 21:48:18 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 14:33:51 2014 -0800"
      },
      "message": "Frameworks/base: Turn on -Wall -Werror in cmds\n\nFix small warnings, turn on -Wall -Werror.\n\nChange-Id: Iab1f01a7c7ebd6ba832b75067c5e395f380a1b8b\n"
    },
    {
      "commit": "8d37f7c1b28c4e82b3bc961d183c313db16d8333",
      "tree": "6dd4c7deefb689177134f7d963b97b6f8719dada",
      "parents": [
        "5468f292f31383ba1ea9b488e1d0dfc743764f47",
        "9647bdd97ec7fda804244bde195ca10219726e89"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 05 19:06:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 05 19:06:25 2014 +0000"
      },
      "message": "am 9647bdd9: am 70bbbd32: Merge \"More flexible intent extra parsing.\" into lmp-mr1-dev\n\n* commit \u00279647bdd97ec7fda804244bde195ca10219726e89\u0027:\n  More flexible intent extra parsing.\n"
    },
    {
      "commit": "70bbbd32beefbb8e5c2e2dfa7a417274f80e2da2",
      "tree": "400a416fcae631ed14d1e6343fbaaf1748be436a",
      "parents": [
        "9af44ddf0367c542d6c1db6060456bd72f3c83ca",
        "795893eb6ff0c02c30a5765e06807ce1ee43978f"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 05 18:53:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 05 18:53:44 2014 +0000"
      },
      "message": "Merge \"More flexible intent extra parsing.\" into lmp-mr1-dev"
    },
    {
      "commit": "3869d75196c40ef919a2444a673d787d23679af5",
      "tree": "38c6d9aeda5461e2a58e0e87cfab8b77c1e24078",
      "parents": [
        "84df64d4009aa42ccca1bb4c4b03396fe441f990",
        "e8b451dd123b96252026992be3c96c9c577b4245"
      ],
      "author": {
        "name": "Evan Charlton",
        "email": "evanc@google.com",
        "time": "Fri Oct 31 20:22:15 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 31 20:22:15 2014 +0000"
      },
      "message": "am 984cf41a: Merge \"Have Pm return the correct code\" into lmp-mr1-dev\nautomerge: e8b451d\n\n* commit \u0027e8b451dd123b96252026992be3c96c9c577b4245\u0027:\n  Have Pm return the correct code\n"
    },
    {
      "commit": "7c006199e53a3cb082b9041793aa8364eb86a217",
      "tree": "2806db15e1ae94427ed0508c1c898b9fe632255d",
      "parents": [
        "b9144cea5184c90534db75b47e3818a688e64d5b"
      ],
      "author": {
        "name": "Evan Charlton",
        "email": "evanc@google.com",
        "time": "Wed Oct 22 08:39:46 2014 -0700"
      },
      "committer": {
        "name": "Evan Charlton",
        "email": "evanc@google.com",
        "time": "Fri Oct 31 12:45:25 2014 -0700"
      },
      "message": "Have Pm return the correct code\n\nIf the command fails, have Pm return a nonzero exit code.\n\nBug: 18085950\nChange-Id: I3de1b8f69aa8f44b2e2109864c1aa093e3b82141\n"
    },
    {
      "commit": "795893eb6ff0c02c30a5765e06807ce1ee43978f",
      "tree": "40742a3bb20209ab5cf499ec3c41a1b729af8a53",
      "parents": [
        "685720309a582acc513454d674f82368479c5297"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 29 00:01:25 2014 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 29 00:05:56 2014 -0400"
      },
      "message": "More flexible intent extra parsing.\n\nSpecifically, --ei (int extras) and --eia (int[] extras) now\nuse Integer.decode(), which means they accept negative\nintegers, base-16 integers formatted as #NNN and 0xNNN, and\nbase-8 integers formatted as 0NNN.\n\nAdditionally, --ez (boolean extras) can now be specified as\n\"true\", \"false\", \"t\", \"f\", or an integer (any nonzero\ntreated as true). The previous behavior, based on\nBoolean.valueOf(), would silently assign false if you\nmanaged to get the spelling of \"true\" wrong.\n\nChange-Id: I058254e907308006d403b5b7866c86bcaa03d8d3\n"
    },
    {
      "commit": "5a71f83227f0340a265f34b226d8fe01d4dd9773",
      "tree": "9e74435ad8e21fe6ace6a1c49ca2f596c60ced34",
      "parents": [
        "52656916e35b08013bf776b3603d6cecba287a1e",
        "a0d07d49b8b0aae71beb48ec31b43f6923530d00"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 09:00:49 2014 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 09:00:49 2014 -0700"
      },
      "message": "Merge lmp-dev-plus-aosp-without-vendor into stage-aosp-master\n\nChange-Id: I7063b7b52e9c09a57eb6bf3b4ffa3716d58ebf43\n"
    },
    {
      "commit": "1bb42f06e219c3073fb0612892eabdb6b9eadbc4",
      "tree": "6c8a91f583cf0d2e51ccf894806607f52524fd82",
      "parents": [
        "827d00f2f416a4271249b7a345b1fcdf7f8a10ae",
        "09a7d324ef15dab7f7bea72aa16b1585285cadf1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 17:59:04 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 21 17:59:04 2014 +0000"
      },
      "message": "am 09a7d324: am 388dbd28: Merge \"Include \u003ctime.h\u003e for clock_nanosleep.\"\n\n* commit \u002709a7d324ef15dab7f7bea72aa16b1585285cadf1\u0027:\n  Include \u003ctime.h\u003e for clock_nanosleep.\n"
    },
    {
      "commit": "388dbd28ac977782c2ff7a0ba97e2fbfaebfed4b",
      "tree": "56f1ca215686ab67be48fb99f01af8a2363ca966",
      "parents": [
        "7f2bc6c73b9f21515235fb638a0f510af3c45b44",
        "bb94f3107ea567ddf67bed4617c3bcbd602538df"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 17:49:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 21 17:49:03 2014 +0000"
      },
      "message": "Merge \"Include \u003ctime.h\u003e for clock_nanosleep.\""
    },
    {
      "commit": "bb94f3107ea567ddf67bed4617c3bcbd602538df",
      "tree": "3526a7f6b2598fef61d4e03d93cf414e505b71ad",
      "parents": [
        "e40974d92873462c4f1b100c7d03b3f41756c807"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 10:41:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 10:41:33 2014 -0700"
      },
      "message": "Include \u003ctime.h\u003e for clock_nanosleep.\n\nChange-Id: If3098fa03003bce5d06d60e9129c10cce3c850bb\n"
    },
    {
      "commit": "13078e15f34fed4d531200a1b87601b9b4195f8f",
      "tree": "656a6ef26a895f0b0edecda7d3c3c778178f621d",
      "parents": [
        "60ea57cc1b72b5938e7b37209958ad27db9db209",
        "9be7db6e3bc374efd9dcff744deab92148e20dbd"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 21 03:30:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 21 03:30:10 2014 +0000"
      },
      "message": "am 9be7db6e: am 952dd924: Merge \"Switch to libsigchain.a\"\n\n* commit \u00279be7db6e3bc374efd9dcff744deab92148e20dbd\u0027:\n  Switch to libsigchain.a\n"
    },
    {
      "commit": "a0d07d49b8b0aae71beb48ec31b43f6923530d00",
      "tree": "823e7a702793c44562361155b8e9690df2b41479",
      "parents": [
        "e55300b14a20458da284cac981514bd01b345559",
        "9be7db6e3bc374efd9dcff744deab92148e20dbd"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 21 03:29:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 21 03:29:46 2014 +0000"
      },
      "message": "am 9be7db6e: am 952dd924: Merge \"Switch to libsigchain.a\"\n\n* commit \u00279be7db6e3bc374efd9dcff744deab92148e20dbd\u0027:\n  Switch to libsigchain.a\n"
    },
    {
      "commit": "5ba317cee071b718a163ab9acf2b6b4f6a337b39",
      "tree": "b342b297f9c43eb94dd3dd10c374452ee2c51b41",
      "parents": [
        "09fd5a1873fa1ab51f4e428b1b909fea35091a51"
      ],
      "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": "Mon Oct 20 14:14:39 2014 -0700"
      },
      "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\nChange-Id: I465806dcffc777a682523f74ae6f7ab61aaa6962\n"
    },
    {
      "commit": "07268ce3d9de8f8d307e4522c9ac685974031782",
      "tree": "261e9c2ecfaffc30130e1e83d1ced71372437e4b",
      "parents": [
        "c218d8f19881deed098875e2caf41b7ca9e42133"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 07 13:34:42 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 16 11:43:49 2014 -0700"
      },
      "message": "Link sigchain to main executable\n\n Also export necessary symbols to preempt calls from\n libart.so\n\nBug: 15345057\nBug: 15426766\n\n(cherry picked from commit 96e0cfa721925550b1cc39cdfd6084a878e6ffe2)\n\nChange-Id: I0930d96edde7dc0636e8d50d7c778f099237f748\n"
    },
    {
      "commit": "7f05e9118bd9b91a18994d5757ca372b05bd732c",
      "tree": "a4e6cbeae34e1eacea400015729376752d85cb30",
      "parents": [
        "21bb71e4d8f088a2716eb11d948f88bd65748bfc",
        "d1e735ef547c1720aa5bb56a446afbb7a8652599"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 14 18:21:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 14 18:21:49 2014 +0000"
      },
      "message": "am d1e735ef: am ed583f5e: Merge \"Link sigchain to main executable\"\n\n* commit \u0027d1e735ef547c1720aa5bb56a446afbb7a8652599\u0027:\n  Link sigchain to main executable\n"
    },
    {
      "commit": "26d75a9e0086dee2f2e59ede4e502ad93ca3068c",
      "tree": "ba0b215165565e81dec8de5996fbe6e79e20311c",
      "parents": [
        "838018b2536d66455edf65ec263c5b99e7744a46",
        "d1e735ef547c1720aa5bb56a446afbb7a8652599"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 14 18:21:31 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 14 18:21:31 2014 +0000"
      },
      "message": "am d1e735ef: am ed583f5e: Merge \"Link sigchain to main executable\"\n\n* commit \u0027d1e735ef547c1720aa5bb56a446afbb7a8652599\u0027:\n  Link sigchain to main executable\n"
    },
    {
      "commit": "5457d5ccb6efdc138523cbcba7aa76ddb67f19e4",
      "tree": "7793910584d79ef3d4f54c41ecd174960b94629d",
      "parents": [
        "6a7335acd862babb40435f678348e3e651d77c89",
        "8f6928f1399620ce432b82d046912e2030d6511c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 10 21:06:48 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 10 21:06:48 2014 +0000"
      },
      "message": "am 8f6928f1: am e61e68d0: am 18d2d51e: am 7ea69880: Merge \"Improve some docs, fix some debugging.\" into lmp-dev\n\n* commit \u00278f6928f1399620ce432b82d046912e2030d6511c\u0027:\n  Improve some docs, fix some debugging.\n"
    },
    {
      "commit": "4ee6658e1971a30486735959e95d35402210dd57",
      "tree": "065b901f3d9a02480c18f1a329cdb732cf09df41",
      "parents": [
        "3f41cbf422a8c832e6f557ddfd882395c01b69f3",
        "7ea69880bdbf2c51140460dcfd063dc015c3ce26"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 10 14:34:41 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 10 14:34:41 2014 +0000"
      },
      "message": "am 7ea69880: Merge \"Improve some docs, fix some debugging.\" into lmp-dev\n\n* commit \u00277ea69880bdbf2c51140460dcfd063dc015c3ce26\u0027:\n  Improve some docs, fix some debugging.\n"
    },
    {
      "commit": "253ad526c11840d64317158a23348169f8fca5a8",
      "tree": "22020e11f632bc0dece6a50efe1b4421be94bae9",
      "parents": [
        "874d982c4ddcb5e4e2e561754cd9986ae5d12fc5",
        "500913ee002eb8a6a418732f3a6d7549ac046eaf"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Oct 10 04:26:55 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 10 04:26:55 2014 +0000"
      },
      "message": "am 500913ee: am cf1e5c39: am cf61b3f6: am 3910f53c: Merge \"bootanimation: Tweak parameters for pcm_open for playing boot sounds.\" into lmp-dev\n\n* commit \u0027500913ee002eb8a6a418732f3a6d7549ac046eaf\u0027:\n  bootanimation: Tweak parameters for pcm_open for playing boot sounds.\n"
    },
    {
      "commit": "ab4a81b3c625e33d04ae8070fcce6b6baee6522c",
      "tree": "0318213138edcfa4e65cd4e2c640f1a96bdeeb45",
      "parents": [
        "f9df9dd845ba1d1b14b450bd9df654243921381f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 09 17:59:38 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 09 18:21:59 2014 -0700"
      },
      "message": "Improve some docs, fix some debugging.\n\n- Add docs to Binder, Messenger, ResultReceier to explain their\n  relation (or lack there-of) to process lifecycle.\n- Clarify some aspects of process lifecycle for services.\n- Fix help text of am command.\n- Fix per-package dumping of battery stats to not include history.\n- Fix per-package dumping of proc stats to only include aggregated\n  and current stats and fix some formatting.\n- Fix per-process dumping of meminfo to have an option to interpret\n  the input as a package, so including all processes that are\n  running code of that package.\n- Fix top-level per-package debug output to correctly include all\n  of these improvements and give them a little more time (10s) to\n  complete for timing out.\n\nChange-Id: I2a04c0f862bd47b08329443d722345a13ad9b6e2\n"
    },
    {
      "commit": "96e0cfa721925550b1cc39cdfd6084a878e6ffe2",
      "tree": "40fb74227d09c3abef60b8799038c1bab8358ca1",
      "parents": [
        "ae1b6805a2609759186af8d7131c4750e011019a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 07 13:34:42 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 09 15:03:07 2014 -0700"
      },
      "message": "Link sigchain to main executable\n\n Also export necessary symbols to preempt calls from\n libart.so\n\nBug: 15345057\nBug: 15426766\nChange-Id: If0b7f59a59824e30aa0c33dad76c7a44932180de\n"
    },
    {
      "commit": "22466960eef6263cd88965005b661a6f55f79439",
      "tree": "5b9d4e6791eba4ceea7dd88f3d92c336c1690931",
      "parents": [
        "e00df1dc08e4722d2f3742d9fc0c205c52683289",
        "3910f53c5ebccbe64ab768591dc7c377f1eb0153"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Oct 08 22:49:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 08 22:49:14 2014 +0000"
      },
      "message": "am 3910f53c: Merge \"bootanimation: Tweak parameters for pcm_open for playing boot sounds.\" into lmp-dev\n\n* commit \u00273910f53c5ebccbe64ab768591dc7c377f1eb0153\u0027:\n  bootanimation: Tweak parameters for pcm_open for playing boot sounds.\n"
    },
    {
      "commit": "28138587ef4ec3da71c5275ac60ffae03ca69fce",
      "tree": "9415c44728f407aaf58bbb74c43e2883acabad1c",
      "parents": [
        "41bb3455e44dc8fde4569bbfd56fa20c6da8a27d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Oct 07 14:47:26 2014 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Oct 07 14:47:26 2014 -0700"
      },
      "message": "bootanimation: Tweak parameters for pcm_open for playing boot sounds.\n\nSet start_threshold and avail_min to 1/4th period size and stop_threshold to INT_MAX\n\nChange-Id: I0a3aac18533709daa86a024cdd6a32086410723a\n"
    },
    {
      "commit": "73c35e27d3bde6e316e3359604f4a131fef3e263",
      "tree": "24a61ef83842a221a921079678795dbe0830b32b",
      "parents": [
        "361e204991a2f06370e9886a9a8382279c93399c",
        "66c009ebfe5b31aa1f176d4856d95f5daad6079d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Oct 07 00:13:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 07 00:13:18 2014 +0000"
      },
      "message": "am 66c009eb: am bb68c263: am 3df6b76c: am 56b7d562: Merge \"Add support for playing audio during bootanimation\" into lmp-dev\n\n* commit \u002766c009ebfe5b31aa1f176d4856d95f5daad6079d\u0027:\n  Add support for playing audio during bootanimation\n"
    },
    {
      "commit": "e4e5780420539bbfda1cc6be2548793fb37632fc",
      "tree": "1dd9ba400f5e8c1eeaf71a3215a210ba1bc3bcfa",
      "parents": [
        "db58e1bec1eff594f60ec103887d6a633b771243",
        "56b7d562af4dd0e7bd04163fe9a86a801fcff1fe"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 06 22:34:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 06 22:34:27 2014 +0000"
      },
      "message": "am 56b7d562: Merge \"Add support for playing audio during bootanimation\" into lmp-dev\n\n* commit \u002756b7d562af4dd0e7bd04163fe9a86a801fcff1fe\u0027:\n  Add support for playing audio during bootanimation\n"
    },
    {
      "commit": "ebf9a0d8a888042c16ec0cb6dd8419f18038663f",
      "tree": "e364c8e39ff0795a22da5a5d1e32472bc22dcebb",
      "parents": [
        "76716c5a180aa471c6973ca7aa03c7f2da677823"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Oct 02 16:08:47 2014 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Oct 03 15:38:15 2014 -0700"
      },
      "message": "Add support for playing audio during bootanimation\n\nThe bootanimation daemon will play 16 bit WAV files contained in bootanimation.zip\nFor this to work, the bootanimation.zip must contain an audio_conf.txt file,\nwhich contains parameters to be used for the tinyalsa pcm_open call\nas well as mixer parameters to set before attempting to play the sound.\n\nIf the bootanimation finds an audio_conf.txt file, then it will look for a file named\n\"audio.wav\" in each of the part subdirectories. If audio.wav is found, it will play that\nWAV file starting at the beginning of that part.\n\nThe code for this is based on the tinyplay utility in tinyalsa.\n\nThe audio_conf.txt and must begin with the following header:\n\ncard\u003d\u003cALSA card number\u003e\ndevice\u003d\u003cALSA device number\u003e\nperiod_size\u003d\u003cperiod size\u003e\nperiod_count\u003d\u003cperiod count\u003e\n\nThis header is followed by zero or more mixer settings, each with the format:\nmixer \"\u003cname\u003e\" \u003d \u003cvalue list\u003e\nSince mixer names can contain spaces, the name must be enclosed in double quotes.\nThe values in the value list can be integers, booleans (represented by 0 or 1)\nor strings for enum values.\n\nFinally I should mention that this change is not the right approach.\nInstead of going straight to ALSA we should be using the mediaserver instead.\nBut mediaserver isn\u0027t ready in time due to interactions with the system server, and there\nisn\u0027t time to fix this for the current release. We need to fix that for the next one.\n\nBug: 17674304\n\nChange-Id: Ic391ade61c941d0a24f4d64fe005ac9375a23fa9\n"
    },
    {
      "commit": "58499d61f8dfb084125f5a289479656f260e1e05",
      "tree": "6058c29fbf93fb3675f5a4c08d398e72d81cd0d1",
      "parents": [
        "63f38a083657a4fa52377362889bef957ebbca82",
        "8292b0331e21af8786791067e92009e949448f3f"
      ],
      "author": {
        "name": "Alexandra Gherghina",
        "email": "alexgherghina@google.com",
        "time": "Wed Oct 01 17:09:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 01 17:09:34 2014 +0000"
      },
      "message": "am 8292b033: am a266670a: am d7275ae2: am 75c33d9d: Merge \"Adds the ability to start a user in background\" into lmp-dev\n\n* commit \u00278292b0331e21af8786791067e92009e949448f3f\u0027:\n  Adds the ability to start a user in background\n"
    },
    {
      "commit": "671d26e9097a67fc645dc3ef7e814fc72e9e0040",
      "tree": "cfc1c9871db0a373744caa680dfcdebfff72a88c",
      "parents": [
        "cc275c58b00df19eb058a6fc1744c715a0ccc0aa",
        "75c33d9d04d8c0a9884a70077681261b57c7833c"
      ],
      "author": {
        "name": "Alexandra Gherghina",
        "email": "alexgherghina@google.com",
        "time": "Tue Sep 30 17:04:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 30 17:04:00 2014 +0000"
      },
      "message": "am 75c33d9d: Merge \"Adds the ability to start a user in background\" into lmp-dev\n\n* commit \u002775c33d9d04d8c0a9884a70077681261b57c7833c\u0027:\n  Adds the ability to start a user in background\n"
    },
    {
      "commit": "979e40e9ba02b74226d9833b2f8156aa89a39053",
      "tree": "7d525caa993ae0d4b61bf27acdd2f70d384ff72c",
      "parents": [
        "311fc0b399f01a79169ae69aea05556043a7d7df"
      ],
      "author": {
        "name": "Alexandra Gherghina",
        "email": "alexgherghina@google.com",
        "time": "Thu Sep 25 18:23:13 2014 +0100"
      },
      "committer": {
        "name": "Alexandra Gherghina",
        "email": "alexgherghina@google.com",
        "time": "Mon Sep 29 12:35:03 2014 +0000"
      },
      "message": "Adds the ability to start a user in background\n\nBug: 15900074\nChange-Id: I03b278f8e7a4618ea56a5f1935cfba34beb45981\n"
    },
    {
      "commit": "66474027c2a4b97c92d28ad779065ff464922d77",
      "tree": "2560ac64b7e6e2055b96568882edb6219dc9d1d4",
      "parents": [
        "35b096bccfe31872cac4affd15ab5b21ba540f76",
        "ad667371b18dba344f92b16db2be739a4bdf5f52"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Sep 26 05:04:11 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 26 05:04:11 2014 +0000"
      },
      "message": "am f295b675: am 9a2eafc1: am 12297705: am 7fa90f6a: Merge \"bootanimation: allow animation to specify background color\" into lmp-dev\n\n* commit \u0027f295b675239892c8637d3ad48777226314be2de1\u0027:\n  bootanimation: allow animation to specify background color\n"
    },
    {
      "commit": "9b80323a7aae93ff6119a3f4eac05d81ef5caddd",
      "tree": "2f6bdba1aeea0f84dc2a64344c8a16acc0befdfb",
      "parents": [
        "d9567847fbb1b1358386cfd7a541fe7e6d98af22",
        "fbe3d39dd5f9291bb5f820d107d1dd2ca7bafe9d"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Fri Sep 26 01:51:01 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 26 01:51:01 2014 +0000"
      },
      "message": "am 7fa90f6a: Merge \"bootanimation: allow animation to specify background color\" into lmp-dev\n\n* commit \u00277fa90f6ae5c04d96b3210a45898d1e7a8f5ef8e6\u0027:\n  bootanimation: allow animation to specify background color\n"
    },
    {
      "commit": "00bbe915de17df7e8210361f18e6dc53b4a0b382",
      "tree": "dbe44e253857a87ae19a37897e1e8d85a199d064",
      "parents": [
        "c914c95561b403bf35be82846abdf2862004bbbb",
        "9f12bc2856d31ae32c212a87055388f733c7014d"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri Sep 26 00:23:43 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 26 00:23:43 2014 +0000"
      },
      "message": "am 5e8f023d: am a59c7f03: am dff59b8b: am 23df1c46: Merge \"Allow null queues to be set in MediaSession\" into lmp-dev\n\n* commit \u00275e8f023dc17788a18bc5640a42baaf2bec609745\u0027:\n  Allow null queues to be set in MediaSession\n"
    },
    {
      "commit": "083b84cf8880bb7f0d2c2dc1b45c7d610656dbd1",
      "tree": "2c83dce383d221eeb4bba0069b2d047424c7a350",
      "parents": [
        "471157821f7b0933c55081ef4625c78f8e798de7"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Sep 22 10:51:09 2014 -0700"
      },
      "committer": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Sep 25 23:37:12 2014 +0000"
      },
      "message": "bootanimation: allow animation to specify background color\n\nSome OEMs want to have a bootanimation (or parts of it) displayed on a\ncolor other than black. They currently just use full-screen frames for\nthat, which wastes lots of memory and bandwidth. This change allows\neach part of the animation to specify a background color that will be\napplied outside of the frame images; if unspecified the background\nwill be black as it is now.\n\nBug: 16635599\nChange-Id: Ibf008fc75c5aad891c86ba9e4ec0879b7a61b8bd\n"
    },
    {
      "commit": "96900279f59e1a082002b132be8c6c0c677923bf",
      "tree": "e43dd35aa96190fbac1ad84d8dd4361c6e48449a",
      "parents": [
        "2e579f299b72259eedeccbee7eceb98aff43cfcf",
        "df26651ff45838ab8c2927178250a44a30bac4dd"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Sep 25 18:46:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 25 18:46:09 2014 +0000"
      },
      "message": "am 23df1c46: Merge \"Allow null queues to be set in MediaSession\" into lmp-dev\n\n* commit \u002723df1c46b768bb2a1363b6f671b0d0c4879538b7\u0027:\n  Allow null queues to be set in MediaSession\n"
    },
    {
      "commit": "03fce072cac092923e10a6b5f09fcde333375f9e",
      "tree": "128bdd32a0001add7f2804af68231fedcae4dc3e",
      "parents": [
        "23b113592a5f461ec66026cbf8bce253cb8d3a46"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Sep 24 09:46:57 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Sep 24 14:35:32 2014 -0700"
      },
      "message": "Allow null queues to be set in MediaSession\n\nAlso add some test code for it to OneMedia.\n\nbug:17593962\nChange-Id: I074e2bb0329d9a97f623e4309bb7dada157b8324\n"
    },
    {
      "commit": "dfc44eab3e19eef7d02787b157a16516122e69d0",
      "tree": "03107686ed70ebdaddc7bec50ae433a75abc08ef",
      "parents": [
        "1716e116c83d0fe1c8bcfda83511102edbb3517e",
        "c840e31d0ee772373b1be7469b7bfbe28715d52e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 22 14:57:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 22 14:57:14 2014 +0000"
      },
      "message": "am c840e31d: am fa436298: Merge \"Broadcast an intent to mediascanner after executing screencap\"\n\n* commit \u0027c840e31d0ee772373b1be7469b7bfbe28715d52e\u0027:\n  Broadcast an intent to mediascanner after executing screencap\n"
    },
    {
      "commit": "f8820f3f5308cc45ec6da204c3b54352da2349a8",
      "tree": "8c31f078f6b0fc682977aaa98b3c850d97054a13",
      "parents": [
        "d93fb94eecfa4e4f0bb90df4b8122b2411d1d8c1",
        "c840e31d0ee772373b1be7469b7bfbe28715d52e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 22 14:56:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 22 14:56:30 2014 +0000"
      },
      "message": "am c840e31d: am fa436298: Merge \"Broadcast an intent to mediascanner after executing screencap\"\n\n* commit \u0027c840e31d0ee772373b1be7469b7bfbe28715d52e\u0027:\n  Broadcast an intent to mediascanner after executing screencap\n"
    },
    {
      "commit": "fa4362982c4e5d07c158c470f957f6ffd2fc7cc9",
      "tree": "490daa2f95b21f089e610f858c5fba186a241713",
      "parents": [
        "b7442bbc8c27b0643b7235076ee151b8257bf28d",
        "cfed2326c7e77602fa6278ddf99203d9aaaf8df7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 22 14:34:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 22 14:34:03 2014 +0000"
      },
      "message": "Merge \"Broadcast an intent to mediascanner after executing screencap\""
    },
    {
      "commit": "c5bf65aa96bf8b919db9f65dc7419e17c6232e94",
      "tree": "465020b1209a11d4e5fad163a22d9a422a965356",
      "parents": [
        "bd8dfd52e26b2807625168fea811a77fa1827e3e",
        "c48bca50fa64765d3019b0bf82511e030cabcc7a"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Sep 18 18:15:47 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 18 18:15:49 2014 +0000"
      },
      "message": "Merge \"Make dpm command output more test friendly\" into lmp-dev"
    },
    {
      "commit": "c48bca50fa64765d3019b0bf82511e030cabcc7a",
      "tree": "68dd43bbf101e6beb9d743088ebaca45eebdb41b",
      "parents": [
        "41de9bb6fda113f7cfb8b7b8d64d07d3809f8f20"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Sep 18 18:32:45 2014 +0100"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Thu Sep 18 18:32:45 2014 +0100"
      },
      "message": "Make dpm command output more test friendly\n\nAdded \u0027Success\u0027 at the beginning of the command output every time\nit didn\u0027t fail, so that we can easily check the output in tests.\nThe command is brand new, only used by us on CTS tests, so this\nshouldn\u0027t break anybody.\n\nBug: 17312478\nChange-Id: Ie67bf5b2f44e658e7009e5bd87f8cb81be515584\n"
    },
    {
      "commit": "88924b62fc63ecaf6410f1a1d76e9c54cab0ebef",
      "tree": "2bc38690c8dc11c7ac19ad3240f2fb54ec0ea6ba",
      "parents": [
        "0d2d9637ed4f46062d508cfa7da0e9776fc444f8",
        "6cfbb718905210d146fbe8fb18c8e124f24845ec"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 17 23:07:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 17 23:07:17 2014 +0000"
      },
      "message": "Merge \"Fix issue #17536024: The am start\u0027s wait option doesn\u0027t...\" into lmp-dev"
    },
    {
      "commit": "6cfbb718905210d146fbe8fb18c8e124f24845ec",
      "tree": "4d7d4045ad5db8a4501fd2a480d63d55e4778d65",
      "parents": [
        "6b5db58f10365b28fe956caabbf1e2948458781b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 17 12:47:35 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 17 12:47:35 2014 -0700"
      },
      "message": "Fix issue #17536024: The am start\u0027s wait option doesn\u0027t...\n\n...give time in some cases\n\nThis switch to multiple stacks broke the check to determine if it\nshould actually wait for a new activity to be shown.  The new check\nnow also requires that the top activity be resumed, which means\nwe may get some false positives where we decide to wait and shouldn\u0027t,\nbut that is better than consistently not deciding to wait in some\ncases when we should.  (And we will always finish waiting then next\ntime something becomes visible).\n\nAlso add another time, which is how long it took from the startActivity\ncall to return with the result.  And fix when we decide to report that\nwe are done so that, in the case where we are bringing an existing\nactivity to the foreground, we don\u0027t wait until its animation is complete.\n\nChange-Id: Id38ca0070f04e7bf8c73e131fb055808553a0e2f\n"
    },
    {
      "commit": "41de9bb6fda113f7cfb8b7b8d64d07d3809f8f20",
      "tree": "5076956deff1cfc717e3d205c71f3b93f90a7a02",
      "parents": [
        "41f766394d07d09113d2e64a6917d069d41026c6"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Mon Sep 15 19:05:48 2014 +0100"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Tue Sep 16 10:24:58 2014 +0100"
      },
      "message": "Add \u0027adb dpm\u0027 subcommand to set profile owner\n\nRequired for GTS tests. Needed to relax the restriction that\nonly root user can run \u0027pm create-user\u0027 as GTS tests can\u0027t\nget root permissions.\n\nBug: 17312478\nChange-Id: I1841286ddf51756c73018c087a5f29afeb5b9f15\n"
    },
    {
      "commit": "8246e815acf316ad7ab7f76bfd1f1d279c3c37be",
      "tree": "fc7f7abbdd9eba991877ea05dbd93e1c70000083",
      "parents": [
        "6b19a00d705429269b197f53fd0fa87e29ba823c",
        "5ab6e0bac2de1688f2f4bb0de2c9964a9b15a4e6"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 15 22:55:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 15 22:55:53 2014 +0000"
      },
      "message": "Merge \"Whoops, wait around for pm result.\" into lmp-dev"
    },
    {
      "commit": "5ab6e0bac2de1688f2f4bb0de2c9964a9b15a4e6",
      "tree": "15a737bd1087c0d69f53cf1927c45557916a0bd5",
      "parents": [
        "de74231f245c90e5861ec84a9880b5b4ec247480"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 15 14:50:41 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 15 14:50:41 2014 -0700"
      },
      "message": "Whoops, wait around for pm result.\n\npoll() returns immediately; we want to take() to wait for the result\nto actually arrive.\n\nBug: 17510699\nChange-Id: I87669e79e9941480fed33e4cc8a38de793d59e90\n"
    },
    {
      "commit": "9c17388cff98fba9679ce6457ac5003a660c6013",
      "tree": "4908c6381906e7298eb2a6297e7a2ba09b8570ef",
      "parents": [
        "81e0c8491f22c64300182c652ac2add96888dd2e"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Sep 12 15:48:55 2014 +0100"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Mon Sep 15 11:42:34 2014 +0100"
      },
      "message": "Set device admin on dpm set-device-owner command\n\nBug: 17312478\nChange-Id: I4ef730a97d603352eda77f04a2b00fa97c2be662\n"
    },
    {
      "commit": "71ac935526d29097891664af40c54c96d6de02e6",
      "tree": "6218b042374d49b423b46633845f51e6888600a9",
      "parents": [
        "a409cdba60a3237f6822acfa570e0f66bb67eb34",
        "e980804df16c968c14a56b8853886bf5f049f46e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 12 18:16:51 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 18:16:52 2014 +0000"
      },
      "message": "Merge \"Bring install and install-multiple into parity.\" into lmp-dev"
    },
    {
      "commit": "d09fbafa9242e67450c2f85807a159152d4761c8",
      "tree": "7d22060f5861a49fb5e5f60835920b59e50446cd",
      "parents": [
        "11f72c0d975cc9f3b9b800639c38c15e89e9be66",
        "b5ef162129ced7e9636052af6b7f08d677a01f13"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Sep 12 10:35:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 10:35:44 2014 +0000"
      },
      "message": "Merge \"Add new adb dpm (\u003d DevicePolicyManager) command\" into lmp-dev"
    },
    {
      "commit": "b5ef162129ced7e9636052af6b7f08d677a01f13",
      "tree": "f099a30cd7116e41a64ef8b94827813bb94a2b9a",
      "parents": [
        "c96e3927657558f0d01626c252cf480624749120"
      ],
      "author": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Mon Sep 08 17:49:01 2014 +0100"
      },
      "committer": {
        "name": "Esteban Talavera",
        "email": "etalavera@google.com",
        "time": "Fri Sep 12 11:33:59 2014 +0100"
      },
      "message": "Add new adb dpm (\u003d DevicePolicyManager) command\n\nAdds new adb command to execute DevicePolicyManager tasks. First subcommand\nallows us to set a device owner on a provisioned device (provided no accounts\nare associated with the device). This is required as GTS tests run on provisioned\ndevices. We plan to add more subcomands required for new GTS tests, such as the\nability to create a managed profile.\n\nBug: 17312478, 17316711\nChange-Id: I2613178ea82a6c6268e7f8012e74c4a852fea0d4\n"
    },
    {
      "commit": "e980804df16c968c14a56b8853886bf5f049f46e",
      "tree": "7b86eadba1751dd5d3c23f33770f9acdfc8ca1d5",
      "parents": [
        "d6adcef917aac893fd82e7628781145693d6187f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 11 21:15:37 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 11 21:24:00 2014 -0700"
      },
      "message": "Bring install and install-multiple into parity.\n\nThis ensures that both are using (almost) identical logic when\ndeciding what installs to proceed with.  Installs from \"pm\" for all\nusers now run as OWNER, and rely solely on INSTALL_ALL_USERS to\nexpress intent.  This keeps install session notifications simple.\n\nSince installer UID can vary from installer package name, start\npersisting the UID.  Also parse some missing flags for install\nsessions.\n\nBug: 17469392\nChange-Id: I6d89b1a787aa2024cc4bebf6b9c29317c358e147\n"
    },
    {
      "commit": "c46cd62b5c808101a204be6a5db2bf63701c8944",
      "tree": "d3deacb467cfcab1b2800ba9591ab9d7cd2db3e8",
      "parents": [
        "c946e9ab465fd363dc996efbffcf58f354266aaa",
        "00c0cd4a24bd0f040055f9e786e2df1fa3b7d2d3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 11 22:28:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 11 22:28:43 2014 +0000"
      },
      "message": "Merge \"Clean entire arg block when setting process name.\" into lmp-dev"
    },
    {
      "commit": "00c0cd4a24bd0f040055f9e786e2df1fa3b7d2d3",
      "tree": "87654f391f5e9dca11fd5e84901545890d3d5b16",
      "parents": [
        "98ff7bce66f03da14e39fa7e532a7202bde7dce6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 10 16:48:46 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 11 14:19:52 2014 -0700"
      },
      "message": "Clean entire arg block when setting process name.\n\nWhen Android processes fork from Zygote, we rewrite the command line\nwith a new name, eg. \"system_server\".  When we do this, we should\nfill the entire block with zeros to remove corrupted argument\ninformation that may otherwise remain in the /proc/\u003cpid\u003e/cmdline buffer\nand be seen in tools and stack dumps.\n\nFixed an issue where VM options could be overwritten after setting\nthe nice name if the name was too long.\n\nBug: 17474152\nChange-Id: Ie6cf9ed7752a04300a340e26cd6812bb35c59e1b\n"
    },
    {
      "commit": "f58e532e015ef31d879ee51aeeb251349784717c",
      "tree": "8a1ab40c5c14943b12da70c5c70bbde48fc65bd1",
      "parents": [
        "c96e3927657558f0d01626c252cf480624749120",
        "8cd28b57ed732656d002d97879e15c5695b54fff"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 11 16:46:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 11 16:46:34 2014 +0000"
      },
      "message": "Merge \"Apply cross-user restrictions to Shell\" into lmp-dev"
    },
    {
      "commit": "8cd28b57ed732656d002d97879e15c5695b54fff",
      "tree": "33f02a0e243e5c3d8889862c26af5accc0e4e98b",
      "parents": [
        "da6e6c888f81d3bd19ff1f3cf9b081b7f9b2a013"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Jun 08 17:54:27 2014 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 10 17:15:06 2014 -0700"
      },
      "message": "Apply cross-user restrictions to Shell\n\nEven though Shell user is allowed to perform cross-user actions,\nlock that path down if the target user has restrictions imposed by\nthe profile owner device admin that prevents access via adb.\n\nIf the profile owner has imposed DISALLOW_DEBUGGING_FEATURES, don\u0027t\nallow the shell user to make the following types of calls:\nstart activities, make service calls, access content providers,\nsend broadcasts, block/unblock packages, clear user data, etc.\n\nBug: 15086577\nChange-Id: I9669fc165953076f786ed51cbc17d20d6fa995c3\n"
    },
    {
      "commit": "65e76d1200395a9c67893378ddb64c47ede400b4",
      "tree": "198c2f2a9163870d75453753ccadbca2dc34c7c2",
      "parents": [
        "05c4f7ad765e2178e6e28676fd3438d2aaa38894"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 09 17:28:03 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 10 15:02:59 2014 -0700"
      },
      "message": "Output recent configs in am get-config command\n\nChange-Id: Ic516e73d2e72ac0dc3136f7226cedd851fe22b85\n"
    },
    {
      "commit": "dda003ffa84f986bfaba4344124eafa533f5039d",
      "tree": "649b390602e2efe8abad283fcdd04f285cfaff40",
      "parents": [
        "551056ec0fd274f4696c2cf1ec9c62298f7f7226"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Aug 28 18:06:51 2014 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 29 10:28:38 2014 -0700"
      },
      "message": "Clean up apks installed for a removed user\n\nWhen a user is removed, enumerate through all installed packages\nto see if any of them are not installed for any user. Delete the\npackage if no user has it \"installed\".\n\nAdded a pm option to install an apk for a specific user.\n\nFixed a crash in UserManagerService when executing the above\ncleanup - dying users generate a null UserInfo.\n\nBug: 15426024\nChange-Id: I571decde1ae1c257d0da6db153b896aad6d6bcb4\n"
    },
    {
      "commit": "55471dcd0f843e79d8665c63165720eca6a9c980",
      "tree": "8c0c3defbd934c122861a5895d80ec7f5cd1f59e",
      "parents": [
        "371bee50f9b2e2f293bb1e1e11872ef1bd69d155"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 27 15:39:17 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 28 17:02:37 2014 -0700"
      },
      "message": "Change /dalvik-cache to be owned by root.\n\nBug: 16875245\n\n(cherry picked from commit 79bf4007f559e194205f632b23d2bfb6f8d1e7ba)\n\nChange-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66\n"
    },
    {
      "commit": "79bf4007f559e194205f632b23d2bfb6f8d1e7ba",
      "tree": "dba5c625b9c74e7dd9bdc3d7dc9e87b4df104157",
      "parents": [
        "2d3571cc17a5a6b1072951227d889ce14a3f88cf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 27 15:39:17 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 28 11:34:50 2014 -0700"
      },
      "message": "Change /dalvik-cache to be owned by root.\n\nBug: 16875245\n\nChange-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66\n"
    },
    {
      "commit": "1b012d302b56b4adf950035136d1d191a1936d5a",
      "tree": "4b6fc0a3e89f7a2251680e7e13f7211a8dff7ba2",
      "parents": [
        "987eb9734445bd92f6925b596b9b0ece90ad70b8"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Aug 20 10:35:34 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Aug 26 15:54:25 2014 -0700"
      },
      "message": "Add sample profiling option to am.\n\nAlso bundles all profiling options into a class.\n\nBug: 17040932\nChange-Id: I85d675ee1494bdc7308caffdf94145d27c996e9d\n"
    },
    {
      "commit": "941a8ba1a6043cf84a7bf622e44a0b4f7abd0178",
      "tree": "c783987f68caaa4cc827b3c720f269bcc9d34667",
      "parents": [
        "7653a30ea0232ab8323ec51ddcba8d8054ca8a2f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 20 16:26:32 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 22 16:25:04 2014 -0700"
      },
      "message": "Installing splits into ASECs!\n\nSessions can now zero-copy data directly into pre-allocated ASEC\ncontainers.  Then at commit time, we compute the total size of the\nfinal app, including any inherited APKs and unpacked libraries, and\nresize the container in one step.\n\nThis supports both brand new ASEC installs and inheriting from\nexisting ASEC installs.  To keep things simple, it currently requires\ncopying any inherited ASEC contents, but this could be optimized in\nthe future.\n\nExpose new vold resize command, and allow read-write mounting of ASEC\ncontainers.  Move native library extraction into the installer flow,\nsince it needs to happen before ASEC is sealed.  Move multiArch flag\ninto NativeLibraryHelper, instead of making everyone pass it\naround.  Migrate size calculation to shared location.\n\nSeparate \"other\" package name in public API, provide a path to a\nstorage device when relevant, and add more docs.\n\nBug: 16514385\nChange-Id: I06c6ce588d312ee7e64cce02733895d640b88456\n"
    },
    {
      "commit": "b5cf61be7c82392a6f34f53d97c8382d9a0f0b3a",
      "tree": "a84b0ccffe67fc2e5a671ca2142269e15802c9b0",
      "parents": [
        "d504ab14d264e340fac9422b84b5f3c677d87c5f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 18 16:10:28 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Aug 19 11:27:19 2014 -0700"
      },
      "message": "Add Shell command to set AppOps permissions\n\nChange-Id: I6446543b27f0d2d2e69590a2807e713c6d5ccbbc\n"
    },
    {
      "commit": "3e3b251f46f6ec46a41d42eb7c36a6268096c70d",
      "tree": "0e331663d4f7ce20312e9a451c35a23f05011d4b",
      "parents": [
        "78fc9220d4f99332370c1294dd865703db2f2ae0",
        "a0907436c01fd8c545a6b5c7b28bc3bc9db59270"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 15 23:05:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 15 18:56:10 2014 +0000"
      },
      "message": "Merge \"PackageInstaller API refactoring.\" into lmp-dev"
    }
  ],
  "next": "a0907436c01fd8c545a6b5c7b28bc3bc9db59270"
}
