)]}'
{
  "log": [
    {
      "commit": "0a5abe58345404b1277eade547a54d67f8800190",
      "tree": "f7897647d8b04cced79e3b8d1019247c86cf9e52",
      "parents": [
        "2493d947241c209ad6fcd562e998c320ef4c596e",
        "727cac07cc823f4a21be420aa33da6369b390c54"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Mar 26 22:34:56 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 26 22:34:56 2015 +0000"
      },
      "message": "am 727cac07: Merge \"Add getLegacyVpnInfoPrivileged method\"\n\n* commit \u0027727cac07cc823f4a21be420aa33da6369b390c54\u0027:\n  Add getLegacyVpnInfoPrivileged method\n"
    },
    {
      "commit": "727cac07cc823f4a21be420aa33da6369b390c54",
      "tree": "6cf83a425d1793b507e46941819c2d8a3b8d08c5",
      "parents": [
        "5fc9b336ebb6fc224b3e77af388024dea029fbb3",
        "08bbca040fa921b99493cd9967453ed90b1b710a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Mar 26 22:01:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 26 22:01:33 2015 +0000"
      },
      "message": "Merge \"Add getLegacyVpnInfoPrivileged method\""
    },
    {
      "commit": "8562a7a110a0b012c33047884594cd4c449b27d0",
      "tree": "d0662c7710fa7525596a5b312203fe2b7f708300",
      "parents": [
        "0ad58deca1bea95ea052ec2c4257bdf62d53fd54",
        "eedf2fe04a94c13c4548082a3675c6888293ef4e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 25 22:25:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 25 22:25:51 2015 +0000"
      },
      "message": "am eedf2fe0: am 0afd1905: Merge \"Fix NPE if FPE service does not exist.\" into lmp-mr1-dev\n\n* commit \u0027eedf2fe04a94c13c4548082a3675c6888293ef4e\u0027:\n  Fix NPE if FPE service does not exist.\n"
    },
    {
      "commit": "eedf2fe04a94c13c4548082a3675c6888293ef4e",
      "tree": "814a3afca1d7a16b0aa96462c630f936669de553",
      "parents": [
        "5f11a1af572730567d9e35d6792a720585a268c6",
        "0afd1905b59446fc471680325bcbea802bb37c5c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 25 22:19:20 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 25 22:19:20 2015 +0000"
      },
      "message": "am 0afd1905: Merge \"Fix NPE if FPE service does not exist.\" into lmp-mr1-dev\n\n* commit \u00270afd1905b59446fc471680325bcbea802bb37c5c\u0027:\n  Fix NPE if FPE service does not exist.\n"
    },
    {
      "commit": "21b7e6de94b1e4d0bbe2f1a13ac19f491ff466ed",
      "tree": "0c3436e393046a0a27c54597ed7805626ed5ce98",
      "parents": [
        "d86a584f101a5932a8fa2b686ef052e22e004854",
        "c831b978238d5ed200ca329c540eff00faba77e3"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Wed Mar 25 16:09:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 25 16:09:48 2015 +0000"
      },
      "message": "am c831b978: Merge \"Add isScreenBrightnessBoosted and a broadcast when underlying value changes.\" into lmp-mr1-modular-dev\n\n* commit \u0027c831b978238d5ed200ca329c540eff00faba77e3\u0027:\n  Add isScreenBrightnessBoosted and a broadcast when underlying value changes.\n"
    },
    {
      "commit": "c831b978238d5ed200ca329c540eff00faba77e3",
      "tree": "84986c07b3d22ed916e683ae1accc6d007c7d6e0",
      "parents": [
        "9cfd002e06c32789ae57698a2d5ca565d7128a49",
        "84d6c0fbf6e513d68330234503b809751d0e3564"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Wed Mar 25 16:06:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 25 16:06:17 2015 +0000"
      },
      "message": "Merge \"Add isScreenBrightnessBoosted and a broadcast when underlying value changes.\" into lmp-mr1-modular-dev"
    },
    {
      "commit": "a23995c233b3c336d0f405523902606f2583caea",
      "tree": "499d822205d3c5fe3a16d84d1dac8435f7e83b1b",
      "parents": [
        "d62163055f983b95a954f1a6c2cbc8e0085a7ab5"
      ],
      "author": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Wed Mar 25 11:43:42 2015 +0000"
      },
      "committer": {
        "name": "Paul Crowley",
        "email": "paulcrowley@google.com",
        "time": "Wed Mar 25 11:43:42 2015 +0000"
      },
      "message": "Fix NPE if FPE service does not exist.\n\nBug: 19846662\nChange-Id: I44e014c66a524b282cce0cfc9b7513fc0f553576\n"
    },
    {
      "commit": "bfd7a1233411c60692797f9824695b90663061bf",
      "tree": "1210559dce6294340b8e7f330b221ad376b97f44",
      "parents": [
        "3e305491cc24669305e22875c1fea337faed0b2c",
        "f5f70b66a3f22ca5e23a4d1e6061f2a36dfb4c92"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Mar 24 16:25:11 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 24 16:25:11 2015 +0000"
      },
      "message": "am f5f70b66: Merge \"[ActivityManager] Avoid killing unrelated processes.\"\n\n* commit \u0027f5f70b66a3f22ca5e23a4d1e6061f2a36dfb4c92\u0027:\n  [ActivityManager] Avoid killing unrelated processes.\n"
    },
    {
      "commit": "3e305491cc24669305e22875c1fea337faed0b2c",
      "tree": "c194eb54486f4b372ca122965282ddbe0a434826",
      "parents": [
        "fecfadb5084d89d987e4b4f0793feb8c18897a3d",
        "000293c93b41f69857f228d085b6f44b9afa34b0"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Mar 24 16:25:03 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 24 16:25:03 2015 +0000"
      },
      "message": "am 000293c9: Merge \"Layout the window to be displayed if it would be resized\"\n\n* commit \u0027000293c93b41f69857f228d085b6f44b9afa34b0\u0027:\n  Layout the window to be displayed if it would be resized\n"
    },
    {
      "commit": "fecfadb5084d89d987e4b4f0793feb8c18897a3d",
      "tree": "44e26b5ed25d8f43548430c0aac534f3b4670059",
      "parents": [
        "dde7286273d2afd09752123be06312d1629fd6f1",
        "07520c944cfce3441621c6d08ca185d0efb3ea50"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Mar 24 16:24:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 24 16:24:55 2015 +0000"
      },
      "message": "am 07520c94: Merge \"DimLayer : remove unnecessary surface transaction calls\"\n\n* commit \u002707520c944cfce3441621c6d08ca185d0efb3ea50\u0027:\n  DimLayer : remove unnecessary surface transaction calls\n"
    },
    {
      "commit": "f5f70b66a3f22ca5e23a4d1e6061f2a36dfb4c92",
      "tree": "3c7b378a979ad20700bc3b692a7b06ce37cce011",
      "parents": [
        "000293c93b41f69857f228d085b6f44b9afa34b0",
        "2541306ad56112fad1453566561038c35ae2448a"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Mar 24 16:12:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 16:12:23 2015 +0000"
      },
      "message": "Merge \"[ActivityManager] Avoid killing unrelated processes.\""
    },
    {
      "commit": "000293c93b41f69857f228d085b6f44b9afa34b0",
      "tree": "6a081374661d3209099688d6c0d24171c546a67f",
      "parents": [
        "07520c944cfce3441621c6d08ca185d0efb3ea50",
        "6b6838e9679852e3a39a924c2c1437bd429df8df"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Mar 24 16:11:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 24 16:11:40 2015 +0000"
      },
      "message": "Merge \"Layout the window to be displayed if it would be resized\""
    },
    {
      "commit": "6ce3a37f6b06585c5c0c045d1df69f21f8200067",
      "tree": "9a039bb0d061aebe22ab1312d690339d6e2ce4fc",
      "parents": [
        "f8a2ba511ee2dc5360f323c71eff5e0f2465dd99"
      ],
      "author": {
        "name": "Dohyun Lee",
        "email": "dohyun.lee@lge.com",
        "time": "Mon Mar 23 09:16:34 2015 +0900"
      },
      "committer": {
        "name": "Dohyun Lee",
        "email": "dohyun.lee@lge.com",
        "time": "Tue Mar 24 13:31:22 2015 +0900"
      },
      "message": "DimLayer : remove unnecessary surface transaction calls\n\nThere is the case that adjustSurface()  get called even if\nthe size of the surface of DimLayer is not changed actually.\nSince changing the size of a surface is processed synchronously\nin the SurfacFlinger, there is usually a few milliseconds delay\n(up to 1 vsync interval) when we launch an application.\nThis patch avoids such cases.\n\nChange-Id: Ib1f76d54f9f2364ac54b70120e4b781e8534e750\nSigned-off-by: Dohyun Lee \u003cdohyun.lee@lge.com\u003e\n"
    },
    {
      "commit": "26d577b08f4cbd4d44f9cfc8360849293e2f2d0c",
      "tree": "9fdcd664ca837be6734593e21f694b6d3cbf1f63",
      "parents": [
        "6f6f44b0387c88b35d9345775a9e909ad484fe68",
        "f8a2ba511ee2dc5360f323c71eff5e0f2465dd99"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Mar 23 22:03:14 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 23 22:03:14 2015 +0000"
      },
      "message": "am f8a2ba51: Merge \"Prevent unexpected rotation while going back to keyguard\"\n\n* commit \u0027f8a2ba511ee2dc5360f323c71eff5e0f2465dd99\u0027:\n  Prevent unexpected rotation while going back to keyguard\n"
    },
    {
      "commit": "09ebc52a851d3432087a622a9372a071a1c0c761",
      "tree": "9ea297e4e18192228f2b99e69b2fda74a8136eba",
      "parents": [
        "b42baaa829be7efa692088e97a44712daecbf5f4",
        "7c08dd61c43d76241c8f47c5aae934486605a80e"
      ],
      "author": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Mon Mar 23 20:21:58 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 23 20:21:58 2015 +0000"
      },
      "message": "am 7c08dd61: Merge \"DO NOT MERGE: Set the appliance (tv/watch) in the configuration earlier\" into lmp-mr1-modular-dev\n\n* commit \u00277c08dd61c43d76241c8f47c5aae934486605a80e\u0027:\n  DO NOT MERGE: Set the appliance (tv/watch) in the configuration earlier\n"
    },
    {
      "commit": "7c08dd61c43d76241c8f47c5aae934486605a80e",
      "tree": "1540377af7d7300cc64cd89e2a86097ec911ead0",
      "parents": [
        "eded9424305cb6538cc0516670930a9f8fccbfd1",
        "11cc1f166dfc18d6d2338b93f7526a0911c7bb67"
      ],
      "author": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Mon Mar 23 20:15:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 23 20:15:50 2015 +0000"
      },
      "message": "Merge \"DO NOT MERGE: Set the appliance (tv/watch) in the configuration earlier\" into lmp-mr1-modular-dev"
    },
    {
      "commit": "11cc1f166dfc18d6d2338b93f7526a0911c7bb67",
      "tree": "1db33f1b7f0b436d3e7279105dcf0ff0ad0e7c90",
      "parents": [
        "104a29b6b5fe6e454787053ca72950dbbc4d424b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 19 14:37:11 2015 -0700"
      },
      "committer": {
        "name": "Anthony Hugh",
        "email": "ahugh@google.com",
        "time": "Mon Mar 23 12:02:52 2015 -0700"
      },
      "message": "DO NOT MERGE: Set the appliance (tv/watch) in the configuration earlier\n\nSome UI is displayed (boot/optimizing) before the configuration\nhas been completely set. This noteably happens for watches and\nTVs because UIModeManagerService hasn\u0027t started yet.\n\nUIModeManagerService is started earlier, and its dependency\nTwilightService is loaded during the \"all system services ready\"\nboot phase.\n\nb/18388692\n\nChange-Id: Iabdf8ac3eb04ebcb44779d752e19042769cc65c6\n"
    },
    {
      "commit": "1263b2f1f2c30f2c7a390f71bd87f91c9015c4c3",
      "tree": "edb569d9988a07c9e09fba95448c039390e9a662",
      "parents": [
        "d3e6428aea34ce3297123c63b4dd6223dac5d5a8"
      ],
      "author": {
        "name": "tiger_huang",
        "email": "tiger_huang@htc.com",
        "time": "Thu Feb 26 14:45:32 2015 +0800"
      },
      "committer": {
        "name": "Tiger Huang",
        "email": "tiger_huang@htc.com",
        "time": "Mon Mar 23 05:58:46 2015 +0000"
      },
      "message": "Prevent unexpected rotation while going back to keyguard\n\nThe original logic would let the app hidden by keyguard be able to\ndecide the orientation. While going back from a show-when-locked app\nto keyguard, there would be a short time that keyguard is unable to\ndecide the orientation, which causes WMS uses the wrong orientation\nfrom the wrong app.\n\nhttps://code.google.com/p/android/issues/detail?id\u003d155640\n\nChange-Id: Ibc17bfe4603f68b241dc7380459ec9de42a3e259\n"
    },
    {
      "commit": "08bbca040fa921b99493cd9967453ed90b1b710a",
      "tree": "c500dda1c4132f461ad820e3eb5a7c4dafa94148",
      "parents": [
        "38fcaf4037a50225b931551a48c898c7b0bb4db2"
      ],
      "author": {
        "name": "sj.cha",
        "email": "sj.cha@lge.com",
        "time": "Mon Mar 23 11:35:24 2015 +0900"
      },
      "committer": {
        "name": "sj.cha",
        "email": "sj.cha@lge.com",
        "time": "Mon Mar 23 11:40:35 2015 +0900"
      },
      "message": "Add getLegacyVpnInfoPrivileged method\n\nFollows the Google\u0027s permission check policy.\nAdd a getLegacyVpnInfoPrivileged method which skips the permission check\nand change getLegacyVpnInfo to check the permission and then call getLegacyVpnInfoPrivileged.\nIt is already checked in this commit : https://android-review.googlesource.com/#/c/141771/\n\nSigned-off-by: SangJin Cha \u003csj.cha@lge.com\u003e\nChange-Id: I83cfaedbd85745574f3ddf118b11b6e0415483c6\n"
    },
    {
      "commit": "13d81b6dd285e00998c9c43e3654078d061ba095",
      "tree": "a71c8051c157a8c1188e53ad9fa7564891e0b107",
      "parents": [
        "2110a28a6c7ef7d7802028d0a2dd9c14ceb432e1",
        "619ce1ce534775ab0ff4d591a69dafd53c04a315"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 20 22:35:41 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 20 22:35:41 2015 +0000"
      },
      "message": "am 619ce1ce: am d6216305: Merge \"Disable more hotkeys while in setup.\" into lmp-mr1-dev\n\n* commit \u0027619ce1ce534775ab0ff4d591a69dafd53c04a315\u0027:\n  Disable more hotkeys while in setup.\n"
    },
    {
      "commit": "619ce1ce534775ab0ff4d591a69dafd53c04a315",
      "tree": "6f72baf867d4c97746fe3c8fe2baa73bd470924f",
      "parents": [
        "104a29b6b5fe6e454787053ca72950dbbc4d424b",
        "d62163055f983b95a954f1a6c2cbc8e0085a7ab5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 20 22:10:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 20 22:10:54 2015 +0000"
      },
      "message": "am d6216305: Merge \"Disable more hotkeys while in setup.\" into lmp-mr1-dev\n\n* commit \u0027d62163055f983b95a954f1a6c2cbc8e0085a7ab5\u0027:\n  Disable more hotkeys while in setup.\n"
    },
    {
      "commit": "38d3feb76c2b2783facdab46df64331384d82a9b",
      "tree": "763204fafcab2be7368f7dd6376b4e8fad320717",
      "parents": [
        "bb777ef40d7a181e782dfce652c3d9da390dc9f5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 19 18:26:30 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 20 13:26:09 2015 -0700"
      },
      "message": "Disable more hotkeys while in setup.\n\nDisables fallback key processing for CALL, CAMERA, and HEADSETHOOK\nbuttons.\n\nBug: 19767816\nChange-Id: I423103c367e05827c939cd8d8dbecb6012b0e9f0\n"
    },
    {
      "commit": "e39ab2ae9c844d9f553f7214b5f80856b9389311",
      "tree": "b34838fbac53c2f1657a58bc2af17c2e4acd7ad5",
      "parents": [
        "0634fba5915073e5b46e24f0ba0d5bbc44c922a5",
        "f342e5e0ae85fa7929e9b2eb4213bbc85dbcf61c"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Mar 19 18:41:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 19 18:41:31 2015 +0000"
      },
      "message": "am f342e5e0: am ca0391eb: am c8f952ce: Write correct checksum when formatting partition\n\n* commit \u0027f342e5e0ae85fa7929e9b2eb4213bbc85dbcf61c\u0027:\n  Write correct checksum when formatting partition\n"
    },
    {
      "commit": "f342e5e0ae85fa7929e9b2eb4213bbc85dbcf61c",
      "tree": "c3417307bbc67925cf0b6370bc0751764550510e",
      "parents": [
        "3f782ad156d337c7c6c542696ddc67ae82fa7a84",
        "ca0391eb524b0adad79160c48682c4edf6f49ed2"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Mar 19 18:35:07 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 19 18:35:07 2015 +0000"
      },
      "message": "am ca0391eb: am c8f952ce: Write correct checksum when formatting partition\n\n* commit \u0027ca0391eb524b0adad79160c48682c4edf6f49ed2\u0027:\n  Write correct checksum when formatting partition\n"
    },
    {
      "commit": "ca0391eb524b0adad79160c48682c4edf6f49ed2",
      "tree": "a481e392cfa70bf8acf2f3e741dbd25161916cc1",
      "parents": [
        "ebaf79018b5bcfbe83f5877d5360a1c0d46d0b97",
        "c8f952ce9f9cadc0d38745e455c0a6388bc68a47"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Mar 19 18:27:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 19 18:27:54 2015 +0000"
      },
      "message": "am c8f952ce: Write correct checksum when formatting partition\n\n* commit \u0027c8f952ce9f9cadc0d38745e455c0a6388bc68a47\u0027:\n  Write correct checksum when formatting partition\n"
    },
    {
      "commit": "c8f952ce9f9cadc0d38745e455c0a6388bc68a47",
      "tree": "5215eb2cfbad1d4230e52c6bc9363b7671f421aa",
      "parents": [
        "cbdfa09fc56995c8c99e8684b8c52e4f9d247a50"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Mar 19 08:34:55 2015 -0700"
      },
      "committer": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Thu Mar 19 17:18:01 2015 +0000"
      },
      "message": "Write correct checksum when formatting partition\n\nOEM unlock enabled bit is not computed in the checksum,\ncausing OEM Unlocking to be disabled after the second\nreboot.\n\nBug: 19829441\nChange-Id: I100bf5d3958b89323ee35b9e97b19c162209fcd7\n"
    },
    {
      "commit": "f792e01606b988ab84190217529cca53da8db3f5",
      "tree": "346b7b2d3f45946ec03295e104d4638df5d14908",
      "parents": [
        "f5353e9dda15fe49023083ec7ca2131feed7787d",
        "437ac8f8445b078041171eff56ce7ffbd1cf6766"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 18 23:09:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 18 23:09:21 2015 +0000"
      },
      "message": "am 437ac8f8: Merge \"Add JIT late override property\"\n\n* commit \u0027437ac8f8445b078041171eff56ce7ffbd1cf6766\u0027:\n  Add JIT late override property\n"
    },
    {
      "commit": "437ac8f8445b078041171eff56ce7ffbd1cf6766",
      "tree": "42ed1b58547ca7938815eda4fd3228f0ccd397ea",
      "parents": [
        "13dbc3d48d1c4ea8854f952f9ced4b7617ae5e87",
        "7a49028aa2f25364042fae031d95f9283844e645"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 18 22:56:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 18 22:56:55 2015 +0000"
      },
      "message": "Merge \"Add JIT late override property\""
    },
    {
      "commit": "7a49028aa2f25364042fae031d95f9283844e645",
      "tree": "2cc261a5872d577a4a0725b23020b90c49a566c4",
      "parents": [
        "aae42eb26176482b09f0846e6acf7efa844a0d23"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 17 09:51:36 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 18 15:18:52 2015 -0700"
      },
      "message": "Add JIT late override property\n\nRequired for JIT debug property since user builds can\u0027t restart\nthe shell.\n\nBug: 19735273\n\nChange-Id: I1983852e80010c344b45e0bb459de47c56adfce8\n"
    },
    {
      "commit": "6a9cd7b0d4215d9e20ed59e6ab0c328c81cd842b",
      "tree": "be1476583492ca18f2b8f51c9d6101b76e66ddf4",
      "parents": [
        "b533f3e1ad098b38070369609e6b1892828bc111",
        "e2c8e504d143c42c25d7e61a18f50cccb80f0c4d"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 18 20:25:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 18 20:25:54 2015 +0000"
      },
      "message": "am e2c8e504: Merge \"logd: optimize statistics\"\n\n* commit \u0027e2c8e504d143c42c25d7e61a18f50cccb80f0c4d\u0027:\n  logd: optimize statistics\n"
    },
    {
      "commit": "81c47fc23a0a15dddf37d96d28305e8b5e5ca2da",
      "tree": "936716d593ab1ce8e5251033507ef2e1764111c0",
      "parents": [
        "199a70f1820c38a9f1db1697ad91c4f5f07d00aa",
        "86318d768a2c5043e1261e9daacf1497d1e4a732"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Tue Mar 17 18:35:17 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 17 18:35:17 2015 +0000"
      },
      "message": "am 86318d76: Merge \"Option for going home when going to sleep for devices without physical button.\" into lmp-mr1-modular-dev\n\n* commit \u002786318d768a2c5043e1261e9daacf1497d1e4a732\u0027:\n  Option for going home when going to sleep for devices without physical button.\n"
    },
    {
      "commit": "84d6c0fbf6e513d68330234503b809751d0e3564",
      "tree": "da4605a8e06b552498b6a66baa6c828f7522c336",
      "parents": [
        "576801ff82a85c4de19404dfe364eef7184b84e0"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Mar 17 10:43:08 2015 -0700"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Tue Mar 17 10:43:08 2015 -0700"
      },
      "message": "Add isScreenBrightnessBoosted and a broadcast when underlying\nvalue changes.\n\nBug: 18334219\nChange-Id: I20051e97633017711574a063b8061f95c3b616c5\n"
    },
    {
      "commit": "2541306ad56112fad1453566561038c35ae2448a",
      "tree": "565d4c134df893f05ee1cb45af24794719a99473",
      "parents": [
        "008ec61e0ccff0ca92cc0d2b5b73a1d620d3aad3"
      ],
      "author": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Tue Mar 17 18:22:51 2015 +0800"
      },
      "committer": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Tue Mar 17 18:22:51 2015 +0800"
      },
      "message": "[ActivityManager] Avoid killing unrelated processes.\n\nKernel will reuse process id, when wrap-around happens,\nthere may be just after a pid is freed, a new thread/process\nuses the pid immediately.\n\nFor examples, there may be a process with pid 1234 killed\nby lowmemorykiller or itself (app.killed\u003dfalse).\nBefore the death recipient enters AMS, a new thread/process\nis started with pid 1234, then when appDiedLocked executes,\nthis new pid 1234 will be killed again.\n\nIt is especially easy happens to zygote:\nDuring zygote starting process, it will stop 5 daemons threads.\nAnd restart the 5 threads after fork is called, so it has\nlarger pid range to hit the resue case.\nhttps://code.google.com/p/android/issues/detail?id\u003d160661\n\nSolution:\nIf the dead event is from binder, it is not necessary\nto call killProcessQuiet again, because it should really\nbe dead.\nKeep no checking for killProcessGroup because zygote does\nnot have record under /acct/, and also the parameter uid\nhas restriction that will not kill another application\nwhich reuses the pid.\n\nChange-Id: Iec4a4884ae641c4d036f4d024ce463f7a351a17b\n"
    },
    {
      "commit": "9779e128d611f13cdb44d31b0509ff43c62a35f6",
      "tree": "d9ee53aaaa38ed1a6e54b67006b6aac0f0291de7",
      "parents": [
        "5be1afedd8f2289ba047473b242cd0535a4493fe"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Fri Mar 13 17:39:31 2015 -0700"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Mon Mar 16 08:57:17 2015 -0700"
      },
      "message": "Option for going home when going to sleep for devices without physical button.\n\nBug: 19623388\nChange-Id: Iec16f83c64646ded12ec97d4b540510b7f9dfd47\n"
    },
    {
      "commit": "1d67698bb4c67ffa934d45edf7d5415d582a3c90",
      "tree": "bfe9bbfb48f2d1b4db98c78e8f96f3f6a9c9882a",
      "parents": [
        "2f9529168974fb6ca3a70372fd802e845e015bfd",
        "53729e2933540307b090e64ee89cbae26c67de8f"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Mar 12 21:38:41 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 12 21:38:41 2015 +0000"
      },
      "message": "am 53729e29: Merge \"Wait for opening apps ready before stopping freezing display\"\n\n* commit \u002753729e2933540307b090e64ee89cbae26c67de8f\u0027:\n  Wait for opening apps ready before stopping freezing display\n"
    },
    {
      "commit": "2f9529168974fb6ca3a70372fd802e845e015bfd",
      "tree": "9ab3f451d0a637867bda4b4d3724ad9fe0332839",
      "parents": [
        "8a264dd289df13dfae7d5c89fc4b6f69b30230be",
        "1b4933d10eea59b091f263ebb3723f4d59a85d2b"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Mar 12 21:38:30 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 12 21:38:30 2015 +0000"
      },
      "message": "am 1b4933d1: Merge \"Wait for visible wallpaper drawn before starting app transitions\"\n\n* commit \u00271b4933d10eea59b091f263ebb3723f4d59a85d2b\u0027:\n  Wait for visible wallpaper drawn before starting app transitions\n"
    },
    {
      "commit": "2018fd02517449f0c7a13a1d9b7baa7754ade7d3",
      "tree": "e90ee858fede9707f8bb549ce958e19ee57a8914",
      "parents": [
        "53729e2933540307b090e64ee89cbae26c67de8f"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 12 09:18:26 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 12 20:29:32 2015 +0000"
      },
      "message": "logd: optimize statistics\n\nlogd reads /data/system/packages.xml (because it also contains\nshared UIDs) and is sensitive to line break and tag name issues.\n\nBug: 19608965\nChange-Id: I2a4a6bcfb10529e4b29c9664cbbf12842e689dd1\n"
    },
    {
      "commit": "53729e2933540307b090e64ee89cbae26c67de8f",
      "tree": "095ec9ce7fd33065d86f32dcaca807fb09cd7dd3",
      "parents": [
        "1b4933d10eea59b091f263ebb3723f4d59a85d2b",
        "473db6fdfbf838ad7506d17dd8f46f127cbe1dd7"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Mar 12 16:51:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 16:51:19 2015 +0000"
      },
      "message": "Merge \"Wait for opening apps ready before stopping freezing display\""
    },
    {
      "commit": "1b4933d10eea59b091f263ebb3723f4d59a85d2b",
      "tree": "4122307eea71754f90aa464fc3dc8fa9baf52103",
      "parents": [
        "1c24b3f110e0521a3840c3dfce9a86343fa02672",
        "4a7f8b99f82559e3a2fa02c5499a4d77cd79c707"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Mar 12 16:22:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 16:22:07 2015 +0000"
      },
      "message": "Merge \"Wait for visible wallpaper drawn before starting app transitions\""
    },
    {
      "commit": "4a61eaf784fb085e66a21e9e4d4fa8aeb6b41c2b",
      "tree": "0b1144f0dcccc225e4daacab60cc939f16308f8b",
      "parents": [
        "b6b9fe216d4dab6249e77870a02589e58d6bc59f",
        "1c24b3f110e0521a3840c3dfce9a86343fa02672"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Mar 12 08:00:53 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 12 08:00:53 2015 +0000"
      },
      "message": "am 1c24b3f1: Merge \"Fix build, broken by https://android-review.googlesource.com/#/c/115890/\"\n\n* commit \u00271c24b3f110e0521a3840c3dfce9a86343fa02672\u0027:\n  Fix build, broken by https://android-review.googlesource.com/#/c/115890/\n"
    },
    {
      "commit": "7b5be4c0c741e44a8592ece40902eb0071f6d138",
      "tree": "543d35d405abe2696c8addb97afab28c17d6bf71",
      "parents": [
        "2f196e6c81e50b70d56c1cc06fd2aec147b58ed8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Mar 12 16:48:12 2015 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Mar 12 16:48:12 2015 +0900"
      },
      "message": "Fix build, broken by https://android-review.googlesource.com/#/c/115890/\n\nChange-Id: Ieafa2fb0a7f539d8f933ad9c98e3be80457da6e5\n"
    },
    {
      "commit": "b6b9fe216d4dab6249e77870a02589e58d6bc59f",
      "tree": "3fc57d60a1d6caf373ab63a2070eb1f6700a1688",
      "parents": [
        "a4277e149355c53fde73a4e1ef44aa665af31cf0",
        "2f196e6c81e50b70d56c1cc06fd2aec147b58ed8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Mar 12 07:38:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 12 07:38:50 2015 +0000"
      },
      "message": "am 2f196e6c: Merge \"Remove dead code, mostly DataStateTracker.\"\n\n* commit \u00272f196e6c81e50b70d56c1cc06fd2aec147b58ed8\u0027:\n  Remove dead code, mostly DataStateTracker.\n"
    },
    {
      "commit": "2f196e6c81e50b70d56c1cc06fd2aec147b58ed8",
      "tree": "66cf6570d367202f2523c72e8401e8d022515675",
      "parents": [
        "cdd3fb5cdb9be8ae087c6d0fef2a545fca1c4205",
        "7fad4eb4b52bc6c7ddad47f70e0c310093fbde3b"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Mar 12 07:27:27 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 07:27:27 2015 +0000"
      },
      "message": "Merge \"Remove dead code, mostly DataStateTracker.\""
    },
    {
      "commit": "26c95085b37d8d1ddc25a8d4d50b54b0ae6242c9",
      "tree": "93de650334f121c278b1e10fc9fb51891e4aa85e",
      "parents": [
        "bb8c910fc12f304c97c94ee86a3a3da56afe8374",
        "cdd3fb5cdb9be8ae087c6d0fef2a545fca1c4205"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 23:23:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 11 23:23:06 2015 +0000"
      },
      "message": "am cdd3fb5c: Merge \"Extracted a separate class to run dexopt on packages\"\n\n* commit \u0027cdd3fb5cdb9be8ae087c6d0fef2a545fca1c4205\u0027:\n  Extracted a separate class to run dexopt on packages\n"
    },
    {
      "commit": "7487657ee9f3f91a1fb4e52ce2a03b56496ac1f4",
      "tree": "daeb0b710856a45229930b7237078509aec7dace",
      "parents": [
        "d2e4a166ebae4dcf0a9d6cb186283739443b0803"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Feb 23 17:14:45 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 16:03:41 2015 -0700"
      },
      "message": "Extracted a separate class to run dexopt on packages\n\nperformDexOptLibsLI and related methods were extracted to PackageDexOptimizer\nclass. Minor refactoring of PackageManagerService.\n\nThis is a non-functional change. It should simplify further work to allow\nstoring OAT files inside package dir.\n\n(cherry picked from commit eeea67b8c3678d882d3774edc41242c63daa60fa)\n\nChange-Id: I3494a2da70605362bb6fb4625ffbee1cbe1cd457\n"
    },
    {
      "commit": "276d1bc929485e53ba4d4e93d4cc3ded3fcc2fc3",
      "tree": "cebcb1d9ae8d038280481167a0f679f349c0b6d3",
      "parents": [
        "e011eb4ff9a082de69fea747141764de2f6f3dcc",
        "a98c21a662040a8afa75a35bd882c292f7ed8414"
      ],
      "author": {
        "name": "Prashant Malani",
        "email": "pmalani@google.com",
        "time": "Wed Mar 11 17:24:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 11 17:24:54 2015 +0000"
      },
      "message": "am a98c21a6: Make circular mask thickness configurable\n\n* commit \u0027a98c21a662040a8afa75a35bd882c292f7ed8414\u0027:\n  Make circular mask thickness configurable\n"
    },
    {
      "commit": "7fad4eb4b52bc6c7ddad47f70e0c310093fbde3b",
      "tree": "cb28eaeb4e331f5147e17ca2d619135509d00243",
      "parents": [
        "a6ed1b9547dcd592031a415739cc7e672c068f7c"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Fri Nov 21 09:14:45 2014 -0500"
      },
      "committer": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Wed Mar 11 10:03:58 2015 -0400"
      },
      "message": "Remove dead code, mostly DataStateTracker.\n\nChange-Id: I1433937bffdb29bd42fb1adbfcf0a50ceffac7dd\n"
    },
    {
      "commit": "20553036af92a6369b3e53f54a1f4f0ccaf8e981",
      "tree": "329075fdd7b27fc56fea104e0675cbd836b0f7af",
      "parents": [
        "3b9cfe30ed4ae34d06a8f005c8ada593c314316b",
        "686947801e7c35eb60bf25385f46e45db66bee69"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Mar 11 13:59:04 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 11 13:59:04 2015 +0000"
      },
      "message": "am 68694780: Merge \"[ActivityManager] Fix index OOB when resetting removed task\"\n\n* commit \u0027686947801e7c35eb60bf25385f46e45db66bee69\u0027:\n  [ActivityManager] Fix index OOB when resetting removed task\n"
    },
    {
      "commit": "686947801e7c35eb60bf25385f46e45db66bee69",
      "tree": "4b263acdfc92ac84f21dea72c499485ec08ba6bd",
      "parents": [
        "a6ed1b9547dcd592031a415739cc7e672c068f7c",
        "1d7919a7eb38a94304e6c0bcb09f743fc6191a58"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Mar 11 13:46:37 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 11 13:46:38 2015 +0000"
      },
      "message": "Merge \"[ActivityManager] Fix index OOB when resetting removed task\""
    },
    {
      "commit": "1d7919a7eb38a94304e6c0bcb09f743fc6191a58",
      "tree": "718a69780ff26a12feb68f406355a4717ad34f15",
      "parents": [
        "e59b7ce2564a916240e561b36f4476f2d72a65c5"
      ],
      "author": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Wed Mar 11 17:09:50 2015 +0800"
      },
      "committer": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Wed Mar 11 17:09:50 2015 +0800"
      },
      "message": "[ActivityManager] Fix index OOB when resetting removed task\n\nAssume task T has an activity X lives in process P.\nWhen P is died and before death recipient being called,\nstart activity with flag RESET_TASK_IF_NEEDED to bring the\nexisted task T.\n\nThen scheduleResumeActivity IPC will fail and trigger start\na new process that removes task T.\n\nThat results resetTaskIfNeededLocked cannot find the task\nwhen continuing the start flow.\n\nDetail:\nhttps://code.google.com/p/android/issues/detail?id\u003d159558\n\nChange-Id: Icc400c7a6c481a3f78657e9fb83cf0c3a17dde68\n"
    },
    {
      "commit": "4a7f8b99f82559e3a2fa02c5499a4d77cd79c707",
      "tree": "620d77fc0c3b43f406f89891acb45ce7c34c02c2",
      "parents": [
        "a6ed1b9547dcd592031a415739cc7e672c068f7c"
      ],
      "author": {
        "name": "tiger_huang",
        "email": "tiger_huang@htc.com",
        "time": "Mon Feb 16 21:37:12 2015 +0800"
      },
      "committer": {
        "name": "tiger_huang",
        "email": "tiger_huang@htc.com",
        "time": "Wed Mar 11 16:38:27 2015 +0800"
      },
      "message": "Wait for visible wallpaper drawn before starting app transitions\n\nIf the opening app has wallpaper, when the closing app starts hiding,\nthe wallpaper would be revealed. It would be nice if we play the app\ntransitions while opening apps, closing apps, and visible wallpapers\nare all drawn.\n\nhttps://code.google.com/p/android/issues/detail?id\u003d150811\n\nChange-Id: I3c7d140f6f6e43e18119e48f9cab441ee96b17e5\n"
    },
    {
      "commit": "a98c21a662040a8afa75a35bd882c292f7ed8414",
      "tree": "4b8056752852247d013cb95d1bf3dcb05dd48769",
      "parents": [
        "dff0fdb4172a230e4faff7ed93842c21a2d57335"
      ],
      "author": {
        "name": "Prashant Malani",
        "email": "pmalani@google.com",
        "time": "Tue Feb 10 19:09:39 2015 -0800"
      },
      "committer": {
        "name": "Prashant Malani",
        "email": "pmalani@google.com",
        "time": "Wed Mar 11 00:34:15 2015 +0000"
      },
      "message": "Make circular mask thickness configurable\n\nObtain the circular mask thickness as a dimension so that it can\nbe customized per-device.\n\nChange-Id: Ied88f91424c5cf4f25dd1e78cf22f0fd7ea7b0a4\nSigned-off-by: Prashant Malani \u003cpmalani@google.com\u003e\n"
    },
    {
      "commit": "b6d6c04a717222178184bff135bd12cfc4c019a1",
      "tree": "6fc2efe46c97abe946e13d171c7e4536bc6df646",
      "parents": [
        "4c887ac9318402b914dbee4462485006395bdfbe",
        "174a44888ec56f688426c80d50b9e0021f47c16f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 10 15:11:56 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 10 15:11:56 2015 +0000"
      },
      "message": "am 174a4488: am 7f383873: Merge \"Frameworks/base: Pass APK debugability to installd\"\n\n* commit \u0027174a44888ec56f688426c80d50b9e0021f47c16f\u0027:\n  Frameworks/base: Pass APK debugability to installd\n"
    },
    {
      "commit": "473db6fdfbf838ad7506d17dd8f46f127cbe1dd7",
      "tree": "892dd2bec8fbdc5c53e9105595a41b0f0b733d7f",
      "parents": [
        "2a88ff2fe1849a3823962a2c239afdf6339fedc9"
      ],
      "author": {
        "name": "tiger_huang",
        "email": "tiger_huang@htc.com",
        "time": "Tue Feb 17 14:07:40 2015 +0800"
      },
      "committer": {
        "name": "tiger_huang",
        "email": "tiger_huang@htc.com",
        "time": "Tue Mar 10 21:10:40 2015 +0800"
      },
      "message": "Wait for opening apps ready before stopping freezing display\n\nWhen the screen rotation is changing, we will freeze the display\nuntil all the window surfaces are all drawn (this is not including\nwindows which have no surface). If the opening app\u0027s window surface\nis created after we stop freezing the display, there would be no\nwaiting for the app, and the user would see the black screen.\n\nIn this change, we would not only wait for the windows which have\nsurface, but also wait for the windows about to have surface before\nstopping freezing display.\n\nhttps://code.google.com/p/android/issues/detail?id\u003d150921\n\nChange-Id: I7de4db8ca902236f3e9f730b04dbde681cf8c032\n"
    },
    {
      "commit": "174a44888ec56f688426c80d50b9e0021f47c16f",
      "tree": "757c016179c9f1a989342ed9df1a5fb0ab987efb",
      "parents": [
        "db7fa51ff0f330b79b171f03b4304a75affaabce",
        "7f383873566024c7121cadae3bbdd2a7c47150bc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 10 02:10:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 10 02:10:22 2015 +0000"
      },
      "message": "am 7f383873: Merge \"Frameworks/base: Pass APK debugability to installd\"\n\n* commit \u00277f383873566024c7121cadae3bbdd2a7c47150bc\u0027:\n  Frameworks/base: Pass APK debugability to installd\n"
    },
    {
      "commit": "7f383873566024c7121cadae3bbdd2a7c47150bc",
      "tree": "ebf44f336e9290e83503df2476a5a2dbf587a0e0",
      "parents": [
        "c74467902b5a9a7267b6cb8f30b364b8373eac72",
        "735600c1e654ef3d4fe1201aa31d1f4eb33c18e3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 09 22:14:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 09 22:14:54 2015 +0000"
      },
      "message": "Merge \"Frameworks/base: Pass APK debugability to installd\""
    },
    {
      "commit": "ca54b8765776cb1d1f5c2b87ca046ca64b9386ad",
      "tree": "870686b3c79701db060567ff730608062d368e21",
      "parents": [
        "e88afe3ee7b1944c8814f78f0eea41884d07600d",
        "edc3c8939f3cde4ab9343e7654f5dac1122fb470"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Mar 09 16:43:16 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 09 16:43:16 2015 +0000"
      },
      "message": "am edc3c893: am 14ccc26f: Merge \"[ActivityManager] Skip receiver precisely.\"\n\n* commit \u0027edc3c8939f3cde4ab9343e7654f5dac1122fb470\u0027:\n  [ActivityManager] Skip receiver precisely.\n"
    },
    {
      "commit": "edc3c8939f3cde4ab9343e7654f5dac1122fb470",
      "tree": "b22944da9ddd4897cf4070c5e57bab46c3b4314f",
      "parents": [
        "5596600697f54feb944737b7bc55df06123e6e54",
        "14ccc26f1ce006963f1a0b7a917404aa6a0e9da1"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Mar 09 16:36:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 09 16:36:31 2015 +0000"
      },
      "message": "am 14ccc26f: Merge \"[ActivityManager] Skip receiver precisely.\"\n\n* commit \u002714ccc26f1ce006963f1a0b7a917404aa6a0e9da1\u0027:\n  [ActivityManager] Skip receiver precisely.\n"
    },
    {
      "commit": "14ccc26f1ce006963f1a0b7a917404aa6a0e9da1",
      "tree": "9a6eab66af18318c45264f9d325cfc22e232e9bc",
      "parents": [
        "7a4cb563a29f05658760739d3bc2e70bd6342174",
        "01eb7fa7f99ebc410ae0bf17ea8fec8e61e694f0"
      ],
      "author": {
        "name": "Olawale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Mar 09 16:30:52 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 09 16:30:52 2015 +0000"
      },
      "message": "Merge \"[ActivityManager] Skip receiver precisely.\""
    },
    {
      "commit": "735600c1e654ef3d4fe1201aa31d1f4eb33c18e3",
      "tree": "85b57a15fcc848f7d6ad501bb08c5ac348780d65",
      "parents": [
        "7a4cb563a29f05658760739d3bc2e70bd6342174"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 05 13:11:46 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 09 08:57:23 2015 -0700"
      },
      "message": "Frameworks/base: Pass APK debugability to installd\n\nChange-Id: Id17ec72babe2ee88713a0d274eff86508de30666\n"
    },
    {
      "commit": "0fcfae88f2737b004cae83a77d590046e2b08ef3",
      "tree": "596461f91961ff918d381c979fd660b7f6add6fa",
      "parents": [
        "f02b1abc2726692dd69f10c1c9e7fa69ccc4ab63",
        "ecc20aafa6f3d272292e7b3577c99f2c127e590f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 05 22:46:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 05 22:46:49 2015 +0000"
      },
      "message": "am ecc20aaf: am 63ab6eb2: Merge \"Frameworks/base: Use ArraySet more explicitly\"\n\n* commit \u0027ecc20aafa6f3d272292e7b3577c99f2c127e590f\u0027:\n  Frameworks/base: Use ArraySet more explicitly\n"
    },
    {
      "commit": "ecc20aafa6f3d272292e7b3577c99f2c127e590f",
      "tree": "1b127a8d7ceda90b4682d319cca56c461e10c837",
      "parents": [
        "9c0ba24f3b54fa7916626f3d76ec6818d78ca47e",
        "63ab6eb220a2a75837d6e3d18d19cbd5dda175eb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 05 22:38:56 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 05 22:38:56 2015 +0000"
      },
      "message": "am 63ab6eb2: Merge \"Frameworks/base: Use ArraySet more explicitly\"\n\n* commit \u002763ab6eb220a2a75837d6e3d18d19cbd5dda175eb\u0027:\n  Frameworks/base: Use ArraySet more explicitly\n"
    },
    {
      "commit": "0888276a1c6cd4077770844615848674de21dab3",
      "tree": "b2b5cee8031e30ed4043b77b3b267afa3be34983",
      "parents": [
        "6695b9920d15f8d9a17d6b0c66b863d1c2e38584"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 05 13:13:55 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 05 13:13:55 2015 -0800"
      },
      "message": "Frameworks/base: Use ArraySet more explicitly\n\nIn KeySetManagerService, use ArraySet more explicitly. Avoid for-each\nloops.\n\nCollections API methods on ArraySet are not very efficient. Iterators\nincur two object allocations: a helper and the actual iterator object.\nDuring boot, about 4.5K such calls are made. Using the ArraySet more\nexplicitly like an ArrayList/array avoids the overhead.\n\nBug: 19617481\nChange-Id: I25df334fa1d4be3210667fb1404e3c43f2585049\n"
    },
    {
      "commit": "5a6b44c435fb06817a66bb74c66a5a6d19690616",
      "tree": "04ab9aa65095748626af8ced7e1f5861947da694",
      "parents": [
        "bd438742870a51eacea3554376f671bd1be0e30c",
        "a0eaaa2a22def29a0c3cb9645a105b773048f5ee"
      ],
      "author": {
        "name": "Tucker Sylvestro",
        "email": "tuckeris@google.com",
        "time": "Thu Mar 05 00:15:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 05 00:15:08 2015 +0000"
      },
      "message": "Merge \"DO NOT MERGE ANYWHERE Bluetooth native dumpsys logging support (3/4)\" into lmp-mr1-modular-dev"
    },
    {
      "commit": "a0eaaa2a22def29a0c3cb9645a105b773048f5ee",
      "tree": "7c060e5474e3dc3486fb7833bb1c7f9acf5c25f9",
      "parents": [
        "c8e3784e259a1c668193a6590570847c9cd9310b"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Fri Dec 05 09:31:30 2014 -0800"
      },
      "committer": {
        "name": "Tucker Sylvestro",
        "email": "tuckeris@google.com",
        "time": "Wed Mar 04 17:17:20 2015 -0500"
      },
      "message": "DO NOT MERGE ANYWHERE Bluetooth native dumpsys logging support (3/4)\n\nBug: 18508263\nChange-Id: I88f9c90dab8b0c825010c8617709449a3dd704b2\n"
    },
    {
      "commit": "01eb7fa7f99ebc410ae0bf17ea8fec8e61e694f0",
      "tree": "22322e7b722de0b5fa114c714b060f460a684df2",
      "parents": [
        "75666e9054d97a9daecd5648f71414406413c6d9"
      ],
      "author": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Wed Mar 04 17:27:05 2015 +0800"
      },
      "committer": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Wed Mar 04 17:27:05 2015 +0800"
      },
      "message": "[ActivityManager] Skip receiver precisely.\n\nSymptom:\nReport broadcast ANR on a dead process.\n\nDetail and sample:\nhttp://code.google.com/p/android/issues/detail?id\u003d158329\n\nRoot cause:\napp.curReceiver can only remember the last running.\nIf an application is both receiving FG and BG broadcast,\nonly one of queue can discard, the remain one will still\ncount as timeout.\n\nSolution:\nSelect the skip-tartget-receiver by comparing the skipping app\nto the first record of mOrderedBroadcasts of each broadcast queues.\n\nChange-Id: Ic68d56f21b417a34f2d30d64ecfbed09c5e1764d\n"
    },
    {
      "commit": "5d3f00e38b84c107037de1250a6e55d89f84ef77",
      "tree": "7d5baa6fdc44257dc28edef4cc78070ea8293bc7",
      "parents": [
        "59e06d3ab479ab04df84b783cb119f032549f492",
        "358188f5891f5645dbff4fd8cb1a3e7341371f74"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Mar 03 21:08:45 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 03 21:08:45 2015 +0000"
      },
      "message": "am 358188f5: Merge \"Change ActivityView startActivity state sequence\" into lmp-mr1-modular-dev\n\n* commit \u0027358188f5891f5645dbff4fd8cb1a3e7341371f74\u0027:\n  Change ActivityView startActivity state sequence\n"
    },
    {
      "commit": "358188f5891f5645dbff4fd8cb1a3e7341371f74",
      "tree": "e4a3a1b3bb5e2128ebd0b6fb2484d2d517f14add",
      "parents": [
        "559023163d7e9e0aad4846bc0fccfc5c28705ec7",
        "b916836e8dcd4aa3564479be508d7a9d73dcbce8"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Mar 03 21:03:28 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 03 21:03:29 2015 +0000"
      },
      "message": "Merge \"Change ActivityView startActivity state sequence\" into lmp-mr1-modular-dev"
    },
    {
      "commit": "b916836e8dcd4aa3564479be508d7a9d73dcbce8",
      "tree": "e9c6750c951f515919737afe67852f4c74845d84",
      "parents": [
        "654a473bfea9a4197868ae81091812505da8ca87"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 26 20:40:19 2015 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Mar 03 10:15:21 2015 -0800"
      },
      "message": "Change ActivityView startActivity state sequence\n\nProblems arise if an activity is started in an ActivityView when the\nparent activity is not resumed. In particular the ActivityView can\nbe brought to the front in front of other activities that have been\nstarted by the parent.\n\nThis change checks the state of the parent when the ActivityView is\nstarting and if it is not resumed, throws an Exception.\n\nThis change also removes the queueing up of Intents if the surface\ndoes not exist when startActivity is called. Now, the owner of the\nActivityView is notified when the surface becomes available. If\nstartActivity is called before that notification an Exception will be\nthrown.\n\nFixes bug 19147472.\n\nChange-Id: I6712cf1929fe65c4238ce7f3feb4e8511ed97244\n"
    },
    {
      "commit": "59e06d3ab479ab04df84b783cb119f032549f492",
      "tree": "d9550fd5856b6534ab7675aec2f1930ac1768f30",
      "parents": [
        "5864f5ed4bd934d7e483805b9b599f033c34ba44",
        "98fdff61dd651f52d36c0e88dcce8a04568b7cc7"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Mar 03 17:08:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 03 17:08:50 2015 +0000"
      },
      "message": "am 98fdff61: am 56fde9e7: Merge \"SELinuxPolicyInstallReceiver: Prevent partial or mixed policy updates.\"\n\n* commit \u002798fdff61dd651f52d36c0e88dcce8a04568b7cc7\u0027:\n  SELinuxPolicyInstallReceiver: Prevent partial or mixed policy updates.\n"
    },
    {
      "commit": "98fdff61dd651f52d36c0e88dcce8a04568b7cc7",
      "tree": "ecae4e9812435a7ec7449943ecf595f88a8f7596",
      "parents": [
        "545093df16ed2a94c1636ec8e8148574e6cad303",
        "56fde9e70ef850ca7e3f076e52567f5c75b5e7da"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Mar 03 17:02:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 03 17:02:22 2015 +0000"
      },
      "message": "am 56fde9e7: Merge \"SELinuxPolicyInstallReceiver: Prevent partial or mixed policy updates.\"\n\n* commit \u002756fde9e70ef850ca7e3f076e52567f5c75b5e7da\u0027:\n  SELinuxPolicyInstallReceiver: Prevent partial or mixed policy updates.\n"
    },
    {
      "commit": "06e9147d8a9e07aa06433f18323253f8659d27f9",
      "tree": "f94731df5b03a572c8dc4b6b2c4c1f29464c49a0",
      "parents": [
        "70775beddd3773a942084f5ef939da0a70065475",
        "c8e3784e259a1c668193a6590570847c9cd9310b"
      ],
      "author": {
        "name": "Shishir Agrawal",
        "email": "shishir@google.com",
        "time": "Mon Mar 02 22:54:59 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 02 22:54:59 2015 +0000"
      },
      "message": "am c8e3784e: am 20a5df62: am bcced5b8: Merge \"Fix incorrect condition for sub id check.\" into lmp-mr1-dev\n\n* commit \u0027c8e3784e259a1c668193a6590570847c9cd9310b\u0027:\n  Fix incorrect condition for sub id check.\n"
    },
    {
      "commit": "c8e3784e259a1c668193a6590570847c9cd9310b",
      "tree": "ec962168a1ff44329993835cd286ffedd676f97a",
      "parents": [
        "fb96187bb6004e5d0b22e4d942aa236a08d8913b",
        "20a5df6205c3d57bfcb5b8e1454fb88c638c8ae3"
      ],
      "author": {
        "name": "Shishir Agrawal",
        "email": "shishir@google.com",
        "time": "Mon Mar 02 22:48:11 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 02 22:48:11 2015 +0000"
      },
      "message": "am 20a5df62: am bcced5b8: Merge \"Fix incorrect condition for sub id check.\" into lmp-mr1-dev\n\n* commit \u002720a5df6205c3d57bfcb5b8e1454fb88c638c8ae3\u0027:\n  Fix incorrect condition for sub id check.\n"
    },
    {
      "commit": "20a5df6205c3d57bfcb5b8e1454fb88c638c8ae3",
      "tree": "85db152430ac15a5683dd1c1309f09987d2bab34",
      "parents": [
        "32dc37b72e787ca9323c01aa86e65694b6ff0cf7",
        "bcced5b834e49bf3a0b57a0009958ba061d31e76"
      ],
      "author": {
        "name": "Shishir Agrawal",
        "email": "shishir@google.com",
        "time": "Mon Mar 02 22:38:43 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 02 22:38:43 2015 +0000"
      },
      "message": "am bcced5b8: Merge \"Fix incorrect condition for sub id check.\" into lmp-mr1-dev\n\n* commit \u0027bcced5b834e49bf3a0b57a0009958ba061d31e76\u0027:\n  Fix incorrect condition for sub id check.\n"
    },
    {
      "commit": "e9dc17233f25483298186b0521874bf962e3f10e",
      "tree": "fc9ae50cad1aad4e52384e7d49b926ebedcbee05",
      "parents": [
        "8cba382f04e4ead4a6b8c4a74216ddb383e8db91"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Feb 27 14:35:53 2015 -0500"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Feb 27 16:07:55 2015 -0500"
      },
      "message": "SELinuxPolicyInstallReceiver: Prevent partial or mixed policy updates.\n\nThe current SELinuxPolicyInstallReceiver logic can yield a partial\nor mixed (old and new) set of policy files under /data/security/current\nif there is an error or a crash at certain points before completing\nthe installation of the update.\n\nRewrite the logic to avoid the possibility of such partial or mixed\npolicy updates by using rename on the entire directory of policy\nfiles rather than operating on a per-file basis.  Also separate\nthe extraction of the policy files from the bundle into their own\ntemporary directory.  Make sure we delete any previous temporary directory\nor backup directory before using them for this update.  Drop the\nuse of a symlink for /data/security/current altogether; it provides\nno benefit.\n\nChange-Id: I564af01c2c3ca1531c216013b8724c7511f32de8\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "0fbcc7086fe742e641915ed5f097119d01613cb5",
      "tree": "2a9c155aefb7515613e5ba75196f93bba9bfc550",
      "parents": [
        "892609ad34145e6418e42c683428f1a880b4c874",
        "1e74b5d6b0e964b7a9e58e64b45f50aec15b1178"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Wed Feb 25 21:40:38 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 25 21:40:38 2015 +0000"
      },
      "message": "am 1e74b5d6: Merge \"Burn in protection.\" into lmp-mr1-modular-dev\n\n* commit \u00271e74b5d6b0e964b7a9e58e64b45f50aec15b1178\u0027:\n  Burn in protection.\n"
    },
    {
      "commit": "1e74b5d6b0e964b7a9e58e64b45f50aec15b1178",
      "tree": "91e563909e2b441cadda884c79ad38206153fd6d",
      "parents": [
        "aeffc9cebd4e97889f5b2f61de38c60b83535ffa",
        "d2e8640c2c1972d4f2e92d48660fa9e17d9291c4"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Wed Feb 25 21:30:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 25 21:31:53 2015 +0000"
      },
      "message": "Merge \"Burn in protection.\" into lmp-mr1-modular-dev"
    },
    {
      "commit": "d2e8640c2c1972d4f2e92d48660fa9e17d9291c4",
      "tree": "c6ac43889a6736ee26ae44db089641fe1bfb85ff",
      "parents": [
        "01dd0e86546a5bf815dd9a6e7cd4b7bf8e8f5719"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Thu Feb 19 13:05:03 2015 -0800"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Wed Feb 25 12:22:49 2015 -0800"
      },
      "message": "Burn in protection.\n\nBug: 19373758\nChange-Id: I7242f73acadd21bdee03262b4205c8af0734fccb\n"
    },
    {
      "commit": "892609ad34145e6418e42c683428f1a880b4c874",
      "tree": "18cdd32b217f3e216ebc9758b2a72ed505dce132",
      "parents": [
        "f7b68049521b5f1c31894f5dad529f719098e987",
        "aeffc9cebd4e97889f5b2f61de38c60b83535ffa"
      ],
      "author": {
        "name": "Griff Hazen",
        "email": "griff@google.com",
        "time": "Wed Feb 25 19:47:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 25 19:47:12 2015 +0000"
      },
      "message": "am aeffc9ce: Merge \"Always draw the circular emulator overlay with square dimensions\" into lmp-mr1-modular-dev\n\n* commit \u0027aeffc9cebd4e97889f5b2f61de38c60b83535ffa\u0027:\n  Always draw the circular emulator overlay with square dimensions\n"
    },
    {
      "commit": "aeffc9cebd4e97889f5b2f61de38c60b83535ffa",
      "tree": "64f3cdb6ca779b2641e922f1bf47c1321cdec768",
      "parents": [
        "01dd0e86546a5bf815dd9a6e7cd4b7bf8e8f5719",
        "1ad0fe6c3670f185bddeb0b4d17aba237765ea6b"
      ],
      "author": {
        "name": "Griff Hazen",
        "email": "griff@google.com",
        "time": "Wed Feb 25 19:39:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 25 19:39:56 2015 +0000"
      },
      "message": "Merge \"Always draw the circular emulator overlay with square dimensions\" into lmp-mr1-modular-dev"
    },
    {
      "commit": "cf8c112ed87752d79a869de9426b5c5a950b5c43",
      "tree": "5f1ef793286e0d1386e683d3f4cd3e5ef44412cc",
      "parents": [
        "b060f018effb27a79797e55f9eb6a592db2cb39a",
        "01dd0e86546a5bf815dd9a6e7cd4b7bf8e8f5719"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Wed Feb 25 18:44:57 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 25 18:44:57 2015 +0000"
      },
      "message": "am 01dd0e86: Merge \"Force translucency from windowIsTranslucent on SwipeDismissLayout.\" into lmp-mr1-modular-dev\n\n* commit \u002701dd0e86546a5bf815dd9a6e7cd4b7bf8e8f5719\u0027:\n  Force translucency from windowIsTranslucent on SwipeDismissLayout.\n"
    },
    {
      "commit": "23958c6e2ffd4e76a88bc553fe2874d2f5f3f5e2",
      "tree": "0b8049cab215d58a0d3bb8f17d180afe6a79d699",
      "parents": [
        "c0c395162ff14b83694158663470ad60e065d9a9"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Mon Feb 23 18:05:27 2015 -0800"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Tue Feb 24 16:59:45 2015 -0800"
      },
      "message": "Force translucency from windowIsTranslucent on SwipeDismissLayout.\n\nBug: 18799741\n\nChange-Id: Ifb05869f1bf080d7555d7728dc085c41cc2c277c\n"
    },
    {
      "commit": "57bb5f5c8bf1875d2c6843237f518e5a1f9fe597",
      "tree": "dafa1fb3a2c8afdc03fd3d313b6c520af2addd5d",
      "parents": [
        "f271fa33f148b0c410e8ee06aceb1f2b57cd62c7",
        "c0c395162ff14b83694158663470ad60e065d9a9"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Tue Feb 24 00:46:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 00:46:48 2015 +0000"
      },
      "message": "am c0c39516: Merge \"Hold a wake lock while dozing when display updates are pending.\" into lmp-mr1-modular-dev\n\n* commit \u0027c0c395162ff14b83694158663470ad60e065d9a9\u0027:\n  Hold a wake lock while dozing when display updates are pending.\n"
    },
    {
      "commit": "985f52cde55a3b1b72d3fc73ffe67005d1906438",
      "tree": "37deace4f8eac18da216e5f2d7336d3766c1fcd7",
      "parents": [
        "99142d298213e93f673057c2334b04b38f7e4450"
      ],
      "author": {
        "name": "Junda Liu",
        "email": "junda@google.com",
        "time": "Mon Feb 23 16:06:51 2015 -0800"
      },
      "committer": {
        "name": "Junda Liu",
        "email": "junda@google.com",
        "time": "Mon Feb 23 16:06:51 2015 -0800"
      },
      "message": "Fix incorrect condition for sub id check.\n\nBug: b/19277299\nChange-Id: Iea6806926f0e9d9404a3f2613d03b8a0607fea54\n"
    },
    {
      "commit": "c2932a1be3e320679034212698aff376d5104dbe",
      "tree": "f765fdebae103b5201b0838c64712412603c78d1",
      "parents": [
        "823bf307a248f332f708fd8b359008df837722eb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 20 18:04:05 2014 -0800"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Fri Feb 20 10:54:09 2015 -0800"
      },
      "message": "Hold a wake lock while dozing when display updates are pending.\n\nWhen the display state is DOZE or DOZE_SUSPEND, assume this means\nthat the AP may go to sleep at any time so hold a wake lock for\na little while starting when traversals are scheduled to ensure\nthat the AP remains awake long enough to draw and post the frame\nto the display hardware.\n\nThis patch is somewhat approximate but should be good enough for\nmost devices today.\n\nNote that the implementation uses the window manager to ensure that\nthe window which wants to draw is actually visible before acquiring\nthe wake lock.  There is a cost to this test (a round-trip) which\nshould not be significant today since we do not expect apps to draw\nmore than one frame or two while dozing.  However, if we wanted to\nsupport animations in general, we might want to optimize it or\neliminate the check altogether (since we can already account for\nthe app\u0027s use of the wake lock).\n\nAnother way to implement this functionality might be for the view\nhierarchy to listen for the power manager to report that it has entered\na non-interactive power state before deciding to poke draw locks.\nThis would be somewhat more accurate than watching the display state.\nAlso, the draw lock timeout logic could be implemented more directly\ninstead of using an ordinary timed wake lock.\n\nBug: 18284212\nChange-Id: I84b341c678303e8b7481bd1620e634fe82cc4350\n"
    },
    {
      "commit": "4fecab570da64a1956352aedf1b3245d3ba26030",
      "tree": "4986924779f175b20662b8f41144fdb5f40d40b2",
      "parents": [
        "644ebc8800ad5e2fa1c239bd65a2cf6a88e6556b",
        "32acf753e8989766f67fd5300d3eb467f707cc79"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:36 2015 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:36 2015 -0800"
      },
      "message": "Merge commit \u002732acf753e8989766f67fd5300d3eb467f707cc79\u0027 into HEAD\n"
    },
    {
      "commit": "4a0e02377ca89d6e606662dc4b96ca87bcb53055",
      "tree": "e75abd773a39e8b23332ac08724352bb410d3a47",
      "parents": [
        "b456104d9f8ff0dba77f80f7e5e23753d58716a2",
        "bdbd4736351231aac4da720ff7326ea2791e0b00"
      ],
      "author": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Thu Feb 19 01:06:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 19 01:06:51 2015 +0000"
      },
      "message": "am bdbd4736: Merge \"Refinements to magnification for improved wearable support.\" into lmp-mr1-modular-dev\n\n* commit \u0027bdbd4736351231aac4da720ff7326ea2791e0b00\u0027:\n  Refinements to magnification for improved wearable support.\n"
    },
    {
      "commit": "0944984c36934c6b5431383d1b6a719b64338074",
      "tree": "243bcf5cccba733be02eff717dc4a30c0a7b3a27",
      "parents": [
        "8bd345f90d27d88a7929b874efd6fa57c0c38146"
      ],
      "author": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Wed Feb 18 12:18:15 2015 -0800"
      },
      "committer": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Wed Feb 18 12:24:45 2015 -0800"
      },
      "message": "Refinements to magnification for improved wearable support.\n\nThis change refactors ScreenMagnifier to use resources for its triple-tap\nadjustment and scale threshold values.  New values more appropriate for\nwearable form factors are supplied.  This also fixes a bug in the triple-\ntap detection logic where the incorrect ViewConfiguration value for the\ntap threshold was used, prematurely disqualifying some touch events as\npotential taps.\n\nChange-Id: If47e556aadb5beb1bad24644122560c6fbe33bad\n"
    },
    {
      "commit": "2007a630d4767b4e90f8ed727acd574424c2183c",
      "tree": "3257d56d32ee4efab1a5fe93a5b7e63e9fe129a2",
      "parents": [
        "b20d48fd20928cf3167ee37649d702c90c7e0218",
        "28de8edb7d72f938f47d7fdd8ce058c5c8933b8e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 17 23:53:11 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 17 23:53:11 2015 +0000"
      },
      "message": "am 28de8edb: am ab8f60e4: am a94e4297: Merge \"Do not make ActivityContainer available to apps. DO NOT MERGE\" into lmp-mr1-dev\n\n* commit \u002728de8edb7d72f938f47d7fdd8ce058c5c8933b8e\u0027:\n  Do not make ActivityContainer available to apps. DO NOT MERGE\n"
    },
    {
      "commit": "28de8edb7d72f938f47d7fdd8ce058c5c8933b8e",
      "tree": "7493315f05acfb9ae8c8aca96c80122ece77657e",
      "parents": [
        "014442c28eae214af56f4c1fe3e0c21d5b091d25",
        "ab8f60e425a90045eca06c09f0274f402b062d8f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 17 23:43:33 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 17 23:43:33 2015 +0000"
      },
      "message": "am ab8f60e4: am a94e4297: Merge \"Do not make ActivityContainer available to apps. DO NOT MERGE\" into lmp-mr1-dev\n\n* commit \u0027ab8f60e425a90045eca06c09f0274f402b062d8f\u0027:\n  Do not make ActivityContainer available to apps. DO NOT MERGE\n"
    },
    {
      "commit": "ab8f60e425a90045eca06c09f0274f402b062d8f",
      "tree": "dd302a4bc4c389bf35f77909c6f9156c7e5c78d7",
      "parents": [
        "0dfae079633764c3b6fceaea38fdc664e0e5a76d",
        "a94e42970d4e664e193cde0cf2700cb7e15961c9"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 17 23:36:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 17 23:36:51 2015 +0000"
      },
      "message": "am a94e4297: Merge \"Do not make ActivityContainer available to apps. DO NOT MERGE\" into lmp-mr1-dev\n\n* commit \u0027a94e42970d4e664e193cde0cf2700cb7e15961c9\u0027:\n  Do not make ActivityContainer available to apps. DO NOT MERGE\n"
    },
    {
      "commit": "ca0653a424f9d0f64ad15236c882af2b8ed2fe00",
      "tree": "39590172fd3bf47eebc3410e8bf8109029c7c330",
      "parents": [
        "024fd0c6051e01579018fad0c1a56e9e47b195df"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 17 10:17:21 2015 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 17 20:41:39 2015 +0000"
      },
      "message": "Do not make ActivityContainer available to apps. DO NOT MERGE\n\nA security leak was discovered whereby a malicious app could get the\nIActivityContainer object from one app and use it to inject events\ninto another app. This fix removes the availability of the\nIActivityContainer and replaces its one use with a method for\nreturning the information the IActivityContainer was used for.\n\nFixes bug 19394591.\n\nChange-Id: Ib3cec25b25130cd8e098892c057742cfd575cfdd\n"
    },
    {
      "commit": "1ad0fe6c3670f185bddeb0b4d17aba237765ea6b",
      "tree": "c55defce0ccc88021b2d2223e691775d544e592b",
      "parents": [
        "0a786f5f227683f2d54145117b746629ddd2c32b"
      ],
      "author": {
        "name": "Griff Hazen",
        "email": "griff@google.com",
        "time": "Tue Feb 10 16:01:19 2015 -0800"
      },
      "committer": {
        "name": "Griff Hazen",
        "email": "griff@google.com",
        "time": "Tue Feb 17 10:17:08 2015 -0800"
      },
      "message": "Always draw the circular emulator overlay with square dimensions\n\nBug: 17440607\n\nChange-Id: I37bb99a0185c6269a3a541f0d810c11ff0acfb36\n"
    },
    {
      "commit": "c8036cdc602a35a415fd66370c7621bb957f657e",
      "tree": "1adb810aff00485686fc83150611a3646232eb4c",
      "parents": [
        "0bbacbdd2f3d7711fb9bbcb2852ff62fd497d731",
        "5d8f249104a1798b6c55ae1de4e5ea36a4babd53"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 16 23:09:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 16 23:09:22 2015 +0000"
      },
      "message": "am 5d8f2491: am 2a005f6f: Merge \"Prevent leaking surfaces from exiting windows\"\n\n* commit \u00275d8f249104a1798b6c55ae1de4e5ea36a4babd53\u0027:\n  Prevent leaking surfaces from exiting windows\n"
    },
    {
      "commit": "2a005f6fe91eac2ac2646be17815756637ed610f",
      "tree": "64c5a5b4853e79471a4bfa50634cb6d2ecfc4b2e",
      "parents": [
        "e7e923818096a8a046ad183e932454428218c867",
        "713abc2879c21106eb806739cfd51c2a81a9b401"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 16 22:59:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 16 22:59:20 2015 +0000"
      },
      "message": "Merge \"Prevent leaking surfaces from exiting windows\""
    },
    {
      "commit": "713abc2879c21106eb806739cfd51c2a81a9b401",
      "tree": "50b996adc44d1de0090005431a6e7ed6b8eddd0f",
      "parents": [
        "106da5bf80d182a2e6fd346e1836ae4fc0ba1d92"
      ],
      "author": {
        "name": "tiger_huang",
        "email": "tiger_huang@htc.com",
        "time": "Mon Feb 16 16:14:47 2015 +0800"
      },
      "committer": {
        "name": "Tiger Huang",
        "email": "tiger_huang@htc.com",
        "time": "Mon Feb 16 08:27:28 2015 +0000"
      },
      "message": "Prevent leaking surfaces from exiting windows\n\nAM would set the exiting app to be invisible twice by calling\nsetAppVisibility(). If the screen is turned off during these calls,\nthe window surfaces of this exiting app won\u0027t be destroyed.\n\nThe flow:\n 1. Screen is on\n 2. App A is finished\n 3. AM calls setAppVisibility() token\u003dApp A, visible\u003dfalse\n 4. WM sets a dummy animation to App A\n 5. WM marks App A\u0027s wtoken.inPendingTransaction\u003dtrue\n 6. Screen is turned off\n 7. AM calls setAppVisibility() token\u003dApp A, visible\u003dfalse\n 8. WM calls setTokenVisibilityLocked() directly (screen is off)\n 9. WM sends app visibility to App A\u0027s client (ViewRootImpl)\n10. WM clears the dummy animation from App A\n11. App A\u0027s client calls WMS.relayoutWindow() to be not visible\n12. WM sets App A\u0027s window mExiting\u003dtrue but not destroy its surface\n13. App A\u0027s window surface leaks...\n\nNote:\na. The call in 3. is from ActivityStack.finishActivityLocked\nb. The call in 7. is from ActivityStack.resumeTopActivityInnerLocked\nc. In 10., App A won\u0027t get the real animation while screen is off\nd. In 12., App A\u0027s inPendingTransaction\u003dtrue; WM takes it\u0027s animating\ne. mExiting won\u0027t be cleared because App A has no animation to\n   trigger WindowStateAnimator.finishExit()\n\nAfter applying this patch, WM would destroy the surface in 12. of the\nabove flow.\n\nChange-Id: I18b79ba96695ec80d57a85dc15cf92a9e7d3a6ef\n"
    },
    {
      "commit": "f1df1970db523f60d6ac7850fba93ae98a46163b",
      "tree": "9cde04bfe418db39afe4727d20ab5c255d3e41f9",
      "parents": [
        "a511eea83b0209729e4b42e219f233f818a6d9e7",
        "88a9a2a46eb77ea340175f5d272433f4de1b6f93"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Sat Feb 14 02:27:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 14 02:27:19 2015 +0000"
      },
      "message": "am 88a9a2a4: Merge \"Support for faster brightness response to light changes.\" into lmp-mr1-modular-dev\n\n* commit \u002788a9a2a46eb77ea340175f5d272433f4de1b6f93\u0027:\n  Support for faster brightness response to light changes.\n"
    },
    {
      "commit": "d81ecd12cec5e1efa8ca49036bb023746f63d90a",
      "tree": "62658ee2c40d3559a591d5c79164cd9f62b56075",
      "parents": [
        "fb7c14c5f974cad8b74e51cc8fab86c276626780"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Fri Feb 06 12:38:47 2015 -0800"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Fri Feb 13 09:40:15 2015 -0800"
      },
      "message": "Support for faster brightness response to light changes.\n\nBug: 18572096\n\nChange-Id: Ic9448db672b036779d16883f3476249cea45d97a\n"
    },
    {
      "commit": "a511eea83b0209729e4b42e219f233f818a6d9e7",
      "tree": "3adec75bf9a3e81f5a922ccfbe4b5e4a1ffa49bd",
      "parents": [
        "04057e5d14030ef54c522b2372019cf2858083e9",
        "aee7f64c10ffd2135dc98f7a540836ad7a32438b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Feb 13 12:09:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 13 12:09:31 2015 +0000"
      },
      "message": "am aee7f64c: am b4a5c04c: Merge \"Remove code that sets user.* system properties.\"\n\n* commit \u0027aee7f64c10ffd2135dc98f7a540836ad7a32438b\u0027:\n  Remove code that sets user.* system properties.\n"
    },
    {
      "commit": "70e8f6600de8a2b9cbb17cd919b14a4609fc68bd",
      "tree": "4b7528796538e82d9836eb62ae4ab910bab4225f",
      "parents": [
        "ec403e8f476c817b87c0ef9297fdb548e8b1e4e4"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Feb 12 17:50:24 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Feb 13 11:57:08 2015 +0000"
      },
      "message": "Remove code that sets user.* system properties.\n\nThis has been disallowed by the SELinux for several years now,\nso can safely be removed. Given that saveLocaleLocked is\nsimplified quite a bit, we can now inline into its only caller.\n\nbug: 18910417\n\nChange-Id: I18251f77e4a25a0e7ecda8e85a9b3fcdc2dc7b05\n"
    }
  ],
  "next": "d1a5b5dc07dc3798ae13a5a9538b5e5bbbeb8058"
}
