)]}'
{
  "log": [
    {
      "commit": "e7880d8eb1903d42e4e2a90c99b58e2240e01e82",
      "tree": "5741d2b360b17a5be6c26d804dde98f55705b01e",
      "parents": [
        "cedde01622a6798f5c4526ef1227bd906b6e59ef"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Apr 30 12:48:25 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue May 06 14:06:29 2014 -0700"
      },
      "message": "Add APIs for creating a system priority session and getting controllers\n\nThis adds a hidden call to set flags and a flag for making a session an\nexclusive high priority session. This will cause all media button events\nto be sent to that session as long as it is stillr egistered. This\nrequires the MODIFY_PHONE_STATE permission like the old forCalls API.\n\nThis also adds a way to get controllers for all the ongoing sessions.\nThis is protected by the MEDIA_CONTENT_CONTROL permission like the\nold RemoteController APIs.\n\nChange-Id: I51540e8dcf3a7dbe02a0f8ee003821e40af653a3\n"
    },
    {
      "commit": "996e269d93d09615e242edcbd7a6218e065aeb7b",
      "tree": "8b55e807eae7e5e75016bed99f43a923b3793181",
      "parents": [
        "5f97930fc5dd44fcf1864acd53401c00b4de3a24",
        "e95c3cd89591ba586aa8a0f7a17660c6fb8770bc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 06 20:28:35 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 06 20:28:36 2014 +0000"
      },
      "message": "Merge \"Plumb display state and interactive information to BatteryStats.\""
    },
    {
      "commit": "e95c3cd89591ba586aa8a0f7a17660c6fb8770bc",
      "tree": "93f3aa3d6fe2bfc841240fe2fa138743974827ba",
      "parents": [
        "c74b3cb6f057da60dce6e99547a668e57aa478aa"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 02 16:59:26 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 06 13:23:53 2014 -0700"
      },
      "message": "Plumb display state and interactive information to BatteryStats.\n\nFixes an issue where dozing was treated the same as the screen\nbeing fully on.  Now dozing is treated the same as the screen\nbeing fully off which is slightly better.  The decision of how\nto represent this state is now internal to the battery stats\nso it can be improved later.\n\nRemoved noteInputEvent() since it is unused.\n\nBug: 14480844\nChange-Id: Iee8cf8dce1a1f91c62678bb6d3d9fe567ad6db42\n"
    },
    {
      "commit": "c79586ede6dcd6a167bc8360f058cb5cc655b33d",
      "tree": "06b4111aa0d02dabb8f4ee6e738ae4e17ee2a2fc",
      "parents": [
        "6fee7d4cf991a8d39bdefb782937250c87f60f25"
      ],
      "author": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Tue May 06 12:47:57 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Tue May 06 13:54:48 2014 +0100"
      },
      "message": "Cleaning code related to the forwarding intent filters.\n\nChecking for INTERACT_ACROSS_USERS_FULL\nAdding equivalent methods in the PackageManager\n\nChange-Id: Iaa1328fa666613a78e67ca669ea045144275e895\n"
    },
    {
      "commit": "6fee7d4cf991a8d39bdefb782937250c87f60f25",
      "tree": "e2728959352932e360e44e620de8e5dfbb83aad0",
      "parents": [
        "da25a59a19b668b1a2c36e10ee8747fc7dd6867d"
      ],
      "author": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Thu May 01 16:16:46 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Tue May 06 12:37:20 2014 +0100"
      },
      "message": "Introducing removable and non-removable ForwardingIntentFilters.\n\nclearForwardingIntentFilters removes only non-removable IntentFilters.\nThe ForwardingIntentFilters set by the profile owner are always removable.\n\nChange-Id: If950ccd7e69261b86360ea647fdb501c92f5440b\n"
    },
    {
      "commit": "a767d762d8f70fbce0d8bb8d2bacde55de2504b5",
      "tree": "16fbe2b01a811f61a351423a5391c9d05648b230",
      "parents": [
        "23fccdd0b510f3045362e69b984d94d4773d6f5c"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon May 05 16:09:32 2014 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon May 05 16:39:21 2014 -0700"
      },
      "message": "VirtualDisplayAdapter: Set the transaction surface even if NULL\n\nBug: 14299872\nChange-Id: I55e4a2e575cfd3788fbdb90b050dac486976c1b6\n"
    },
    {
      "commit": "6856ef87a579fd20ec4a14d7ebf7c2cb352d958e",
      "tree": "ccc06fb64633c656f794add075adffc48bb79787",
      "parents": [
        "b12646210f15b7f1b7cf0b1cbc56f5cb4bbfe02d",
        "9bb4df3a7d9ed479f8ef10b08bbc3354a1984aab"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 21:07:48 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 05 21:07:48 2014 +0000"
      },
      "message": "am 9bb4df3a: am e88097bd: Merge \"Pause and resume ActivityView when visibility changes\" into klp-modular-dev\n\n* commit \u00279bb4df3a7d9ed479f8ef10b08bbc3354a1984aab\u0027:\n  Pause and resume ActivityView when visibility changes\n"
    },
    {
      "commit": "9bb4df3a7d9ed479f8ef10b08bbc3354a1984aab",
      "tree": "db27e16f37b7feab4c858e0a801f26a714ffe66b",
      "parents": [
        "6dffeb9eeba785dcf738bfabfec334a6c188d104",
        "e88097bd00d5710bbfb6c24a934743c8d6cac9cf"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 21:03:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 05 21:03:39 2014 +0000"
      },
      "message": "am e88097bd: Merge \"Pause and resume ActivityView when visibility changes\" into klp-modular-dev\n\n* commit \u0027e88097bd00d5710bbfb6c24a934743c8d6cac9cf\u0027:\n  Pause and resume ActivityView when visibility changes\n"
    },
    {
      "commit": "b12646210f15b7f1b7cf0b1cbc56f5cb4bbfe02d",
      "tree": "6b3dc0e1c2c4a325ffe7bd644427a8b1509a0df0",
      "parents": [
        "81850c48fd4fe1cb59c752cdfb4c81307631a46b",
        "6dffeb9eeba785dcf738bfabfec334a6c188d104"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 21:03:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 05 21:03:30 2014 +0000"
      },
      "message": "am 6dffeb9e: am 8890013a: Merge \"Add null check to embeddedAllowed check\" into klp-modular-dev\n\n* commit \u00276dffeb9eeba785dcf738bfabfec334a6c188d104\u0027:\n  Add null check to embeddedAllowed check\n"
    },
    {
      "commit": "6dffeb9eeba785dcf738bfabfec334a6c188d104",
      "tree": "6261a2720a31dbfdb94454cc68c6bc2f0e6759f5",
      "parents": [
        "68e048d85a539f1b8531f53b6192d99f0c2b1c47",
        "8890013ae0473663a6b9591db6230e9038ba6711"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 20:59:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 05 20:59:37 2014 +0000"
      },
      "message": "am 8890013a: Merge \"Add null check to embeddedAllowed check\" into klp-modular-dev\n\n* commit \u00278890013ae0473663a6b9591db6230e9038ba6711\u0027:\n  Add null check to embeddedAllowed check\n"
    },
    {
      "commit": "e88097bd00d5710bbfb6c24a934743c8d6cac9cf",
      "tree": "c32705842bb570566cb16f8d0637c880aa34b617",
      "parents": [
        "8890013ae0473663a6b9591db6230e9038ba6711",
        "d13a5583971a5905ac2ec240282383bde96fc25e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 20:58:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 20:58:15 2014 +0000"
      },
      "message": "Merge \"Pause and resume ActivityView when visibility changes\" into klp-modular-dev"
    },
    {
      "commit": "05678d5a3136a747a2e7eaccca0ad148c52a2d00",
      "tree": "c22b9d413ccd36ece1850fb09939a6981713db8d",
      "parents": [
        "1edfd835c2573711587cc77befeefd96083ccba5"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 12:32:40 2014 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 12:32:40 2014 -0700"
      },
      "message": "Add null check to embeddedAllowed check\n\nIf the component being checked has been removed an NPE will be\nthrown. This checks for that situation and handles it.\n\nFixes bug 14562234.\n\nChange-Id: Ica5713378f356ac8441862d455b7d284ea111212\n"
    },
    {
      "commit": "d13a5583971a5905ac2ec240282383bde96fc25e",
      "tree": "b623e0eee9eb263845cf62bc89cd08c88f74bf55",
      "parents": [
        "1edfd835c2573711587cc77befeefd96083ccba5"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 12:07:40 2014 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 05 12:07:40 2014 -0700"
      },
      "message": "Pause and resume ActivityView when visibility changes\n\nOnce a Surface has been established the activity in an ActivityView\nmust be paused and resumed as the view goes in and out of visibility\n\u003d View.GONE.\n\nFixes bug 14034658.\n\nChange-Id: Icab43678053c225db70f051dceacd4d024df2153\n"
    },
    {
      "commit": "983ce97a5dd82688966e783a2c26f34550cfafa5",
      "tree": "c8bcdea0903d32aaf946794f787f854c03137f32",
      "parents": [
        "2059bce9d6ce3848b23f3c41aa4feb63fbfc2e6c",
        "03b87a2f40c26948b7b0c9409c33ad44857218cf"
      ],
      "author": {
        "name": "Christoph Studer",
        "email": "chstuder@google.com",
        "time": "Mon May 05 19:04:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 19:04:57 2014 +0000"
      },
      "message": "Merge changes Iffd15e95,Id2db95ec\n\n* changes:\n  Log notification clicks\n  Add userId to StatusBarNotification key\n"
    },
    {
      "commit": "2059bce9d6ce3848b23f3c41aa4feb63fbfc2e6c",
      "tree": "53d2582eeae05101cf059b065c31e46e6f89807b",
      "parents": [
        "f593c9d728529cc2a58d48b4dd6535a237f5b26a",
        "c03c9167c2d9a1e22fb2b176b00a0524177fb037"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 05 18:32:03 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 18:32:03 2014 +0000"
      },
      "message": "Merge \"Further work on voice interaction services.\""
    },
    {
      "commit": "c03c9167c2d9a1e22fb2b176b00a0524177fb037",
      "tree": "bc8045725f3384dff1c53a508041fa63f78e5ce8",
      "parents": [
        "6b003c9e3c0d3e5e31d9578e6d15facc6553e45e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 10:45:59 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 05 11:18:08 2014 -0700"
      },
      "message": "Further work on voice interaction services.\n\nThis makes VoiceInteractionSession a more first-class\nconcept.  Now the flow is that a VoiceInteractionService\ncalls startSession() when it wants to begin a session.\nThis will result in a new VoiceInteractionSession via the\nVoiceInteractionSessionService containing it, and the\nsession at that point an decide what to do.  It can now\nshow UI, and it is what has access to the startVoiceActivity\nAPI.\n\nChange-Id: Ie2b85b3020ef1206d3f44b335b128d064e8f9935\n"
    },
    {
      "commit": "db6d7a59718eec9b782cf08bbb95d9b19b51daf2",
      "tree": "003ef0cdaa1d1af62aefaabe45ad5f1e4233373f",
      "parents": [
        "6b003c9e3c0d3e5e31d9578e6d15facc6553e45e",
        "e463c745ef6901121837e88ca8597d062843b9dd"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon May 05 18:09:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 18:09:50 2014 +0000"
      },
      "message": "Merge \"Don\u0027t show IME Switcher not. if nav bar exists\""
    },
    {
      "commit": "c8d7ab9ff9f1ca0790d6fd9b9a2076c3eb63a795",
      "tree": "cd6f9ed965d61600923b55ae0f1a9d10b4bfee82",
      "parents": [
        "dab404938368fc5bb0a3d9b91135890ab31d0b0c"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon May 05 09:22:57 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon May 05 09:22:57 2014 -0400"
      },
      "message": "Log all notification interceptions.\n\nChange-Id: I036a4b5eb7c5a3ce2addb0a16d9d6806e3952929\n"
    },
    {
      "commit": "043aa252cf67ebe5ef9abe34e8922098a995272c",
      "tree": "a7dd5c3c99d6086e42c60567fbd79b130c7d8ede",
      "parents": [
        "c74b3cb6f057da60dce6e99547a668e57aa478aa",
        "c70d2295dd3fb87ce8c81c704688d1ad05043b4d"
      ],
      "author": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Sun May 04 21:51:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 04 21:51:44 2014 +0000"
      },
      "message": "Merge \"Define Feature action for obtaining info on a new CEC device\""
    },
    {
      "commit": "3e586e4621bfa69fb5c7db862ee0cf560574284a",
      "tree": "86e8ad8d2886b394f024b2f8e139058d869fd092",
      "parents": [
        "be2ba85c4f84463e6ff1747132f021769811f14b",
        "03a9baedc9b933bb6a550c0cb84649b1b45b872c"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Sat May 03 01:42:42 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 03 01:42:42 2014 +0000"
      },
      "message": "Merge \"Refactoring activity method to update recents values.\""
    },
    {
      "commit": "be2ba85c4f84463e6ff1747132f021769811f14b",
      "tree": "b5a59a32606aba2c38b4bfd831387c27d95e64bd",
      "parents": [
        "ce63f59906ec0ef34ffd4f375c498e6367043e37",
        "7ba7125af1962b322d48ac5a49f698565da2b84c"
      ],
      "author": {
        "name": "Jose Lima",
        "email": "joselima@google.com",
        "time": "Sat May 03 01:06:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 03 01:06:34 2014 +0000"
      },
      "message": "Merge \"Allow activities to be visible behind the Home Stack\""
    },
    {
      "commit": "03a9baedc9b933bb6a550c0cb84649b1b45b872c",
      "tree": "19f7ae956d57e540859663598a7e9d77d6319b93",
      "parents": [
        "9dfcbb840380744a051bdc4921af3127f30a2af1"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri May 02 09:56:12 2014 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri May 02 17:34:37 2014 -0700"
      },
      "message": "Refactoring activity method to update recents values.\n\nChange-Id: Ic525be207714d34abe0c2d26091c3e46abcd9bad\n"
    },
    {
      "commit": "93be005f4343c413da1a3bd33b914df5c6b9324b",
      "tree": "b057d1c770caac4765e23c80bf11966e29ce8717",
      "parents": [
        "94814218d2313a989a5a8969f633e3fc33e43071",
        "d83a096f299abd9c7fe5e441ef1bb169c314b575"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat May 03 00:24:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 03 00:24:31 2014 +0000"
      },
      "message": "Merge \"Bump up priority of system receiving BOOT_COMPLETED.\""
    },
    {
      "commit": "d83a096f299abd9c7fe5e441ef1bb169c314b575",
      "tree": "2c3e1c45bc81fb6660fd306d71e72a1cc5775772",
      "parents": [
        "5d84bce12204072bc7ab296ce0cdea7efb5cf17c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 16:28:33 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 16:29:10 2014 -0700"
      },
      "message": "Bump up priority of system receiving BOOT_COMPLETED.\n\nChange-Id: I5166f88f11f781914312e867cb653c8ecbefa705\n"
    },
    {
      "commit": "d23eb5ceb672f137235a94a036bf70eab19340dc",
      "tree": "85eecb015433f046985f2088016132f46f0a0707",
      "parents": [
        "c25f243a507f03bf7b0721b4406390b4fdf3d023",
        "7b66ed588525d2d79ef0df8b3024bae138d8681d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 02 20:58:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 20:58:55 2014 +0000"
      },
      "message": "Merge \"Send ACTION_MANAGED_PROFILE_REMOVED broadcast.\""
    },
    {
      "commit": "7b66ed588525d2d79ef0df8b3024bae138d8681d",
      "tree": "7e9c9eb7c7cd2fa2549409e19eb3368432546de6",
      "parents": [
        "27ecb35b1970b114dc82d01a58386ca4e57e72ab"
      ],
      "author": {
        "name": "Adam Connors",
        "email": "adamconnors@google.com",
        "time": "Mon Apr 14 11:58:10 2014 +0100"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 02 13:54:05 2014 -0700"
      },
      "message": "Send ACTION_MANAGED_PROFILE_REMOVED broadcast.\n\nWhen the managed profile is removed, this new intent\nis used to inform the rest of the system.\n\nChange-Id: I1748bed0a7ee0122f69d5c78235a79f8e205efec\n"
    },
    {
      "commit": "5d84bce12204072bc7ab296ce0cdea7efb5cf17c",
      "tree": "51c4c489f3536e5244918b65db41d1578483f585",
      "parents": [
        "5b8b92002230525317d5832a84d7813467594967"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 13:21:16 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 13:21:16 2014 -0700"
      },
      "message": "Fix issue #14492403: Oom scores appear to be incorrect...\n\n...and causing runtime restarts\n\nGot a little too aggressive with the delete key.  *blush*\n\nChange-Id: Icd4637827424211abc2347f7f9407c2d4c95cfad\n"
    },
    {
      "commit": "5b8b92002230525317d5832a84d7813467594967",
      "tree": "dbb5b24e560210149bcce3e2cffb7897f370207d",
      "parents": [
        "4f854e0d0b619596752b1874492efe2dabcc092b",
        "09233289624a85093b1d99e4a6a149bf09059d8d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 20:18:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 20:18:10 2014 +0000"
      },
      "message": "Merge \"Make GET_TASKS signature|system.\""
    },
    {
      "commit": "4f854e0d0b619596752b1874492efe2dabcc092b",
      "tree": "4452921cfc09431c95a81836c7bcec730dcd2bc0",
      "parents": [
        "9529d8f26fc635ed8742ed212a967f069c8e47c7",
        "66dea73906f24226a6f699759e79040726bde8b5"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 02 20:07:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 20:07:07 2014 +0000"
      },
      "message": "Merge \"Add playback state and metadata to dump\""
    },
    {
      "commit": "09233289624a85093b1d99e4a6a149bf09059d8d",
      "tree": "ced7eefedc4db60d4134aee3616e9b043cd950d7",
      "parents": [
        "201a24f652745c4bcbe7e26f0ffea973bcb615b3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 30 11:33:59 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 11:51:26 2014 -0700"
      },
      "message": "Make GET_TASKS signature|system.\n\nNormal apps can\u0027t hold it now.  If they try to use\ngetRecentTasks() or getRunningTasks() without the permission,\nthey will only see their own tasks and home in the list.\n\nAlso took this opportunity to eradicate all of the old pending\nthumbnail stuff.\n\nChange-Id: I6dc52a06221c78097162e4a8b482027b798bf3ee\n"
    },
    {
      "commit": "e463c745ef6901121837e88ca8597d062843b9dd",
      "tree": "08cbf2de2194c81920d96cf08708221280f22e78",
      "parents": [
        "f1ff209523a2474cb0e7aab0e083596c4afbe37f"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri May 02 12:31:45 2014 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri May 02 14:37:40 2014 -0400"
      },
      "message": "Don\u0027t show IME Switcher not. if nav bar exists\n\nSince the navigation bar now has IME switcher icon no need for a\nnotification about it when it is present.\n\nBug: 14257632\nChange-Id: I5511fee0dee45475d5b7949f63696b1d29acf9cc\n"
    },
    {
      "commit": "4cd4110f20c2fcf8feaf04414e60b15f5801af4f",
      "tree": "c0ae49d460540fb10e78cd4d51481f348ec8870a",
      "parents": [
        "59b5a356b828fe60ea2874b0680a1bf7c84809a1",
        "14f1ec05b2add5ee051c0d2e7c7c3b36a6e77b92"
      ],
      "author": {
        "name": "Jeff Davidson",
        "email": "jpd@google.com",
        "time": "Fri May 02 15:33:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 15:33:36 2014 +0000"
      },
      "message": "Merge \"API for network cache subsystems.\""
    },
    {
      "commit": "97babdc92be8c81325f3a9f4f520a8c20bed177d",
      "tree": "03aa30ed34c5328de256bf98a88048205a2cfa3e",
      "parents": [
        "3f74ab0ee0ec27a6be31cdb5a4258f4f25909ba8"
      ],
      "author": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Fri May 02 13:21:15 2014 +0900"
      },
      "committer": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Fri May 02 13:21:15 2014 +0900"
      },
      "message": "Fix unmatched jni method name.\n\nIt breaks systemserver\n\nChange-Id: Iecc5600d64a273c4bbf51bd8fd779a79a3dab107\n"
    },
    {
      "commit": "3f74ab0ee0ec27a6be31cdb5a4258f4f25909ba8",
      "tree": "ae78bf2ad38d7782e86c6e49510a7945e504b129",
      "parents": [
        "8822d4befdb30452ad4276b42d89062938b51a1f"
      ],
      "author": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Wed Apr 30 14:31:02 2014 +0900"
      },
      "committer": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Fri May 02 10:50:08 2014 +0900"
      },
      "message": "Implement logical address allocation logic for HDMI CEC.\n\nLogical address in CEC is to distinguish each logical device from others.\nIn order to allocate logical address for new device, CEC sends\n\u003cPolling Message\u003e to CEC bus. \u003cPolling Message\u003e is a CEC message\nwhich has the same address for both source and destination without\nbody frame. (10bits).\nCEC allows one and more logical address for a device type.\nFor example, there are 3 logical address defined for recorder device(1, 2, 9).\nAmong logical address candidates for the given device type, CEC scans\nfirst the previous logical address (preferred logical address) of device.\nIf a device has not been allocated any logical address, preferred address\nwill be 15 (Unregistered), which means scan address from the minimum address\nnumber of type. For example for recorder device, it starts from 1.\nIf no devices acks to the \u003cPolling Message\u003e during scan, it will be the\nlogical address of the device.\nSince logical address is determined by a series of sending \u003cPolling Message\u003e\nit happens in IO thread with separate allocate logical address message\ninstead of individual sendCommand message.\n\nAlong with this, updated ADDR_FREE_USE(14) to ADDR_SPECIFIC_USE(14)\nwhich is revised name on HDMI 1.4.\n\nChange-Id: Ic96dcdbe4aaa3789cfed0352a88ca75369335a98\n"
    },
    {
      "commit": "8822d4befdb30452ad4276b42d89062938b51a1f",
      "tree": "6267ed809918874cb256f0673c204c13544bcd47",
      "parents": [
        "71beb2090302a43d443e0215323762843d3c514c",
        "fb0448ab4b42c1b390cd75c3660ec0de511b7b3b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 02 01:21:57 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 01:21:57 2014 +0000"
      },
      "message": "Merge \"resolved conflicts for merge of 4f8cd188 to master\""
    },
    {
      "commit": "fb0448ab4b42c1b390cd75c3660ec0de511b7b3b",
      "tree": "157dff51891fa740fb36afe2c1f3e1e986dc7ec9",
      "parents": [
        "615d1337fcb4b7e16706e615b19305eea7b689bb",
        "4f8cd18880f1a63d2db376c3bfbfe11c55e6f1ee"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 01 18:19:31 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 01 18:19:31 2014 -0700"
      },
      "message": "resolved conflicts for merge of 4f8cd188 to master\n\nChange-Id: I148cd616cd14d834915978aa2dc3f9e27188dbd3\n"
    },
    {
      "commit": "7d9a843af83dbc75b1d170c743603198ede5a10f",
      "tree": "1b5cbf363f7636c777aedf8112430af675eef04d",
      "parents": [
        "615d1337fcb4b7e16706e615b19305eea7b689bb"
      ],
      "author": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Tue Apr 29 15:12:43 2014 +0900"
      },
      "committer": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Fri May 02 10:15:38 2014 +0900"
      },
      "message": "Implement add/remove device info api for Hdmi Cec device.\n\nIn order to manage info of all cec devices connected hdmi bus,\nHdmiCecController should have data structure for them.\nThis change includes two major pieces.\n\n1. HdmiCecDeviceInfo\n It\u0027s data structure containing basic device information such as\n logical address, physicall address, device type and vendor id.\n It will not be available to thirdparty but some system component\n like TIF needs this to update device information connected to\n its hdmi ports.\n\n2. Managing device list in HdmiCecController.\n HdmiCecController is a host to manage all CEC device.\n and we need to have logic add or remove as well as get it.\n All cec devices are managed as sparsearray which uses logical address as key.\n\nThis change introduces internal api and the later change will have logic\nto call these apis.\n\nChange-Id: Idc2f189ac0bffe904e011ced0ac991f16da07db1\n"
    },
    {
      "commit": "7ba7125af1962b322d48ac5a49f698565da2b84c",
      "tree": "589c78cca7628778de1d7cf218466fb7971e5b5d",
      "parents": [
        "e4739ba2594dc531a9b39b3d1544c786bcf71a45"
      ],
      "author": {
        "name": "Jose Lima",
        "email": "joselima@google.com",
        "time": "Wed Apr 30 12:59:27 2014 -0700"
      },
      "committer": {
        "name": "Jose Lima",
        "email": "joselima@google.com",
        "time": "Thu May 01 18:14:50 2014 -0700"
      },
      "message": "Allow activities to be visible behind the Home Stack\n\n   - Only hide/stop activities behind the Home stack if the Home\n   stack contains a full-screen/opaque activity.\n\nChange-Id: I69f951b91753f48d0344a9d534569cfb8de1d57f\n"
    },
    {
      "commit": "615d1337fcb4b7e16706e615b19305eea7b689bb",
      "tree": "bc7c712572f5d4c11fbc2b7b57fea1d3aabba253",
      "parents": [
        "27e12e72926a552bb5f7d9dc57e9ad562fe4f3b0",
        "e9c77c88ea34a66f83a94f960547275c0ff6bd07"
      ],
      "author": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Fri May 02 00:32:44 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 02 00:32:44 2014 +0000"
      },
      "message": "Merge \"Implement native send and receive logic for HdmiCecController.\""
    },
    {
      "commit": "4f8cd18880f1a63d2db376c3bfbfe11c55e6f1ee",
      "tree": "09a7f387ce71150a8cbf018a7262074e8cd16c70",
      "parents": [
        "1bf2bed1507872dbc5cdefef6f6d3e5a7f83daa2",
        "7f6ab17d414726868563105cd995b37dd519320b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 01 23:29:13 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 23:29:13 2014 +0000"
      },
      "message": "am 7f6ab17d: Merge \"Clean up some terminology related to interactive state.\" into klp-modular-dev\n\n* commit \u00277f6ab17d414726868563105cd995b37dd519320b\u0027:\n  Clean up some terminology related to interactive state.\n"
    },
    {
      "commit": "66dea73906f24226a6f699759e79040726bde8b5",
      "tree": "6d0b46b9e7bc8abe403f49143d6f66ba94287e30",
      "parents": [
        "b94d412848653ae532e589c2a7479b0d0149d341"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu May 01 16:03:59 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu May 01 16:16:00 2014 -0700"
      },
      "message": "Add playback state and metadata to dump\n\nChange-Id: I813ff23c496f75776c8bd63f78bbe87683b19bc0\n"
    },
    {
      "commit": "c70d2295dd3fb87ce8c81c704688d1ad05043b4d",
      "tree": "b2ce43fc32782f21904f012252acc208721f8942",
      "parents": [
        "e9c77c88ea34a66f83a94f960547275c0ff6bd07"
      ],
      "author": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Wed Apr 30 15:43:16 2014 +0900"
      },
      "committer": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Fri May 02 07:23:35 2014 +0900"
      },
      "message": "Define Feature action for obtaining info on a new CEC device\n\nFeature action (or action) is a unit of CEC command flow that accomplish\na certain feature. This CL introduces an abstract class FeatureAction,\nand a concrete one NewDeviceAction that is used to obtain detailed\ninformation on a new logical device on the CEC bus.\n\nChange-Id: I94a7e75fbb76fe547f07f9588a93c7ea5a85d856\n"
    },
    {
      "commit": "140ffc783c50bbe3b62e817c117a31b93e7f627e",
      "tree": "a785a3713fcd85f151c037c05bfbe84edc7bbdc0",
      "parents": [
        "d5e92318b69d8af6d91dc3b51738913595e0f536"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 01 15:18:00 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 01 15:22:27 2014 -0700"
      },
      "message": "Clean up some terminology related to interactive state.\n\nChange-Id: Ife4445685a5314dea64332a3490fa8dd3ffd89a2\n"
    },
    {
      "commit": "edfb6b6b747e09334c102bff7cb2c4f8a8c86129",
      "tree": "9af3ba58bbd7f666e649f4ff3347e3c9f043f353",
      "parents": [
        "2f3c8d070a7511129f80b11b5916f2f3a4264f3e",
        "2de2e22540441fd02e03abae5bcae8feb873b929"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 01 21:49:03 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 21:49:03 2014 +0000"
      },
      "message": "am 2de2e225: am e3cceef7: am 0f7c0570: Merge \"Minor cleanup of UsageStatsService\"\n\n* commit \u00272de2e22540441fd02e03abae5bcae8feb873b929\u0027:\n  Minor cleanup of UsageStatsService\n"
    },
    {
      "commit": "2de2e22540441fd02e03abae5bcae8feb873b929",
      "tree": "78b418a406e39fabdb9e4d9406d8f95aee0a420e",
      "parents": [
        "ed7e36dc2ef400916356459f9ea67d66645a85fb",
        "e3cceef7ececdac1c6df65d3f7a1557ac3ce5e3c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 01 21:45:38 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 21:45:38 2014 +0000"
      },
      "message": "am e3cceef7: am 0f7c0570: Merge \"Minor cleanup of UsageStatsService\"\n\n* commit \u0027e3cceef7ececdac1c6df65d3f7a1557ac3ce5e3c\u0027:\n  Minor cleanup of UsageStatsService\n"
    },
    {
      "commit": "334f959bf5cdc97738c54447a25842aa78b99fa9",
      "tree": "0e2531d188749ccf7e85a95b067dc0d0abdb7e1d",
      "parents": [
        "4d7c0171638fe3238d64e668818b2fbf512e3bfc",
        "932249db930d78131c4314ff46ec5fca76cb46cd"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu May 01 21:44:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 01 21:44:08 2014 +0000"
      },
      "message": "Merge \"Deliver package broadcasts only to related profiles.\""
    },
    {
      "commit": "e3cceef7ececdac1c6df65d3f7a1557ac3ce5e3c",
      "tree": "75875a7f0293c18546fc22a23d546d5e58f6ff33",
      "parents": [
        "74ec580873bb56cb5045a25efdb1eb7e2bac384c",
        "0f7c0570e091a284481c2406d8275d87c3786c1d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 01 21:41:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 21:41:58 2014 +0000"
      },
      "message": "am 0f7c0570: Merge \"Minor cleanup of UsageStatsService\"\n\n* commit \u00270f7c0570e091a284481c2406d8275d87c3786c1d\u0027:\n  Minor cleanup of UsageStatsService\n"
    },
    {
      "commit": "932249db930d78131c4314ff46ec5fca76cb46cd",
      "tree": "6fcfb3b2c0ce9a5d0309b9d644ee706e60c915c4",
      "parents": [
        "6e6a6e863df6cc5e7b930b1197b1f6743ba31d8e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu May 01 14:39:35 2014 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu May 01 14:39:35 2014 -0700"
      },
      "message": "Deliver package broadcasts only to related profiles.\n\nStore the listener\u0027s userhandle in a cookie and compare profile\nrelationships before delivering package broadcasts to a listener.\n\nBasically, don\u0027t leave TODOs around, they\u0027ll result in bugs :)\n\nBug: 14436558\nChange-Id: I57a21719caab6cf54b78de7be2eca3e398dc6288\n"
    },
    {
      "commit": "393fbe71f85288efaf452cb646ae0cc5c1073c92",
      "tree": "285f8bcb35a51c4c6994846d4d38db8094f5532e",
      "parents": [
        "ab3977d21161815c130bdedf21e2571382d208da"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 10 13:39:25 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 01 14:12:14 2014 -0700"
      },
      "message": "Minor cleanup of UsageStatsService\n\nChange-Id: Idea0e29f347d14e48e87aad38a261d0493bd5fd3\n"
    },
    {
      "commit": "3a8557dc22a7190b975302c1720fa1eb98e57a71",
      "tree": "5a0a6cf617ac54989f8024b08d766ebcb599ffa3",
      "parents": [
        "57df4fd69e96c901ac0a027aa913f3f9086fbbf6",
        "3b98b3f1f85aff0c84ebef4dd497c146d1b4d248"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu May 01 19:17:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 01 19:17:53 2014 +0000"
      },
      "message": "Merge \"Implement long-term condition subscriptions.\""
    },
    {
      "commit": "3b98b3f1f85aff0c84ebef4dd497c146d1b4d248",
      "tree": "aa5d2368ef284a9985f8bba6f61925b93263c0e0",
      "parents": [
        "5c5f4b70db33d6edb8f77299a702fc3b8c271f44"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu May 01 09:08:48 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu May 01 15:03:17 2014 -0400"
      },
      "message": "Implement long-term condition subscriptions.\n\nBind long-term conditions (like \"in a meeting\") to enter/exit\nzen mode automatically.\n\nPersist automatic condition subscriptions to maintain them across\nreboots.\n\nNormalize condition state binding: true \u003d\u003e enter zen, false \u003d\u003e exit.\n\nChange-Id: Icba2b8b25c0a352ae8215f4c0a324e4f966c0165\n"
    },
    {
      "commit": "6e6a6e863df6cc5e7b930b1197b1f6743ba31d8e",
      "tree": "90700f3328f5e89ca92fcecd438cf9286519ad8d",
      "parents": [
        "67e2196d07dd4dc1f3ce82fdaaa34cdbce89e1ce",
        "f1372428f2df781c71c71caa2f6a4db6f847cf10"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu May 01 17:14:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 01 17:14:56 2014 +0000"
      },
      "message": "Merge \"Add Session API calls to RCC and AudioManager\""
    },
    {
      "commit": "f1372428f2df781c71c71caa2f6a4db6f847cf10",
      "tree": "62b260454c523adda9dbd7ced72f273f7231edc6",
      "parents": [
        "4e8cf1508f22f88203cd9bf4467aaddd3f4502c6"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Apr 23 14:38:17 2014 -0700"
      },
      "committer": {
        "name": "Erik Pasternak",
        "email": "roboerik@android.com",
        "time": "Thu May 01 17:14:01 2014 +0000"
      },
      "message": "Add Session API calls to RCC and AudioManager\n\nThis makes RCC and MediaButtonReceiver (via AudioManager) also use the new Session APIs in parallel to their existing code. This will allow us to bring up the Session compatibility pieces without disrupting the old behavior and then switch everything over to just using the new APIs when ready.\n\nChange-Id: I33ce0a044dea3ec763f2302b91a5e415be27d4a4"
    },
    {
      "commit": "67e2196d07dd4dc1f3ce82fdaaa34cdbce89e1ce",
      "tree": "eb4bb9d5fc69356ba7f74f6b65a7b21afb9c9204",
      "parents": [
        "4a26164316b0d9a6d97dfbb85a2ac176384bb985",
        "a278ea7cecb59a73586e5dd74ec05e85caa370c5"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu May 01 17:11:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 01 17:11:34 2014 +0000"
      },
      "message": "Merge \"Add dump to MediaSessionService\""
    },
    {
      "commit": "531381056fac077cffcd509b1e89d9b41f400fca",
      "tree": "55ef0c5c2cd611edbb8e764266bce8e975825978",
      "parents": [
        "d6809b35aff02fdccf7ac433005aba2d06bbc3ff",
        "5dca099df7100c531e111b50435605c318f1e6d4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:39:20 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:39:20 2014 +0000"
      },
      "message": "am 5dca099d: am 1cec7f85: Merge \"Don\\\u0027t adjust ABI if PackageSetting#pkg is null.\"\n\n* commit \u00275dca099df7100c531e111b50435605c318f1e6d4\u0027:\n  Don\u0027t adjust ABI if PackageSetting#pkg is null.\n"
    },
    {
      "commit": "d6809b35aff02fdccf7ac433005aba2d06bbc3ff",
      "tree": "0081104a611fd7589064c782e2a34e2685616ee2",
      "parents": [
        "fbd80b58db2aa8f650acf26305e8cbed24a5755b",
        "c1f81f9086037dde6e082b8a80c84277cb727726"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:39:16 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:39:16 2014 +0000"
      },
      "message": "am c1f81f90: am 27f2bfc4: Merge \"Fix dex file pruning logic.\"\n\n* commit \u0027c1f81f9086037dde6e082b8a80c84277cb727726\u0027:\n  Fix dex file pruning logic.\n"
    },
    {
      "commit": "fbd80b58db2aa8f650acf26305e8cbed24a5755b",
      "tree": "07e0bb4807be26fa7c4bd2ac074eb27b7692b056",
      "parents": [
        "3a951e52d93697b7e232501b78f9ffb0ec605516",
        "51f4367cac606580a5ca10ec1cf2dcab3982aebc"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:39:12 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:39:12 2014 +0000"
      },
      "message": "am 51f4367c: am bcc3b312: Merge \"Adjust instruction sets for shared UID apps.\"\n\n* commit \u002751f4367cac606580a5ca10ec1cf2dcab3982aebc\u0027:\n  Adjust instruction sets for shared UID apps.\n"
    },
    {
      "commit": "3a951e52d93697b7e232501b78f9ffb0ec605516",
      "tree": "d844f7c0f812791dbb00eb138ecb38cdb791856c",
      "parents": [
        "d2ec8724d2a3407e28161299d44e2e113fe437ec",
        "69da8a124e640c09d00546761c0502e1bcab79a6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 15:32:20 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 15:32:20 2014 +0100"
      },
      "message": "resolved conflicts for merge of 69da8a12 to klp-modular-dev-plus-aosp\n\nChange-Id: Ie07b88f324749afcf8417b50d4dbbc6e2a271a2a\n"
    },
    {
      "commit": "d2ec8724d2a3407e28161299d44e2e113fe437ec",
      "tree": "4d48530350df55c39aa9db2b26e8f0f2fcb7ceab",
      "parents": [
        "f5c6a1b3eb10f0374fcbab55853f400778f0f8e7",
        "d85ded890d86d454a0571c63911ff911633e3a95"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:01:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:01:14 2014 +0000"
      },
      "message": "am d85ded89: am 645a920f: Merge \"Fix OEM native library path bug.\"\n\n* commit \u0027d85ded890d86d454a0571c63911ff911633e3a95\u0027:\n  Fix OEM native library path bug.\n"
    },
    {
      "commit": "f5c6a1b3eb10f0374fcbab55853f400778f0f8e7",
      "tree": "620673aa7b50216cd107d7efe0c07df6d3ec4518",
      "parents": [
        "0338af46f968e2e1c2fd8c62e9387546fa9ed86b",
        "eb5734989b3ef5455359f8807684a860ad04c134"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:01:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:01:10 2014 +0000"
      },
      "message": "am eb573498: am 986b901a: Merge \"Fix native-lib dir assignment \u0026 updating\"\n\n* commit \u0027eb5734989b3ef5455359f8807684a860ad04c134\u0027:\n  Fix native-lib dir assignment \u0026 updating\n"
    },
    {
      "commit": "5dca099df7100c531e111b50435605c318f1e6d4",
      "tree": "feedbdedffab1231e5664d717702f7e45aaafea8",
      "parents": [
        "c1f81f9086037dde6e082b8a80c84277cb727726",
        "1cec7f8539e6465ff80577169d7d07df3c2574b7"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:00:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:00:52 2014 +0000"
      },
      "message": "am 1cec7f85: Merge \"Don\\\u0027t adjust ABI if PackageSetting#pkg is null.\"\n\n* commit \u00271cec7f8539e6465ff80577169d7d07df3c2574b7\u0027:\n  Don\u0027t adjust ABI if PackageSetting#pkg is null.\n"
    },
    {
      "commit": "c1f81f9086037dde6e082b8a80c84277cb727726",
      "tree": "eebe0332220d92aaf3135b06c046211a44629565",
      "parents": [
        "51f4367cac606580a5ca10ec1cf2dcab3982aebc",
        "27f2bfc406157039c5241f6a4f38f597b2076e2a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:00:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:00:49 2014 +0000"
      },
      "message": "am 27f2bfc4: Merge \"Fix dex file pruning logic.\"\n\n* commit \u002727f2bfc406157039c5241f6a4f38f597b2076e2a\u0027:\n  Fix dex file pruning logic.\n"
    },
    {
      "commit": "51f4367cac606580a5ca10ec1cf2dcab3982aebc",
      "tree": "fce1341050b5ea50edcf98e175d846ac67e93d5c",
      "parents": [
        "69da8a124e640c09d00546761c0502e1bcab79a6",
        "bcc3b312b0662ae2f8b8444eaedd5f35fc75c411"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:00:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:00:46 2014 +0000"
      },
      "message": "am bcc3b312: Merge \"Adjust instruction sets for shared UID apps.\"\n\n* commit \u0027bcc3b312b0662ae2f8b8444eaedd5f35fc75c411\u0027:\n  Adjust instruction sets for shared UID apps.\n"
    },
    {
      "commit": "69da8a124e640c09d00546761c0502e1bcab79a6",
      "tree": "d7fbe00ec4fbe87b35f6bed5cfd469414267a6a5",
      "parents": [
        "d85ded890d86d454a0571c63911ff911633e3a95",
        "2a9a047140b8da8f9cd7147c8bed60eeb61d1b6a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 14:00:43 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 14:00:43 2014 +0000"
      },
      "message": "am 2a9a0471: Merge \"Package manager changes for dual zygote stack.\"\n\n* commit \u00272a9a047140b8da8f9cd7147c8bed60eeb61d1b6a\u0027:\n  Package manager changes for dual zygote stack.\n"
    },
    {
      "commit": "0338af46f968e2e1c2fd8c62e9387546fa9ed86b",
      "tree": "d84c9fcb365d366eb95d55f6fd9a05b93ff514cc",
      "parents": [
        "5bc12a1b5dadfd504fb03875fad97cda8d39cf25",
        "99253c2da945cbd4725efced6cac2dc40c858d6c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:57:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 13:57:21 2014 +0000"
      },
      "message": "am 99253c2d: am fde59428: Merge \"Handle /oem and /vendor as well\"\n\n* commit \u002799253c2da945cbd4725efced6cac2dc40c858d6c\u0027:\n  Handle /oem and /vendor as well\n"
    },
    {
      "commit": "5bc12a1b5dadfd504fb03875fad97cda8d39cf25",
      "tree": "e8761aa32ecda49c861e68843df27f7ac2956b11",
      "parents": [
        "6af42aea725c2afd8e5fbff9bc33ba353c05e1a9",
        "a7b465efc4eede46b8dfc8932c6c30346e8e79de"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:57:17 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 13:57:17 2014 +0000"
      },
      "message": "am a7b465ef: am d91358b2: Merge \"Support per-package lib dirs for bundled apps\"\n\n* commit \u0027a7b465efc4eede46b8dfc8932c6c30346e8e79de\u0027:\n  Support per-package lib dirs for bundled apps\n"
    },
    {
      "commit": "d85ded890d86d454a0571c63911ff911633e3a95",
      "tree": "39fd13bde8e63742ab70268336cab655fc7bde86",
      "parents": [
        "eb5734989b3ef5455359f8807684a860ad04c134",
        "645a920fd2c478c545c6bb659f2eab36545fe116"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:56:59 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 13:56:59 2014 +0000"
      },
      "message": "am 645a920f: Merge \"Fix OEM native library path bug.\"\n\n* commit \u0027645a920fd2c478c545c6bb659f2eab36545fe116\u0027:\n  Fix OEM native library path bug.\n"
    },
    {
      "commit": "eb5734989b3ef5455359f8807684a860ad04c134",
      "tree": "31b5c245d8154f09c3ed046ee75f9f399a8ce607",
      "parents": [
        "99253c2da945cbd4725efced6cac2dc40c858d6c",
        "986b901ae280928e91193527f7c883b296fc62fc"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:56:56 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 13:56:56 2014 +0000"
      },
      "message": "am 986b901a: Merge \"Fix native-lib dir assignment \u0026 updating\"\n\n* commit \u0027986b901ae280928e91193527f7c883b296fc62fc\u0027:\n  Fix native-lib dir assignment \u0026 updating\n"
    },
    {
      "commit": "f465db9f1d6da1c94af66b64e0450aba72ee8824",
      "tree": "375fa50285fc6d2f83d458ff6ca1ec12b5bf65ec",
      "parents": [
        "27f2bfc406157039c5241f6a4f38f597b2076e2a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 13:33:38 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:56:43 2014 +0000"
      },
      "message": "Don\u0027t adjust ABI if PackageSetting#pkg is null.\n\nIf means the package hasn\u0027t been scanned yet, and we\nwill adjust the ABI during the scan of the last package\nin the shared user group.\n\nNOTE: This needs some more cleaning up, which will be\ndone along with the remaining TODO in this function.\n\n(cherry picked from commit 6609990e35b11c38f55f6e632160d4f2ff201ea3)\n\nChange-Id: Ibace7849485865054e062d2b979f320bf89ff0f3\n"
    },
    {
      "commit": "57156572a7284c3b774480f9b0138d5cd110a182",
      "tree": "0b7728d57dbf31a14e7944e80af67f960620cd4d",
      "parents": [
        "bcc3b312b0662ae2f8b8444eaedd5f35fc75c411"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Apr 29 16:49:27 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:56:22 2014 +0000"
      },
      "message": "Fix dex file pruning logic.\n\nWe should now prune all normal files from /data/dalvik-cache\nin addition to looking for dex files in all subdirectories of\n/data/dalvik-cache.\n\n(cherry picked from commit 51a6f9253399588eedf77d75c578d9aa23d11529)\n\nChange-Id: I536dfdc48e94155e7be64eb4efd9f7f2a1d2d00a\n"
    },
    {
      "commit": "1b46093d33a0fa4d316d65288ef3b3ac5b77a4a2",
      "tree": "372976a7b5a12702ca008ec8be6cf18d237e1519",
      "parents": [
        "2a9a047140b8da8f9cd7147c8bed60eeb61d1b6a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 28 14:18:34 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:55:35 2014 +0000"
      },
      "message": "Adjust instruction sets for shared UID apps.\n\nSince shared UID apps are run in the same process,\nwe\u0027ll need to make sure they\u0027re compiled for the same\ninstruction set.\n\nThis change implements the recompilation of apps that\ndon\u0027t have any ABI constraints.\n\nApps that *do* have ABI constraints are harder to deal\nwith, since we\u0027ll need to rescan them to figure out the\nfull list of ABIs they support and then re-extract the\nnative libraries from these apps once we find an ABI we\ncan use throughout.\n\n(cherry picked from commit 85703d58af1dac692d7d83c03220e45ab2a5aded)\n\nChange-Id: I8311a683468488cc7e30381965487a3d391609ae\n"
    },
    {
      "commit": "0349e8c4785ed467d8de2ff383e28be3e41bdc3b",
      "tree": "879534fb65405fa603d5fc16599ca154e673b97c",
      "parents": [
        "645a920fd2c478c545c6bb659f2eab36545fe116"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 11:41:20 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:54:48 2014 +0000"
      },
      "message": "Package manager changes for dual zygote stack.\n\n- Pass down the app\u0027s instruction set to dexopt so that\n  it can compile the dex file for the right architecture.\n\n- Also pass down the app\u0027s instruction set to rmdex, movedex\n  and getSize so that they can construct the cache file\n  location properly.\n\n- Temporarily compile \"system\" jars such as am,wm etc. for\n  both architectures. A follow up change will ensure that\n  they\u0027re compiled only for one architecture (the same\n  arch. as the system server).\n\n- Java \"shared\" libraries are now compiled for the right\n  architecture when an app requires them.\n\n- Improve the app native library ABI detection to account\n  for system apps installed in /system/lib{64}/\u003cpackagename\u003e\n  and also handle sdcard and forward locked apps correctly.\n\n(cherry-picked from commit b4d35dc8e9702f9d0d82d35a105f0eea35672b52)\n"
    },
    {
      "commit": "99253c2da945cbd4725efced6cac2dc40c858d6c",
      "tree": "36d6b85b1c791447c14126bd2d120b633fcd6816",
      "parents": [
        "a7b465efc4eede46b8dfc8932c6c30346e8e79de",
        "fde594288bff0b8f95567e6b27f273f50f0c5f87"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:53:08 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 13:53:08 2014 +0000"
      },
      "message": "am fde59428: Merge \"Handle /oem and /vendor as well\"\n\n* commit \u0027fde594288bff0b8f95567e6b27f273f50f0c5f87\u0027:\n  Handle /oem and /vendor as well\n"
    },
    {
      "commit": "a7b465efc4eede46b8dfc8932c6c30346e8e79de",
      "tree": "874b91c7af4815ba52bea03cae1250b6ea9144db",
      "parents": [
        "9f34234f1c0e39ee43c4a86e23d333ba2a30ec0e",
        "d91358b2b977ef7c3551a486f51475c0441aba6e"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:52:59 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 01 13:52:59 2014 +0000"
      },
      "message": "am d91358b2: Merge \"Support per-package lib dirs for bundled apps\"\n\n* commit \u0027d91358b2b977ef7c3551a486f51475c0441aba6e\u0027:\n  Support per-package lib dirs for bundled apps\n"
    },
    {
      "commit": "66309e2bf70607bc0ff2cf5c0769c2a37c4ce76d",
      "tree": "5eadeb9932cefb5fb3b012ae9b1b5265e8aaa89d",
      "parents": [
        "986b901ae280928e91193527f7c883b296fc62fc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 24 14:11:08 2014 -0700"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:52:33 2014 +0000"
      },
      "message": "Fix OEM native library path bug.\n\nBug: 13340779\n\n(cherry picked from commit 7d3328d14bbbee01a9de1ff5b13b0446c709d835)\n\nChange-Id: I1b4c5d138cafe3651d475ca1e048f495ff6c5f10\n"
    },
    {
      "commit": "c38a807b2f192bd1413989b70cc42ead9299d4b3",
      "tree": "58b0e53fbec9a08244439bb08687ab1b98fc65f2",
      "parents": [
        "fde594288bff0b8f95567e6b27f273f50f0c5f87"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 23 16:55:57 2014 -0700"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:52:06 2014 +0000"
      },
      "message": "Fix native-lib dir assignment \u0026 updating\n\nThe per-package /system/lib/* feature introduced bugs in the\nnative library path handling during app upgrade installs.  The\ncrux of the fix is that when recalulating the desired native\nlibrary directory, the basis for the calculation needs to be\nthe scanned APK\u0027s location rather than the extant package\nsettings entry -- because that entry refers to the pre-upgrade\nstate of the application, not the new state.\n\nBug 14233983\n\n(cherry picked from commit 353e39a973dbbadce82fee2f83ad194e04a47449)\n\nChange-Id: I26f17a596ca2cd7f963955c0642548c15138ae26\n"
    },
    {
      "commit": "c84471c2e07c325e81568c4d764716f14fcb19fe",
      "tree": "bf96398642c99dc327ab13ce147cec0566c22277",
      "parents": [
        "d91358b2b977ef7c3551a486f51475c0441aba6e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 18 12:24:57 2014 -0700"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:51:33 2014 +0000"
      },
      "message": "Handle /oem and /vendor as well\n\nBug 13170859\n\n(cherry-picked from commit 740888f62eae158d5775be716620f0d56d87f587)\n\nChange-Id: I7b5e206697fcbec146cac6cd83fca5c583a8cbd7\n"
    },
    {
      "commit": "fc0810e565b269bc9d8f072ef0ab7365e035c630",
      "tree": "c2f3d4b57108f1bc089af03e4f1cfac31b0817e1",
      "parents": [
        "b916d8adffd7ea3588bc178e1ee03f68f0a409e5"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:35:34 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 13:50:47 2014 +0000"
      },
      "message": "Support per-package lib dirs for bundled apps\n\nBundled apps can now use /system/lib/apkname or /system/lib64/apkname\nin addition to the (globally shared) /system/lib and /system/lib64\ndirectories.  Note that when an app is updated post hoc the update APK\nwill look to its normal library install directory in\n/data/data/[packagename]/lib, so such updates must include *all*\nneeded libraries -- the private /system/lib/apkname dir will not be in\nthe path following such an update.\n\n\"apkname\" here is the base name of the physical APK that holds the\npackage\u0027s code.  For example, if a 32-bit package is resident on disk\nas /system/priv-app/SettingsProvider.apk then its app-specific lib\ndirectory will be /system/lib/SettingsProvider\n\nBug 13170859\n\n(cherry picked from commit addfbdc09ccf258395db8bfc510989a4c583f7ab)\n\nChange-Id: Id82da78024a6325458b8b134d7d91ad0e5f0785e\n"
    },
    {
      "commit": "3c4d9c56db5b24699956de0a5a841196185363cc",
      "tree": "ccbfaf6ddcdfec78f23262150db16f171ea82efe",
      "parents": [
        "8596f6998eddb0caa35532eb386ac6d00f81551d",
        "df35d570ed25257c6782e632ab1bae5e1603855a"
      ],
      "author": {
        "name": "Alexandra Gherghina",
        "email": "alexgherghina@google.com",
        "time": "Thu May 01 10:49:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 01 10:49:21 2014 +0000"
      },
      "message": "Merge \"Adds an enabled state in UserInfo instead of DevicePolicyManager\""
    },
    {
      "commit": "df35d570ed25257c6782e632ab1bae5e1603855a",
      "tree": "ac137caafe620218393e973206ded3f20ac58302",
      "parents": [
        "7f89c9b8e6724e4316c294eb9f0dde4a46b61e87"
      ],
      "author": {
        "name": "Alexandra Gherghina",
        "email": "alexgherghina@google.com",
        "time": "Wed Apr 09 13:54:39 2014 +0100"
      },
      "committer": {
        "name": "Alexandra Gherghina",
        "email": "alexgherghina@google.com",
        "time": "Thu May 01 11:34:27 2014 +0100"
      },
      "message": "Adds an enabled state in UserInfo instead of DevicePolicyManager\n\nBug: 14377459\nChange-Id: Ib4ec43d87da96c3dddaf9b7ae1796f261863a182\n"
    },
    {
      "commit": "ff2e05e1f69eb0cbe9ba68cb1adbd2b2922eeeb7",
      "tree": "191facc85d1379cc706a0be2468da35e904cd71f",
      "parents": [
        "64ab917e5eb3269c72c795781a512d4ee7d9d7a4",
        "10fa67c77e11699391e27975fc2d276a0b8c7cbb"
      ],
      "author": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Thu May 01 09:17:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 01 09:17:13 2014 +0000"
      },
      "message": "Merge \"Introduce forwarding intents across profiles.\""
    },
    {
      "commit": "14f1ec05b2add5ee051c0d2e7c7c3b36a6e77b92",
      "tree": "c0be4a0961f6a5f1c4974c6121a56dc54cb2e9d9",
      "parents": [
        "76b81c722135f496935dd270e7c5989f8b9472e3"
      ],
      "author": {
        "name": "Jeff Davidson",
        "email": "jpd@google.com",
        "time": "Tue Apr 29 11:58:26 2014 -0700"
      },
      "committer": {
        "name": "Jeff Davidson",
        "email": "jpd@google.com",
        "time": "Wed Apr 30 17:50:46 2014 -0700"
      },
      "message": "API for network cache subsystems.\n\nA network subsystem (e.g. Wi-Fi) will be responsible for implementing\nINetworkScoreCache. NetworkScoreService will load caches for each\nconfigured network subsystem. When it receives a call to update\nscores, it will separate the networks by type and call updateScores on\nthe appropriate INetworkScoreCache.\n\nEach subsystem will also be responsible for requesting scores for new\nnetworks by calling NetworkScoreManager#requestScores.\n\nBug: 14408144\nBug: 14137255\nChange-Id: I76e5e5205bc359c39d6b9c1782126fb7f465cd96\n"
    },
    {
      "commit": "cfbdcd259497ec5800028074ae487e5d4f112e5c",
      "tree": "f6a07597a6a8d85d9670c2b0d3fededd4e95c07a",
      "parents": [
        "08d4a0ab48d3c2d6f6b70bbabcd599055365a657"
      ],
      "author": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Wed Apr 30 11:29:11 2014 -0700"
      },
      "committer": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Wed Apr 30 11:31:21 2014 -0700"
      },
      "message": "Make sure the FlpHardwareProvider is only advertised to GmsCore if the platform supports it.\nb/14117917\n\nChange-Id: Id6c2444893bcf192049e3233d1296eac16fcf826\n"
    },
    {
      "commit": "10fa67c77e11699391e27975fc2d276a0b8c7cbb",
      "tree": "8a3349d2424f13e5c89ea710da84aaec81a42d70",
      "parents": [
        "dfacf855fd91eb2d40891721ad4b92ed65d0b46d"
      ],
      "author": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Mon Mar 24 13:44:38 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Wed Apr 30 19:24:52 2014 +0100"
      },
      "message": "Introduce forwarding intents across profiles.\n\nThe package manager service maintains, for some user ids, a list of forwarding intent filters.\nA forwarding intent filter is an intent filter with a destination (a user id).\nIf an intent matches the forwarding intent filter, then activities in the destination can also respond to the intent.\n\nWhen the package manager service is asked for components that resolve an intent:\nIf the intent matches the forwarding intent filter, and at least one activity in the destination user can respond to the intent:\nThe package manager service also returns the IntentForwarderActivity.\nThis activity will forward the intent to the destination.\n\nChange-Id: Id8957de3e4a4fdbc1e0dea073eadb45e04ef985a\n"
    },
    {
      "commit": "08d4a0ab48d3c2d6f6b70bbabcd599055365a657",
      "tree": "c14dcfb024a7666f53b4ed22f741abbc13fff04e",
      "parents": [
        "7e5264ced758107d83da88d6e476d16028b3cc71",
        "a5956424b817fbe3d20a22b994a693f0011cc632"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Apr 30 17:41:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 30 17:41:25 2014 +0000"
      },
      "message": "Merge \"Fix broken trust agent reloading v2\""
    },
    {
      "commit": "7e5264ced758107d83da88d6e476d16028b3cc71",
      "tree": "f77cbf8f94c4c97b850653d84a45ea79759711c9",
      "parents": [
        "fad6fa7a04e9227f621dfea9e90f6b867c40af86",
        "53fa4ec7f466e70fe3e33d15c4abfc9bb557eb10"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Wed Apr 30 17:38:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 30 17:38:10 2014 +0000"
      },
      "message": "Merge \"Extend LauncherApps service to expose enabled state.\""
    },
    {
      "commit": "406c51b360cb224e2cb4773eabd04d05d29793f8",
      "tree": "b472763b64d32fdc0d91b65cbae7bc4dfcddd7c4",
      "parents": [
        "b3aa8f48044db8fdb15e8dd2dc0fc10c85f25375",
        "684bf34ee8acc41931fac23762b13e14a22011db"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 30 16:39:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 30 16:39:15 2014 +0000"
      },
      "message": "Merge \"Switch IProcessObserver to report process state\""
    },
    {
      "commit": "a5956424b817fbe3d20a22b994a693f0011cc632",
      "tree": "034de863119ee0a82a64f6abb811d9ff20480f25",
      "parents": [
        "81e046645def5ded2cc72740b251df0ebe40334c"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Apr 30 18:23:38 2014 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Apr 30 18:23:38 2014 +0200"
      },
      "message": "Fix broken trust agent reloading v2\n\nBug: 13723878\nChange-Id: I61f313bfc7ff0dc502551b54d580a7ce8694f04d\n"
    },
    {
      "commit": "03b87a2f40c26948b7b0c9409c33ad44857218cf",
      "tree": "bb97024d9004a3dee7aae483f6d51c6e637ef067",
      "parents": [
        "ff8dbe52eb3452df4d2cbd7af90483969bb061f4"
      ],
      "author": {
        "name": "Christoph Studer",
        "email": "chstuder@google.com",
        "time": "Wed Apr 30 17:33:27 2014 +0200"
      },
      "committer": {
        "name": "Christoph Studer",
        "email": "chstuder@google.com",
        "time": "Wed Apr 30 18:00:55 2014 +0200"
      },
      "message": "Log notification clicks\n\nEmit notification_clicked log events when a notification\nis clicked from SystemUI.\n\nAlso refactor the onNotificationClicked method to work with\na key instead of individual notification params.\n\nChange-Id: Iffd15e95d46371b2ae7bfd00b2c348d9f4cf5d14\n"
    },
    {
      "commit": "81e046645def5ded2cc72740b251df0ebe40334c",
      "tree": "9af7cc49589ce3eed3dc4050d3331593a80d5ad5",
      "parents": [
        "984f6b7519e622b8ac656ec5b15bbde9c380ab82"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Apr 30 17:48:18 2014 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Apr 30 17:48:18 2014 +0200"
      },
      "message": "Fix broken trust agent reloading\n\nBug: 13723878\nChange-Id: I2f7f3fad5685e5e57dcddf2f2c3494bb95e38b15\n"
    },
    {
      "commit": "ab45d1d6d296f4f61632a472cf7bd8626c8d5a06",
      "tree": "5f4447b30c8c644545ac74f24c33aa5b47114258",
      "parents": [
        "36c492cf1af25f23719d2f5738a366db6ce1d362"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 13:33:38 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 13:36:37 2014 +0100"
      },
      "message": "Don\u0027t adjust ABI if PackageSetting#pkg is null.\n\nIf means the package hasn\u0027t been scanned yet, and we\nwill adjust the ABI during the scan of the last package\nin the shared user group.\n\nNOTE: This needs some more cleaning up, which will be\ndone along with the remaining TODO in this function.\n\nChange-Id: Ie332806b64e22ab4a4856e1ccd064ff6a01616bf\n"
    },
    {
      "commit": "36c492cf1af25f23719d2f5738a366db6ce1d362",
      "tree": "ac7b80e17e6477680e718b3f5882ad5dad7adc5b",
      "parents": [
        "f6b635e4f00cd40d4c46730f7d23df6cc8bf4aa4",
        "f836206818ce338db83a3c23c486fb8cab29cb6d"
      ],
      "author": {
        "name": "Youngsang Cho",
        "email": "youngsang@google.com",
        "time": "Wed Apr 30 11:07:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 30 11:07:29 2014 +0000"
      },
      "message": "Merge \"Explictly release the surface in TV input framework\""
    },
    {
      "commit": "f836206818ce338db83a3c23c486fb8cab29cb6d",
      "tree": "06edf4bb024824f62343cb8104b788d49e58f4a3",
      "parents": [
        "aa2112f671e4f14555e25a6d765ce4bad454a43f"
      ],
      "author": {
        "name": "Youngsang Cho",
        "email": "youngsang@google.com",
        "time": "Wed Apr 30 17:24:20 2014 +0900"
      },
      "committer": {
        "name": "Youngsang Cho",
        "email": "youngsang@google.com",
        "time": "Wed Apr 30 20:05:32 2014 +0900"
      },
      "message": "Explictly release the surface in TV input framework\n\nChange-Id: Id178e8959f9c25d1d5f1ab85d5e8455577570d11\n"
    },
    {
      "commit": "f6b635e4f00cd40d4c46730f7d23df6cc8bf4aa4",
      "tree": "046a9632f9b879808fd72e2745bbd4db657a3360",
      "parents": [
        "df6d6dc2aac2912e98de3fe37869d2b179eb23db"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Apr 29 16:49:27 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 10:30:12 2014 +0100"
      },
      "message": "Fix dex file pruning logic.\n\nWe should now prune all normal files from /data/dalvik-cache\nin addition to looking for dex files in all subdirectories of\n/data/dalvik-cache.\n\nChange-Id: I4abb2b01b359bbb1b8ece2c9025541a5d5e335f5\n"
    },
    {
      "commit": "df6d6dc2aac2912e98de3fe37869d2b179eb23db",
      "tree": "4756fb3f5170fdaf84622ffd7bbd4efc5725e9ec",
      "parents": [
        "0f206a149d27385ef092a34e0009a8607d663659"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 28 14:18:34 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 09:43:47 2014 +0100"
      },
      "message": "Adjust instruction sets for shared UID apps.\n\nSince shared UID apps are run in the same process,\nwe\u0027ll need to make sure they\u0027re compiled for the same\ninstruction set.\n\nThis change implements the recompilation of apps that\ndon\u0027t have any ABI constraints.\n\nApps that *do* have ABI constraints are harder to deal\nwith, since we\u0027ll need to rescan them to figure out the\nfull list of ABIs they support and then re-extract the\nnative libraries from these apps once we find an ABI we\ncan use throughout.\n\nChange-Id: I365c6b0b18187df814d4736da61b199dd4494e3c\n"
    },
    {
      "commit": "0f206a149d27385ef092a34e0009a8607d663659",
      "tree": "0583de4ce3b00edc21cfc5fb464bbf7eaf0e5afc",
      "parents": [
        "dfacf855fd91eb2d40891721ad4b92ed65d0b46d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Apr 12 11:41:13 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 09:43:31 2014 +0100"
      },
      "message": "Package manager changes for dual zygote stack.\n\n- Pass down the app\u0027s instruction set to dexopt so that\n  it can compile the dex file for the right architecture.\n\n- Also pass down the app\u0027s instruction set to rmdex, movedex\n  and getSize so that they can construct the cache file\n  location properly.\n\n- Temporarily compile \"system\" jars such as am,wm etc. for\n  both architectures. A follow up change will ensure that\n  they\u0027re compiled only for one architecture (the same\n  arch. as the system server).\n\n- Java \"shared\" libraries are now compiled for the right\n  architecture when an app requires them.\n\n- Improve the app native library ABI detection to account\n  for system apps installed in /system/lib{64}/\u003cpackagename\u003e\n  and also handle sdcard and forward locked apps correctly.\n\nChange-Id: I4f380b146137803e51d56fdf355c3bdfc92c409d\n"
    },
    {
      "commit": "e9c77c88ea34a66f83a94f960547275c0ff6bd07",
      "tree": "b4ddacedf69a811881426a35f71fd224d96fe6c2",
      "parents": [
        "aa2112f671e4f14555e25a6d765ce4bad454a43f"
      ],
      "author": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Thu Apr 24 20:30:09 2014 +0900"
      },
      "committer": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Wed Apr 30 14:29:04 2014 +0900"
      },
      "message": "Implement native send and receive logic for HdmiCecController.\n\nThis change includes native jni implementation for\nincoming and outgoing message of CEC.\nFor incoming message, native layer converts it into three\npieces, source address (initiator), destination address (follower)\nand data body which includes opcode. In Java layer, it is delegated to\nmain io thread. For now all messages are rejected by sending \u003cFeature Abort\u003e\nto initiator.\nFor outoging message, all messages are sent to io thread and it delegates\nit into native layer. Native logic converts it into cec_message and\npass it to HAL so that HAL performs sending message.\nIn order to handle \u003cFeature Abort\u003e message, added [Abort reason] which is\ndefined in hdmi_cec.h.\n\nChange-Id: If9fd74745f476105e5cfae964e39c78bae69d3e2\n"
    },
    {
      "commit": "aa2112f671e4f14555e25a6d765ce4bad454a43f",
      "tree": "b11c1712997eaeebaedebc64462e10b254e7e6d5",
      "parents": [
        "b86e85600de1a6eac23c4ccd64319a8477c4bb7b",
        "e86de4c0670550a29edae77ebb9f5c8ba5631231"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Apr 30 01:53:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 30 01:53:09 2014 +0000"
      },
      "message": "Merge \"Zen mode tweaks.\""
    },
    {
      "commit": "e86de4c0670550a29edae77ebb9f5c8ba5631231",
      "tree": "26ba2418c3ecd7ee24dd15617c7de3dd1dee5285",
      "parents": [
        "1de6b101e5a6e5c539cca5d9d044f1a28094fae4"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Apr 29 21:48:26 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Apr 29 21:48:26 2014 -0400"
      },
      "message": "Zen mode tweaks.\n\n - Fix regression with alarms.\n - Run all condition provider callbacks on the main thread.\n - Exit zen mode if the current condition is disabled / uninstalled.\n\nBug:14402762\nChange-Id: I0746670c1910047a9dc9b7e29aa1a6c3899fd9fe\n"
    },
    {
      "commit": "684bf34ee8acc41931fac23762b13e14a22011db",
      "tree": "06c0b1538bfa6a54de06c6518a21a1ce750142bd",
      "parents": [
        "dbe2aed24f2eb9753f8f0b6a6bea731489ee12f0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 29 17:56:57 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 29 17:56:57 2014 -0700"
      },
      "message": "Switch IProcessObserver to report process state\n\nWhen IProcessObserver was created, the only information\nwe had for the state of a process was its \"importance\".\nNow we have the process state, which is much more useful.\nSwitch to reporting that.\n\nChange-Id: Icdb3eea8cf96f4eff7ed3d584f940a1bd9cc3884\n"
    }
  ],
  "next": "9feab5f278d8c9e030e72989a7f6f3d2f376748d"
}
