)]}'
{
  "log": [
    {
      "commit": "b325345ef0adf2849350d339de1ec5f92b67b7ae",
      "tree": "4854de7dd193e43d8f88d1feecb2028932e36169",
      "parents": [
        "ceb9b437f701f68411fcbef7e83b5df45834f9d9",
        "6259933ec99dee566f200c5fdfe1756ee72b1513"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 02 22:15:15 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 02 22:15:16 2014 +0000"
      },
      "message": "Merge \"Switch framework Holo references to Quantum.Light\""
    },
    {
      "commit": "b69bb445585a083b8e4ff8a13a1a1a63e9c22a6a",
      "tree": "c30ee3134a77533f0cc74d5184852a6de352d62c",
      "parents": [
        "fb0873268cd2602cf3b0eaf90485824a814561c3",
        "71ab4f4f48a9b8b485d80adf18d568ef6265b1e8"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 11:50:57 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 11:52:07 2014 +0100"
      },
      "message": "resolved conflicts for merge of 71ab4f4f to master\n\nChange-Id: I888c231f7579523e12fbd68f820f0775019e51e0\n"
    },
    {
      "commit": "71ab4f4f48a9b8b485d80adf18d568ef6265b1e8",
      "tree": "ca12bff66cf7347fa38937f5aea088e2583bbac5",
      "parents": [
        "04c2a5571620927f702af3707845b1b05769dc46",
        "ea9e5ecac1e5240370f0e3f998b9c8b159ee9320"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 10:41:24 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 02 10:41:24 2014 +0000"
      },
      "message": "am ea9e5eca: am 17b1b8fe: Merge \"Move zygote startup logic to the frameworks.\"\n\n* commit \u0027ea9e5ecac1e5240370f0e3f998b9c8b159ee9320\u0027:\n  Move zygote startup logic to the frameworks.\n"
    },
    {
      "commit": "ea9e5ecac1e5240370f0e3f998b9c8b159ee9320",
      "tree": "f3cbeb7e387593aad1afe4550c0fbcc639a13892",
      "parents": [
        "095ece10095ecb8c76e3ed4fb0dd1e23a5ced22b",
        "17b1b8fe8c0c8f05f2077acc82428881bf591a78"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 10:35:38 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 02 10:35:38 2014 +0000"
      },
      "message": "am 17b1b8fe: Merge \"Move zygote startup logic to the frameworks.\"\n\n* commit \u002717b1b8fe8c0c8f05f2077acc82428881bf591a78\u0027:\n  Move zygote startup logic to the frameworks.\n"
    },
    {
      "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": "6259933ec99dee566f200c5fdfe1756ee72b1513",
      "tree": "78196ea29921d4331a576922a564568f6894a207",
      "parents": [
        "6f127c9b6c249ca1cd17c07a8476edd0fcc1f04d"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 01 14:57:39 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 01 14:57:39 2014 -0700"
      },
      "message": "Switch framework Holo references to Quantum.Light\n\nChange-Id: Ib545a143f1959b6104adbc9d594dd626851d90b3\n"
    },
    {
      "commit": "e531e2ec6b311c35b077cc228e832b3f1530dffa",
      "tree": "1c085e7c6c55fe84b3d3497b9323e4467dc4cc7b",
      "parents": [
        "b11952d6f6851dbd1da447da967f6e07984942fe",
        "3b2a9d22794cb9f1c2a28884b5c3ba92ecc6ff96"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Mar 31 20:14:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 31 20:14:37 2014 +0000"
      },
      "message": "am 3b2a9d22: Merge \"Change when the SELinux relabel of /data/data occurs.\"\n\n* commit \u00273b2a9d22794cb9f1c2a28884b5c3ba92ecc6ff96\u0027:\n  Change when the SELinux relabel of /data/data occurs.\n"
    },
    {
      "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": "82142c21dd333307682d5f4bb09de3ab3ccfa06c",
      "tree": "d0d750d27ba27084498138dba9e6bbc70cc20a81",
      "parents": [
        "ff2144ccb4215acf4587fc628493b3d49dca6043"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Mar 27 14:56:59 2014 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Mar 31 21:18:28 2014 +0200"
      },
      "message": "Define trust agent framework components\n\nAdds the TrustManager system service that allows\nregistering for changes to the trust status and\nreporting events that are important to trust agents.\n\nBug: 13723878\nChange-Id: I7d0d2ea86fd755702d31aa5d49cac038a6cd4301\n"
    },
    {
      "commit": "439cf5b433123970a94388cf9309d9ea4d31b3cb",
      "tree": "13c85d682902107a6152f4dfdc5f7d0cd7d01db0",
      "parents": [
        "546bec8ebf2cf865e88d02cc8cb29563ad224967",
        "56a8f8b48ff1d0855209307b9076d6e9b348b59b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 13:16:16 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 31 13:16:16 2014 +0000"
      },
      "message": "am 56a8f8b4: resolved conflicts for merge of 439145f0 to klp-modular-dev-plus-aosp\n\n* commit \u002756a8f8b48ff1d0855209307b9076d6e9b348b59b\u0027:\n  Don\u0027t make isSafeMode a field on the Zygote class.\n"
    },
    {
      "commit": "56a8f8b48ff1d0855209307b9076d6e9b348b59b",
      "tree": "ed630a6b5c3effd310874e5651542b4e4ffeb766",
      "parents": [
        "303d666f2e2b37120e0e9de206ce127e2a532026",
        "439145f0e7701d0cf9d5934f92d9c717995511b9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 13:54:30 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 14:10:53 2014 +0100"
      },
      "message": "resolved conflicts for merge of 439145f0 to klp-modular-dev-plus-aosp\n\nThis isn\u0027t a straightforward conflict resolution. This code\nhas changed significantly. mSafeMode is now a flag on the activity\nmanager service, and is set when SystemServer calls enterSafeMode.\n\nChange-Id: I1e8ff524566c5e44bb6bf3b138cdebb70004aca3\n"
    },
    {
      "commit": "439145f0e7701d0cf9d5934f92d9c717995511b9",
      "tree": "be769cd244f666331fcaba02b7190fdb76a715da",
      "parents": [
        "0e3f3c70226640759d5d705233fbe59f525355bb",
        "ab561f5b4073055c414866ff3dbe8372263474a7"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 31 12:42:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 31 12:42:14 2014 +0000"
      },
      "message": "am ab561f5b: Merge \"Don\\\u0027t make isSafeMode a field on the Zygote class.\"\n\n* commit \u0027ab561f5b4073055c414866ff3dbe8372263474a7\u0027:\n  Don\u0027t make isSafeMode a field on the Zygote class.\n"
    },
    {
      "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": "155e3133407e590f18e7e16eddc6fc743f35b0fd",
      "tree": "115c5c5adf6d7226d521cfe91a7c77ed3c3a3a78",
      "parents": [
        "6a14146b379b33a6bf947f02b2550fa97c5619b6",
        "d511bc17d614b1291f1b85f84180c1db157d2790"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Mar 28 22:16:38 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 28 22:16:38 2014 +0000"
      },
      "message": "am d511bc17: Merge \"[ActivityManager] Fix a bug: unable to start activity after starting activities during screen off.\"\n\n* commit \u0027d511bc17d614b1291f1b85f84180c1db157d2790\u0027:\n  [ActivityManager] Fix a bug: unable to start activity after starting activities during screen off.\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "10bf6354a536152719bf4524429aa5739836c541",
      "tree": "ee0d72a8257a59bb84835d30dde674a08c9c571b",
      "parents": [
        "f53d1a01972d04402b48476d6a8173285516edd3"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Tue Mar 25 15:00:45 2014 -0700"
      },
      "committer": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Tue Mar 25 15:00:45 2014 -0700"
      },
      "message": "Wifi hotspot stack initial hook up\n\nAdd a dummy wifi hotspot service for futher development use. This is to\nresolve the different between master branch and kwd branch, such that future\ndevelopment can go into kwd and being auto-merged to master.\n\nbug: 5485670\nChange-Id: Ica58de445dd050a9f0b817f8e4accaa2478299c5\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": "a42cb8b0e2b8fdfbac1a6590d6b60814caa01088",
      "tree": "d903e1aca9c2345e98dbe99188524feef35b21c3",
      "parents": [
        "fb40d78c57711585c9eaed467601bf3adb4f60f9",
        "a67e34c80fb5b1936fe0beeea3faec3218ead1a3"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 13:11:02 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 13:11:02 2014 -0700"
      },
      "message": "resolved conflicts for merge of a67e34c8 to master\n\nChange-Id: I597525886260884c9b2dfc7945e01eb8138a58c2\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": "f2fecf48f740a079cf9015ea8c2695039ca11d81",
      "tree": "587908d20a49ea3fb1aa692dc64047dfc26ad899",
      "parents": [
        "a5853b177c80052246c361e0bc2b0e5809cfeef2",
        "c61f4dd744b1b0396703aa58eb22fc31d2b7050e"
      ],
      "author": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Fri Mar 21 02:37:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 21 02:37:00 2014 +0000"
      },
      "message": "am c61f4dd7: Merge \"Add HDMI-CEC service\" into klp-modular-dev\n\n* commit \u0027c61f4dd744b1b0396703aa58eb22fc31d2b7050e\u0027:\n  Add HDMI-CEC service\n"
    },
    {
      "commit": "c61f4dd744b1b0396703aa58eb22fc31d2b7050e",
      "tree": "1b3b816f486fb1969ac8d01a01337c4e3aff5129",
      "parents": [
        "1fe28b20f1cfc6d2542f8b0bfe48355f3a58067b",
        "4f512fb451c8ddcea852645c5c24314c20c0974b"
      ],
      "author": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Fri Mar 21 02:32:38 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 21 02:32:38 2014 +0000"
      },
      "message": "Merge \"Add HDMI-CEC service\" into klp-modular-dev"
    },
    {
      "commit": "4f512fb451c8ddcea852645c5c24314c20c0974b",
      "tree": "315ec495986e5dfff86f21705045de17b4f63764",
      "parents": [
        "fd6b99750bfab7f930ee375a79009874a3196165"
      ],
      "author": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Fri Feb 28 17:41:17 2014 +0900"
      },
      "committer": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Thu Mar 20 16:40:22 2014 +0900"
      },
      "message": "Add HDMI-CEC service\n\nThis CL adds a system service handling HDMI-CEC protocol. The service\nis equipped with the capability sending/receiving HDMI-CEC messages\n\nNot all the messages are in place. Currently it has messages to support\na few features only, as follows:\n\n- One touch play\n- System information\n- Routing control (partially - active source status maintenance only)\n- Device OSD transfer\n- Power status\n\nIt will be extended to cover the wider usages in the follow up CLs.\n\nThe CEC standard version referenced in the implementation is 1.3a.\n\nChange-Id: Ifed0b02f52ebf098eddb3bd0987efbf353b7e8fe\n"
    },
    {
      "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": "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": "4385343fd82058c397a46530458ae58999f75639",
      "tree": "78aa8b716683b556f60337dd5e6f6b42f4276edd",
      "parents": [
        "7cb1dfe690b2d700ce212712287dfd59c2c8e43f"
      ],
      "author": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Tue Mar 04 11:57:23 2014 -0500"
      },
      "committer": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Wed Mar 19 17:37:37 2014 +0000"
      },
      "message": "Allow PMS to restorecon directories under /data.\n\nThis change applies a relabel to both /data/data and\n/data/user directories on boot. Not every boot will\napply this relabeling however. The appropriate\nseapp_contexts is hashed and compared to\n/data/system/seapp_hash to decide if the relabel\nshould occur.\n\nChange-Id: I05e8b438950ddb908e46c9168ea6ee601e6d674f\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "eff08c4ffe41e0a52ddd2c8c9d968482bae5935d",
      "tree": "e427dd5192262a4c974c96315b1fab64fe4adb14",
      "parents": [
        "d88d817498327462f42e50348239eac59147f310"
      ],
      "author": {
        "name": "Akira Numata",
        "email": "akira.numata@sonymobile.com",
        "time": "Thu Mar 13 13:36:31 2014 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Mar 18 05:41:30 2014 +0000"
      },
      "message": "Insufficient ProcessRecord cleanup when persistent process is killed\n\nWhen persistent process with Service restarts, ActivityManagerService\ndoes not reset ProcessRecord#hasClientActivites to false\n(because ProcessRecord of persistent process is continued using\nafter killing).\n\nIt disturbs updating LRU list in ActivityManagerService, and then,\nwhen new process calls ActivityManagerProxy#publishContentProviders,\nSecurityException happens because of no entry in the list.\n\nBug: 13517358\n\nChange-Id: I46b064f71a4f7025ade1bf117801352a7ab22e6a\n"
    },
    {
      "commit": "10caca13da7c6acde00411dfb4ab128c75b24e86",
      "tree": "12accb66b519610632b4dbee1e8480a24064775a",
      "parents": [
        "c4c484c6a77b6b88030f1cb7e810918d8ad92146",
        "f5f6487e5999f6b4984e03bf6fe831ed83f5f4b6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 17 23:32:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 17 23:32:32 2014 +0000"
      },
      "message": "am f5f6487e: am d8e585e7: am 006209c2: Merge \"Remove reflection instantiation of Accessibility\" into klp-modular-dev\n\n* commit \u0027f5f6487e5999f6b4984e03bf6fe831ed83f5f4b6\u0027:\n  Remove reflection instantiation of Accessibility\n"
    },
    {
      "commit": "d8e585e7e5ce77e0bf8c11838387f012b9ab9a1a",
      "tree": "c40762c2070b36a9c8df80c4b87a0158f5e87d37",
      "parents": [
        "d292aac5eb48f6970ba4795265bd45761c063209",
        "006209c2fc1b6deef10f6d52831e9cef35cca212"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 17 19:58:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 17 19:58:19 2014 +0000"
      },
      "message": "am 006209c2: Merge \"Remove reflection instantiation of Accessibility\" into klp-modular-dev\n\n* commit \u0027006209c2fc1b6deef10f6d52831e9cef35cca212\u0027:\n  Remove reflection instantiation of Accessibility\n"
    },
    {
      "commit": "6c6cd5012b48cba44beeb2861966f11789fd978b",
      "tree": "c2e5b364aecb4cb0acc51cc4fd39ed338553050f",
      "parents": [
        "aa737c49df79749fe92b89d745eba7442762e2b5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 17 12:54:03 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 17 12:54:03 2014 -0700"
      },
      "message": "Remove reflection instantiation of Accessibility\n\nAccessibility is mandatory so reflection is not required.\n\nChange-Id: Ie5c7b0bba26809425fe0f66efcc09c333138b21f\n"
    },
    {
      "commit": "4cde773435074809672f9de6a47b26de902a83d1",
      "tree": "6c8be75255b1b26dd7b08b9538f25ed932531505",
      "parents": [
        "629daddd03b598616de7c30a13b1f9f9b11b98fe",
        "d5c69462c6ebc71d13e353f179c7549bb75d1dc5"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@android.com",
        "time": "Fri Mar 14 17:48:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 14 17:48:01 2014 +0000"
      },
      "message": "Merge \"remove unnecessary switchUser call\""
    },
    {
      "commit": "f31760c63401be72748487c9d4fce3fecdedede4",
      "tree": "f6ee522f589207c3ef3e3b4235c78c6a78108d9f",
      "parents": [
        "792f38ddd9e8d25b2c8bf0d67363dbfa56550636"
      ],
      "author": {
        "name": "Dave Platt",
        "email": "dplatt@google.com",
        "time": "Fri Mar 07 14:48:22 2014 -0800"
      },
      "committer": {
        "name": "Dave Platt",
        "email": "dplatt@google.com",
        "time": "Thu Mar 13 23:16:30 2014 +0000"
      },
      "message": "NsdService does not clean up after exiting clients\n\nWhen a client of the NsdService exits, NsdService should\nclean up the requests it has sent to the mDNS daemon:\ncancel any pending resource-discovery and resource-resolution\nqueries, and remove any services registered by this client.\n\nIf this isn\u0027t done, several bad things happen. The daemon will\ncontinue to run unnecessarily, will report service discoveries\nthat can\u0027t be forwarded on to the client, and will continue to\nadvertise service ports for an application which is no longer\nrunning until the device is rebooted (mDNS pollution).\n\nBug: 9801184\nChange-Id: I0aa7311480322aefcff16f902fbbf34f50985d38\n"
    },
    {
      "commit": "d5c69462c6ebc71d13e353f179c7549bb75d1dc5",
      "tree": "40684a0bdf8c4e1b09967793c976cdb2b11cff3b",
      "parents": [
        "792f38ddd9e8d25b2c8bf0d67363dbfa56550636"
      ],
      "author": {
        "name": "Jianzheng Zhou",
        "email": "jianzheng.zhou@freescale.com",
        "time": "Thu Oct 10 14:02:09 2013 +0800"
      },
      "committer": {
        "name": "Jianzheng Zhou",
        "email": "jianzheng.zhou@freescale.com",
        "time": "Thu Mar 13 09:09:22 2014 +0800"
      },
      "message": "remove unnecessary switchUser call\n\nIf userId doesn\u0027t change, no need to do switchuser.or it will\nintroduce some tweak for gps modules in quick off/on because\nthey need cost time in off/on.\n\nChange-Id: Ie5e408dc8be69c8a63a18bcb2cfe478cef4d70e6\nSigned-off-by: Jianzheng Zhou \u003cjianzheng.zhou@freescale.com\u003e\n"
    },
    {
      "commit": "0efbd9a463c848118c7685f4bfc8765a82caa761",
      "tree": "4c091a048fd013b99927089c5f2127868c2b6156",
      "parents": [
        "5de03b18ea455c0250cbd01912282f28d8635910"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jan 30 14:19:51 2014 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Mar 07 12:32:44 2014 -0800"
      },
      "message": "ART profiler usage.\n\nThis is a change to add args to some of the profiler related\nfunctions, including installd commands.\n\nAlso read properties and set command line options for the runtime\nprofiling parameters.\n\nChanged calls to isDexOptNeeded() to isDexOptNeededInternal().  This\nneeds additional arguments passed for profiles.\n\nBug: 12877748\nChange-Id: I1a426c9309d760bac0cf92daa298defee62287c1\n\nConflicts:\n\tcore/jni/AndroidRuntime.cpp\n"
    },
    {
      "commit": "27ad525c7e91bde38d6c9e3e67ab38b97eb7eed0",
      "tree": "dec1f3dbb92932fd36b4f947aa2867ad0ef0ab9e",
      "parents": [
        "29e55bef771ee1453017fbf73bb4de62d356e4fc"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Dec 19 14:49:36 2013 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 07 13:48:04 2014 +0000"
      },
      "message": "Inform libcore of time format pref. changes.\n\n- Introduce a boolean extra for intent TIME_CHANGED that\n  specifies if the user wants a 24 hour format or not.\n- Have the ActivityManagerService inform running processes\n  of changes to this preference.\n- Add plumbing in ActivityThread to inform j.t.DateFormat\n\nChange-Id: I05fafb903ae54e39c03a048b7a219dc5a93fd472\n"
    },
    {
      "commit": "a0b4d0ce471cf10888bac4d4ec5b97fd562ad756",
      "tree": "e08221485b3c2e2869ac6c731630a0d641fc51f9",
      "parents": [
        "9404752d50a60319f0d2f53c212fad7c7cd8fb8e",
        "c36a5b9c3664d1b1e9787503161154d5b3470872"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Mar 04 15:19:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 04 15:19:17 2014 +0000"
      },
      "message": "Merge \"Avoid duplication of AppWindowToken in created Task\""
    },
    {
      "commit": "c36a5b9c3664d1b1e9787503161154d5b3470872",
      "tree": "8e0da5a121505ea0f06b503385658591a241910c",
      "parents": [
        "2ba70fd49bfcbb516e75c198c106764609335feb"
      ],
      "author": {
        "name": "Yevgen Pronenko",
        "email": "yevgen.pronenko@sonymobile.com",
        "time": "Wed Feb 19 10:33:07 2014 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Tue Mar 04 15:07:34 2014 +0100"
      },
      "message": "Avoid duplication of AppWindowToken in created Task\n\nWhen WindowManagerService creates a new Task, it passes atoken to the\nTask constructor. In this case atoken is added to mAppTokens list by\nthe Task constructor and then it is added manually again by calling\nnewTask.mAppTokens.add(atoken). As a result, the same atoken is present\nin mAppTokens list twice.\n\nWhen another window token is added to the list, it may be placed in\nbeetwen duplicated tokens and corresponding window will be hidden from\nthe screen by corresponding duplicated windows.\nFrom user perspective it means that some windows will not be displayed\non the screen.\n\nThe issue is fixed by avoid adding atoken to mAppTokens list manually\nwhen it was added already in Task constructor.\n\nChange-Id: I10628e68186160fffdde07beb7d84ab3cecb7051\n"
    },
    {
      "commit": "16678ac66f7e6d5ce414536b7534d1e823f7ab30",
      "tree": "304b39fd7d36c0c7a642fd85a1b6fb422f77af47",
      "parents": [
        "e4dae5f2c26f5992a31f8ce15811fc082647ddb8",
        "8554a0933b5c70f637af4a326e8011c91ca6d4b8"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Thu Feb 27 22:01:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 27 22:01:29 2014 +0000"
      },
      "message": "Merge \"Fixed upgrading from forward-lock application to system application\""
    },
    {
      "commit": "3651cb7b4a0c3c731905301e868cca1c3af5aa21",
      "tree": "593f3d3142abaeff32bc347302d49b3dfc99e4ca",
      "parents": [
        "952862085ad0b9f28b966b444a3c5a28c3152896",
        "cd9cd758d6dc884220f86ff10812c9e33a978de5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 24 22:25:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 24 22:25:19 2014 +0000"
      },
      "message": "am cd9cd758: am c213b3a3: am f7f80d7b: Merge \"Start the dream manager even if dreams are not supported.\" into klp-modular-dev\n\n* commit \u0027cd9cd758d6dc884220f86ff10812c9e33a978de5\u0027:\n  Start the dream manager even if dreams are not supported.\n"
    },
    {
      "commit": "c213b3a34ccee7cfa72dab281cfa950e5f7df6fc",
      "tree": "fe2743140530e213de7ec95ea138c79aa40411ea",
      "parents": [
        "c004c9a87f0d4afa3a01f39922ad934def93c776",
        "f7f80d7b54b11d432bb6e72da526edf369128ea7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 24 22:18:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 24 22:18:32 2014 +0000"
      },
      "message": "am f7f80d7b: Merge \"Start the dream manager even if dreams are not supported.\" into klp-modular-dev\n\n* commit \u0027f7f80d7b54b11d432bb6e72da526edf369128ea7\u0027:\n  Start the dream manager even if dreams are not supported.\n"
    },
    {
      "commit": "f7f80d7b54b11d432bb6e72da526edf369128ea7",
      "tree": "a8b3a6da7ee79f875b868f60f785c8b36bd25497",
      "parents": [
        "ffda464851008f750246f343c939d8003071cd23",
        "e0dd3ca81d9355701164742d53695cf6d15cfdca"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 24 22:15:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 24 22:16:00 2014 +0000"
      },
      "message": "Merge \"Start the dream manager even if dreams are not supported.\" into klp-modular-dev"
    },
    {
      "commit": "e0dd3ca81d9355701164742d53695cf6d15cfdca",
      "tree": "4903d33f11495a8268cfa166b8da85598554b0de",
      "parents": [
        "2687550272ba061448f5d5b914700dc335299ee7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 24 13:57:53 2014 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 24 14:07:27 2014 -0800"
      },
      "message": "Start the dream manager even if dreams are not supported.\n\nThe dreams manager also manages dozing.  It has a minimal footprint\nso there is no real reason to disable the component (it just makes\ndebugging more difficult).\n\nImproved the documentation of the config_dreamsSupported resource\nto clarify exactly what it controls.\n\nBug: 12494706\nChange-Id: I78244846f7c1ddfd11bc1605af59b0db91337971\n"
    },
    {
      "commit": "4c90185a351fcabdca38e6fa767ddbb1ddc907de",
      "tree": "01c0dfcb26d96d66ce7eeb56e5c1d97c57512f3c",
      "parents": [
        "dc8d7db35aae71ea747457cc1073fe8d60a8b277",
        "542b55d9a4bee2f98f8a0a6948e0873c5faaddc7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sat Feb 22 00:20:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 22 00:20:57 2014 +0000"
      },
      "message": "am 542b55d9: am c8661519: am 83930aa0: Merge \"Fix broken IME when decrypting storage\" into klp-modular-dev\n\n* commit \u0027542b55d9a4bee2f98f8a0a6948e0873c5faaddc7\u0027:\n  Fix broken IME when decrypting storage\n"
    },
    {
      "commit": "c866151926b7672a58a7312c8083612bdc567fb4",
      "tree": "961b51a7ade9be9e42cfbed84f2ebadb981dae7a",
      "parents": [
        "d7d37256c4bab388e99dae5e16b80a59756cc97d",
        "83930aa09aecef7429d8a1c07b80f10b7e2e13f6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 21 22:17:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 21 22:17:26 2014 +0000"
      },
      "message": "am 83930aa0: Merge \"Fix broken IME when decrypting storage\" into klp-modular-dev\n\n* commit \u002783930aa09aecef7429d8a1c07b80f10b7e2e13f6\u0027:\n  Fix broken IME when decrypting storage\n"
    },
    {
      "commit": "8793dd873d53fe947b2cf68f39d4cb774ac0cc74",
      "tree": "554a795264d0f122667758b1e78d2e9bee0841fb",
      "parents": [
        "2cb6c60c0d2de3bc743c043aca963db6fe52662f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 21 14:06:47 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 21 14:06:47 2014 -0800"
      },
      "message": "Fix broken IME when decrypting storage\n\nBug:13113499\nChange-Id: Icf767864c8ff694fd569b9237ae1004cc20204a2\n"
    },
    {
      "commit": "38bf51466881b726f42832743d8cca6ee67bb148",
      "tree": "f2273799ae619f0f9b81ea0997009f2457d1cf54",
      "parents": [
        "05cebdc2abd05b0dca351306cb039245d50c67ae"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Wed Feb 19 16:39:36 2014 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Feb 21 09:53:19 2014 -0800"
      },
      "message": "Move time setting code from SystemClock to AlarmManagerService\n\nOn devices using /dev/rtc instead of /dev/alarm, updating the\ntime-of-day clock and RTC are separate syscalls.  Hence the clock and\nRTC could be left in inconsistent states if two threads called\nSystemClock.setCurrentTimeMillis() simultaneously.\n\nBy moving this code into AlarmManagerService, we can put a global lock\naround AlarmManagerService.setTime() and prevent the race condition.\n\nNote that access to SystemClock.setCurrentTimeMillis() is now gated by\nandroid.permission.SET_TIME, where before it was gated by filesystem\npermissions (i.e., could the process write to /dev/alarm or /dev/rtc).\n\nChange-Id: Ia34899a4cde983656305fd2ef466dfe908ed23c8\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "4de3f481bc59ab4b766dc027e41aff7cda9d62f7",
      "tree": "49232000eaf4d8686816ed7211b351e976ad4950",
      "parents": [
        "2b3c14bf75c71524a0fcbc3e9d1fdab9aa6c3473"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Mon Jan 27 16:00:23 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Feb 20 12:10:24 2014 +0000"
      },
      "message": "AArch64: Make AssetAtlasService 64-bit compatible\n\nChanges in this patch include\n\n[x] Long(64-bit) is used to store native pointers in\n    AssetAtlasService and related classes as they can be 64-bit.\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: Ib4c77c134e3ad5b21732e20cde9a54a0b16bdab1\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\n"
    },
    {
      "commit": "332886854438809e956fb232b69879e33b5dc2bb",
      "tree": "ddda4e05eba4ed396691ff90b8f2e498d9c8e699",
      "parents": [
        "ff699570f62113b4df5b0efd74b9df8b9dbcd1a9",
        "01fe661ae5da3739215d93922412df4b24c859a2"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Feb 20 00:25:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 20 00:25:10 2014 +0000"
      },
      "message": "Merge \"Initial round of MediaSession APIs\""
    },
    {
      "commit": "01fe661ae5da3739215d93922412df4b24c859a2",
      "tree": "fbc2bb43edec44c553256de377312741f87f434f",
      "parents": [
        "d63b4314b85e982a1d70d4064af59851f476dd36"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Feb 13 14:19:04 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Feb 19 13:41:37 2014 -0800"
      },
      "message": "Initial round of MediaSession APIs\n\nThis is far from complete but puts the basic components in place\nfor an app to interact with media sessions.\n\nChange-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f\n"
    },
    {
      "commit": "f542a33c8de852fe3706a01e960fa0546b536e25",
      "tree": "051d1d8668f909986ee267e33ad5dc8d39244b56",
      "parents": [
        "a78068e7a3af53cc2b590902f74074d1781513da"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 19 12:29:58 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 19 12:29:58 2014 -0800"
      },
      "message": "Fix build due to change in SystemServiceManager\n\nChange-Id: I0fabb98b7b84e5c721757d20df4eac501ca21cc0\n"
    },
    {
      "commit": "a78068e7a3af53cc2b590902f74074d1781513da",
      "tree": "51e9324e75740ea3bec3f3c32d557af2eb15bfe3",
      "parents": [
        "55b8ddc30386ec15073304b1f9fabc7eb789f52e",
        "13c839962e246517a7a95326610ea30c529d79dc"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 19 19:48:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 19 19:48:05 2014 +0000"
      },
      "message": "am 13c83996: am 1c532c2e: am 4b07b26e: Merge \"Make UsbService optional\" into klp-modular-dev\n\n* commit \u002713c839962e246517a7a95326610ea30c529d79dc\u0027:\n  Make UsbService optional\n"
    },
    {
      "commit": "1c532c2e2d8464ef7ddd0cc5914f3b1ab2dc49c2",
      "tree": "864b094489e8d2ab165dd1aa8f5fb3eba9626adf",
      "parents": [
        "04520a01b8469729379e73a7995a188ffea2b187",
        "4b07b26e8654df52ca80bb2165ebdf9352ab9337"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 19 19:41:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 19 19:41:26 2014 +0000"
      },
      "message": "am 4b07b26e: Merge \"Make UsbService optional\" into klp-modular-dev\n\n* commit \u00274b07b26e8654df52ca80bb2165ebdf9352ab9337\u0027:\n  Make UsbService optional\n"
    },
    {
      "commit": "fcb87369b17c69923b80b58e6ea9f6c9d7bc8c74",
      "tree": "a45fbcb7b00807f32885c58715e77ff293d12656",
      "parents": [
        "60097a9c5a7214cb73d0bc966adef767743f8798"
      ],
      "author": {
        "name": "Junu Kim",
        "email": "junu.kim7@gmail.com",
        "time": "Wed Feb 19 16:25:21 2014 +0900"
      },
      "committer": {
        "name": "Junu Kim",
        "email": "junu.kim7@gmail.com",
        "time": "Wed Feb 19 16:25:21 2014 +0900"
      },
      "message": "A background started service is removed from mStartingBackground when timeout.\nFix is to make sure mStartingBackground is updated to remove one.\n\nChange-Id: I0e42beb550d33e6e400349b85bbb89848e18d520\n"
    },
    {
      "commit": "5441745effb885589c03050b59885e8a3ad96ad6",
      "tree": "0e06886c33fa2c5e8bffc728bc7ede248381f803",
      "parents": [
        "93b55c1149bb4a03b0df7887182265969af2ab71",
        "019b1f2668ac17f5e52b6ce32a524d26134a062a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 18 23:03:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 18 23:03:37 2014 +0000"
      },
      "message": "am 019b1f26: am 2ea983a5: am 3d9bcb90: Create FEATURE_ constants for print and backup\n\n* commit \u0027019b1f2668ac17f5e52b6ce32a524d26134a062a\u0027:\n  Create FEATURE_ constants for print and backup\n"
    },
    {
      "commit": "2ea983a567bf536f71dd620e1b215d5aeebce531",
      "tree": "a81e530c49e61cc3f5a861d3f2ebb153332247d1",
      "parents": [
        "37d894a42b5744e3e5def5fbfcc641fe3afa2063",
        "3d9bcb90ee6c0ffff93642539ae64fb672c7f14a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 18 22:57:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 18 22:57:37 2014 +0000"
      },
      "message": "am 3d9bcb90: Create FEATURE_ constants for print and backup\n\n* commit \u00273d9bcb90ee6c0ffff93642539ae64fb672c7f14a\u0027:\n  Create FEATURE_ constants for print and backup\n"
    },
    {
      "commit": "2cb6c60c0d2de3bc743c043aca963db6fe52662f",
      "tree": "ec6963bb443a13698459a1029ecd49bfc8a5d816",
      "parents": [
        "3d9bcb90ee6c0ffff93642539ae64fb672c7f14a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 14 17:19:56 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 18 14:57:09 2014 -0800"
      },
      "message": "Make UsbService optional\n\nTweaked the services Android.mk to build dependencies\nwhen building with mm[m].\n\nChange-Id: I6dad511c652bcacc085f27ede5f8f22a6982c6bd\n"
    },
    {
      "commit": "3d9bcb90ee6c0ffff93642539ae64fb672c7f14a",
      "tree": "f23fc306bbdebacd1106c9f5b7d839b114188e68",
      "parents": [
        "3048191b4cf9eff7a72b84065dec2b3dd1e89b3c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 18 14:05:14 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 18 14:33:00 2014 -0800"
      },
      "message": "Create FEATURE_ constants for print and backup\n\nBug:13079822\n\nChange-Id: I6f4b759951d45989e8aad4011fae431ee2ecae0c\n"
    },
    {
      "commit": "02a64daefece8ccdc40935c7bc865a8966249c44",
      "tree": "c386b46c4b8dca87ba42612e4b7e6cba480d6de0",
      "parents": [
        "234b0b037ee1f8dc50c846279216a8e4d779ff56",
        "1da35f71d2889699864d0cd8f76a6ee8caacfb5b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 18 17:11:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 18 17:11:10 2014 +0000"
      },
      "message": "Merge \"Tethering: Skip link local addresses when enabling NAT\""
    },
    {
      "commit": "234b0b037ee1f8dc50c846279216a8e4d779ff56",
      "tree": "b45bef230a4d300af976550f3efd6214b51c7bc9",
      "parents": [
        "a14d9c318a1d358902a76aff733303c5509bb5fc",
        "5fb5df001332d5fb05152e7a78d0b28a48ca559e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 18 17:10:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 18 17:10:02 2014 +0000"
      },
      "message": "Merge \"Fix, MountService now only sends one onShutDownComplete\""
    },
    {
      "commit": "8554a0933b5c70f637af4a326e8011c91ca6d4b8",
      "tree": "84ee3066f3f362d5c92c2331671ed58dc2cf1963",
      "parents": [
        "a14d9c318a1d358902a76aff733303c5509bb5fc"
      ],
      "author": {
        "name": "Brice Jaglin",
        "email": "brice.jaglin@sonyericsson.com",
        "time": "Mon Jun 25 21:51:39 2012 +0900"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Tue Feb 18 14:37:09 2014 +0100"
      },
      "message": "Fixed upgrading from forward-lock application to system application\n\nFixes the case when the app on system is newer than the\ncurrently installed. Something that can happen e.g. after\na FOTA update.\n\nChange-Id: I102e9cdd5693d5e66667c0c8989dc2643c72dd16\n"
    },
    {
      "commit": "509a243c2c5ebc9cc55324bd9a03a5b560d81cfb",
      "tree": "2aca8431c1c23c4a57dd5e5b943450d30d68f7da",
      "parents": [
        "d7043f0084237200b6aab5d101c8ab6d3ab495c6",
        "26c6b783d2ab24c3753fa83241beb98c6f1e85d1"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Feb 14 21:15:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 21:15:50 2014 +0000"
      },
      "message": "Merge \"Check the return value of listFiles on the ifw directory\""
    },
    {
      "commit": "26c6b783d2ab24c3753fa83241beb98c6f1e85d1",
      "tree": "17bc90a072f291bdc012a10a3fb5fcebcda56fe1",
      "parents": [
        "a9bb594da6aff97ba927ba67a34486d0b9c1b4a0"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Mon Sep 30 17:03:34 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Feb 14 13:07:11 2014 -0800"
      },
      "message": "Check the return value of listFiles on the ifw directory\n\nlistFiles can return null if the directory doesn\u0027t exist\n\nBug: 10497143\nChange-Id: Ie4cbdf18a259a9641669a4e6b9bf49b4879acc67\n"
    },
    {
      "commit": "88aaef71289177644f723d3d0f20f34a6f9b3d2c",
      "tree": "1ac6363de0a0b74a046ccd929e431bf60acc0328",
      "parents": [
        "00aefc8fa85f7a1dd171d7b0d906630abba7fc93",
        "ce0552f360d8c8f0bc45095293be369800ce9c93"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 14 09:50:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 14 09:50:37 2014 +0000"
      },
      "message": "am ce0552f3: am 8a4c2bb1: am 567f7ca4: Refactor dream manager to new pattern.\n\n* commit \u0027ce0552f360d8c8f0bc45095293be369800ce9c93\u0027:\n  Refactor dream manager to new pattern.\n"
    },
    {
      "commit": "8a4c2bb1f07cf1d971290a7310d7b71aceb71590",
      "tree": "3b6cd55bc5dd14616f8360d30e3adf839eb5b551",
      "parents": [
        "dc3561df118a17a099285c9be312fb66f91314ec",
        "567f7ca424280ae957b04d4f3df690055f2d41df"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 14 09:14:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 14 09:14:09 2014 +0000"
      },
      "message": "am 567f7ca4: Refactor dream manager to new pattern.\n\n* commit \u0027567f7ca424280ae957b04d4f3df690055f2d41df\u0027:\n  Refactor dream manager to new pattern.\n"
    },
    {
      "commit": "567f7ca424280ae957b04d4f3df690055f2d41df",
      "tree": "8ed338015b00d163576d03d0aa5cf67b85c5b42b",
      "parents": [
        "474f1fbe8d87563909c3cb69ec921d427cd1f0b0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 30 23:38:03 2014 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 13 23:26:59 2014 -0800"
      },
      "message": "Refactor dream manager to new pattern.\n\nChange-Id: I99ab4bd98d56a290368dc4b24e5bb24e0656b522\n"
    },
    {
      "commit": "bba3a694b8400fd340c0400bf42ef3d79a4285b1",
      "tree": "14c1eb67ea3a2520670bf5910d06811982b1522a",
      "parents": [
        "a9bb594da6aff97ba927ba67a34486d0b9c1b4a0",
        "c5ac15a3e11c03951e269b243674858411204b67"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Feb 13 04:26:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 13 04:26:33 2014 +0000"
      },
      "message": "Merge \"Telephony API extension v2\""
    },
    {
      "commit": "67754d93c4bfb2da1831b1dd2b40c12a838b1028",
      "tree": "8ea3d4f1c262d60d848d2d986972ea8c86d83b5b",
      "parents": [
        "578087e39845a0c9a728ba18963f498d1f69b279",
        "48d22323ce39f9aab003dce74456889b6414af55"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Tue Feb 11 21:29:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 11 21:29:58 2014 +0000"
      },
      "message": "Merge \"Runtime resource overlay, iteration 2\""
    },
    {
      "commit": "b823bd45600fc339ae2e618d5fe506ace74ada4a",
      "tree": "0af3e43af5bfc341edd9c1c5614a89ecb07875fc",
      "parents": [
        "f44a3f1e00e38b09f70efed3eaf771871435e478",
        "0d552f7d8b793f44c9442c19683a5433004b023e"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 14:29:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 11 14:29:09 2014 +0000"
      },
      "message": "Merge \"Use long to store pointers in ConsumerIrService\""
    },
    {
      "commit": "cab8617b8ccea3a99b1ee15e15915c512a10c738",
      "tree": "48d07ae2e7f69eadd4e7cd8c7d20c4ea6b37bda1",
      "parents": [
        "33fa09b1ffe8d14d146de4b2632103d831ff8988",
        "25df673b849de374cf1de40250dfd8a48b7ac28b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Feb 11 08:33:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 11 08:33:50 2014 +0000"
      },
      "message": "am 25df673b: am 1b51c9cb: Merge \"Make SystemService constructor take a Context.\" into klp-modular-dev\n\n* commit \u002725df673b849de374cf1de40250dfd8a48b7ac28b\u0027:\n  Make SystemService constructor take a Context.\n"
    },
    {
      "commit": "25df673b849de374cf1de40250dfd8a48b7ac28b",
      "tree": "bcd207313c36f123e2ccd2230e3ee31e5089e38f",
      "parents": [
        "2d6b55aaa9dd03f7d934f7a192989513b1087357",
        "1b51c9cb96fe2a0818289857a016521eed1ec183"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Feb 11 08:18:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 11 08:18:34 2014 +0000"
      },
      "message": "am 1b51c9cb: Merge \"Make SystemService constructor take a Context.\" into klp-modular-dev\n\n* commit \u00271b51c9cb96fe2a0818289857a016521eed1ec183\u0027:\n  Make SystemService constructor take a Context.\n"
    },
    {
      "commit": "b880d880c6cd989eacc28c365fc9a41d31900da1",
      "tree": "660d93bbe7f1b74aa9eac16ac69efe16f67f346e",
      "parents": [
        "d9f9da396b41f394991f676bc74dcfc59c7070a8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 10 19:47:07 2014 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 10 20:01:43 2014 -0800"
      },
      "message": "Make SystemService constructor take a Context.\n\nThis change simplifies the process of initializing a SystemService\nby folding the onCreate() step back into the constructor.  It removes\nsome ambuiguity about what work should happen in the constructor and\nshould make it possible for services to retain most of their final\nfields after refactoring into the new pattern.\n\nChange-Id: I25f41af0321bc01898658ab44b369f9c5d16800b\n"
    },
    {
      "commit": "5fb5df001332d5fb05152e7a78d0b28a48ca559e",
      "tree": "74217b0f979a01d958ee255cfdff5f79dcc8be1e",
      "parents": [
        "56062983f1e07295c812fba0e22ce579a35b6f76"
      ],
      "author": {
        "name": "Rickard Helldin",
        "email": "rickard.helldin@sonymobile.com",
        "time": "Fri Feb 07 09:35:04 2014 +0100"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Mon Feb 10 23:21:25 2014 +0900"
      },
      "message": "Fix, MountService now only sends one onShutDownComplete\n\nThe event onShutDownComplete are sent only when all\nvolumes are shutdown. (Not one for every volume.)\n\nChange-Id: I6af521ee8285ca581efac7d3c5f013dfbff3ee30\n"
    },
    {
      "commit": "ff27e6bc44097485abfde24f396399e5eec9ff6d",
      "tree": "4a8965aae6efbaf903ef1189b8e4b3640d33fa12",
      "parents": [
        "cccae25fc7cd3daf68dee3d3ca7665a5ea12f097",
        "41a17c2e72d61be0a060bf43b669623462a23f13"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Fri Feb 07 23:30:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 07 23:30:24 2014 +0000"
      },
      "message": "Merge \"Use canonical path for /vendor/app\""
    },
    {
      "commit": "0d552f7d8b793f44c9442c19683a5433004b023e",
      "tree": "9c375fb51a1a726f3ecbfb30cda3ec8d0c85c288",
      "parents": [
        "449273e2d575041ffe1a5d435666d36923de888b"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Fri Feb 07 12:26:17 2014 +0000"
      },
      "committer": {
        "name": "David Butcher",
        "email": "david.butcher@arm.com",
        "time": "Fri Feb 07 18:12:23 2014 +0000"
      },
      "message": "Use long to store pointers in ConsumerIrService\n\nChange-Id: I4e6562b7dc09f87ad80b1e862b614a370d37feb5\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\n"
    },
    {
      "commit": "6ea720bacb805e88fc3b8634bbd9dc7fa918beaa",
      "tree": "1f8c3656723e667cbdcba7842a296a6f81211343",
      "parents": [
        "449273e2d575041ffe1a5d435666d36923de888b",
        "e8467194dc8d56b5cf418b025b041737754b98b3"
      ],
      "author": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Feb 07 15:59:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 07 15:59:08 2014 +0000"
      },
      "message": "Merge \"Make sure to turn off led after pulse()\""
    },
    {
      "commit": "9f97de13359662c2709eed227b3fab2ce7d5dabc",
      "tree": "7eb16083cd5fd9d30999dfdead280311084c3e5a",
      "parents": [
        "2b1252ddd2650cb38918cb85d2a3711b2cfa8db5",
        "a5a93f559d337ad5b79716b05ea43707eb779dc8"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 06 20:25:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 06 20:25:51 2014 +0000"
      },
      "message": "am a5a93f55: am 7f416631: Merge \"Check feature bits before loading optional services\" into klp-modular-dev\n\n* commit \u0027a5a93f559d337ad5b79716b05ea43707eb779dc8\u0027:\n  Check feature bits before loading optional services\n"
    },
    {
      "commit": "a5a93f559d337ad5b79716b05ea43707eb779dc8",
      "tree": "aeaf5708202369f8035298433acd9376552c1fbe",
      "parents": [
        "7bd287b70a1c95c96663a6028e9809fd3844f55a",
        "7f416631413e75a1756bd316a2e1906725d72f24"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 06 20:16:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 06 20:16:30 2014 +0000"
      },
      "message": "am 7f416631: Merge \"Check feature bits before loading optional services\" into klp-modular-dev\n\n* commit \u00277f416631413e75a1756bd316a2e1906725d72f24\u0027:\n  Check feature bits before loading optional services\n"
    },
    {
      "commit": "898c13df7b9b12ff10062f3542593e12fbe0c119",
      "tree": "323bc4d7da06b48af2079f44c5f8d346d265e956",
      "parents": [
        "df88d73092c62a1a3cd2b2056ca63ae2e70cc238"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 28 15:34:50 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 05 19:26:40 2014 +0000"
      },
      "message": "Check feature bits before loading optional services\n\nAt startup, we check with PackageManager whether a system service is\navailable before attempting to load it. A system service is available\nif its associated feature (similar to hardware features) is present.\nThis does not remove unavailable services from the compiled jar.\n\nChange-Id: I13571805083aa4e65519a74acb52efd17b9fb3d7"
    },
    {
      "commit": "48d22323ce39f9aab003dce74456889b6414af55",
      "tree": "510aa964078d251874e2c0e7c8556f237b5710c4",
      "parents": [
        "65a05fd56dbc9fd9c2511a97f49c445a748fb3c5"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Fri Jan 31 14:43:27 2014 +0100"
      },
      "committer": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sonymobile.com",
        "time": "Mon Feb 03 11:20:30 2014 +0100"
      },
      "message": "Runtime resource overlay, iteration 2\n\nSupport any number of overlay packages. Support any target package.\n\nUPDATED PACKAGE MATCHING\n------------------------\nIn Runtime resource overlay, iteration 1, only a single overlay package\nwas considered. Package matching was based on file paths:\n/vendor/overlay/system/framework-res.apk corresponded to\n/system/framework-res.apk. Introduce a more flexible matching scheme\nwhere any package is an overlay package if its manifest includes\n\n    \u003coverlay targetPackage\u003d\"com.target.package\"/\u003e\n\nFor security reasons, an overlay package must fulfill certain criteria\nto take effect: see below.\n\nTHE IDMAP TOOL AND IDMAP FILES\n------------------------------\nIdmap files are created by the \u0027idmap\u0027 binary; idmap files must be\npresent when loading packages. For the Android system, Zygote calls\n\u0027idmap\u0027 as part of the resource pre-loading. For application packages,\n\u0027idmap\u0027 is invoked via \u0027installd\u0027 during package installation (similar\nto \u0027dexopt\u0027).\n\nUPDATED FLOW\n------------\nThe following is an outline of the start-up sequences for the Android\nsystem and Android apps. Steps marked with \u0027+\u0027 are introduced by this\ncommit.\n\nZygote initialization\n   Initial AssetManager object created\n+    idmap --scan creates idmaps for overlays targeting \u0027android\u0027, \\\n           stores list of overlays in /data/resource-cache/overlays.list\n   AssetManager caches framework-res.apk\n+  AssetManager caches overlay packages listed in overlays.list\n\nAndroid boot\n   New AssetManager\u0027s ResTable acquired\n     AssetManager re-uses cached framework-res.apk\n+    AssetManager re-uses cached \u0027android\u0027 overlays (if any)\n\nApp boot\n   ActivityThread prepares AssetManager to load app.apk\n+  ActivityThread prepares AssetManager to load app overlays (if any)\n   New AssetManager\u0027s ResTable acquired as per Android boot\n\nSECURITY\n--------\nOverlay packages are required to be pre-loaded (in /vendor/overlay).\nThese packages are trusted by definition. A future iteration of runtime\nresource overlay may add support for downloaded overlays, which would\nlikely require target and overlay signatures match for the overlay to\nbe trusted.\n\nLOOKUP PRIORITY\n---------------\nDuring resource lookup, packages are sequentially queried to provide a\nbest match, given the constraints of the current configuration. If any\npackage provide a better match than what has been found so far, it\nreplaces the previous match. The target package is always queried last.\n\nWhen loading a package with more than one overlay, the order in which\nthe overlays are added become significant if several packages overlay\nthe same resource.\n\nHad downloaded overlays been supported, the install time could have been\nused to determine the load order. Regardless, for pre-installed\noverlays, the install time is randomly determined by the order in which\nthe Package Manager locates the packages during initial boot. To support\na well-defined order, pre-installed overlay packages are expected to\ndefine an additional \u0027priority\u0027 attribute in their \u003coverlay\u003e tags:\n\n    \u003coverlay targetPackage\u003d\"com.target.package\" priority\u003d\"1234\"/\u003e\n\nPre-installed overlays are loaded in order of their priority attributes,\nsorted in ascending order.\n\nAssigning the same priority to several overlays targeting the same base\npackage leads to undefined behaviour. It is the responsibility of the\nvendor to avoid this.\n\nThe following example shows the ResTable and PackageGroups after loading\nan application and two overlays. The resource lookup framework will\nquery the packages in the order C, B, A.\n\n        +------+------+-     -+------+------+\n        | 0x01 |      |  ...  |      | 0x7f |\n        +------+------+-     -+------+------+\n            |                           |\n        \"android\"                Target package A\n                                        |\n                       Pre-installed overlay B (priority 1)\n                                        |\n                       Pre-installed overlay C (priority 2)\n\nChange-Id: If49c963149369b1957f7d2303b3dd27f669ed24e\n"
    },
    {
      "commit": "c6c633608ad4cd77ed21227b0bdb11eb79797c31",
      "tree": "b21c39081539be374502f1d4de16c39b59e0c4ad",
      "parents": [
        "ab71f8b68fee0f2a4f2049c4345b5334948c9df9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 30 13:14:01 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 30 13:16:48 2014 -0800"
      },
      "message": "frameworks/base: Rename persist.sys.dalvik.vm.lib to allow new default\n\nBug: 12798969\nChange-Id: Ibb7ed86867e4dca53ad7fe33326b08e6f5e664c4\n"
    },
    {
      "commit": "41a17c2e72d61be0a060bf43b669623462a23f13",
      "tree": "1383387e1cbf7767424ea1b2965408c11f620b91",
      "parents": [
        "db3278ab429860161e5baa26f141de95a48de0cb"
      ],
      "author": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Thu Jan 30 09:39:00 2014 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Thu Jan 30 09:45:23 2014 +0100"
      },
      "message": "Use canonical path for /vendor/app\n\nIt wasn\u0027t possible to start apps installed in /vendor/app\non a device where /vendor was a symbolic link to /system/vendor.\nThis is currently the default configuration for android (see\ninit.rc)\n\nDuring installation a dex file is created at:\n/data/dalvik-cache/vendor@app@blah.blah.apk@classes.dex\n\nBut dalvik would fail to start this app with the following error:\nI/dalvikvm( 3453): Unable to open or create cache for /system/vendor/app/blah.apk \\\n(/data/dalvik-cache/system@vendor@app@blah.blah.apk@classes.dex)\n\nNote that dalvik were trying to start /system/vendor/app while the\napp was installed in /vendor. There was a conflict between the\npackage manager and dalvik on how to interpret paths. This change\nmakes the package manager consistent with dalvik.\n\nChange-Id: I1c7e3c3ae45f97dd742cbf06f7965a7405c821a7\n"
    },
    {
      "commit": "6e09eb4c6753f8e5cbd04f9b0c7b65046d27afdb",
      "tree": "0be2811684a15ab53621a3b124639aab44789c41",
      "parents": [
        "baf2c7a400ef27b1f33999498a80e2fb3e05a22f",
        "a0398430fcf365fba6e42ad0bdca2fbf45ed6fe0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 28 19:12:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 28 19:12:17 2014 +0000"
      },
      "message": "Merge \"AArch64: Make graphics classes 64-bit compatible\""
    },
    {
      "commit": "a0398430fcf365fba6e42ad0bdca2fbf45ed6fe0",
      "tree": "f263a4baa0ab7b4e7e0101075f1e85768b3d7ba1",
      "parents": [
        "1ff4293e33f98e6dc19e4f154cb497af9bd88c9d"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Mon Jan 20 20:08:01 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 28 17:40:38 2014 +0000"
      },
      "message": "AArch64: Make graphics classes 64-bit compatible\n\nChanges in this patch include\n\n[x] Long is used to store native pointers as they can\n    be 64-bit.\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\n[x] AssetAtlasManager is not completely 64-bit compatible\n    yet. Specifically mAtlasMap member has to be converted\n    to hold native pointer using long. Added a TODO to\n    AssetAtlasManager.java to indicate the change required.\n\nChange-Id: I940433f601c6db998c1a8ffff338f5361200d5ed\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": "d5c91ece7bfea74ee7ab2bc86f3cb3f5c531f866",
      "tree": "e25bab302ca193c2e594958f9c7e278f1b332be9",
      "parents": [
        "1ff4293e33f98e6dc19e4f154cb497af9bd88c9d"
      ],
      "author": {
        "name": "louis_chang",
        "email": "louis_chang@htc.com",
        "time": "Tue Jan 28 18:38:06 2014 +0800"
      },
      "committer": {
        "name": "louis_chang",
        "email": "louis_chang@htc.com",
        "time": "Tue Jan 28 18:38:06 2014 +0800"
      },
      "message": "[ActivityManager]: Fix the activity visibility state not sync between ActivityManager and WindowManager\n\nSymptom:\nWhen press Home key to home screen, user is able to see the activity\u0027s window shown on top of wallpaper and below launcher(widgets).\n\nRoot Cause:\nThe ensureActivitiesVisibleLocked() is called pretty often (for example when a new process bound).\nIf the top activity \"B\" was finishing, then the previous activity \"A\" should be visible.\nTherefore, the activity \"A\" window will be set to visible and then launched activity \"A\", but it does not updates the visible state in ActivityRecord for \"A\".\nThere has a timing issue that if a new activity \"C\" is started, \"C\" becomes the new top activity and be resumed.\nIn that case, Activity \"A\" window will remain visible even if it is behind a full screen activity \"C\" because the ActivityRecord.visble of \"A\" is still false, so the window visibility won\u0027t be update.\nSo when user press home key and back to launcher, the surface of activity \"A\" will be composed on top of wallpaper.\n\nSolution:\nUpdates ActivityRecord.visible to true for \"A\". After \"C\" is started, the \"A\" will be called WindowManagerService.setAppVisibility() to set invisible, then called onStop() when execute ensureActivitiesVisibleLocked() again.\n\nChange-Id: I536ba04b95d8d274fea6d679a6493e620bc981e2\n"
    },
    {
      "commit": "1da35f71d2889699864d0cd8f76a6ee8caacfb5b",
      "tree": "1622a0179e9c494925bd54c3fc9b85162e598a96",
      "parents": [
        "868173a53f0d1059408b049f30af3402d5b0de64"
      ],
      "author": {
        "name": "jiaguo",
        "email": "jiaguo@marvell.com",
        "time": "Thu Jan 09 16:39:59 2014 +0800"
      },
      "committer": {
        "name": "jiaguo",
        "email": "jiaguo@marvell.com",
        "time": "Sun Jan 26 10:07:04 2014 +0800"
      },
      "message": "Tethering: Skip link local addresses when enabling NAT\n\nOnly one entry is allowed to be added to route table 60 for all\ninterface ipv6 link local addresses, so skip ipv6 link local\naddresses on all interfaces when enabling NAT\n\nChange-Id: Ibbe6c2bdae83586cdd38287089715f3433bbb91f\nSigned-off-by: jiaguo \u003cjiaguo@marvell.com\u003e\n"
    },
    {
      "commit": "e8467194dc8d56b5cf418b025b041737754b98b3",
      "tree": "fe3c1a61b26b08808b90da846216cbd87f7f3983",
      "parents": [
        "c9a60b0f77525244ac4f970258703b8dc62ee140"
      ],
      "author": {
        "name": "Oskar Andero",
        "email": "oskar.andero@sonymobile.com",
        "time": "Tue Dec 03 17:41:27 2013 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Jan 24 10:43:53 2014 +0100"
      },
      "message": "Make sure to turn off led after pulse()\n\nsetLightLocked() will update mColor. This will cause the led to not be\nturned off after the pulse.\nWhen notificationManager starts a attention pulse the led will be kept\non. Since attention is of highest prio nothing can turn it off.\nThis is fixed by resetting mColor back to 0 after the call.\n\nChange-Id: Id60ef96e5c21b47c23002f0bcf2fae7fb3f2ca10\n"
    },
    {
      "commit": "cc81bcece411794b4eac6b03b7700a0214fdbb87",
      "tree": "6f9d76c6c0818524a282fb3bdc28922f88dbf2a0",
      "parents": [
        "9fc157a4767f54d1cff53dc9489638b67aec2da3",
        "0464c07a9e3f45091d1f9834788646bc8e4a217d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Wed Jan 22 23:46:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 22 23:46:58 2014 +0000"
      },
      "message": "Merge \"Only send storage intents after boot complete\""
    },
    {
      "commit": "719b3b807509d998eeb2aabd582d30b99947673d",
      "tree": "fa5ccf5c5156e7afc003edfc3c91ddedafb55314",
      "parents": [
        "c9a60b0f77525244ac4f970258703b8dc62ee140"
      ],
      "author": {
        "name": "Naofumi Harada",
        "email": "naofumi.harada@sonymobile.com",
        "time": "Tue Jan 21 10:29:36 2014 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Jan 21 07:41:11 2014 +0000"
      },
      "message": "FLAG_PRIVILEGED disappears if privileged app is updated and rebooted\n\nSince Kitkat, an app pre-loaded under /system/priv-app/ has\nFLAG_PRIVILEGED. However, if the app updated and the device\nrebooted, privileged flag is unset from pkgFlags. This patch\nfix issue to assign privileged flag when scanning the updated\npackages.\n\nBug: 12640283\n\nChange-Id: Ic24b5882f65dabdfae9cc39da3d68661bed4fc31\n"
    },
    {
      "commit": "0464c07a9e3f45091d1f9834788646bc8e4a217d",
      "tree": "970a59f89d8b91979de365c800883ebdfa0cb745",
      "parents": [
        "c9a60b0f77525244ac4f970258703b8dc62ee140"
      ],
      "author": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Sat Jan 18 22:46:56 2014 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Sat Jan 18 22:46:56 2014 +0100"
      },
      "message": "Only send storage intents after boot complete\n\nIt is not possible to send a broadcast before the system\nboot is completed. If you do it anyway you will get an\nIllegalStateException: Cannot broadcast before boot completed.\n\nIf a memory card is inserted or removed while the phone is\nbooting up, there is a risk that the MountService will try to\nbroadcast a storage intent too early, and cause the device\nto crash.\n\nUse FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT to avoid\nproblems with too early broadcasts.\n\nChange-Id: Ied36a13d235df37c9788e45a35de40d919ae0cd0\n"
    },
    {
      "commit": "90cadb35156829ff1d6b7066409596da38fc70e1",
      "tree": "8543d4bf21ca607352aba39f0d3ee724cb4b154b",
      "parents": [
        "cb4d3ec1ea446fc9ce51514cbf5b16da0ec0fa0f",
        "d64fe0f53c8f77a32cb7745a0a1c4309f9d0ba8d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jan 13 18:35:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 13 18:35:32 2014 +0000"
      },
      "message": "Merge \"MountService listeners can not be unregistered\""
    },
    {
      "commit": "c5ac15a3e11c03951e269b243674858411204b67",
      "tree": "2af4eef7e97318ae606ca78a3b683e62471762ff",
      "parents": [
        "de8c3cf13b0fc0655cf49934658e652b441ee019"
      ],
      "author": {
        "name": "Antonio Marín Cerezuela",
        "email": "amarin@swissms.ch",
        "time": "Mon May 27 11:36:36 2013 +0200"
      },
      "committer": {
        "name": "Antonio Marín Cerezuela",
        "email": "amarin@swissms.ch",
        "time": "Fri Jan 10 11:08:06 2014 +0100"
      },
      "message": "Telephony API extension v2\n\nAdded new AndroidManifest permission:\n\nandroid.permission.READ_PRECISE_PHONE_STATE\n\nAdded the following PhoneStateListeners and corresponding broadcast intents:\n\nonPreciseCallStateChanged(PreciseCallState callState);\nonPreciseDataConnectionStateChanged(PreciseDataConnectionState dataConnectionState);\n\nbroadcastPreciseCallStateChanged(int ringingCallState, int foregroundCallState, int backgroundCallState,\n\tint disconnectCause, int preciseDisconnectCause)\nbroadcastPreciseDataConnectionStateChanged(int state, int networkType, String apnType, String apn,\n\tString reason, LinkProperties linkProperties, String failCause)\n\nAdded TelephonyManager intent actions with their extras and constants:\n\npublic static final String ACTION_PRECISE_CALL_STATE_CHANGED \u003d \"android.intent.action.PRECISE_CALL_STATE\";\npublic static final String ACTION_PRECISE_DATA_CONNECTION_STATE_CHANGED \u003d \"android.intent.action.PRECISE_DATA_CONNECTION_STATE_CHANGED\";\n\npublic static final int PRECISE_CALL_STATE_*\n\nMoved public static final int DISCONNECT_CAUSE_* from PreciseCallState.java to a new class DisconnectCause.java\n\nMoved public static final int PRECISE_DISCONNECT_CAUSE_* from PreciseCallState.java to a new class PreciseDisconnectCause.java\n\nChange-Id: If3b88c679507c529b746046c4a17cf6d9974bd09\n"
    },
    {
      "commit": "446ef1de8d373c1b017df8d19ebf9a47811fb402",
      "tree": "9ab44abf5e9b6b149bdc922cabe2f1a277523538",
      "parents": [
        "76d5cdd820b5d81af8de73180c272d7f8a01caae"
      ],
      "author": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Thu Jan 09 20:24:34 2014 +0800"
      },
      "committer": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Thu Jan 09 20:24:34 2014 +0800"
      },
      "message": "Fix visibility of multiple non-fullscreen activities.\n\nIssue detail:\nAssume X, Y are non-fullscreen activities.\n a.Home starts an activity X in task A in application stack.\n b.X starts an activity Y in \u003ctask A\u003e or \u003cnew task B\u003e\n c.Activity X will be invisible.\n\nHow to fix:\nBecause the function \"isActivityOverHome\" means an activity is able to see home.\nBut there may have many non-fullscreen activities between the top non-fullscreen activity and home.\nIf flag \"behindFullscreen\" is set, those middle activities will be invisible.\nSo it should only take care from who is adjacent to home.\nThen check two flags frontOfTask(task root) and mOnTopOfHome for constraining the condition.\n\nChange-Id: I60bcea304976414e44835a0a38675aae365e9e19\n"
    },
    {
      "commit": "9607d78f5144792993bd254a4b5983b2a9d5bf83",
      "tree": "994c8bed61fd1fb3bdca8765d017e8788ad32b7b",
      "parents": [
        "8a927cfa4ea8e4a78f6a9fa1e2b1da9187a3d1e8",
        "575ca85c147f1521480ea98aca13aa3b1ec38884"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Jan 08 15:56:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 08 15:56:13 2014 +0000"
      },
      "message": "Merge \"Added missing USB device descriptor fields needed for intent filters\""
    },
    {
      "commit": "7e2a9dcf1a4044ed3f81c5b736b5027231395b73",
      "tree": "78312e0208955536bbd8b5f615e228edb7adfd52",
      "parents": [
        "517e9b11d53609d59c60d22dc085e7f9fd442248"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Thu Jan 02 19:43:30 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jan 08 10:06:07 2014 +0000"
      },
      "message": "AArch64: Use long for pointers in services\n\nFor storing pointers, long is used, as native pointers\ncan be 64-bit.\n\nIn addition, some minor changes have been done\nto conform with standard JNI practice (e.g. use\nof jint instead of int in JNI function prototypes)\n\nChange-Id: Ib4435f0794740d545c1e640087849215e6844802\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n"
    },
    {
      "commit": "2ac3cb7aef7c8a51cbeb6d34b648dedcb4363994",
      "tree": "75fe6aeb98b9b1d5b0cfe43137083feffb4a76e9",
      "parents": [
        "cccf2a333793badbcea9b04fe3f29447496a56d9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jan 06 11:31:35 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jan 06 11:31:35 2014 +0000"
      },
      "message": "Fix broken XML parsing idiom.\n\nCode that expected a single top level element in an XML file\nwas doing something like :\n\nwhile (type !\u003d START_TAG) { next(); }\n\nThis would loop forever when the XML being parsed was empty,\nwhere each call to XmlPullParser.next() would return END_DOCUMENT.\n\nbug: https://code.google.com/p/android/issues/detail?id\u003d64173\nChange-Id: I7543203e976a8999ae471a6c2d629249a87011bb\n"
    }
  ],
  "next": "9158825f9c41869689d6b1786d7c7aa8bdd524ce"
}
