)]}'
{
  "log": [
    {
      "commit": "aa19a2f69c33fdb6499d0bc1cfafced9f572da5b",
      "tree": "b0e1acaf7edf41441d9a800ec347e69d08d6dd3a",
      "parents": [
        "4f4892d00aab13975a8aed000f84ae0320355fd7",
        "90c75cf02e8e36be8679273f4ea15fd145001033"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 14 08:18:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 14 08:18:25 2014 +0000"
      },
      "message": "Merge \"Don\u0027t compare String8s to NULL.\""
    },
    {
      "commit": "90c75cf02e8e36be8679273f4ea15fd145001033",
      "tree": "8619abb2bafa9ece6622855ec829b0573d4f99bb",
      "parents": [
        "b093e485bbd790cc4d9678451c8cce4d361c2cf2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Apr 12 12:25:50 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Apr 12 12:25:50 2014 +0100"
      },
      "message": "Don\u0027t compare String8s to NULL.\n\nUse String8::isEmpty instead. Note that this code path is hit\nonly if the zygote calls ::exit, and that never happens unless\nthe VM invocation fails.\n\nChange-Id: I0e7d3a86a79b12b2174ca3bf0dbe1904e33c041a\n"
    },
    {
      "commit": "4f4892d00aab13975a8aed000f84ae0320355fd7",
      "tree": "77fa55baad342591568747c791bb27431a1efdb9",
      "parents": [
        "b093e485bbd790cc4d9678451c8cce4d361c2cf2",
        "2d84a406bfc69eaad952078b01c3d5c76a489b41"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 11 18:29:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 11 18:29:55 2014 +0000"
      },
      "message": "Merge \"Workaround 64 bit devices that don\u0027t have zygotes yet.\""
    },
    {
      "commit": "2d84a406bfc69eaad952078b01c3d5c76a489b41",
      "tree": "77fa55baad342591568747c791bb27431a1efdb9",
      "parents": [
        "b093e485bbd790cc4d9678451c8cce4d361c2cf2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 11 18:44:31 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 11 19:24:53 2014 +0100"
      },
      "message": "Workaround 64 bit devices that don\u0027t have zygotes yet.\n\nThis can be fixed by tweaking their BoardConfig as well,\nbut that leads to all sorts of other problems.\n\nFor now, fall back to the primary zygote if the secondary\nis unavailable. This will fail if shared libraries for the\nprimary zygote ABI are unavailable, but that won\u0027t be the\ncase just yet.\n\nbug: 13970103\nChange-Id: Ifa107e43ca95023d57a0d9c641e4fddaccd9a888\n"
    },
    {
      "commit": "b093e485bbd790cc4d9678451c8cce4d361c2cf2",
      "tree": "b4025e6172cbac8889036a8c83d511b027e98be9",
      "parents": [
        "8cd319b84635454746803b0eed7e2626d7945a09",
        "79d097ee5bd3281669b39419e1fa7aa2f5e96820"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 11 17:37:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 11 17:37:54 2014 +0000"
      },
      "message": "Merge \"generateProjectThumbnail can fail to close output stream\""
    },
    {
      "commit": "8cd319b84635454746803b0eed7e2626d7945a09",
      "tree": "0b49172048cdd258e30dc2b673d125225b1fbf49",
      "parents": [
        "d2a11d97a94bed18629bded429f118f57f4f7821",
        "962dde734b7e347948a1624571e8c180260bae85"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 11 17:30:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 11 17:30:09 2014 +0000"
      },
      "message": "Merge \"Add additional languages to be accepted by the NumberPicker input filter\""
    },
    {
      "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": "909a6a0e2b5815332618b2cf731d27824a76d042",
      "tree": "e735b3681dfb7e72314843f2921917d52237b008",
      "parents": [
        "b827f78e7acee3a604c315615268edf7098dc184",
        "d35d3e5d391b8daf20f9af2c5f01d5ff1985c1ee"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 11 08:24:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 11 08:24:52 2014 +0000"
      },
      "message": "Merge \"Dual zygote cleanup.\""
    },
    {
      "commit": "b827f78e7acee3a604c315615268edf7098dc184",
      "tree": "79f73ab5b8fada04b00007ad2ba8f5c088f5f29f",
      "parents": [
        "09e13cc5f9f98382376eb49bfa6ceb94a50d37a1",
        "1b20424cf09de4a061eda64ea4e6ea85dcba9492"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 11:18:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 10 11:18:28 2014 +0000"
      },
      "message": "Merge \"Removed android.debug.JNITest from preloaded-classes\""
    },
    {
      "commit": "d35d3e5d391b8daf20f9af2c5f01d5ff1985c1ee",
      "tree": "d5ffc966f3e4d3bf0711209213e73e03651d6749",
      "parents": [
        "09e13cc5f9f98382376eb49bfa6ceb94a50d37a1"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 12:13:06 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 12:15:39 2014 +0100"
      },
      "message": "Dual zygote cleanup.\n\n- Use different process names for the 32 / 64 bit zygote.\n- Pass command line arguments correctly. The first unmatched\n  argument must be passed through to the java main class.\n\nChange-Id: I952ebbdbba941f118d992354b9bd0ada2dade417\n"
    },
    {
      "commit": "09e13cc5f9f98382376eb49bfa6ceb94a50d37a1",
      "tree": "892d3deb7188f2840dbd04f6039a8edd55aa236e",
      "parents": [
        "80413c9fe10acf36eaecd139198c7fc17e8af2e6",
        "ff0c470833b2cb4130a30895093630242d5f238d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 09:20:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 10 09:20:22 2014 +0000"
      },
      "message": "Merge \"System services detect and register app CPU ABIs\""
    },
    {
      "commit": "80413c9fe10acf36eaecd139198c7fc17e8af2e6",
      "tree": "80e8885a3d8493614f8f6aa025b2b34260216f5f",
      "parents": [
        "ecdf9b199ac9659c37c34c0b23084199acea80bf",
        "1378aba7aeeb7f6dd6cc2503968ba7b0e58d9333"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 09:19:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 10 09:19:38 2014 +0000"
      },
      "message": "Merge \"Re-implement native library search and copies.\""
    },
    {
      "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"
    },
    {
      "commit": "1378aba7aeeb7f6dd6cc2503968ba7b0e58d9333",
      "tree": "7c69781ce86ea7fcf88775cb514a49a7824898f9",
      "parents": [
        "a6f5e79dd182b05909fa53109e74638afcd7ee12"
      ],
      "author": {
        "name": "Ramin Zaghi",
        "email": "ramin.zaghi@arm.com",
        "time": "Fri Feb 28 15:03:19 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 17:16:40 2014 +0100"
      },
      "message": "Re-implement native library search and copies.\n\nWe now use a two step approach :\n\n- First we look through the list of shared libraries in an\n  APK, and choose an ABI based on the (priority)  list of ABIs\n  a given device supports.\n- Then we look through the list of shared libraries and copy\n  all shared libraries that match the ABI we\u0027ve selected.\n\nThis fixes a long-standing bug where we would sometimes copy\na mixture of different ABIs to the device, and also allows us\nto clearly pick an ABI to run an app with.\n\nThe code in NativeLibraryHelper has been refactored so that all\nfile name validation \u0026 matching logic is done in a single place\n(NativeLibrariesIterator). This allows us to avoid a lot of\nredundant logic and straightens out a few corner cases (for eg.\nwhere the abi determination \u0026 copying logic do not agree on\nwhat files to skip).\n\nbug: https://code.google.com/p/android/issues/detail?id\u003d65053\nbug: 13647418\n\nChange-Id: I34d08353f24115b0f6b800a7eda3ac427fa25fef\nCo-Authored-By: Zhenghua Wang \u003czhenghua.wang0923@gmail.com\u003e\nCo-Authored-By: Ramin Zaghi \u003cramin.zaghi@arm.com\u003e\nCo-Authored-By: Narayan Kamath \u003cnarayan@google.com\u003e\n"
    },
    {
      "commit": "ecdf9b199ac9659c37c34c0b23084199acea80bf",
      "tree": "20b6c8abaaa83755f1aebc7387543bb8bc14f8fc",
      "parents": [
        "a6f5e79dd182b05909fa53109e74638afcd7ee12",
        "b519aeca47a7b798926c00ce5c8cf730e26e75fd"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 09 16:07:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 09 16:07:48 2014 +0000"
      },
      "message": "Merge \"jni: liblog reading error API incorrect\""
    },
    {
      "commit": "a6f5e79dd182b05909fa53109e74638afcd7ee12",
      "tree": "86dc3cec3d49374b937ae0d205c98b4b5eefa38e",
      "parents": [
        "d4b644092e8d2719d01ad297b080bd50b1fdf60d",
        "4444dcd0adc7e035cca030b90ed91f0cff9a772b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 14:12:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 09 14:12:23 2014 +0000"
      },
      "message": "Merge \"Allow connections to multiple zygotes.\""
    },
    {
      "commit": "4444dcd0adc7e035cca030b90ed91f0cff9a772b",
      "tree": "86dc3cec3d49374b937ae0d205c98b4b5eefa38e",
      "parents": [
        "d4b644092e8d2719d01ad297b080bd50b1fdf60d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 03 20:15:15 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 15:07:10 2014 +0100"
      },
      "message": "Allow connections to multiple zygotes.\n\nAdds a new String argument \"abi\" to Process.start.\nThis method will now query the zygotes to\ndetermine what ABIs the primary and the secondary\nzygote support (the secondary is optional) and dispatch\na fork request over the right zygote connection.\n\nBoth zygotes are assumed to be active at all points.\n\nChange-Id: I460319b4481ff1c1666e8172223691820658a35c\n"
    },
    {
      "commit": "d4b644092e8d2719d01ad297b080bd50b1fdf60d",
      "tree": "06f51dec3427c6e8322816b2e43f2bb784f28fe0",
      "parents": [
        "cecfb94f3f1b2978ba66342d7920e83770c808e3",
        "c41638cb759ce569630ffae4c5c4cdee1b0f3b82"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 13:55:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 09 13:55:58 2014 +0000"
      },
      "message": "Merge \"Make zygotes aware of their supported ABIs.\""
    },
    {
      "commit": "cecfb94f3f1b2978ba66342d7920e83770c808e3",
      "tree": "f5ca6c4f0055e8c4ef01cf484abc65d983ec990b",
      "parents": [
        "a5608acbd7647e0fd9aa87e5319715b0cbd6b0c0",
        "22ec1eefa4dc8e12f7da8e8750d4770144941526"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 13:55:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 09 13:55:54 2014 +0000"
      },
      "message": "Merge \"Clean up argc / argv processing for runtime args.\""
    },
    {
      "commit": "c41638cb759ce569630ffae4c5c4cdee1b0f3b82",
      "tree": "06f51dec3427c6e8322816b2e43f2bb784f28fe0",
      "parents": [
        "22ec1eefa4dc8e12f7da8e8750d4770144941526"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 07 13:56:15 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 13:41:15 2014 +0100"
      },
      "message": "Make zygotes aware of their supported ABIs.\n\nQuery system properties for the list of ABIs and pass\nit as a command line argument to ZygoteInit.\n\nAlso add a new Zygote command that returns this list of\nABIs to peers.\n\nChange-Id: I68034c6f63fa626911122579a011a0a25a8cda94\n"
    },
    {
      "commit": "22ec1eefa4dc8e12f7da8e8750d4770144941526",
      "tree": "f5ca6c4f0055e8c4ef01cf484abc65d983ec990b",
      "parents": [
        "a5608acbd7647e0fd9aa87e5319715b0cbd6b0c0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 07 12:44:58 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 13:39:41 2014 +0100"
      },
      "message": "Clean up argc / argv processing for runtime args.\n\n- Make copies of argc, argv before argv is potentially\n  overwritten with the process name.\n- Allow multiple command line arguments to be passed to\n  ZygoteInit (this is required for some of the 64 bit\n  zygote work).\n- Add an explanatory comment about how these argments\n  are processed.\n\nChange-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0\n"
    },
    {
      "commit": "a5608acbd7647e0fd9aa87e5319715b0cbd6b0c0",
      "tree": "5ceffece26a391c8a1c824cd1b750d08dd31898a",
      "parents": [
        "3fb2b7132b64c65163e7c6cd948e45f703e93687",
        "f626ca2c96f629627a8df6944c9b0d774e6e67ae"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 09:07:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 09 09:07:29 2014 +0000"
      },
      "message": "Merge \"Don\u0027t allow MemoryFiles of negative length.\""
    },
    {
      "commit": "b519aeca47a7b798926c00ce5c8cf730e26e75fd",
      "tree": "d665dd7d7f51e2011c54672e4a24ee64629b864a",
      "parents": [
        "3fb2b7132b64c65163e7c6cd948e45f703e93687"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 08 15:21:50 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 08 16:17:51 2014 -0700"
      },
      "message": "jni: liblog reading error API incorrect\n\n- return value contains -errno on error.\n\nBug: 13907124\nChange-Id: I91f12db5749fac2ae8ed5b0f033d4eaf83e666f5\n"
    },
    {
      "commit": "f626ca2c96f629627a8df6944c9b0d774e6e67ae",
      "tree": "997b18ade316ba1fc66910a292f50ac775ea68b9",
      "parents": [
        "dc97144b3f83bf6dae90493a6631afc6523dfce2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Apr 08 16:10:52 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Apr 08 16:14:10 2014 +0100"
      },
      "message": "Don\u0027t allow MemoryFiles of negative length.\n\nPrevents us from converting a (signed) jint into an\n(unsigned) size_t and having horrible things happen.\n\nChange-Id: I0f04e2eb9852ae7fc49b435fd0974f56e86751a4\n"
    },
    {
      "commit": "3fb2b7132b64c65163e7c6cd948e45f703e93687",
      "tree": "5c65d767e7df3cf80efa9102647cc29a4336054e",
      "parents": [
        "dc97144b3f83bf6dae90493a6631afc6523dfce2",
        "309ca5d947fffc6a8196be5e5148333803d442af"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Apr 07 22:10:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 07 22:10:47 2014 +0000"
      },
      "message": "Merge \"[ActivityManager] Reduce report ANR on wrong activity.\""
    },
    {
      "commit": "309ca5d947fffc6a8196be5e5148333803d442af",
      "tree": "5c65d767e7df3cf80efa9102647cc29a4336054e",
      "parents": [
        "dc97144b3f83bf6dae90493a6631afc6523dfce2"
      ],
      "author": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Tue Apr 08 02:44:03 2014 +0800"
      },
      "committer": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Tue Apr 08 02:44:03 2014 +0800"
      },
      "message": "[ActivityManager] Reduce report ANR on wrong activity.\n\nSymptom: ANR report on wrong activity.\n\nRoot Cause:\n  KK changed resume behavior that will not update focus when only resume,\nif the activity blocked, it may report ANR on previous focus.\n  By original concept, it will try to correct the ANR target,\nbut the stack of waiting(waitingVisible\u003dtrue) activity may\ndifferent with current top stack.\n  If it gets key dispatch timeout, mResumedActivity and mPausingActivity\nof its stack will be null becuase it is not top stack.\nThen it is unable to change ANR target to the real no response activity.\n\nSolution:\n Use focused stack to get the real culprit.\n\nReproduce steps:\n1.Launch an Activity X from launcher, press home key.\n2.Launch X from launcher again, X blocks(sleeps 15sec) in onResume, press back key in the beginning of blocking duration.\n3.ANR dialog shows launcher is no response.\n\nChange-Id: I99416ad91e349096f995990f2240a97616fbaf28\n"
    },
    {
      "commit": "dc97144b3f83bf6dae90493a6631afc6523dfce2",
      "tree": "fe99b91cd1c5cd0ae5dfe294bd184a61ca35f247",
      "parents": [
        "c420ce34ba177cd959cbb9432e9597d377e6cee6",
        "5eab368c4d089b23c45d31b99e4bef64003c9cfb"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 04 23:18:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 23:18:46 2014 +0000"
      },
      "message": "Merge \"Always call super.onCreate().  Always.\""
    },
    {
      "commit": "5eab368c4d089b23c45d31b99e4bef64003c9cfb",
      "tree": "fe99b91cd1c5cd0ae5dfe294bd184a61ca35f247",
      "parents": [
        "c420ce34ba177cd959cbb9432e9597d377e6cee6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Feb 12 13:14:10 2014 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 04 23:06:13 2014 +0000"
      },
      "message": "Always call super.onCreate().  Always.\n\nBug 12991134\n\n(cherrypick of commit 9d6376a1d88ab5b3a41ee4400e3aaa4c4ee69e2a)\n\nChange-Id: Ife16ef93408253e3318a06dc0206ab4b88c7f367"
    },
    {
      "commit": "c420ce34ba177cd959cbb9432e9597d377e6cee6",
      "tree": "bede5ddedb839de47ccb37a3d52516fe2735c059",
      "parents": [
        "374db6c3792e9ed56230e09fee4742632ce8159a",
        "89bc413b8f04a85dffd9c80fe497208357009c7b"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Thu Apr 03 15:50:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 15:50:29 2014 +0000"
      },
      "message": "Merge \"Marquee text RTL improvements\""
    },
    {
      "commit": "374db6c3792e9ed56230e09fee4742632ce8159a",
      "tree": "9580df860d196b7b1edab40837c0c08fbc4ff6da",
      "parents": [
        "369a00574da218975718ce07ffe6abba5c17bf92",
        "a23fcd7be8e40078a913b1a99222cdd89229e67b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 03 13:59:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 13:59:38 2014 +0000"
      },
      "message": "Merge \"Remove ProcessState::mArgc,mArgV,mArgLen\""
    },
    {
      "commit": "a23fcd7be8e40078a913b1a99222cdd89229e67b",
      "tree": "9580df860d196b7b1edab40837c0c08fbc4ff6da",
      "parents": [
        "369a00574da218975718ce07ffe6abba5c17bf92"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 28 13:39:21 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 03 12:29:07 2014 +0000"
      },
      "message": "Remove ProcessState::mArgc,mArgV,mArgLen\n\nThese look like historical oddities, and weren\u0027t really being\nused for anything useful.\n\nProcess:setArgV0 was being called by android.util.Process, but\nthat functionality can be moved directly into the implementation\nof that class.\n\nbug: 13647418\n\nChange-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6"
    },
    {
      "commit": "369a00574da218975718ce07ffe6abba5c17bf92",
      "tree": "50b31be0336df0951c452f2f62201a5d65df761d",
      "parents": [
        "89dddcc948cb3e826bfddeefae73066849aba0fc",
        "cf61c9b71faa053f407430fde043b4672c501340"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@android.com",
        "time": "Thu Apr 03 09:48:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 09:48:43 2014 +0000"
      },
      "message": "Merge \"Update ViewRootImpl for 64bit functor type.\""
    },
    {
      "commit": "89dddcc948cb3e826bfddeefae73066849aba0fc",
      "tree": "338f21cc886e4c59247682a6a124a7863b02e744",
      "parents": [
        "17b1b8fe8c0c8f05f2077acc82428881bf591a78",
        "65ba94f79d6e737c3e66c09032221999b2eb50d7"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Apr 02 20:50:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 20:51:00 2014 +0000"
      },
      "message": "Merge \"Use default visibility for Snapshot::getLocalClip.\""
    },
    {
      "commit": "65ba94f79d6e737c3e66c09032221999b2eb50d7",
      "tree": "338f21cc886e4c59247682a6a124a7863b02e744",
      "parents": [
        "17b1b8fe8c0c8f05f2077acc82428881bf591a78"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Apr 02 12:45:57 2014 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Apr 02 13:26:33 2014 -0700"
      },
      "message": "Use default visibility for Snapshot::getLocalClip.\n\nThe method is in libhwui.so but used by libandroid_runtime.so\n(via android_view_GLES20Canvas.cpp). If the compiler decides not to\ninline this method, the linker won\u0027t be able to resolve the dependency\nwhen it has hidden visibility.\n\nThe problem is found when testing GCC 4.9.\n\nChange-Id: I3b4d096c7767f0bef0796886dfb2c5ba2ecff48c\n"
    },
    {
      "commit": "cf61c9b71faa053f407430fde043b4672c501340",
      "tree": "9aa36840dd2927c6a19d70522fd6747246681a06",
      "parents": [
        "b3cafa56205942343930e4fbb0a3d50d6e33a046"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Apr 02 14:41:41 2014 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Apr 02 14:41:41 2014 +0100"
      },
      "message": "Update ViewRootImpl for 64bit functor type.\n\nChange-Id: Ie9020f0276c58ebf0977e4aef725fbc26aaf67b2\n"
    },
    {
      "commit": "17b1b8fe8c0c8f05f2077acc82428881bf591a78",
      "tree": "d30579e0b8a4342f6071983f481015860a44fd67",
      "parents": [
        "b3cafa56205942343930e4fbb0a3d50d6e33a046",
        "973b4663b0b5ee62006522bf4742af076096e548"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 10:29:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 10:29:55 2014 +0000"
      },
      "message": "Merge \"Move zygote startup logic to the frameworks.\""
    },
    {
      "commit": "973b4663b0b5ee62006522bf4742af076096e548",
      "tree": "d30579e0b8a4342f6071983f481015860a44fd67",
      "parents": [
        "b3cafa56205942343930e4fbb0a3d50d6e33a046"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 13:41:26 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 10:18:43 2014 +0100"
      },
      "message": "Move zygote startup logic to the frameworks.\n\nThe Zygote class is now in com.android.internal.os. It is\nresponsible for the vast majority of work before and after\nthe call to fork(). It calls back into the Runtime via\nthe new dalvik.system.ZygoteHooks class to allow the Runtime\nto perform pre fork cleanup and post fork initialization.\n\nThe native code in Zygote.cpp is a direct and straightforward\nport of the existing code in art. Most differences are\nsuperficial, for example :\n- We use C style logging (ALOGE) instead of stream based\n  logging.\n- We call env-\u003eFatalError() instead of using LOG(FATAL)\n\nChange-Id: Ia101fb2af12d23894fe57e4134d2bc6d142e5059\n"
    },
    {
      "commit": "b3cafa56205942343930e4fbb0a3d50d6e33a046",
      "tree": "38c9246c1744a6a442ee9765bd72005684f16f6c",
      "parents": [
        "3b2a9d22794cb9f1c2a28884b5c3ba92ecc6ff96",
        "21e0af987d7baccd5417a2f744d2dd706d85604e"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Mon Mar 31 23:21:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 31 23:21:42 2014 +0000"
      },
      "message": "Merge \"Fix RenderScriptGL setSurfaceTexture problem\""
    },
    {
      "commit": "3b2a9d22794cb9f1c2a28884b5c3ba92ecc6ff96",
      "tree": "d669108571126c88f810ec6bf10ad4e96e1ceab5",
      "parents": [
        "e3434fc4fb164b66e529e675dfc31652a4c69cb5",
        "172d38bcda8d05793db13eb763a280ac2ee36fab"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Mar 31 20:09:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 31 20:09:31 2014 +0000"
      },
      "message": "Merge \"Change when the SELinux relabel of /data/data occurs.\""
    },
    {
      "commit": "e3434fc4fb164b66e529e675dfc31652a4c69cb5",
      "tree": "cd5044e615a227a9ec7053e2caa88c2580e6737e",
      "parents": [
        "ab561f5b4073055c414866ff3dbe8372263474a7",
        "ff9ca781d0db5f81c3e703641fc7b9a34936a328"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 31 19:49:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 31 19:49:35 2014 +0000"
      },
      "message": "Merge \"Improve detail message for X509TrustManagerExtensions argument validation\""
    },
    {
      "commit": "ff9ca781d0db5f81c3e703641fc7b9a34936a328",
      "tree": "cd5044e615a227a9ec7053e2caa88c2580e6737e",
      "parents": [
        "ab561f5b4073055c414866ff3dbe8372263474a7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 31 11:20:51 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 31 11:22:34 2014 -0700"
      },
      "message": "Improve detail message for X509TrustManagerExtensions argument validation\n\nBug: 13728564\nChange-Id: I03d08babcdc0d11baff5e76a339b4285e92edee8\n"
    },
    {
      "commit": "ab561f5b4073055c414866ff3dbe8372263474a7",
      "tree": "a92e1e659994ad06fcecbe921b2bf4c9b083b8fb",
      "parents": [
        "91bbb75c75568dee854fb10633f8ce3683265ffd",
        "d1a8d9f45288e1e8aadfc543fab7087c2eec2f30"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 12:32:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 31 12:32:50 2014 +0000"
      },
      "message": "Merge \"Don\u0027t make isSafeMode a field on the Zygote class.\""
    },
    {
      "commit": "d1a8d9f45288e1e8aadfc543fab7087c2eec2f30",
      "tree": "a92e1e659994ad06fcecbe921b2bf4c9b083b8fb",
      "parents": [
        "91bbb75c75568dee854fb10633f8ce3683265ffd"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 28 13:10:41 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 13:16:45 2014 +0100"
      },
      "message": "Don\u0027t make isSafeMode a field on the Zygote class.\n\nThis field is written and read exclusively by the system server,\nand should therefore belong to the SystemServer class.\n\nChange-Id: I2708a9a45c0c9cd1a6f563e8cc5844bd8c424bf7\n"
    },
    {
      "commit": "91bbb75c75568dee854fb10633f8ce3683265ffd",
      "tree": "6c0ebadc4ecc6dd888f5db1ce11897957f063c25",
      "parents": [
        "1e4cad8198056a5e27a7aeb104ceb8ada331eafe",
        "136c08a7d3678e9fcf22667e75b0904a94add6bb"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 09:37:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 31 09:37:32 2014 +0000"
      },
      "message": "Merge \"Cast CallMethod\u0027s size_t parameters to jint\""
    },
    {
      "commit": "21e0af987d7baccd5417a2f744d2dd706d85604e",
      "tree": "e3365704f32b67c61f8aaa710b0ff34a4f864c82",
      "parents": [
        "1e4cad8198056a5e27a7aeb104ceb8ada331eafe"
      ],
      "author": {
        "name": "Xiaofei Wan",
        "email": "xiaofei.wan@intel.com",
        "time": "Mon Mar 31 14:26:20 2014 +0800"
      },
      "committer": {
        "name": "Xiaofei Wan",
        "email": "xiaofei.wan@intel.com",
        "time": "Mon Mar 31 14:40:08 2014 +0800"
      },
      "message": "Fix RenderScriptGL setSurfaceTexture problem\n\nrsnContextSetSurfaceTexture() has no implementation in rs-jni, use nContextSetSurface() in setSurfaceTexture().\n\nChange-Id: I066432575c9e74f21ea3a3776628b572b6e31377\nSigned-off-by: Xiaofei Wan \u003cxiaofei.wan@intel.com\u003e\n"
    },
    {
      "commit": "1e4cad8198056a5e27a7aeb104ceb8ada331eafe",
      "tree": "870488807e6cefa58ea19f676c11c51bacaa78a2",
      "parents": [
        "e9b4fd0718c00a504602453185de676618beed4b",
        "c3b7e6fd44593c3974e989d8ccf2097b4471b2b7"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sun Mar 30 00:15:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Mar 30 00:15:22 2014 +0000"
      },
      "message": "Merge \"GlobalActions: Fix Airplane Mode on/off issue\""
    },
    {
      "commit": "c3b7e6fd44593c3974e989d8ccf2097b4471b2b7",
      "tree": "144d6b0d065d6514323a11d2a6cb99f8f7069703",
      "parents": [
        "77ceb5e8f18608cdbf19831f6188db87a5e0c058"
      ],
      "author": {
        "name": "nagarw",
        "email": "nagarw@codeaurora.org",
        "time": "Thu Feb 20 17:10:46 2014 +0530"
      },
      "committer": {
        "name": "Hariprasad Jayakumar",
        "email": "hjayak@codeaurora.org",
        "time": "Fri Mar 28 16:54:58 2014 -0700"
      },
      "message": "GlobalActions: Fix Airplane Mode on/off issue\n\nIssue: Unable to turn off Airplane mode from power button\n       after phone reboot\n\nFix: Initialize mHasTelephony before the PhoneStateListener is\n     registered to the TelephonyManager so that correct value\n     of mHasTelephony is reflected when onServiceStateChanged\n     callback is called.\n\nBug: 13697360\nChange-Id: Ide8afd9c16ea90b98b5912dbff440c5fd67b178d\n"
    },
    {
      "commit": "e9b4fd0718c00a504602453185de676618beed4b",
      "tree": "fcc5907f5356513059c5f7ae1397947443ebd71a",
      "parents": [
        "d511bc17d614b1291f1b85f84180c1db157d2790",
        "e3abd2ccbef4c50b48df3605c65d732fa49a980b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 28 21:41:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 28 21:41:21 2014 +0000"
      },
      "message": "Merge \"Mark constructor as accessible in LayoutInflater.\""
    },
    {
      "commit": "d511bc17d614b1291f1b85f84180c1db157d2790",
      "tree": "23976cc97b3849ecc2244e4330474b44043d54b4",
      "parents": [
        "e328056ddcba0edd0e49b4697dfcc84f3658cb39",
        "82a91631d58d0d378ae93afc034aef3b44aef81b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Mar 28 20:27:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 28 20:27:33 2014 +0000"
      },
      "message": "Merge \"[ActivityManager] Fix a bug: unable to start activity after starting activities during screen off.\""
    },
    {
      "commit": "e328056ddcba0edd0e49b4697dfcc84f3658cb39",
      "tree": "1ad6512ce5f4e14aab974ef4e1046764755caab5",
      "parents": [
        "ff3362f0d8378d616f39cbcf8b86b6f03e7d30b9",
        "d2923266ae50d1b6338912e6cb1a989817a8d1b6"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@android.com",
        "time": "Fri Mar 28 20:26:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 28 20:26:08 2014 +0000"
      },
      "message": "Merge \"Add support for additional international keyboard mappings\""
    },
    {
      "commit": "ff3362f0d8378d616f39cbcf8b86b6f03e7d30b9",
      "tree": "86abf57f42539f0ceff15bff7308c37cb1892d61",
      "parents": [
        "49c061501dbcff0dd6f6621afa76136d0857622a",
        "739e1941217b0882560f78169e1456b1909a2d10"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Mar 28 20:23:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 28 20:23:34 2014 +0000"
      },
      "message": "Merge \"DO NOT MERGE - [ActivityManager] Ensure consistency behavior when a background activity brings another existed activity to front.\""
    },
    {
      "commit": "e3abd2ccbef4c50b48df3605c65d732fa49a980b",
      "tree": "0c4816425b4a877aeea240fd4269c832f7b2cfb4",
      "parents": [
        "55a655091a30667ba7c091dc22d350c0bb8d8641"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 28 11:33:53 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Mar 28 11:33:53 2014 -0700"
      },
      "message": "Mark constructor as accessible in LayoutInflater.\n\nNeeded to bypass new access checks for fields, methods, and\nconstructors.\n\nChange-Id: I8ff0b44a6cb4f4af1c72734bca366d8b89528030\n"
    },
    {
      "commit": "49c061501dbcff0dd6f6621afa76136d0857622a",
      "tree": "c53ceccc8f006132aa2b9f71a3cc7acdf4782961",
      "parents": [
        "55a655091a30667ba7c091dc22d350c0bb8d8641",
        "b584e690a69a3c286ba490a24575c03f4fdb283c"
      ],
      "author": {
        "name": "Anders Kristensen",
        "email": "andersk@google.com",
        "time": "Fri Mar 28 17:19:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 28 17:19:57 2014 +0000"
      },
      "message": "Merge \"Remove duplicate call disconnect codes.\""
    },
    {
      "commit": "172d38bcda8d05793db13eb763a280ac2ee36fab",
      "tree": "093367ca561ab9095da3270d99c793b3e3defbf6",
      "parents": [
        "55a655091a30667ba7c091dc22d350c0bb8d8641"
      ],
      "author": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Thu Mar 27 10:00:58 2014 -0400"
      },
      "committer": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Fri Mar 28 12:24:29 2014 -0400"
      },
      "message": "Change when the SELinux relabel of /data/data occurs.\n\nPerform the relabel of the /data/data/\u003cpkg\u003e directories\nwhen the app is being scanned by the PMS. The impetus\nfor this change was that the data directories of forward\nlocked apps were receiving the wrong label during an\nOTA. Because the PMS doesn\u0027t actually scan forward locked\napps til later in the boot process, the prior restorecon\ncall was actually applying the default label of\nsystem_data_file for all such apps. By performing a\nrestorecon on each individual app as they are entered into\nthe PMS we can handle them correctly. This mechanism also\nallows us to pass down the seinfo tag as part of the\nrestorecon call which drops our need to rely on the contents\nof packages.list.\n\nChange-Id: Ie440cba2c96f0907458086348197e1506d31c1b6\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "55a655091a30667ba7c091dc22d350c0bb8d8641",
      "tree": "c42d18db16286ff96130d16effe1bc6809699432",
      "parents": [
        "a282441038b8a82be1b9b6afc41145e5570ce377",
        "e119b22146c602dac1e8bdfdb325b6c83fc66d66"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 27 20:55:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 27 20:55:14 2014 +0000"
      },
      "message": "Merge \"Reduce warning verbosity in aapt\""
    },
    {
      "commit": "a282441038b8a82be1b9b6afc41145e5570ce377",
      "tree": "b3f184f9a1de8b4f706008eab94e067b1c93dd1e",
      "parents": [
        "f0ffa8a38e90f64912686833dba9823b251fae57",
        "0fd4c656d0dbaf01eb845b8c64f6b27d5141f8b6"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Mar 27 20:01:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 27 20:01:11 2014 +0000"
      },
      "message": "Merge \"Do not show Home behind full screen activity\""
    },
    {
      "commit": "f0ffa8a38e90f64912686833dba9823b251fae57",
      "tree": "ed7870aa7c2f838ef02c5e76c8af0001f8c4fb14",
      "parents": [
        "cd3f60f30366a34b4499aab5a47b622069ba9cd6",
        "f130f0aaea58358dafbe83ccec2b5163b5bed1fb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 27 17:26:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 27 17:26:08 2014 +0000"
      },
      "message": "Merge \"app_process: use LOCAL_MULTILIB :\u003d both\""
    },
    {
      "commit": "f130f0aaea58358dafbe83ccec2b5163b5bed1fb",
      "tree": "06be6d4b9de8764d34ef29e7dc2eca085833c2c4",
      "parents": [
        "5daf51c0fe6d5bea858c37291fed88bd3094d3ec"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 27 10:20:29 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 27 10:20:29 2014 -0700"
      },
      "message": "app_process: use LOCAL_MULTILIB :\u003d both\n\nUse LOCAL_MULTILIB :\u003d both to build app_process64 instead of\nduplicating the build rule.\n\nAlso causes PRODUCT_PACKAGES :\u003d app_process to install both\nversions on 64-bit platforms, as the module names for both\napp_process and app_process64 are now app_process.\n\nChange-Id: Ia3c3265d15475771b0cae8bace53b8fbf351c186\n"
    },
    {
      "commit": "d2923266ae50d1b6338912e6cb1a989817a8d1b6",
      "tree": "0cb6566eb75f346b8771cf48993dc0dd513d05ac",
      "parents": [
        "cd3f60f30366a34b4499aab5a47b622069ba9cd6"
      ],
      "author": {
        "name": "Olivier Gay",
        "email": "ogay@logitech.com",
        "time": "Thu Mar 27 17:21:01 2014 +0100"
      },
      "committer": {
        "name": "Olivier Gay",
        "email": "ogay@logitech.com",
        "time": "Thu Mar 27 17:49:52 2014 +0100"
      },
      "message": "Add support for additional international keyboard mappings\n\nAdd kcm mapping files for Arabic, Greek, Hebrew, Lithuanian\nand Spanish (Latin).\n\nChange-Id: I35cb2a4d6e016c6f565fba05710ba1626452fe68\nSigned-off-by: Olivier Gay \u003cogay@logitech.com\u003e\nSigned-off-by: Manuel Carthoblaz \u003cmcarthob@logitech.com\u003e\nSigned-off-by: Mathieu Meisser \u003cmmeisser@logitech.com\u003e\n"
    },
    {
      "commit": "cd3f60f30366a34b4499aab5a47b622069ba9cd6",
      "tree": "5a3e1f8dc1089601389509f54d2eef98ec2528a8",
      "parents": [
        "57f2764bf104b0fe7b5cd67ad5b2cae9bc8352ed",
        "f5df700e6ce056ebfa322314d970e52d6facc35a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 27 12:30:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 27 12:30:53 2014 +0000"
      },
      "message": "Merge \"AArch64: Make frameworks/base code more portable\""
    },
    {
      "commit": "f5df700e6ce056ebfa322314d970e52d6facc35a",
      "tree": "5a3e1f8dc1089601389509f54d2eef98ec2528a8",
      "parents": [
        "57f2764bf104b0fe7b5cd67ad5b2cae9bc8352ed"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Tue Mar 25 20:51:35 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 27 12:30:42 2014 +0000"
      },
      "message": "AArch64: Make frameworks/base code more portable\n\nChanges in this patch include\n\n[x] Use %zu for size_t, %zd for ssize_t\n\n[x] Some minor changes have been done to conform with\n    standard JNI practice (e.g. use of jint instead of int\n    in JNI function prototypes)\n\nChange-Id: Id1aaa7894a7d0b85ac7ecd7b2bfd8cc40374261f\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n"
    },
    {
      "commit": "0fd4c656d0dbaf01eb845b8c64f6b27d5141f8b6",
      "tree": "2c7a8ac376dee757df2bb7cce1c15d46272c0802",
      "parents": [
        "dac298005ce3c1361e27bb740e4b518765d43d77"
      ],
      "author": {
        "name": "Yevgen Pronenko",
        "email": "yevgen.pronenko@sonymobile.com",
        "time": "Fri Mar 14 11:57:06 2014 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Thu Mar 27 07:54:37 2014 +0100"
      },
      "message": "Do not show Home behind full screen activity\n\nWhen ensureActivitiesVisibleLocked goes through foreground activity\nstack and reaches non-fullscreen activity, it sets showHomeBehindStack\nvariable to true.\n\nIf there is a fullscreen activity behind, showHomeBehindStack remains\nunchanged, which causes Home application to be displayed anyway.\nIn this case user will see a fullscreen activity and Home activity\nsimultaneously.\n\nTo fix the issue we set showHomeBehindStack to false when we reach\nfullscreen activity in the activity stack.\n\nThis was made visible by the following commit:\n446ef1de8d373c1b017df8d19ebf9a47811fb402\n\nChange-Id: I535c1283a4e26f5cf606375b837d4b7195324af0\n"
    },
    {
      "commit": "57f2764bf104b0fe7b5cd67ad5b2cae9bc8352ed",
      "tree": "7b8677f0c8059ebe833ba2f0ff4ff801fed41916",
      "parents": [
        "5daf51c0fe6d5bea858c37291fed88bd3094d3ec",
        "587a9455ded22165127e1a91cba5057f7c59a6fc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 26 22:51:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 26 22:51:52 2014 +0000"
      },
      "message": "Merge \"CertificateChainValidator: initialize TrustManagerFactory\""
    },
    {
      "commit": "5daf51c0fe6d5bea858c37291fed88bd3094d3ec",
      "tree": "58d11d699581e92657ba0f84b80926d255615e1e",
      "parents": [
        "491eaf2255a95186e84092eae4ec43582eebb37b",
        "aeb75fc5a3dc51bf9d5220647a68c48644c66ea8"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 26 19:52:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 26 19:52:11 2014 +0000"
      },
      "message": "Merge \"jni: 64-bit compile issue\""
    },
    {
      "commit": "aeb75fc5a3dc51bf9d5220647a68c48644c66ea8",
      "tree": "58d11d699581e92657ba0f84b80926d255615e1e",
      "parents": [
        "491eaf2255a95186e84092eae4ec43582eebb37b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Mar 20 12:09:01 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 26 11:28:45 2014 -0700"
      },
      "message": "jni: 64-bit compile issue\n\n- switch to PRId64\n- some unused parameter warning suppression\n\nChange-Id: Ia36bd1a247bb6e866a6b1050ab1362ebc9d31786\n"
    },
    {
      "commit": "491eaf2255a95186e84092eae4ec43582eebb37b",
      "tree": "d5c3db9000fbbec135249eca30502962a11692a1",
      "parents": [
        "80470cdf6c6995f4afe8d5e2c4b6e898625173fb",
        "e6e25554d345a94ba40c36fcb120a3d76fc15eca"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 26 15:41:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 26 15:41:14 2014 +0000"
      },
      "message": "Merge \"Note libselinux dependency on packages.list format changes.\""
    },
    {
      "commit": "587a9455ded22165127e1a91cba5057f7c59a6fc",
      "tree": "019da4025b4770a69a1e4ac2fb81338211ad97ea",
      "parents": [
        "77ceb5e8f18608cdbf19831f6188db87a5e0c058"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 26 08:40:43 2014 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 26 08:40:45 2014 -0700"
      },
      "message": "CertificateChainValidator: initialize TrustManagerFactory\n\nNeed to call TrustManagerFactory#init before use. I suspect this class\nisn\u0027t used anywhere since this hasn\u0027t caused a problem yet.\n\nChange-Id: I17425d0bba4795d71960062361a755830abba7de\n"
    },
    {
      "commit": "e6e25554d345a94ba40c36fcb120a3d76fc15eca",
      "tree": "d5c3db9000fbbec135249eca30502962a11692a1",
      "parents": [
        "80470cdf6c6995f4afe8d5e2c4b6e898625173fb"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Wed Mar 26 09:19:12 2014 -0400"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Wed Mar 26 09:19:12 2014 -0400"
      },
      "message": "Note libselinux dependency on packages.list format changes.\n\nChange-Id: I3c34a86f5706c4fca826a8634936131e4e4fc297\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "739e1941217b0882560f78169e1456b1909a2d10",
      "tree": "77bb6331260a09cb772fefe1d87b9127fd81087b",
      "parents": [
        "80470cdf6c6995f4afe8d5e2c4b6e898625173fb"
      ],
      "author": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Wed Mar 26 20:43:17 2014 +0800"
      },
      "committer": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Wed Mar 26 20:43:17 2014 +0800"
      },
      "message": "DO NOT MERGE - [ActivityManager] Ensure consistency behavior when a background activity brings another existed activity to front.\n\nSymptom: ANR occurs on previous activity.\nRoot Cause:\nIn KK, when a background activity starts another existed background activity (bring to front),\nif current focused stack is not the same as the stack of target starting activity,\nit will still resume the top of target stack, even the top activity on the target stack may not the same as target activity.\nAnd it will result incorrect focus, press back key will send to previous stack\u0027s top then popup ANR on previous activity:\n\"Reason: Waiting because no window has focus but there is a focused application\".\n\nBy original code comment, it looks \u0027bring to front\u0027 should not happen in this issue case.\n// If the target task is not in the front, then we need\n// to bring it to the front...  except...  well, with\n// SINGLE_TASK_LAUNCH it\u0027s not entirely clear.  We\u0027d like\n// to have the same behavior as if a new instance was\n// being started, which means not bringing it to the front\n// if the caller is not itself in the front.\n\nIf the caller and target are in the same stask, it will just deliver new intent without changing task order (the same behavior as JellyBean).\nSo the patch concept is just to avoid to use target stack to resume top when caller and target are in different stack.\n\nSolution: Do not allow to resume another stack top if non-top activity try to bring existed activity to front.\nIt may not be a good solution, just a reminder for the issue case.\n\nReproduce steps:\nAssume A, B, C are different app tasks.\nWhen the application stack is like:\n  Top C\n      B\n      A\n\n #Case 1: Home is foreground\n  A starts B with NEW_TASK, C will resume, focus still stays at Home, and window order does not update.\n  Then press back key or volumn key will result ANR on Home.\n\n #Case 2: App is foreground (Resumed activity is C)\n  A starts Home, Home will resume, focus still stays at C, and window order does did not update.\n  Then press back key or volumn key will result ANR on C.\n\nChange-Id: If05070123b248e2335791e43a4d4ddee6db11d84\n"
    },
    {
      "commit": "80470cdf6c6995f4afe8d5e2c4b6e898625173fb",
      "tree": "fb8eccb2c1cabd18a95eb6e464aba1b414de6b52",
      "parents": [
        "77ceb5e8f18608cdbf19831f6188db87a5e0c058",
        "6056e1027107aaa15f51a5ed775ff14c6b664ca3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@android.com",
        "time": "Tue Mar 25 20:11:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 25 20:11:33 2014 +0000"
      },
      "message": "Merge \"Solve three memory leaks related to PatchCache\""
    },
    {
      "commit": "89bc413b8f04a85dffd9c80fe497208357009c7b",
      "tree": "601669a05b2b2591ea32428690a893f3e43ffaa1",
      "parents": [
        "77ceb5e8f18608cdbf19831f6188db87a5e0c058"
      ],
      "author": {
        "name": "Michael Lekman",
        "email": "michael.lekman.x@sonyericsson.com",
        "time": "Wed Jan 11 14:27:52 2012 +0100"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Tue Mar 25 18:03:34 2014 +0000"
      },
      "message": "Marquee text RTL improvements\n\nChanged marquee text to scroll according to\nthe reading direction. Arabic text will\nshow the right edge and scroll towards\nthe left edge and vice versa for Latin.\n\nCorrected marquee flicker when scroll animation\nfinished. The ghost scroll\u0027s x position was cast\nto int and it made the text flicker when\nmarquee stops.\n\nGhost part didn\u0027t display for RTL languages.\nAdded multiplication with\ngetParagraphDirection to negate the ghost\noffset.\n\nChange-Id: I689039118df01a62f73ef0079c857fea1bfcc5a0\n"
    },
    {
      "commit": "77ceb5e8f18608cdbf19831f6188db87a5e0c058",
      "tree": "a10d3d9ea7e574fe5a33dcbabdc806d5e7abd7fd",
      "parents": [
        "2cacc619d62f58ee8a9d0fcfac942c6d5faf7031",
        "da776c872e8880b48dfac4a9e9a2d90e398e4608"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Mar 25 17:06:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 25 17:06:55 2014 +0000"
      },
      "message": "Merge \"Use X509ExtendedTrustManager and not Conscrypt\""
    },
    {
      "commit": "2cacc619d62f58ee8a9d0fcfac942c6d5faf7031",
      "tree": "862c44657ca58ad1177f04db646d0c7673f2531c",
      "parents": [
        "5f0d44f69768a39b0bcd9d1d072ce3606a1ca1ed",
        "39f7068ed903f747d6885117dc1bac69f626ae91"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Mar 25 17:01:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 25 17:01:28 2014 +0000"
      },
      "message": "Merge \"Don\u0027t wait for finishing animation when second display is disconnected\""
    },
    {
      "commit": "5f0d44f69768a39b0bcd9d1d072ce3606a1ca1ed",
      "tree": "c692b4653cc8540bb2811d643f0d46948c9ed026",
      "parents": [
        "557a93e104f1fec69ed05b2d0ff26c78bca4c5d6",
        "02eb6bfd66d0afc4b1d81824558e136649a5a4df"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 25 13:56:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 25 13:56:51 2014 +0000"
      },
      "message": "Merge \"Fix scaleNinePatch.\""
    },
    {
      "commit": "136c08a7d3678e9fcf22667e75b0904a94add6bb",
      "tree": "e5d1613b8ad87830ce5e499f0e52a3d2c8b2d794",
      "parents": [
        "557a93e104f1fec69ed05b2d0ff26c78bca4c5d6"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Wed Mar 05 15:23:13 2014 +0000"
      },
      "committer": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Tue Mar 25 10:39:13 2014 +0000"
      },
      "message": "Cast CallMethod\u0027s size_t parameters to jint\n\nThis will avoid problems caused by automatic type\npromotion of parameters when passed to a variadic function.\n\nChange-Id: I9340cf4bc3afcb84ebb2843d2aaa1e832b0df7f4\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\n"
    },
    {
      "commit": "39f7068ed903f747d6885117dc1bac69f626ae91",
      "tree": "004b27997551802d900f102a57a055b09ac1b874",
      "parents": [
        "557a93e104f1fec69ed05b2d0ff26c78bca4c5d6"
      ],
      "author": {
        "name": "Koji Fukui",
        "email": "koji.fukui@sonymobile.com",
        "time": "Fri Mar 14 21:20:21 2014 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Mar 25 11:25:32 2014 +0900"
      },
      "message": "Don\u0027t wait for finishing animation when second display is disconnected\n\nBasically WindowManagerService wait for finishing animation when\na window is removed. But when second display is disconnected, windows\non second display can\u0027t be shown even if animation is waited for.\nOn the contrary, it keeps on waiting for finishing the animation\nin special case.\n\nWith this fix windows are immediately removed without waiting for\nanimation when second display is disconnected.\n\nChange-Id: I1354c193c04db394a21a11c174e10c8e7da17a0e\n"
    },
    {
      "commit": "6056e1027107aaa15f51a5ed775ff14c6b664ca3",
      "tree": "1337c3e4d996bb3528f9c92531a95ce30fd860c1",
      "parents": [
        "557a93e104f1fec69ed05b2d0ff26c78bca4c5d6"
      ],
      "author": {
        "name": "Jens Gulin",
        "email": "jens.gulin@sonymobile.com",
        "time": "Tue Feb 04 17:38:02 2014 +0100"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Mar 25 09:37:02 2014 +0900"
      },
      "message": "Solve three memory leaks related to PatchCache\n\nA Patch can be fairly large, holding bitmap data, but\nis also frequently leaked which adds to the severity.\nThe feature is used in many important processes such\nas Home, SystemUI and Chrome.\n\nThe following leaks are solved:\n\n1. The Patch itself was not always freed.\nPatchCache::removeDeferred() can mark patches to be\ncared for by PatchCache::clearGarbage(). But\nmCache.remove() would only destroy the container\nand the pointer, not the Patch object itself.\n\n2. The vertices stored in the Patch at Patch::createMesh()\nwould always leak. The empty/default destructor in Patch\nwould not properly destroy \"vertices\" since it\u0027s just a\npointer.\n\n3. A BufferBlock that\u0027s added to the mFreeBlocks\nin PatchCache could leak. The leak happened when a\npatch later needed the entire free block, because the\nobject was removed from the list but never deleted\nin PatchCache::setupMesh().\n\nChange-Id: I41e60824479230b67426fc546d3dbff294c8891f\n"
    },
    {
      "commit": "da776c872e8880b48dfac4a9e9a2d90e398e4608",
      "tree": "cde0dff883d86f183073bb2c545c4750d91f2c8b",
      "parents": [
        "88517170cbb09b45324d5b457a0e5e840cc7d09b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 24 10:18:18 2014 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Mar 24 17:05:22 2014 -0700"
      },
      "message": "Use X509ExtendedTrustManager and not Conscrypt\n\nThis allows the new X509ExtendedTrustManager to be used instead of\nConscrypt directly.\n\nBug: 13103812\nChange-Id: I736f475342395f26657f2371828a6d3a0065a50a\n"
    },
    {
      "commit": "1b20424cf09de4a061eda64ea4e6ea85dcba9492",
      "tree": "fcb7a7ab2681f66dcca7892c76cf649171860559",
      "parents": [
        "557a93e104f1fec69ed05b2d0ff26c78bca4c5d6"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Thu Mar 20 10:37:33 2014 +0000"
      },
      "committer": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Mon Mar 24 20:21:04 2014 +0000"
      },
      "message": "Removed android.debug.JNITest from preloaded-classes\n\nandroid.debug.JNITest class no longer exists in this\nproject. This patch updates preloaded-classes accordingly\nto avoid spurious warning during boot.\n\nChange-Id: Ia4a5a1858f6c87fbc594a623adb95454334361ea\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\n"
    },
    {
      "commit": "e119b22146c602dac1e8bdfdb325b6c83fc66d66",
      "tree": "d318c4a106673041cf3b47733a8dea78463aaad5",
      "parents": [
        "88517170cbb09b45324d5b457a0e5e840cc7d09b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Mar 20 18:04:57 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 24 10:50:34 2014 -0700"
      },
      "message": "Reduce warning verbosity in aapt\n\n- Attributed source of problems to the correct file.\n- Only verify string localizations against valid\n  locales.\nBug:13140015\nChange-Id: I9dabc5efa0510649caee8af0c8ebb803d6f48269\n"
    },
    {
      "commit": "557a93e104f1fec69ed05b2d0ff26c78bca4c5d6",
      "tree": "d7c92eda1b9002001b6ae15a8d7d4f586e83da5f",
      "parents": [
        "88517170cbb09b45324d5b457a0e5e840cc7d09b",
        "2b74a24a52a8f685ea8e81ff7b4f55e724733267"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Mar 24 14:31:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 24 14:31:38 2014 +0000"
      },
      "message": "Merge \"Set ScreenshotSurface secure if any secure content is shown.\""
    },
    {
      "commit": "02eb6bfd66d0afc4b1d81824558e136649a5a4df",
      "tree": "dbb964fca94d0096804dec9816c362ba7c640d51",
      "parents": [
        "88517170cbb09b45324d5b457a0e5e840cc7d09b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 11 16:50:30 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 24 12:35:01 2014 +0000"
      },
      "message": "Fix scaleNinePatch.\n\nUse yDivs for yDivs, and not xDivs.\n\nbug: 13394494\n\n(cherry picked from commit 42a51ae8812bccde7ff370cc2688f7955e489ad4)\n\nChange-Id: Ia0a7d701a170945216ab247a483e7f972b6fe17e\n"
    },
    {
      "commit": "88517170cbb09b45324d5b457a0e5e840cc7d09b",
      "tree": "e1f1b093cf5d6e2b8b01a25cb73cbdf8addd43fa",
      "parents": [
        "4308a5230e2887c1ee12e7bdc60e0b93212637ab",
        "a2507e876421ce5276c63a7437a2a668da124563"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Mar 21 18:36:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 21 18:36:08 2014 +0000"
      },
      "message": "Merge \"Adjust to the change in the private SSLParameterImpl API.\""
    },
    {
      "commit": "a2507e876421ce5276c63a7437a2a668da124563",
      "tree": "e1f1b093cf5d6e2b8b01a25cb73cbdf8addd43fa",
      "parents": [
        "4308a5230e2887c1ee12e7bdc60e0b93212637ab"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Mar 21 11:13:50 2014 -0700"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Mar 21 11:13:50 2014 -0700"
      },
      "message": "Adjust to the change in the private SSLParameterImpl API.\n\nConscrypt\u0027s SSLParameterImpl getDefaultTrustManager was renamed to\ngetDefaultX509TrustManager.\n\nBug: 13563574\nChange-Id: I601c651d631f5a2e4a04d21941186553988e5286\n"
    },
    {
      "commit": "82a91631d58d0d378ae93afc034aef3b44aef81b",
      "tree": "5b341e6e486c44eecf7e75b11bcde523f0e9f210",
      "parents": [
        "4308a5230e2887c1ee12e7bdc60e0b93212637ab"
      ],
      "author": {
        "name": "leo_hsu",
        "email": "leo_hsu@htc.com",
        "time": "Fri Mar 21 12:27:16 2014 +0800"
      },
      "committer": {
        "name": "leo_hsu",
        "email": "leo_hsu@htc.com",
        "time": "Fri Mar 21 12:27:16 2014 +0800"
      },
      "message": "[ActivityManager] Fix a bug: unable to start activity after starting activities during screen off.\n\nSymptom: Unable to start any activity.\nRoot Cause: ActivityStack.mPausingActivity() points to a destroyed activity of a died process, so that ActivityStackSupervisor.allPausedActivitiesComplete() always returns false.\nSolution: Set mPausingActivity to null in ActivityStack.cleanUpActivityLocked().\nReproduce steps:\n    a. Turn screen off.\n    b. A background service starts an activity X (in process X).\n    c. A background service starts a no-history activity Y (in process Y), but the main thread of Y was blocked.\n    d. A background service starts Y 3~4 times --\u003e this causes am_failed_to_pause on X.\n    e. Main thread of Y is freed finally --\u003e this causes Y crash for android.view.WindowManager$BadTokenException.\n    f. Turn screen on, X is shown on screen, but neither back key nor home key can work because mPausingActivity is Y.\n\nChange-Id: I320b3db407e2d4cc745c8ca22a6e548742234242\n"
    },
    {
      "commit": "4308a5230e2887c1ee12e7bdc60e0b93212637ab",
      "tree": "ead8bf7c6f6c413f9fe5ff2cb7da8d3db2f28be1",
      "parents": [
        "0da4ad425d52d1aeec16b31b784c456753532dc2",
        "31d16e5bf9e4edc8c3af08d8405ebe90bde99220"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 20 17:28:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 20 17:28:12 2014 +0000"
      },
      "message": "Merge \"bootanimation: build 32-bit if 64-bit gl libraries are not available\""
    },
    {
      "commit": "0da4ad425d52d1aeec16b31b784c456753532dc2",
      "tree": "4a5b084aabde9a4e80afad1e0ecb2bc71a8a4101",
      "parents": [
        "dac298005ce3c1361e27bb740e4b518765d43d77",
        "f83c73ec2fa7ceecd625cb05900ead294db18c99"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 20 10:08:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 20 10:08:38 2014 +0000"
      },
      "message": "Merge \"Don\u0027t register methods when there\u0027s nothing to register.\""
    },
    {
      "commit": "2b74a24a52a8f685ea8e81ff7b4f55e724733267",
      "tree": "654bfc5799dc50cc4ac89b567316f999207ac2c9",
      "parents": [
        "dac298005ce3c1361e27bb740e4b518765d43d77"
      ],
      "author": {
        "name": "Minoru Aoi",
        "email": "minoru.x.aoi@sonymobile.com",
        "time": "Thu Mar 13 12:00:34 2014 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Thu Mar 20 11:35:33 2014 +0900"
      },
      "message": "Set ScreenshotSurface secure if any secure content is shown.\n\nThe screenrecord command can record secure content during rotation.\nThis is because the ScreenshotSurface surface for rotation animation\nis not set secure even though its screenshot contains secure content.\n\nChange-Id: I5a70be71ddfc26de4230e7d4fe547210c2154210\n"
    },
    {
      "commit": "dac298005ce3c1361e27bb740e4b518765d43d77",
      "tree": "07478b72074caab26a1fa9a279d5eea3566828f6",
      "parents": [
        "8372581089422364f4f8bc948b9cbdcf5f8c2e91",
        "9fc02de33dc3dae621c48795cfc3b2e2bd21000a"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@android.com",
        "time": "Thu Mar 20 02:19:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 20 02:19:54 2014 +0000"
      },
      "message": "Merge \"Prevent Lockscreen album art from activating FLAG_KEEP_SCREEN_ON\""
    },
    {
      "commit": "8372581089422364f4f8bc948b9cbdcf5f8c2e91",
      "tree": "1c73ae734aa466cf6d862cb993c8b5f01826ea9e",
      "parents": [
        "19fc55e1e3a51aba4db985d186d1f4ec075d7ca1",
        "0aa5163c13caff1a3864548bf5e587b041895058"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 20 01:37:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 20 01:37:39 2014 +0000"
      },
      "message": "Merge \"Get rid of noise during boot.\""
    },
    {
      "commit": "0aa5163c13caff1a3864548bf5e587b041895058",
      "tree": "1c73ae734aa466cf6d862cb993c8b5f01826ea9e",
      "parents": [
        "19fc55e1e3a51aba4db985d186d1f4ec075d7ca1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 19 17:49:09 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 19 18:34:52 2014 -0700"
      },
      "message": "Get rid of noise during boot.\n\nThis log is not an error, it is a warning, don\u0027t spam a stack\ncrawl when it happens.\n\nChange-Id: I6038e3625cc0c16af9e54887b5e7ec451d9f864d\n"
    },
    {
      "commit": "19fc55e1e3a51aba4db985d186d1f4ec075d7ca1",
      "tree": "10afd1b4914b8e5eb448f94514221e93a2167179",
      "parents": [
        "bfc440923ecb8f32448c675095a2096049fe7ebe",
        "2764fce3a1119599cd231545b16e6a16286e482d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 20 01:14:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 20 01:14:43 2014 +0000"
      },
      "message": "Merge \"build app_process64 on 64-bit targets\""
    },
    {
      "commit": "31d16e5bf9e4edc8c3af08d8405ebe90bde99220",
      "tree": "52893a54e874aafbaf39bb0e9ffd3eaed7cce6fe",
      "parents": [
        "2764fce3a1119599cd231545b16e6a16286e482d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 18:09:01 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 18:10:31 2014 -0700"
      },
      "message": "bootanimation: build 32-bit if 64-bit gl libraries are not available\n\nSet LOCAL_32_BIT_ONLY if TARGET_32_BIT_SURFACEFLINGER is set.\n\nChange-Id: I76396cc9fe3fe45d1e98a44bf911d6e70922555a\n"
    },
    {
      "commit": "2764fce3a1119599cd231545b16e6a16286e482d",
      "tree": "10afd1b4914b8e5eb448f94514221e93a2167179",
      "parents": [
        "bfc440923ecb8f32448c675095a2096049fe7ebe"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 17:47:39 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 17:49:47 2014 -0700"
      },
      "message": "build app_process64 on 64-bit targets\n\nOn 64-bit platforms builds two copies of app_process, the 32-bit\napp_process and 64-bit app_process64.\n\nChange-Id: I59d739b5df398ad0bd040c954c57640ff7ab3e72\n"
    },
    {
      "commit": "bfc440923ecb8f32448c675095a2096049fe7ebe",
      "tree": "cbfa0c7edd660eccdfd0e0d8195b0cc9a2bd02ed",
      "parents": [
        "c1f3d4c1ba7903d1b72c2341b5284da12b79ee46",
        "587a25b6cd168b78980e584772f8e7d91f778b5c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 21:02:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 21:02:39 2014 +0000"
      },
      "message": "Merge \"mediaeditor shouldn\u0027t depend on audioflinger.\""
    },
    {
      "commit": "c1f3d4c1ba7903d1b72c2341b5284da12b79ee46",
      "tree": "c99365914994133c97d20ed9b47b31aa05e9f15d",
      "parents": [
        "5c8e1a6ed4b7e12632c7c82b94e1909ae82b0706",
        "78c0ce56129d8109fa2427de769f4d25a971d162"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 21:01:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 21:01:57 2014 +0000"
      },
      "message": "Merge \"Fix 64 bit compile failures in renderscript\""
    },
    {
      "commit": "5c8e1a6ed4b7e12632c7c82b94e1909ae82b0706",
      "tree": "ce909bb9898dd068a6c75d5c175296f74ea156c6",
      "parents": [
        "0b472ae13d38dd166a1a35782e028ade85bf2975",
        "4385343fd82058c397a46530458ae58999f75639"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Mar 19 20:17:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 20:17:40 2014 +0000"
      },
      "message": "Merge \"Allow PMS to restorecon directories under /data.\""
    },
    {
      "commit": "0b472ae13d38dd166a1a35782e028ade85bf2975",
      "tree": "cb70a769d3903624a23074ab385cc5d12147f2ef",
      "parents": [
        "d6408735b9b2ca9378886a4b30e3d691c0923817",
        "00adb8685ee996f9d2650d617c8c0e98f13ef406"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 19 19:36:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 19:36:52 2014 +0000"
      },
      "message": "Merge \"androidfw: resolve 64-bit build issues\""
    },
    {
      "commit": "d6408735b9b2ca9378886a4b30e3d691c0923817",
      "tree": "9ff040febfcb6216144d061c94344fb696a673d7",
      "parents": [
        "7cb1dfe690b2d700ce212712287dfd59c2c8e43f",
        "58f9a645e19eac39994279bace647dd78e2aedf6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 19:34:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 19 19:34:08 2014 +0000"
      },
      "message": "Merge \"PacProcessor should be 32 bit only.\""
    },
    {
      "commit": "00adb8685ee996f9d2650d617c8c0e98f13ef406",
      "tree": "b3bd40533e240cd3258de89c9541037c16f9fadd",
      "parents": [
        "7cb1dfe690b2d700ce212712287dfd59c2c8e43f"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 19 11:00:06 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Mar 19 11:11:14 2014 -0700"
      },
      "message": "androidfw: resolve 64-bit build issues\n\n- uid_t/gid_t cast to unsigned long\n- unused argument warnings\n- tab and space requirements\n\nChange-Id: Ib446d8165b9082be02edb55e6b71fd1a03ea3431\n"
    }
  ],
  "next": "587a25b6cd168b78980e584772f8e7d91f778b5c"
}
