)]}'
{
  "log": [
    {
      "commit": "05d38d28b622036a7a1f6dd7e751af023a37e876",
      "tree": "62fa03a0ba3613ceb822520a42ce4b3021a81dca",
      "parents": [
        "2139276ce8b54aba5faa858ca69ed5f01445c269",
        "06e658f324a937bec1c5ddbe9c3100c3d2fec371"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Jun 18 01:39:06 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 17 20:55:27 2014 +0000"
      },
      "message": "Merge \"Hide IFingerprintService and IFingerprintServiceReceiver\""
    },
    {
      "commit": "06e658f324a937bec1c5ddbe9c3100c3d2fec371",
      "tree": "d8752a22caf64e1c8fb6db892519d8a2935d54ce",
      "parents": [
        "cd589baba922f6b359ed910c3fbc711242c91531"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 17 15:59:40 2014 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 17 18:38:14 2014 -0700"
      },
      "message": "Hide IFingerprintService and IFingerprintServiceReceiver\n\nThe @hide was being ignored because they were being used by the\nconstructor.  Fixed by making the FingerprintManager constructor\nhidden.\n\nChange-Id: I3cd409df5055579f5004b08d00d5d951b8e5afd3\n"
    },
    {
      "commit": "2139276ce8b54aba5faa858ca69ed5f01445c269",
      "tree": "b7016d3863d000b731f2ef9b15b4633157ab7d30",
      "parents": [
        "2c43c339de5aaf4fef58aa9b5ac3af48609263a8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 13 19:00:36 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 17 18:20:42 2014 -0700"
      },
      "message": "Refactor BatteryService to new pattern.\n\nApply SystemService pattern to BatteryService.\n\nChange-Id: I4971b2da8d2aed4d14440fb65863a8b916bab03c\n"
    },
    {
      "commit": "2c43c339de5aaf4fef58aa9b5ac3af48609263a8",
      "tree": "a6ffedae0013f7c54483fdf9cd60de6fb6e22b46",
      "parents": [
        "12758423770455f75fede0cb47d743ea18640f2f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 12 22:38:59 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 17 18:20:42 2014 -0700"
      },
      "message": "Resolve boot time dependencies related to the power manager.\n\nThis change fixes a bug where native daemons may try to communicate\nwith the power manager before it was fully initialized due to a race\nbetween publishing the binder service and completing init().\n\nThe solution was to simplify the dependencies related to the power\nmanager.  It turns out that most services that were passed in\ninit are not actually needed until systemReady.  What remained\nwas a dependency on the activity manager to check permissions for\nincoming calls.  So now we start activity manager first.\nHowever, the activity manager also depends on power manager for\nwakelocks.  To break the cycle, we now defer initializing the activity\nmanager\u0027s wakelocks until after the power manager has been started.\n\nCleaned up a bunch of boot-time service dependencies so that we\ncan have better confidence that they are correctly maintained.\n\nBug: 13884219\nChange-Id: If08e2d7ccd44e7026a72441bb6bd5afd7bb9fffe\n"
    },
    {
      "commit": "a7596147b43940cad3f76c53ed154ef088b9269b",
      "tree": "20f65f8ce8fe20e045454d69aec904e9271dfc01",
      "parents": [
        "afc00e1c81a2ae00dc01bb980bc617f382441102"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jun 06 15:00:49 2014 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 17 14:03:37 2014 -0700"
      },
      "message": "First pass at FingerprintService integration with HAL.\nMove FingerprintService to framework services directory\nFix merge conflicts.\n\nTested: scanning, enrolling, removing.\n\nChange-Id: I58b2b902cb671dc82cdaa54a195ba5f1a154622c\n"
    },
    {
      "commit": "5b2034e2cc1cd8cb934160465364cb1eda99c208",
      "tree": "d702ab87317b082a38bc1fde1bc9a9cb4633f20e",
      "parents": [
        "564054146e7286b0d046591c0bd3195b0e4a6cf3",
        "cf1a2f73fc102be2ac7060ac97d4682bb2565ca5"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 17 21:40:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 17 20:55:27 2014 +0000"
      },
      "message": "Merge \"Switch everything to scheduled jobs\""
    },
    {
      "commit": "cf1a2f73fc102be2ac7060ac97d4682bb2565ca5",
      "tree": "f00e01d283dbf43199d2d3692d578b7e18e9326c",
      "parents": [
        "6b2df21ecacfa6826a85cabdf8d6fe0e81fe11d9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 16 15:51:39 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 17 12:14:45 2014 -0700"
      },
      "message": "Switch everything to scheduled jobs\n\nEverything that used the IdleMaintenance APIs/broadcasts gets to use the\nspiffy new JobScheduler instead.  Hooray!\n\nOn top of that, the now-obsolete \"idle maintenance\" APIs are now gone\nentirely.  Double hooray!\n\nBug 14993295\n\nChange-Id: I5fb67c296ca8cd0ba8a2c8760a0f0d9d962d813b\n"
    },
    {
      "commit": "a23f56b95c6c924d1b352859b72cbc77010cfd14",
      "tree": "fbebb84d94e9f80e8e3034628677580bcffba2bb",
      "parents": [
        "9696db1b8b3b6517a1686ffecca11406d480e6a0",
        "5592a725dd89e433191d3dd835ed99f38a3de474"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jun 11 17:43:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 11 17:43:15 2014 +0000"
      },
      "message": "am 34852095: Merge \"Don\\\u0027t enable Ethernet on the emulator.\" into lmp-preview-dev\n\n* commit \u002734852095d9148945edc39c2df9513c41998eb55b\u0027:\n  Don\u0027t enable Ethernet on the emulator.\n"
    },
    {
      "commit": "0188bee2c526270c178a0b1f918b2a09999de25f",
      "tree": "493dd8356757ef85b8dab61cd0de3329f2d8e38f",
      "parents": [
        "acdee873669860f9e7be77327274d1c60fb6b400",
        "e9ed3707b234c893622aec3ddecbf2f9d41d1454"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 11 17:02:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 11 17:02:18 2014 +0000"
      },
      "message": "am d8f71d34: Merge \"Out with the old; in with the new\" into lmp-preview-dev\n\n* commit \u0027d8f71d34c3c7fb161a1586de8edb52161c32d672\u0027:\n  Out with the old; in with the new\n"
    },
    {
      "commit": "5592a725dd89e433191d3dd835ed99f38a3de474",
      "tree": "2981f28058bd7aec8d49b041a67d18c70feadfd5",
      "parents": [
        "937c4dbb1fdc1afcdc3c4b57d6799d1f49acf9f0",
        "beacf8d64c237346ea431a267c5d413e814234b5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jun 11 01:18:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 10 22:31:57 2014 +0000"
      },
      "message": "Merge \"Don\u0027t enable Ethernet on the emulator.\" into lmp-preview-dev"
    },
    {
      "commit": "7060b04f6d92351b67222e636ab378a0273bf3e7",
      "tree": "82fce1e04dd58a5d79895d0869b3b0adeffbb417",
      "parents": [
        "6d7a25f317be60ae8a4d8806e517052be2398753"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 09 19:50:00 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 10 12:51:55 2014 -0700"
      },
      "message": "Out with the old; in with the new\n\nSwitch to the official \"JobScheduler\" etc naming.\n\nBug 14997851\n\nChange-Id: I73a61aaa9af0740c114d08188bd97c52f3ac86b7\n"
    },
    {
      "commit": "beacf8d64c237346ea431a267c5d413e814234b5",
      "tree": "7315da5e757d62807aaa8c4c7acc97dc84d80978",
      "parents": [
        "465c5de4ee3df861dd1ad0b71ca40f3daeb9cbee"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jun 10 14:51:30 2014 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jun 10 14:53:22 2014 +0900"
      },
      "message": "Don\u0027t enable Ethernet on the emulator.\n\nDon\u0027t start the Ethernet service on the emulator because it\ninterferes with qemu\u0027s SLIRP emulation, which uses IPv4 over\neth0.\n\nBug: 15341003\nChange-Id: I4041a17b19a4861cae4fbf47ab5e05b007385e19\n"
    },
    {
      "commit": "5adb67d4ce228a3afa6512e87d61c4d581dfd1e3",
      "tree": "0381aad25651c486879ffe449afa12cbf55588e6",
      "parents": [
        "03f5ff482e58474e9da7a2213fb96d0e0a877a4b",
        "3f48068d782b81dc1c8a0190b91fbb2862007244"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Mon Jun 09 10:41:21 2014 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Mon Jun 09 10:41:21 2014 -0700"
      },
      "message": "merge 4ce22057, regen api/current.txt\n\nChange-Id: I39186b5c4d41753c729c5d1ee7ee96b03a45c514\n"
    },
    {
      "commit": "3f48068d782b81dc1c8a0190b91fbb2862007244",
      "tree": "e70558758a0a36bd19dd231ecffd426624f1120f",
      "parents": [
        "faecafce62ca39a7693669f7c9eabf2d71c633cf"
      ],
      "author": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Fri Jun 06 15:52:07 2014 +0900"
      },
      "committer": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Mon Jun 09 07:55:47 2014 +0900"
      },
      "message": "Remove HdmiCecService\n\nThe service is replaced with HdmiControlService. Removing all the related\nclasses and the initialization of the service.\n\nChange-Id: Ic7baaddffb9873613ddd1096e874f226da983939\n"
    },
    {
      "commit": "4c9e57f156d3cbd86b38e9897dfdab81964efe90",
      "tree": "55cb749043c9dd147d3bdacb981f935cc0e2fe62",
      "parents": [
        "5e9a42588e986a7a2ab12de5d70adff5f2db9c5a",
        "3c784d6359f15a5451b670a18384e9ae3c9aa276"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Tue Jun 03 10:03:46 2014 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Tue Jun 03 17:06:58 2014 +0000"
      },
      "message": "resolved conflicts for merge of ebe661c4 to master\n\nChange-Id: Ic25dc762ee43654b439de3ec237ead007bee3df4"
    },
    {
      "commit": "daa618e3cd827443e7a9958c1742ecc38f87d6c8",
      "tree": "9e85ab554a3dfe2a071c01f0bef424874b51517f",
      "parents": [
        "0dcecc1cab9e0586ccc4725a2dab068e78207387"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Fri May 30 18:54:55 2014 -0700"
      },
      "committer": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Mon Jun 02 16:48:37 2014 -0700"
      },
      "message": "WifiService and WifiPasspointService hook up\n\n- add a reference to passpoint service in wifi state machine\n- break dependency loop at boot phase\n\nChange-Id: I34c0ce55efa5235ebaba1fa6772f559d608ee5ba\n"
    },
    {
      "commit": "d5cc4a281e7ce29d1e8687ff3394b57a3a549260",
      "tree": "a54c168980e6a2fc805892d1653236f7da6ebe5c",
      "parents": [
        "e205192c722e4fa1b37ee1b31dced21cf89ffbb4"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Fri May 30 16:57:43 2014 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Mon Jun 02 11:02:52 2014 -0700"
      },
      "message": "Put TV Input Framework under android.media.tv, including TvContract\n\nBug: 15345342\nChange-Id: I665ca23f0f074ce29cb2e047109b209178532107\n"
    },
    {
      "commit": "df7db074b5e6a19c8a33c2cc6be88f85eb5ee47c",
      "tree": "1652d9e4436b0b54167d4a862a371173c93ffbc2",
      "parents": [
        "82ed45da97b0d6a144386b60847437e8aaef9866"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Jun 01 10:41:13 2014 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Jun 01 10:41:13 2014 -0700"
      },
      "message": "Derive LauncherAppsService from SystemService\n\nAnd encapsulate the aidl interface implementation.\n\nChange-Id: Id9a2544b411648e2596de18682079a64e95b0710\n"
    },
    {
      "commit": "f20d640fa2b155a971ddfe0965fc803a73b5e53c",
      "tree": "0b5d315ca1fe3cd40716c24761e857b3f5d185a6",
      "parents": [
        "1d4306991bd6c820313719eb72ec169082b71540"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat May 24 15:34:37 2014 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat May 31 16:41:35 2014 -0700"
      },
      "message": "Restrictions Manager\n\nMechanism to register a provider for requesting an\nadministrator to respond to permission requests.\n\nRequest format and response format constants.\n\nDescription of manifest template for static restrictions.\nInt type introduced in RestrictionEntry.\n\nNeeds more javadoc and better description of manifest templates,\nincluding specifying the XML attributes.\n\nChange-Id: I5a654d364e98379fc60f73db2e06bf9a8310263d\n"
    },
    {
      "commit": "094b2136f0804e2804de6bafafc94d33266a5fee",
      "tree": "1cec1037f31dec1307450031b54fbfc4c5a63b38",
      "parents": [
        "30643dfcd117753044067f6b671b8fb1a7576b9f",
        "92ab0b91cdcb83c3cb101386d01f04c7d7dfd404"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 29 18:25:11 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 29 18:25:11 2014 -0700"
      },
      "message": "resolved conflicts for merge of 92ab0b91 to master\n\nChange-Id: I66d6849700759163669faa930f07a7e968df5155\n"
    },
    {
      "commit": "92ab0b91cdcb83c3cb101386d01f04c7d7dfd404",
      "tree": "73344df1b5e4f206a3b0d2ab8b156c7dc265f9a7",
      "parents": [
        "0082933a0d0fc2971ba7cbd493ce8d38bf4ccc4b",
        "aeb4e071abb100d10c39d154b05c2911d399395d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 30 01:01:17 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 30 01:01:17 2014 +0000"
      },
      "message": "am aeb4e071: Merge \"Add dumpsys to dock observer.\" into klp-modular-dev\n\n* commit \u0027aeb4e071abb100d10c39d154b05c2911d399395d\u0027:\n  Add dumpsys to dock observer.\n"
    },
    {
      "commit": "010e561a703381e16dd17caa7c942dea6978e6dc",
      "tree": "91a16b707d756d2ff5fde2eede5cafdc5748b571",
      "parents": [
        "339f437dc3f7c474d9cf1f963819bab2596e6ad3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 29 17:48:33 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 29 17:48:33 2014 -0700"
      },
      "message": "Add dumpsys to dock observer.\n\nMinor refactoring of dock observer to allow its state to be\ninspected and modified via dumpsys for debugging purposes.\n\neg. View current state.\nadb shell dumpsys DockObserver\n\neg. Simulate being docked.\nadb shell dumpsys DockObserver set state 1\n\neg. Reset back to normal.\nadb shell dumpsys DockObserver reset\n\nChange-Id: Ie48db775290ebed9aa4d9d9d5ac5a6fcb6122ac9\n"
    },
    {
      "commit": "77b170cedca2828d8c40ca33b820f5911a558326",
      "tree": "a3c525c0bdd9c33756d6ff997730d1b3356dc5e0",
      "parents": [
        "a487fb77dff1a86fbd160694de41e32b74f10cb1",
        "452c592191a147ae1175db775bc3e7e8e0311855"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 16:10:53 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 16:10:53 2014 -0700"
      },
      "message": "resolved conflicts for merge of 452c5921 to klp-modular-dev-plus-aosp\n\nChange-Id: I6044604b431eed0319579a1a3b9213c9a0aaf678\n"
    },
    {
      "commit": "452c592191a147ae1175db775bc3e7e8e0311855",
      "tree": "49d3f9b47135cf0eb108b1539de5a42e6a386761",
      "parents": [
        "df0e9ed5536e2cab860f3ecf9dab0030a471766e",
        "197565e0e800be3c731e679914f40afa1aab98fd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 22:31:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 28 22:31:39 2014 +0000"
      },
      "message": "am 197565e0: Merge \"Move to dalvik.vm.lib.2 to force default to libart\"\n\n* commit \u0027197565e0e800be3c731e679914f40afa1aab98fd\u0027:\n  Move to dalvik.vm.lib.2 to force default to libart\n"
    },
    {
      "commit": "5bc93866b089faa2feddf7b113afe915401d992f",
      "tree": "82451fd3252d04972c98522e1f5f8042193819fd",
      "parents": [
        "862be91276ec9532b3ed00d43fc7a750f1e6adb0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 14:31:47 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 14:53:40 2014 -0700"
      },
      "message": "Move to dalvik.vm.lib.2 to force default to libart\n\nBug: 14298175\n\n(cherry-picked from commit 2ef5abb8d534f016582d6023054cbe69d8114b6b)\n\nChange-Id: Icd91982c09076e87092906106cbff4a81589e8de\n"
    },
    {
      "commit": "3c1ff826e0abdffdd76129bf974abb96444dade8",
      "tree": "89fac1cb9092ca7514c4a0ce207fa57341366210",
      "parents": [
        "b9a65de1f79d92326abcccc295c18f24afb83053"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 14:31:47 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 14:31:47 2014 -0700"
      },
      "message": "Move to dalvik.vm.lib.2 to force default to libart\n\nBug: 14298175\nChange-Id: I8afa91bddfb6fec6b61c39286a16594eb947830e\n"
    },
    {
      "commit": "fa380e982e41b0dcbbcf2201803abf26808016b5",
      "tree": "8d418aaa3b36df0b88f98c7c3c6ce1c84b3d2e9e",
      "parents": [
        "cd3a8245489fa36c528b075efe99a147cf4f6785"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon May 19 13:46:29 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri May 23 16:41:09 2014 -0700"
      },
      "message": "DO NOT MERGE - Run the task manager service at startup\n\nAlso moves most of it into android.app.task rather than android.content.\n\n(Cherrypick from master)\n\nChange-Id: Ic07a664bf54bc3e40aa0b892946edba4bf37262a\n"
    },
    {
      "commit": "2137d6a843b82996e08f0e03376e48860919d8bc",
      "tree": "0d15e1fca1c4f8a84e3064ce58b5cddbb718d310",
      "parents": [
        "d6d7587ab09e4a0eae9252e11ab59ad27af68823",
        "d5ee4144c4beae54219e1b8eb10418b02dd4a63b"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri May 23 02:35:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 23 02:35:42 2014 +0000"
      },
      "message": "am d5ee4144: Merge \"Increase start timeout for wrapped process\"\n\n* commit \u0027d5ee4144c4beae54219e1b8eb10418b02dd4a63b\u0027:\n  Increase start timeout for wrapped process\n"
    },
    {
      "commit": "c774dcee9dd7c57821710f253bce5bd80bbecb0a",
      "tree": "f7d9e410b85265c801adf8c70230a4b6ca0917a8",
      "parents": [
        "fc1ffe89db4bfe51856dadead2ed9c856a96ca65"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 22 12:40:25 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu May 22 12:40:25 2014 -0700"
      },
      "message": "Increase start timeout for wrapped process\n\n * apparently 300*1000 for valgrind is not enough\n   (hammerhead aosp tot).\n\nChange-Id: Ia3f26cb67d3aa0ebdec68f3c1a764bad5e7f4f95\n"
    },
    {
      "commit": "f9ff2c9ae5595a20d77b10a41386932de1fc2da2",
      "tree": "5c122f3e21dfb7764a4d4fcfd1018f569839a5bd",
      "parents": [
        "4e5aa2cee69f6791f8001aeb1fc12389863fab8f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed May 21 16:32:11 2014 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed May 21 16:41:24 2014 -0700"
      },
      "message": "Make the EthernetManager available.\n\nChange-Id: I7a60e977d7a40a5d0367168f2f6633ccae591ac4\n"
    },
    {
      "commit": "ab3d85ab1a0ae58add5df6efc30607624475405b",
      "tree": "1e9ac6428529c77866b9a584298f820395104672",
      "parents": [
        "9ef2117f0e65db60cb3f9708174bcaca4db813b2",
        "838b1e2215cbc27e77530f4c79124c088353e0e7"
      ],
      "author": {
        "name": "narayan",
        "email": "narayan@google.com",
        "time": "Wed May 21 20:17:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 21 20:17:52 2014 +0000"
      },
      "message": "am 838b1e22: Merge \"Fix NPE in PackageManagerService.\"\n\n* commit \u0027838b1e2215cbc27e77530f4c79124c088353e0e7\u0027:\n  Fix NPE in PackageManagerService.\n"
    },
    {
      "commit": "0cfe875ac51b1efd8119eb8d4d66429776ae9764",
      "tree": "af123444a41213fe72a15cf1ddf0f4b31e88f904",
      "parents": [
        "bc06158a78297747605981702c8e41956ea1aa2d"
      ],
      "author": {
        "name": "narayan",
        "email": "narayan@google.com",
        "time": "Wed May 21 20:54:50 2014 +0100"
      },
      "committer": {
        "name": "narayan",
        "email": "narayan@google.com",
        "time": "Wed May 21 21:00:48 2014 +0100"
      },
      "message": "Fix NPE in PackageManagerService.\n\nCheck that each package from the setting has\na parsed pkg before we attempt to perform dex-opt\non it. If it doesn\u0027t have a parsed package, adjust\nthe ABI in the settings, but don\u0027t perform dexopt.\nIt will be dexopted later if it\u0027s still active\nbased on the setting.\n\nbug: 15081286\n\nChange-Id: Ifb6d1d5efdc9c59b251731972afa951ad930d05c\n"
    },
    {
      "commit": "e77a77d081ff9d05100702f5880f356da27fd087",
      "tree": "079c6e8c553ff56758ab340a40613751398fc166",
      "parents": [
        "b0a7f84b6de20edc6337163a4a07e3c524991ddb",
        "ec71fed089965c4d731eaa90344849a1775f937a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 21 06:46:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 21 06:46:26 2014 +0000"
      },
      "message": "am ec71fed0: Merge \"Improve ABI handling for shared user ids.\"\n\n* commit \u0027ec71fed089965c4d731eaa90344849a1775f937a\u0027:\n  Improve ABI handling for shared user ids.\n"
    },
    {
      "commit": "8a476edccdd2ae8cd5913bdeaeac319b22567b76",
      "tree": "8923061d3c695d1b0ced37875991d03295000e1c",
      "parents": [
        "3fff22173c7010467ce9e134e89b367e311d122b"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Tue May 20 14:06:49 2014 -0700"
      },
      "committer": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Tue May 20 14:06:49 2014 -0700"
      },
      "message": "Fix a boot failure due to Wifi / Wifi Passpoint\n\nBug: 15060373\nChange-Id: Ie72fd2e4b855c46a8f9ed12deb8b07fd0c29f522\n"
    },
    {
      "commit": "e715e8cc00de841d690bddd1e17741a0e9b05293",
      "tree": "9cfcf38aa77cd8debf7d2fd232404e4df289cbff",
      "parents": [
        "f564c7fe86d2aa9a7622667771d9e4bbf5518ffa"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Tue May 20 11:50:17 2014 -0700"
      },
      "committer": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Tue May 20 11:50:17 2014 -0700"
      },
      "message": "Fix a runtime break caused by merge conflict\n\nKwd changed the name of WifiHotspotService to PasspointService; and\nthe reference to the name was moved in master. Merge ended up picking\nup incorrect name WifiPasspointService. This change fixes that.\n\nBug: 15106138\nChange-Id: Ib6d8aee53db39314a9d98abcbd8e0863210de1bb\n"
    },
    {
      "commit": "b851c89d2252cf3d1dc504558ce1553527885316",
      "tree": "4fb6b1fc9f911f423dc4b2291ca2f1b41af92b19",
      "parents": [
        "32912e0a7308d2e0327b3273763f0b13fd0099c0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue May 20 13:55:09 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue May 20 14:09:12 2014 +0100"
      },
      "message": "Improve ABI handling for shared user ids.\n\nThe key improvement is that we need to keep track of\nthe package that\u0027s currently being scanned (this includes\nnew installs and upgrades of existing packages) and treat\nit specially. If we didn\u0027t do that, In the case of upgrades\nwe would perform the shared UID calculation based on the ABI\nof the old package, and not the current package.\n\nThis change also allows us to perform the CPU ABI calculation\nbefore dexopt, which saves us from having to do it twice and\nfixes a bug where we were using the wrong package path to\ndexopt a package.\n\nThis also has the side effect of fixing 15081286.\n\nbug: 15081286\n\nChange-Id: I20f8ad36941fc3df29007f0e83ce82f38f3585c8\n"
    },
    {
      "commit": "deda5467f44fc4a03c3435f0c6d7bda4ea298b99",
      "tree": "c8976f2d4407adcb128c855c6d68b8bd51a5a454",
      "parents": [
        "3a123fda8a48519601b8782845dfb176de16d871",
        "a4fd1baac68dcd73957e0fca0c02089ecf9a268a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon May 19 13:29:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 19 13:29:57 2014 +0000"
      },
      "message": "am a4fd1baa: Merge \"Fail if we\\\u0027re unable to agree on an ISA for shared UIDs.\"\n\n* commit \u0027a4fd1baac68dcd73957e0fca0c02089ecf9a268a\u0027:\n  Fail if we\u0027re unable to agree on an ISA for shared UIDs.\n"
    },
    {
      "commit": "20ee78ab9551a4b55051343200680c202d06dcf3",
      "tree": "33584776f31756048676b1963d607150512e4a64",
      "parents": [
        "402120a2236b294dff9a51461cb22400a6ef67f6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 15 15:01:46 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon May 19 14:24:46 2014 +0100"
      },
      "message": "Fail if we\u0027re unable to agree on an ISA for shared UIDs.\n\nIt\u0027s not worth the complexity of rescanning the APK and\nextracting a shared library with a different ABI.\n\nAlso gets rid of an unnecessary command line argument and\nchecks for dex-opt failures while adjusting shared ABIs.\n\nbug: 14453227\n\nChange-Id: I6a0695e24cba37e93540c540507088e95b89089b\n"
    },
    {
      "commit": "a4864472313208e4f1de02f45d3eadad237c54af",
      "tree": "f112d0faf7a8e91d6d891f189d7bf8f883ff8104",
      "parents": [
        "1ab9cc8029f723cc6198c013d9df1477fad2d3f9"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Thu Apr 10 11:45:42 2014 -0700"
      },
      "committer": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Sun May 18 09:41:35 2014 -0700"
      },
      "message": "Hotspot 2.0 framework APIs -- initial implementation\n\nCherry-picked from klp-wireless-dev-mirror\nSHA1: e73969fac45aaca72528226dc8c0c5e54fb2cdd4\n\nBug: 5485670\nChange-Id: If3250a2fae181a3774d3158e341220006ad6ebe5\n"
    },
    {
      "commit": "6e2e686889037711170ee145f9dfdb442cee85db",
      "tree": "4cb7d1b07056d176b855b320e24eefff923f7c2f",
      "parents": [
        "eabc93db1020be4b71f0db7d5b5d3a7991f3c264",
        "706b1d7ea0214b6858730e68c95c6a6d6d9a4c30"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 15 12:41:47 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 15 12:41:47 2014 +0000"
      },
      "message": "am 706b1d7e: Merge \"Remove \"required\" prefix from ABI fields.\"\n\n* commit \u0027706b1d7ea0214b6858730e68c95c6a6d6d9a4c30\u0027:\n  Remove \"required\" prefix from ABI fields.\n"
    },
    {
      "commit": "6e35a2ad05864e7dec5526d11c007efeec252706",
      "tree": "3db99bf30b7989b179da8bebd1844e067dcf096b",
      "parents": [
        "b7d7cbc9c3a9315a5c5ecd85e16f5916c4bc3f3a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 14:38:46 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 15 10:57:05 2014 +0100"
      },
      "message": "Remove \"required\" prefix from ABI fields.\n\nAs per a comment on an earlier code review.\n\n(cherry-picked from commit a9d64733421d6765eab5c2730fa912f068e26047)\n\nChange-Id: I064cffc13c323b721f3a16c83e0e95ee348ef9f6\n"
    },
    {
      "commit": "2ce02bba1eea682282408b8521dad8c91837fbab",
      "tree": "2a6daec1fdc98afe3b454615d7190695a686791b",
      "parents": [
        "f521ee6fa9645bb944cf1f452cc40f4d8d580b4e",
        "b7d7cbc9c3a9315a5c5ecd85e16f5916c4bc3f3a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 13 00:34:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 00:34:42 2014 +0000"
      },
      "message": "am b7d7cbc9: Merge \"Fix background PackageUsage writing.\"\n\n* commit \u0027b7d7cbc9c3a9315a5c5ecd85e16f5916c4bc3f3a\u0027:\n  Fix background PackageUsage writing.\n"
    },
    {
      "commit": "112a72063846bb3bb18963c861acbe1efd8bd754",
      "tree": "24fa1d5adffb70d55a83a7e2431f7fd229df39ba",
      "parents": [
        "f6c9c4204c2f8f86277d081112c9dd863ddaa778"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 12 16:56:34 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 12 16:56:34 2014 -0700"
      },
      "message": "Fix background PackageUsage writing.\n\nChange-Id: Ia358b61e648b427c86cf75ae096cd2a68ace209f\n"
    },
    {
      "commit": "edc31509c2ff8cba86f30c836934d32a3e249dec",
      "tree": "f07eceb34580c71af742af053138bdabbe205fa6",
      "parents": [
        "90abb78b51a35055f86dee35c4e391e74f325125",
        "b98ca5b0dd73f374178022b4a4b37412f01a3c03"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 17:33:04 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 09 17:33:04 2014 +0000"
      },
      "message": "am b98ca5b0: Merge \"If PackageUsage information is missing, treat as first boot and compile everything\"\n\n* commit \u0027b98ca5b0dd73f374178022b4a4b37412f01a3c03\u0027:\n  If PackageUsage information is missing, treat as first boot and compile everything\n"
    },
    {
      "commit": "7c5c864c8a6690243e1cea13c5ff37add16b1744",
      "tree": "1e0616a78c33965c06218a2b12cf3a6dc033bdcd",
      "parents": [
        "678f7edd140f3914655bc600d207d3dcb986f881"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 09:48:33 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 09:52:09 2014 -0700"
      },
      "message": "If PackageUsage information is missing, treat as first boot and compile everything\n\nBug: 14663243\nChange-Id: I0ae33882044211f777590f482e17e87596be4463\n"
    },
    {
      "commit": "82af2b9e51aac359b4b251cc622659a1a5537e35",
      "tree": "f7522146baa0fa75248be338fb3154debe2e2cd8",
      "parents": [
        "eea64a928e92e5b2e588274475ca562d1aeeaf5c",
        "4a5eeb9c727d77bb57fef87a70c8c9cc23dbfee3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 08 23:25:45 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 08 23:25:49 2014 +0000"
      },
      "message": "Merge \"AudioService/WireAccessoryManager: change boot completion detection method\""
    },
    {
      "commit": "011e1b35a64180d6f0234af8a3c2b70777eb9f39",
      "tree": "79c54cad4f30c493f587e4ac0fb1e89bbaecc714",
      "parents": [
        "c4bfcc12e92fe3d8f6f1dad0c12176d6dae3131d"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Wed May 07 21:09:11 2014 -0700"
      },
      "committer": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Wed May 07 21:14:24 2014 -0700"
      },
      "message": "Initial implementation of WifiScanner\n\nThis change implements basic functionality of WifiScanner. Following\nfunctionality is enabled\n\n1. Scanning - specify a list of channels to scan\n2. Significant change detection\n3. AP hotlist\n\nChange-Id: Ieef75b96bdbbd3c7d9b9e698bd16e64d3b465254\n"
    },
    {
      "commit": "7c3606c103e95d3991267cca2592402a68779caf",
      "tree": "d0a7e48c3342e75fa2fe8176fd4a86e1826649af",
      "parents": [
        "15560a84dfd55452f53575cc1aab71b0b8baeb65"
      ],
      "author": {
        "name": "vandwalle",
        "email": "vandwalle@google.com",
        "time": "Mon Mar 31 19:12:07 2014 -0700"
      },
      "committer": {
        "name": "vandwalle",
        "email": "vandwalle@google.com",
        "time": "Wed May 07 18:48:48 2014 -0700"
      },
      "message": "initial Best Network Selection implementation\n\n-add dhcpserver, defaultGwMAC address, linked configuration and user choices link lists to WiFiconfiguration\n-add default gateway mac address to RouteInfo\n-add a Date to the ScanResult\n-add BSSID date to the WifiConfiguration\n- make framework auto-join into a config option\n- add Settings option for showing RSSI in Wifi picker view; add auto-join specific status to WifiConfiguration\n\nChange-Id: I5cfc4f2a48c9f3bc9766e8e68e24eff7b57f2821\n\n Changes to be committed:\n\tmodified:   core/java/android/provider/Settings.java\n\tmodified:   wifi/java/android/net/wifi/ScanResult.java\n\tmodified:   wifi/java/android/net/wifi/WifiConfiguration.java\n"
    },
    {
      "commit": "dfad99ad9fd5953b9d726715c40197a3e70e7dd0",
      "tree": "9eb7839fb997db3cfe3e649d5e5c0840dae4b35b",
      "parents": [
        "b5a449e4881de2af5f0a11fbb7a9a996937811d9",
        "0b5598c924fc140db5cfee08c17fd91e630b1c9e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 07 15:21:14 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 07 15:24:01 2014 -0700"
      },
      "message": "resolved conflicts for merge of 0b5598c9 to master\n\nChange-Id: Ie911d6b0b5e2b87e2b4669fa2465a82bb5807893\n"
    },
    {
      "commit": "0b5598c924fc140db5cfee08c17fd91e630b1c9e",
      "tree": "2120d37663c17aa37598961089dd77ca9686538b",
      "parents": [
        "3bbef521d4b07f86010ba0729a36ff8b73bcb0ac",
        "691079ddc0055fac9b82dccaf35b4591978b2a55"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 07 20:28:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 07 20:28:25 2014 +0000"
      },
      "message": "am 691079dd: am a21ba5be: Merge \"Add BackgroundDexOptService\"\n\n* commit \u0027691079ddc0055fac9b82dccaf35b4591978b2a55\u0027:\n  Add BackgroundDexOptService\n"
    },
    {
      "commit": "691079ddc0055fac9b82dccaf35b4591978b2a55",
      "tree": "3009cb3eb68ff4f7d0b3c34a229c0f509d60cad6",
      "parents": [
        "f2db00fdcd4e3dd97afd071f3af058d307a152f9",
        "a21ba5bec748e2f10d7e6d38181ec1124991cb60"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 07 03:33:41 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 07 03:33:41 2014 +0000"
      },
      "message": "am a21ba5be: Merge \"Add BackgroundDexOptService\"\n\n* commit \u0027a21ba5bec748e2f10d7e6d38181ec1124991cb60\u0027:\n  Add BackgroundDexOptService\n"
    },
    {
      "commit": "f2db00fdcd4e3dd97afd071f3af058d307a152f9",
      "tree": "35f84cacf9e31e014a6ea3dfdff25a3dcc990366",
      "parents": [
        "cc6b9eb23c3a6168d6cb5cb10977c43ebdcbbea4",
        "edb88bcd232176e575f2dbee2cfdb1bfbe33faef"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 07 03:33:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 07 03:33:37 2014 +0000"
      },
      "message": "am edb88bcd: Merge \"Use package usage information to decide what dex files to optimize in PackageManagerService\"\n\n* commit \u0027edb88bcd232176e575f2dbee2cfdb1bfbe33faef\u0027:\n  Use package usage information to decide what dex files to optimize in PackageManagerService\n"
    },
    {
      "commit": "7395a8ab8a7c6b03c32500c934694dde80b9ade1",
      "tree": "c58b373d189ae4fb54d912835ddc7da7da9a0e5e",
      "parents": [
        "ff1ec4d9e7b7eb1b6303d147c796f8767ee6715b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Apr 28 22:11:01 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 06 15:14:29 2014 -0700"
      },
      "message": "Add BackgroundDexOptService\n\nChange-Id: I0439a04f693ba92df906cbda34f8e53b32f63329\n"
    },
    {
      "commit": "ff1ec4d9e7b7eb1b6303d147c796f8767ee6715b",
      "tree": "2c89c758b994e749f380db7c3156fc04c9e226ca",
      "parents": [
        "f1f28d1d86aea6dd1419e94aadf051e433914680"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 17 15:21:35 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 06 15:06:25 2014 -0700"
      },
      "message": "Use package usage information to decide what dex files to optimize in PackageManagerService\n\nChange-Id: Iac137311e2e9d5139b5aa8651c6f3d296802612a\n"
    },
    {
      "commit": "4a5eeb9c727d77bb57fef87a70c8c9cc23dbfee3",
      "tree": "28a357f9dd84cede672e2f8d6281a130b6d4ce7b",
      "parents": [
        "ebb9e69513b690881a5bad7bf45c6f32e0fc7062"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 06 10:49:04 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 06 10:49:04 2014 -0700"
      },
      "message": "AudioService/WireAccessoryManager: change boot completion detection method\n\nBOOT_COMPLETED intent is not a reliable way for system services\nto detect boot completion. The intent broadcast can be significantly\ndelayed and there is no guaranty that system services\nreceive it before apps.\n\nUse a systemReady() method called by SystemServer instead.\n\nBug: 14323903.\nChange-Id: I781596a3545e7a1e719799982347cbcd9a4c9009\n"
    },
    {
      "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": "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": "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": "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": "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": "293513a59d36cd96a3e474dde5981380d372d8c9",
      "tree": "4268c9994be194a7f4fccdecd089af58516d0953",
      "parents": [
        "1866e5dc8bb04b58a67e54f66cb4ec22e878667d",
        "0b62467b142b61ee1e449ba958ba37dfd961ef56"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 16:07:29 2014 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 16:07:29 2014 -0700"
      },
      "message": "Merge commit \u00270b62467b142b61ee1e449ba958ba37dfd961ef56\u0027 into HEAD\n"
    },
    {
      "commit": "a278ea7cecb59a73586e5dd74ec05e85caa370c5",
      "tree": "0fd4023e67758e0b31ca6671e40db5ec2cb5c2d0",
      "parents": [
        "4e8cf1508f22f88203cd9bf4467aaddd3f4502c6"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Apr 24 14:49:01 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Apr 29 11:08:57 2014 -0700"
      },
      "message": "Add dump to MediaSessionService\n\nAdds a dump implementation for debugging MediaSessionService. Also\nfixes some synchronize calls that weren\u0027t using the same lock object.\n\nChange-Id: I14343f853398749c8ce7ebf91f72729abc9132d9\n"
    },
    {
      "commit": "e929bee9bbb418b52fea877f5fff1449aab247fb",
      "tree": "18defb24caf25e9effd0105a40c8a296eb22e494",
      "parents": [
        "812ad2265ed1386b347c98f48cc8a2b2925541b3",
        "734a78fb867384dfb84f5f42f65b4681562d62b5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Apr 28 14:15:06 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Apr 28 14:15:06 2014 -0700"
      },
      "message": "Merge commit \u0027734a78fb\u0027 into manualmerge\n\nConflicts:\n\tcore/java/android/app/WallpaperManager.java\n\nChange-Id: Id103f540329ea484ff2e0829a0fc8158621f3dd3\n"
    },
    {
      "commit": "734a78fb867384dfb84f5f42f65b4681562d62b5",
      "tree": "bdc85d0dc5b0ce4a9aeae848f3a7aa28973a6c45",
      "parents": [
        "d937f2750c6edc2c1a03901605b22dad02b89147",
        "8ea2d4512248ec612356f558ac35534c3e4c6db6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Apr 28 20:33:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 28 20:33:09 2014 +0000"
      },
      "message": "am 8ea2d451: Merge \"Various CTS fixes\" into klp-modular-dev\n\n* commit \u00278ea2d4512248ec612356f558ac35534c3e4c6db6\u0027:\n  Various CTS fixes\n"
    },
    {
      "commit": "685a0a72d445515167a2071330679cdf9b53a62d",
      "tree": "197394bdc5e1b7766ef9ac439594104851e19a33",
      "parents": [
        "18582a827c3f908cd75e1d9c189c554f42415a4a",
        "bbd87eb9193e9730869171324ee4f5fc1abeae55"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 28 18:17:06 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 28 18:17:06 2014 +0000"
      },
      "message": "am bbd87eb9: Merge \"Track libcore.os\\\u0027 move to android.system.\"\n\n* commit \u0027bbd87eb9193e9730869171324ee4f5fc1abeae55\u0027:\n  Track libcore.os\u0027 move to android.system.\n"
    },
    {
      "commit": "34385d352da19805ae948215e2edbeedd16b7941",
      "tree": "5295ae3854135ea3cb0c57698971ee17f47ea46c",
      "parents": [
        "3f4867f49d6c1932117e3519ce10d11f37829f19"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 28 11:11:32 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 28 11:11:32 2014 -0700"
      },
      "message": "Track libcore.os\u0027 move to android.system.\n\n(This is partial, but should cover everything in AOSP master except\nfor the zygote.)\n\nChange-Id: I1042c99245765746a744c44e714095cb2c6cb75d\n"
    },
    {
      "commit": "5568772e8161205b86905d815783505fd3d461d8",
      "tree": "e9dca0c30f4c44a92aaf24769e59c826d104a640",
      "parents": [
        "01c70711d5e4f1c3405bcd169be70605e92166f2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 09 18:07:19 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 28 08:54:16 2014 -0700"
      },
      "message": "Derive fingerprint at runtime when undefined.\n\nSome devices leave \"ro.build.fingerprint\" undefined at build time,\nsince they need to build it from the components at runtime.\n\nBug: 13340779\nChange-Id: I4d74398817af22079a11c196dc6742b85d2bfb61\n"
    },
    {
      "commit": "2c8d67c9b0574f229809d99b3d55aa411fad0c84",
      "tree": "3d2e629d590b8cfb826199f9c616a9600bb03ee6",
      "parents": [
        "eea94f060a917a5c6195a81d8825551a430a8d69"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 23 13:46:21 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Apr 25 11:07:39 2014 -0700"
      },
      "message": "Various CTS fixes\n\nWallpaperManager should always do a null check on the service object.\nSystemServer should always bring up the DevicePolicyManagerService,\nand let the service do appropriate default no-ops if the feature\nis not supported.\n\nChange-Id: Iaaf12b60ed375fe2e341ec11faa10c9344d7d9da\n"
    },
    {
      "commit": "522ff52f88a0ddac3221fc32defd2f6cccaf04c4",
      "tree": "5b2a0c566a7198f8eeb7a3ff35a662db4ab3dfb6",
      "parents": [
        "24a4ce35661f59054d9bbc9c3326639d003526fb",
        "91097de49b0f683b00e26a75dbc0ac6082344137"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 25 17:02:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 25 17:02:19 2014 +0000"
      },
      "message": "Merge \"Initial implementation of new voice interaction API.\""
    },
    {
      "commit": "91097de49b0f683b00e26a75dbc0ac6082344137",
      "tree": "82c3185634a71233ce2e81a3645b07b1ba55f412",
      "parents": [
        "23af77a3cd1febc740d885ff03ead09837df269c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 04 18:02:06 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 24 17:48:58 2014 -0700"
      },
      "message": "Initial implementation of new voice interaction API.\n\nThis gives a basic working implementation of a persist\nrunning service that can start a voice interaction when\nit wants, with the target activity(s) able to go through\nthe protocol to interact with it.  It may even work when\nthe screen is off by putting the activity manager in the\ncorrect state to act like the screen is on.\n\nIncludes a sample app that is a voice interation service\nand also has an activity it can launch.\n\nNow that I have this initial implementation, I think I\nwant to rework some aspects of the API.\n\nChange-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9\n"
    },
    {
      "commit": "5f5ca3bc98fb773ee905289300595ad95d5ffabe",
      "tree": "3a35e3ba170abbd30ac719454c1e67afc4ce4df6",
      "parents": [
        "eacaa353e83942d3c59d0db594df0fb6179e0eea",
        "31a1dd2a8f56b439861ee335b55f44323318830c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 24 23:55:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 24 23:55:09 2014 +0000"
      },
      "message": "am 31a1dd2a: Merge \"Use the suggested public API instead of libcore.os.\"\n\n* commit \u002731a1dd2a8f56b439861ee335b55f44323318830c\u0027:\n  Use the suggested public API instead of libcore.os.\n"
    },
    {
      "commit": "0792d37385e60aa8d73f8df174d0a32f4f618bc4",
      "tree": "8cd01ee00014cf398d1d184da0b30bcbeb44efd4",
      "parents": [
        "12e75126909152c448f70c48f3d2f2884cb359bd"
      ],
      "author": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Wed Apr 23 17:57:26 2014 +0900"
      },
      "committer": {
        "name": "Jungshik Jang",
        "email": "jayjang@google.com",
        "time": "Fri Apr 25 08:37:51 2014 +0900"
      },
      "message": "Implement skeleton of new HDMI Control Service.\n\nHdmiCecService is a system service handling HDMI-CEC features\nand command. Recently we found out that industry has more\nrequirements to support HDMI-CEC. Also, MHL is another\nstandard should be in our pocket. Basically, MHL is\na standard to support communication between mobile device\nand TV or Av device. As CEC is a control standard over HDMI\ncable, MHL has control channel for peer device.\nThere behavior is very similiar. Both have commands that\ncan change Tv\u0027s current input and can send/receive key\nto other device to control other deivce or TV.\n\nIn order to cover both CEC and MHL, current HdmiCecService\nimplementation has limitation. We had several\nsession of discussion and decided to refactor\nHdmiCecService into HdmiControlService.\nFor each standard it will have separate controller instance\nlike HdmiCecController and HdmiMhlController.\n\nIn this change I didn\u0027t touch original HdmiCecService\nbecause some component, like cast receiver, uses HdmiCecService.\nFor a while we will keep HdmiCecService until HdmiControlService\naccomodates all features of HdmiCecService.\n\nChange-Id: I5485280ab803dbf071d898bfbe34be0b11ce7958\n"
    },
    {
      "commit": "cacbe1b1ef01aff8726726edaf43d0b449319afe",
      "tree": "22e91a2dbc48f55d53c587248d52c243f3b94f1b",
      "parents": [
        "dbb0de21d35343504b096ae6cbf97d122ac410c9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 23 17:58:57 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Apr 24 16:19:27 2014 -0700"
      },
      "message": "Use the suggested public API instead of libcore.os.\n\nChange-Id: Id392e4c36c5721ca609d88d9ec6b9340ce05274c\n"
    },
    {
      "commit": "caf6497b9a0347da7d5acbe678adc2c8187176c0",
      "tree": "4659744af5677a4943c35f06bfa5c52163ee0706",
      "parents": [
        "cf5c3fc70d4dcd5dc3c6054d0f7415ded0070e4f",
        "683cf1bffe33f49f26d46201f96cd2eff60e8192"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Apr 23 16:45:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 23 16:45:15 2014 +0000"
      },
      "message": "am 683cf1bf: Merge \"Changes to support asynchronous close interruption\"\n\n* commit \u0027683cf1bffe33f49f26d46201f96cd2eff60e8192\u0027:\n  Changes to support asynchronous close interruption\n"
    },
    {
      "commit": "43582df3dbcad1b1734b570c74246f5ff2f58027",
      "tree": "4ecd554e097e3e22dbade9123528628dd595c9d9",
      "parents": [
        "53b7df19cf287ea48b2ce27ab9cd7ddbc3d04330"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Apr 11 17:29:54 2014 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Apr 23 16:40:35 2014 +0000"
      },
      "message": "Changes to support asynchronous close interruption\n\nThis change contains fixes to base from libcore change\nI37de3e7d1a005a73821221e6156d10b95c595d7a\n\nBug: 13927110\n\nChange-Id: I2d96e50307611c269dcf47886cd4d976854da8fc\n"
    },
    {
      "commit": "5246f4599a0c9978012ffb1049307704b5027a0b",
      "tree": "0e90df1e7199eac4ea9d908482b185b8e737bd60",
      "parents": [
        "3ab7882a57d3c7a0e13f58837cd02138df43f301",
        "d267c1a06fc91dc300d5c5f8b7ef9bd44825c34e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 22 19:52:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 22 19:52:21 2014 +0000"
      },
      "message": "am d267c1a0: Merge \"remove unneeded import statements.\"\n\n* commit \u0027d267c1a06fc91dc300d5c5f8b7ef9bd44825c34e\u0027:\n  remove unneeded import statements.\n"
    },
    {
      "commit": "3ab7882a57d3c7a0e13f58837cd02138df43f301",
      "tree": "ccc66ae518cb97b69a4a71e82213f5fa9370f192",
      "parents": [
        "650a8860d9732accd938a32f99179cc86f101ef4",
        "a67d4a6e4da1eb02a15a1048a26329cfed312938"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 22 19:52:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 22 19:52:18 2014 +0000"
      },
      "message": "am a67d4a6e: Merge \"remove unused import.\"\n\n* commit \u0027a67d4a6e4da1eb02a15a1048a26329cfed312938\u0027:\n  remove unused import.\n"
    },
    {
      "commit": "d267c1a06fc91dc300d5c5f8b7ef9bd44825c34e",
      "tree": "21e41947ef1dfb560cd8ee54d6420e44e0846c7d",
      "parents": [
        "a67d4a6e4da1eb02a15a1048a26329cfed312938",
        "c826257bf36fa6c73a23f799dc819a7aeb5a26bf"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 22 19:24:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 19:24:47 2014 +0000"
      },
      "message": "Merge \"remove unneeded import statements.\""
    },
    {
      "commit": "c826257bf36fa6c73a23f799dc819a7aeb5a26bf",
      "tree": "ab5709c7aa560f30e5e570b2b32606239f7a74fb",
      "parents": [
        "fc3c6a0ef36cc4969aa7d8e160cc55f30c653325"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 22 12:17:51 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 22 12:17:51 2014 -0700"
      },
      "message": "remove unneeded import statements.\n\nInternal master is out of sync with AOSP. Resync.\n\nChange-Id: Ia3105a4b6eb835f719471a26ae4cb33962c5b19e\n"
    },
    {
      "commit": "8cb5abcfde8f510bb628b8143104af3edec69f7d",
      "tree": "9ce021509cb1a2ec3ff6f896cdb31d300586caeb",
      "parents": [
        "fc3c6a0ef36cc4969aa7d8e160cc55f30c653325"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 22 12:10:24 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 22 12:10:24 2014 -0700"
      },
      "message": "remove unused import.\n\nThis change resynchronizes AOSP with internal master.\nThe import line is unused.\n\nChange-Id: I98bef1f88dee758f5bdcec35fba204f793d4028e\n"
    },
    {
      "commit": "6a4b220f1263d95fdefe6361c2bc87bbb04bbed0",
      "tree": "082ceb00c7d9255d3a6a129b3e66e16fee40ac3f",
      "parents": [
        "4660c9e064ebaec9ebb260c2853a8dab868ccdc2"
      ],
      "author": {
        "name": "Jeff Davidson",
        "email": "jpd@google.com",
        "time": "Wed Apr 16 17:29:40 2014 -0700"
      },
      "committer": {
        "name": "Jeff Davidson",
        "email": "jpd@google.com",
        "time": "Mon Apr 21 16:04:05 2014 -0700"
      },
      "message": "Initial implementation of NetworkScoreManager\u0027s backing service.\n\nThis service will ultimately be responsible for propagating scores\ndown to lower-level network subsystems. For now, it just keeps scores\nin memory and exposes these for debugging purposes via \"adb shell\ndumpsys network_score\".\n\nThis change also adds provisioning of a default scorer. When\nNetworkScoreService is first initialized, it checks to see if it has\never set a default scorer; if not, it reads a package name from a\nbuild config property and attempts to set it as the default.\n\nAlso add autogenerated equals/hashCode methods to all parcelables.\n\nBug: 14111427\nBug: 13786258\nChange-Id: I02271171653d42e12acd240b73b9e23950744f6b\n"
    },
    {
      "commit": "90e2301e23532c92dd4c24394b7407e243389e9f",
      "tree": "de2371a4160d67f00e33f0fdc0120519389b6365",
      "parents": [
        "de442781cd4f7404e8aaa3f7ca5d1d3fc28cccc6",
        "d2a11d97a94bed18629bded429f118f57f4f7821"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 11 17:18:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 11 17:18:14 2014 +0000"
      },
      "message": "am d2a11d97: Merge \"Add explicit close of Scanner input\"\n\n* commit \u0027d2a11d97a94bed18629bded429f118f57f4f7821\u0027:\n  Add explicit close of Scanner input\n"
    },
    {
      "commit": "d2a11d97a94bed18629bded429f118f57f4f7821",
      "tree": "9cfe385467e13bbf666db8cfb5927160dbe2a6a6",
      "parents": [
        "909a6a0e2b5815332618b2cf731d27824a76d042",
        "2a39c6ff73f3e2610f7624bf5966f2ee2f6e1923"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 11 17:14:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 11 17:14:39 2014 +0000"
      },
      "message": "Merge \"Add explicit close of Scanner input\""
    },
    {
      "commit": "1d26a3f1efd0d965e8751e8515608c31789bdbe2",
      "tree": "b2ee69a7621a123b5ebf8f9b91a3ac37ef0dd2a4",
      "parents": [
        "0fd40cb100bccbd5d9ad6109ca39c818a857f889",
        "09e13cc5f9f98382376eb49bfa6ceb94a50d37a1"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 09:23:33 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 10 09:23:33 2014 +0000"
      },
      "message": "am 09e13cc5: Merge \"System services detect and register app CPU ABIs\"\n\n* commit \u002709e13cc5f9f98382376eb49bfa6ceb94a50d37a1\u0027:\n  System services detect and register app CPU ABIs\n"
    },
    {
      "commit": "0fd40cb100bccbd5d9ad6109ca39c818a857f889",
      "tree": "68d06a03d0a86f754a7ec121ef6790da669431e9",
      "parents": [
        "7a67c927e622bb176b21455b8ed56c76b8e0f602",
        "80413c9fe10acf36eaecd139198c7fc17e8af2e6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 09:23:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 10 09:23:30 2014 +0000"
      },
      "message": "am 80413c9f: Merge \"Re-implement native library search and copies.\"\n\n* commit \u002780413c9fe10acf36eaecd139198c7fc17e8af2e6\u0027:\n  Re-implement native library search and copies.\n"
    },
    {
      "commit": "ff0c470833b2cb4130a30895093630242d5f238d",
      "tree": "577b9403462e503c76bedd337106b72327a87419",
      "parents": [
        "1378aba7aeeb7f6dd6cc2503968ba7b0e58d9333"
      ],
      "author": {
        "name": "Ramin Zaghi",
        "email": "ramin.zaghi@arm.com",
        "time": "Tue Apr 01 15:02:29 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 17:20:13 2014 +0100"
      },
      "message": "System services detect and register app CPU ABIs\n\nThis patch uses the NativeLibraryHelper class to\nmatch native libraries in an .apk package with\nthose listed in \u0027ro.cpu.abilist\u0027 property.\nThe result is stored in packages.xml and the\nApplicationInfo class.\n\nThis information will be used by the ActivityManager\nto decide which zygote to use to launch the given\napp.\n\nChange-Id: I3ec3d050996d8f4621f286ca331b9ad47ea26fa0\n"
    }
  ],
  "next": "1378aba7aeeb7f6dd6cc2503968ba7b0e58d9333"
}
