)]}'
{
  "log": [
    {
      "commit": "acb0b5b220b2cb15f5a800a356bb25f47252a6ea",
      "tree": "f5df06bd61e283f28dec8598115fc290fa3f75b1",
      "parents": [
        "02c86306d2569d18a49da3d9228dacb25b1f8973"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 28 15:05:03 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 28 16:05:46 2013 -0700"
      },
      "message": "AndroidKeyStore: add Builder for param spec\n\nChange-Id: I13403197e1ac7ac607efa10979eb73bde0135a2a\n"
    },
    {
      "commit": "02c86306d2569d18a49da3d9228dacb25b1f8973",
      "tree": "08c953f7ad52251d6fe4807ec3fdc4e43f38ce9d",
      "parents": [
        "a19647d3d81d3bdd15ad3bc8a2ece8e7bd1095fe",
        "3e7be43e2555bbdfe311dcbd9a36f7f05321a2d8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 28 20:56:58 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 20:56:58 2013 +0000"
      },
      "message": "Merge \"Add ability to install credentials as other UID\""
    },
    {
      "commit": "a19647d3d81d3bdd15ad3bc8a2ece8e7bd1095fe",
      "tree": "a5f8273f85b2ce53f981781a088258327b2aeac2",
      "parents": [
        "2ff853daa89ca47491c3f7b096872a432d4a19e7",
        "3e4a3ea2ff03a6a1f1f7a2bebac9a86fe6555754"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 28 20:50:34 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 20:50:34 2013 +0000"
      },
      "message": "Merge \"Correct executable bit for source files [Take 2]\""
    },
    {
      "commit": "2ff853daa89ca47491c3f7b096872a432d4a19e7",
      "tree": "ae374f1729bd3a8496078b429116f8341d62cf57",
      "parents": [
        "3864aa3944254184ddcd61002cb9f1d7cb1d4c67",
        "d417ab0ea526cee036a71e67af4a8a898e35f564"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Thu Mar 28 20:30:36 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 20:30:36 2013 +0000"
      },
      "message": "Merge \"Add data validation on seinfo labels.\""
    },
    {
      "commit": "3e7be43e2555bbdfe311dcbd9a36f7f05321a2d8",
      "tree": "56850ebc6b5f349bb0127b8e92c031b65095c05e",
      "parents": [
        "3864aa3944254184ddcd61002cb9f1d7cb1d4c67"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 28 09:25:51 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 28 11:30:11 2013 -0700"
      },
      "message": "Add ability to install credentials as other UID\n\nWe need the ability to install from the system UID to wifi UID\nto explicitly bind WiFi credentials to the WiFi profile. This adds the\nability for Wifi Settings to invoke installation of a PKCS12 file for\nthe wifi UID.\n\nBug: 8183258\nChange-Id: I652b7e6fa93deda6d6d310be33f224e5a356c787\n"
    },
    {
      "commit": "d417ab0ea526cee036a71e67af4a8a898e35f564",
      "tree": "ae374f1729bd3a8496078b429116f8341d62cf57",
      "parents": [
        "3864aa3944254184ddcd61002cb9f1d7cb1d4c67"
      ],
      "author": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Thu Mar 28 06:22:12 2013 -0400"
      },
      "committer": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Thu Mar 28 12:19:27 2013 -0400"
      },
      "message": "Add data validation on seinfo labels.\n\nEnsure that policy contains a clean seinfo\nstring. Where clean means no whitespace characters.\n\nChange-Id: I814411cbc8d16eaed99a1389f5487529e36e617b\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "3864aa3944254184ddcd61002cb9f1d7cb1d4c67",
      "tree": "4b4c75950c78881a2b3b82208207e21ab5a83d93",
      "parents": [
        "6b96e2f0006b5c33973b3500d3bb72a8c7a3bd38",
        "0054cbd4dbb9315419cc3c3b2aa1754a02fff1f4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 28 00:16:30 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 00:16:31 2013 +0000"
      },
      "message": "Merge \"Add interrupter library to simulate EINTR\""
    },
    {
      "commit": "3e4a3ea2ff03a6a1f1f7a2bebac9a86fe6555754",
      "tree": "b46b983ad05f3d7b5389f569dd39ca63506a51ac",
      "parents": [
        "519ba7b10c4e0da3586aeeaa9696349f28313898"
      ],
      "author": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Wed Mar 27 16:52:35 2013 +0530"
      },
      "committer": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Wed Mar 27 16:52:35 2013 +0530"
      },
      "message": "Correct executable bit for source files [Take 2]\n\nChange Ieb51bafb46c895a21d2e83696f5a901ba752b2c5 left out some\nfiles, this fixes them.\n\nChange-Id: Ia949a8581668836ea0251602e048f09c852f5169\n"
    },
    {
      "commit": "6b96e2f0006b5c33973b3500d3bb72a8c7a3bd38",
      "tree": "ecf10c3b25fa63d17d5797520db8e16d7369a343",
      "parents": [
        "083bfa5a4cc867a62723537fc6f9a5213865bb19",
        "9e3e5266506cb6817ea676e02d3099a7c44855f3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Wed Mar 27 00:17:41 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 27 00:17:41 2013 +0000"
      },
      "message": "Merge \"Two REMOVE_PROVIDER messages caused by race condition.\""
    },
    {
      "commit": "9e3e5266506cb6817ea676e02d3099a7c44855f3",
      "tree": "ecf10c3b25fa63d17d5797520db8e16d7369a343",
      "parents": [
        "083bfa5a4cc867a62723537fc6f9a5213865bb19"
      ],
      "author": {
        "name": "Guobin Zhang",
        "email": "guobin.zhang@intel.com",
        "time": "Thu Mar 21 13:57:11 2013 +0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 27 00:17:27 2013 +0000"
      },
      "message": "Two REMOVE_PROVIDER messages caused by race condition.\n\nFix a bug in unstable ContentProvider.\nIllegalStateException: ref counts can\u0027t go to zero here: stable\u003d0 unstable\u003d0\nIllegalStateException: unstable count \u003c 0: -1\n\nThere is a race between main thread and background database thread. Main thread\nis responsible for handling the REMOVE_PROVIDER message. Database thread starts\ninsert or query request again and again. acquireProvider in db thread will often\nsnatch provider from the jaws of death, sometime it fails to remove REMOVE_PROVIDER\nwhich is already fired out from MessageQueue. But completeRemoveProvider in main\nthread gets suspended when trying to execute the critical section. If db thread\nreleased the provider before main thread resumes the execution, then two\nREMOVE_PROVIDER messages will be executed.\n\nChange-Id: I8588aa1d1a8bc444dcd2adf6f8bc3f055cebbdc4\nSigned-off-by: Guobin Zhang \u003cguobin.zhang@intel.com\u003e\n"
    },
    {
      "commit": "083bfa5a4cc867a62723537fc6f9a5213865bb19",
      "tree": "ad7f8b956135eb133f71956d5e014678d69be61b",
      "parents": [
        "6c75deb5050c7fdde15b04aa96aa61c7b586e1f9",
        "fbf37c79bdedbdd7b82ad7d5862dd82e3c068590"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 22:25:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 26 22:25:22 2013 +0000"
      },
      "message": "Merge \"Remove dead DateUtils code that was never in an API level.\""
    },
    {
      "commit": "fbf37c79bdedbdd7b82ad7d5862dd82e3c068590",
      "tree": "ad7f8b956135eb133f71956d5e014678d69be61b",
      "parents": [
        "6c75deb5050c7fdde15b04aa96aa61c7b586e1f9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 15:11:28 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 15:11:28 2013 -0700"
      },
      "message": "Remove dead DateUtils code that was never in an API level.\n\nAlso rewrite @deprecated comments to use an initial capital so they\nlook right in the generated documentation.\n\nAlso improve formatIpAddress documentation.\n\nChange-Id: I317ebe411ef76e16a4535318ce73e00b63af38da\n"
    },
    {
      "commit": "6c75deb5050c7fdde15b04aa96aa61c7b586e1f9",
      "tree": "8bb3c64e02a08caacc6a4c24cf7e2276d18ccf5a",
      "parents": [
        "2aee33c1cdf89c0754bb660cd2e0ec95a007d4a8",
        "a480dafbf2f0c7e526ba44dcbb0d603470df2199"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 21:39:51 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 26 21:39:51 2013 +0000"
      },
      "message": "Merge \"Remove the fixed-length buffer in DdmHandleNativeHeap.getLeakInfo.\""
    },
    {
      "commit": "a480dafbf2f0c7e526ba44dcbb0d603470df2199",
      "tree": "8bb3c64e02a08caacc6a4c24cf7e2276d18ccf5a",
      "parents": [
        "2aee33c1cdf89c0754bb660cd2e0ec95a007d4a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 13:18:52 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 26 13:18:52 2013 -0700"
      },
      "message": "Remove the fixed-length buffer in DdmHandleNativeHeap.getLeakInfo.\n\nIt was possible to overrun this buffer, and even if you did fill\nthe buffer in a single read and exit the loop, the \"string\" still\nwouldn\u0027t be terminated.\n\nBug: 8468088\nChange-Id: Ia19f4d26dfd79e7b63807a7ec9540b932163d246\n"
    },
    {
      "commit": "2aee33c1cdf89c0754bb660cd2e0ec95a007d4a8",
      "tree": "7f85df5fca7170888ce0c7eec7213fe55bcc8764",
      "parents": [
        "48718c85b41b785cf6f6ae72beb4c5d46559b735",
        "ebab0ae105f1a6df593a4bc2549fae3ee8b2ade4"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Tue Mar 26 05:10:37 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 26 05:10:38 2013 +0000"
      },
      "message": "Merge \"BackupManagerService files need new security labeling.\""
    },
    {
      "commit": "48718c85b41b785cf6f6ae72beb4c5d46559b735",
      "tree": "f3d2c545746860a3d38c0156a62626e24deb5f64",
      "parents": [
        "4bcea1222ce447d9969d12927995ffdfad7c8322",
        "1e0c8e69891c89a86b2d9879e3c1985563a56f49"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Mon Mar 25 21:17:46 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 25 21:17:46 2013 +0000"
      },
      "message": "Merge \"Proper security labeling of multi-user data directories.\""
    },
    {
      "commit": "4bcea1222ce447d9969d12927995ffdfad7c8322",
      "tree": "201827c55fca7032cab81aa6322460d834089e20",
      "parents": [
        "f6c4dba2d30ddba41ccfd6d9d2be2729ea496902",
        "d3f8d0333cf4d9d2e47b5b082a6f70460adcf5ff"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Mon Mar 25 21:07:37 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 25 21:07:37 2013 +0000"
      },
      "message": "Merge \"Add seinfo parsing to PackageManagerService.\""
    },
    {
      "commit": "1e0c8e69891c89a86b2d9879e3c1985563a56f49",
      "tree": "f3d2c545746860a3d38c0156a62626e24deb5f64",
      "parents": [
        "d3f8d0333cf4d9d2e47b5b082a6f70460adcf5ff"
      ],
      "author": {
        "name": "rpcraig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Wed Nov 28 08:37:06 2012 -0500"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 25 14:35:00 2013 +0000"
      },
      "message": "Proper security labeling of multi-user data directories.\n\nThis patch covers 2 cases. When an app is installed\nand the resulting data directory is created for all\nexisting users. And when a new user is created and\nall existing app data directories are created for\nthe new user.\n\nChange-Id: Iacaba6d9d18d5337e65713960d14efe32006b330\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "d3f8d0333cf4d9d2e47b5b082a6f70460adcf5ff",
      "tree": "201827c55fca7032cab81aa6322460d834089e20",
      "parents": [
        "f6c4dba2d30ddba41ccfd6d9d2be2729ea496902"
      ],
      "author": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Mon Mar 25 06:33:03 2013 -0400"
      },
      "committer": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Mon Mar 25 06:33:03 2013 -0400"
      },
      "message": "Add seinfo parsing to PackageManagerService.\n\nThis patch set allows the PMS to parse the\nmac_permissions.xml file which contains the\nseinfo values. Each package that is installed\non the device will be assigned an seinfo value\nbased on policy. This seinfo value will help label\nthe app process and data directory.  Modifications\ninclude adjustments to ApplicationInfo.java\nto store the seinfo tag per package as well as\nadjustments to installd to communicate the seinfo\ntag to libselinux.\n\nChange-Id: I61ad1ea12fb6a9a6d0b108ec163bc4bf4c954b58\nSigned-off-by: rpcraig \u003crpcraig@tycho.ncsc.mil\u003e\n"
    },
    {
      "commit": "f6c4dba2d30ddba41ccfd6d9d2be2729ea496902",
      "tree": "b4449ba12d8e3da7e8c70edcd2b313f4798cd76c",
      "parents": [
        "e4679750c538e982bb81f4eea2343e8bede3e118",
        "5f1d965f7d7e1df50981ffed8faa11fbcc17ca22"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 21 21:56:53 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 21 21:56:54 2013 +0000"
      },
      "message": "Merge \"KeyStore: change migrate to duplicate\""
    },
    {
      "commit": "5f1d965f7d7e1df50981ffed8faa11fbcc17ca22",
      "tree": "b4449ba12d8e3da7e8c70edcd2b313f4798cd76c",
      "parents": [
        "e4679750c538e982bb81f4eea2343e8bede3e118"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 21 14:21:50 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 21 14:24:19 2013 -0700"
      },
      "message": "KeyStore: change migrate to duplicate\n\nAfter discussion, it was determined that duplicate would be less\ndisruptive and it still fit in the current HAL model.\n\nChange-Id: I2f9cae48d38ec7146511e876450fa39fc92cda55\n"
    },
    {
      "commit": "e4679750c538e982bb81f4eea2343e8bede3e118",
      "tree": "44b4cc6421999d74940bfdc911d56164bc2f379f",
      "parents": [
        "20345bd81b866738f75c8b47a940b941b894cde1",
        "116415271b952ab9e842f3850faa1a44cb70bf6a"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Mar 21 04:49:28 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 21 04:49:28 2013 +0000"
      },
      "message": "Merge \"Fix Watchdog HeartbeatHandler to run on correct thread\""
    },
    {
      "commit": "20345bd81b866738f75c8b47a940b941b894cde1",
      "tree": "9d850cd5731ac88c206bf4eb4db3c52d9392827a",
      "parents": [
        "424570273bc225edaf7425385812b173adeb8695",
        "cd19e3f2db333afcf84e2d66d9811e6ccae733a2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 20 22:26:03 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 20 22:26:03 2013 +0000"
      },
      "message": "Merge \"Update SELinux JNI to use helpers\""
    },
    {
      "commit": "cd19e3f2db333afcf84e2d66d9811e6ccae733a2",
      "tree": "9d850cd5731ac88c206bf4eb4db3c52d9392827a",
      "parents": [
        "424570273bc225edaf7425385812b173adeb8695"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 19 14:15:26 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 20 15:24:25 2013 -0700"
      },
      "message": "Update SELinux JNI to use helpers\n\nChange-Id: Ifc707eafd1ecbba64c93fa2250c4334d0ce40005\n"
    },
    {
      "commit": "424570273bc225edaf7425385812b173adeb8695",
      "tree": "d2eb8242f5a770452d7100d38b6c273aac242134",
      "parents": [
        "ebebb80b4a629756128b5a4fcf483133f01dbfd7",
        "bd79419ef84ae31f3765721b50aa413fa462d1d1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 20 22:00:10 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 20 22:00:10 2013 +0000"
      },
      "message": "Merge changes I65f7a915,I32098dc0\n\n* changes:\n  KeyStore: add \"migrate\" command\n  KeyStore: add API to uid versions\n"
    },
    {
      "commit": "bd79419ef84ae31f3765721b50aa413fa462d1d1",
      "tree": "d2eb8242f5a770452d7100d38b6c273aac242134",
      "parents": [
        "78ad849163a7b01073b46fbd7d818392720005d1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 20 11:36:50 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 20 11:57:46 2013 -0700"
      },
      "message": "KeyStore: add \"migrate\" command\n\nTo support the WiFi service, we need to support migration from the\nsystem UID to the wifi UID. This adds a command to achieve the\nmigration.\n\nBug: 8122243\nChange-Id: I65f7a91504c1d2a2aac22b9c3051adffd28d66c1\n"
    },
    {
      "commit": "78ad849163a7b01073b46fbd7d818392720005d1",
      "tree": "8b177dc6137d8264e6e1a288e726de2aab6f040a",
      "parents": [
        "ebebb80b4a629756128b5a4fcf483133f01dbfd7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 13 17:02:57 2013 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Wed Mar 20 16:50:06 2013 +0000"
      },
      "message": "KeyStore: add API to uid versions\n\nIn previous commits, we added the ability to specify which UID we want to\ntarget on certain operations. This commit adds the ability to reach those\nbinder calls from the KeyStore class.\n\nAlso fix a problem where saw() was not reading all the values returned via\nthe Binder call. This changes the semantics to return a null instead of\nfailing silently when it\u0027s not possible to search.\n\nChange-Id: I32098dc0eb42e09ace89f6b7455766842a72e9f4\n"
    },
    {
      "commit": "116415271b952ab9e842f3850faa1a44cb70bf6a",
      "tree": "1ce5439168e51fe0a28dd9cdd37942a9c77dc7a5",
      "parents": [
        "ebebb80b4a629756128b5a4fcf483133f01dbfd7"
      ],
      "author": {
        "name": "John Michelau",
        "email": "w14107@motorola.com",
        "time": "Mon Mar 18 18:28:23 2013 -0500"
      },
      "committer": {
        "name": "John Michelau",
        "email": "w14107@motorola.com",
        "time": "Tue Mar 19 14:39:33 2013 -0500"
      },
      "message": "Fix Watchdog HeartbeatHandler to run on correct thread\n\nThe HeartbeatHandler for the System Server Watchdog has been running\non the wrong thread due to a race condition in initialization.  It\u0027s\ndesigned to run on ServerThread, so that it can catch lockups in the\nmain looper of the System Server.  It has been running on\nActivityManagerThread instead, so it does not detect lockups on the\nServerThread as it should.\n\nActivityManagerService is calling Watchdog.getInstance() before\nServerThread calls Watchdog.getInstance().init(), so the handler is\nbeing bound to the ActivityManagerThread instead of the ServerThread.\n\nExplicitly bind HeartbeatHandler to ServerThread, so that the Watchdog\ncatches lockups on this critical thread.\n\nChange-Id: Iccb184ac3adb817feb86ed4ee0e50e443bf74636\n"
    },
    {
      "commit": "ebebb80b4a629756128b5a4fcf483133f01dbfd7",
      "tree": "9657a85d4707d735f6d3e55ea891ef4776706275",
      "parents": [
        "71558f1fafa29fe993ab0556bbaee6530f3930d7",
        "9a6fa1d637ddd1be0978d6889270bcd7dad4e46a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 19 18:45:54 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 19 18:45:54 2013 +0000"
      },
      "message": "Merge \"Remove dead code from DateUtils.\""
    },
    {
      "commit": "9a6fa1d637ddd1be0978d6889270bcd7dad4e46a",
      "tree": "9657a85d4707d735f6d3e55ea891ef4776706275",
      "parents": [
        "71558f1fafa29fe993ab0556bbaee6530f3930d7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 19 11:36:12 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 19 11:36:12 2013 -0700"
      },
      "message": "Remove dead code from DateUtils.\n\nThis stuff is @hide, @deprecated, unused, and was never in any API level.\n\nChange-Id: I87d132d77d7296a2de8527e05c2def362cab1c37\n"
    },
    {
      "commit": "71558f1fafa29fe993ab0556bbaee6530f3930d7",
      "tree": "a48d686391affeed322df09a5b4604f142efab1c",
      "parents": [
        "e79af7dffbd4c41ab756c5b0888e28bbb317aab3",
        "64a277d83778827b451b5ed6634eec6ac86bceeb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 19 16:50:38 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 19 16:50:39 2013 +0000"
      },
      "message": "Merge \"Fix times in debugging output to use H rather than k.\""
    },
    {
      "commit": "e79af7dffbd4c41ab756c5b0888e28bbb317aab3",
      "tree": "d16429ae4662bf10ac86dea9ece88893fba19895",
      "parents": [
        "a8974d3f0a799a5d76e226649c878a71b3b5e953",
        "0a65ac90fae79687b46a8e70549204b97e4c951f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 19 01:11:02 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 19 01:11:02 2013 +0000"
      },
      "message": "Merge \"Fix build.\""
    },
    {
      "commit": "0a65ac90fae79687b46a8e70549204b97e4c951f",
      "tree": "d16429ae4662bf10ac86dea9ece88893fba19895",
      "parents": [
        "a8974d3f0a799a5d76e226649c878a71b3b5e953"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 18:10:24 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 18:10:24 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: Icb7fb60f00251ab01c8f9844572bb349e45c6c41\n"
    },
    {
      "commit": "64a277d83778827b451b5ed6634eec6ac86bceeb",
      "tree": "c922671c3bcf6f0d5bd0eccb95f29e3558188ee6",
      "parents": [
        "a8974d3f0a799a5d76e226649c878a71b3b5e953"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 17:47:22 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 17:47:22 2013 -0700"
      },
      "message": "Fix times in debugging output to use H rather than k.\n\nBug: 8359981\nChange-Id: I4fccf3ed7e469b77f6e755dacbcd025005390505\n"
    },
    {
      "commit": "a8974d3f0a799a5d76e226649c878a71b3b5e953",
      "tree": "4756d59bc44ff349748abd89473ffcdf88a92c03",
      "parents": [
        "6317315e733f115aa6ad0339c1a334607fd04342",
        "cdafd37f3148dfc6f44f2e5de8b31adb6bf9e476"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 19 00:28:41 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 19 00:28:42 2013 +0000"
      },
      "message": "Merge \"Clean up (some of) our many clocks to use H instead of k.\""
    },
    {
      "commit": "cdafd37f3148dfc6f44f2e5de8b31adb6bf9e476",
      "tree": "4756d59bc44ff349748abd89473ffcdf88a92c03",
      "parents": [
        "6317315e733f115aa6ad0339c1a334607fd04342"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 17:21:33 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 17:21:33 2013 -0700"
      },
      "message": "Clean up (some of) our many clocks to use H instead of k.\n\nBug: 8359981\nChange-Id: I3c0c38c2bf5adc4b5bdc11c3d10cf41dd8fb6462\n"
    },
    {
      "commit": "6317315e733f115aa6ad0339c1a334607fd04342",
      "tree": "6df660c360f95b6075ffc8633356d67ae04d4839",
      "parents": [
        "fda1bff8a8eda96662577820102aaaa02a0845b6",
        "fc55c2ba49957bb696b98d290964dc36f4827190"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 22:07:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 18 22:07:22 2013 +0000"
      },
      "message": "Merge \"Deliberately break DateFormat.format\u0027s formatting of \u0027k\u0027 for compatibility.\""
    },
    {
      "commit": "fc55c2ba49957bb696b98d290964dc36f4827190",
      "tree": "6df660c360f95b6075ffc8633356d67ae04d4839",
      "parents": [
        "fda1bff8a8eda96662577820102aaaa02a0845b6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 14:59:59 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 18 14:59:59 2013 -0700"
      },
      "message": "Deliberately break DateFormat.format\u0027s formatting of \u0027k\u0027 for compatibility.\n\nBug: 8359981\nChange-Id: I44ed816c644f94783c77952d544c5444b966868b\n"
    },
    {
      "commit": "fda1bff8a8eda96662577820102aaaa02a0845b6",
      "tree": "7f5d809f080536ab483eac9845fded60fef9b328",
      "parents": [
        "519ba7b10c4e0da3586aeeaa9696349f28313898",
        "5c97184c3a92dd2a608fd031ab5c01574030777a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Mar 18 15:56:48 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 18 15:56:48 2013 +0000"
      },
      "message": "Merge \"Correct the target app token for input method window\""
    },
    {
      "commit": "5c97184c3a92dd2a608fd031ab5c01574030777a",
      "tree": "7f5d809f080536ab483eac9845fded60fef9b328",
      "parents": [
        "519ba7b10c4e0da3586aeeaa9696349f28313898"
      ],
      "author": {
        "name": "Carrie Xu",
        "email": "carrie.xu@sonymobile.com",
        "time": "Tue Oct 30 17:28:39 2012 +0800"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Mon Mar 18 11:45:14 2013 +0900"
      },
      "message": "Correct the target app token for input method window\n\nThe root cause is:\nThere is a defect in window manager service: When a new\nactivity that can be ime target is added into window manager\nbut the Z order of input method window don\u0027t need to be\nchanged, then the target app token of input method window\nwould not be updated to new one. This defect may cause that\nthe layer of input method window is calculated incorrectly.\n\nThe solution:\nCorrect the target app token for input method window.\n\nChange-Id: I008311e3c9b1cf5fc320b614d8675c183c506d50\n"
    },
    {
      "commit": "519ba7b10c4e0da3586aeeaa9696349f28313898",
      "tree": "2262ef732dc83e0717ecc8f84ad1ad003388af43",
      "parents": [
        "38bfb5a7bfc0eeab68f25afad43245efd062caef",
        "dfe4db14508ef6de41862dd573d3d7c6ff44ef45"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Sat Mar 16 00:18:52 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 16 00:18:52 2013 +0000"
      },
      "message": "Merge \"update APN version for MVNO\""
    },
    {
      "commit": "38bfb5a7bfc0eeab68f25afad43245efd062caef",
      "tree": "ef9b1a88b56ca830da9309928ca59e389f086c0a",
      "parents": [
        "f7ec4e61ebde9ff6d4934bd398e9ef8a39e4c28b",
        "9a9350550a7ca51feb97218101ef90c2cb90be71"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 20:55:53 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 15 20:55:53 2013 +0000"
      },
      "message": "Merge \"app_process: don\u0027t pollute the environment\""
    },
    {
      "commit": "9a9350550a7ca51feb97218101ef90c2cb90be71",
      "tree": "ef9b1a88b56ca830da9309928ca59e389f086c0a",
      "parents": [
        "f7ec4e61ebde9ff6d4934bd398e9ef8a39e4c28b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 13:12:28 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 13:14:52 2013 -0700"
      },
      "message": "app_process: don\u0027t pollute the environment\n\nGive a hoot — don\u0027t pollute!\n\nChange-Id: I30d6c05cecab483f0e9d8063907f7bc0ef2bb104\n"
    },
    {
      "commit": "f7ec4e61ebde9ff6d4934bd398e9ef8a39e4c28b",
      "tree": "d3fe55e4014a23cc1d6991ce3110b26a2d97de83",
      "parents": [
        "1ae6ae2094fd0ab8c82ad1a347e7a8bd67d995e5",
        "1fe21bd1b6ca8b94c78fbf3666a1e8e0472355de"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 19:08:50 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 15 19:08:50 2013 +0000"
      },
      "message": "Merge \"Never call app_main more than once\""
    },
    {
      "commit": "1fe21bd1b6ca8b94c78fbf3666a1e8e0472355de",
      "tree": "d3fe55e4014a23cc1d6991ce3110b26a2d97de83",
      "parents": [
        "1ae6ae2094fd0ab8c82ad1a347e7a8bd67d995e5"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 11:38:29 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 11:59:03 2013 -0700"
      },
      "message": "Never call app_main more than once\n\nDifferent kernels seem to handle ADDR_COMPAT_LAYOUT differently,\nsometimes passing it to its children, sometimes not. If it\u0027s not\npassed to its child successfully, we can end up in a restart loop.\n\nInstead of testing for the presence of ADDR_COMPAT_LAYOUT, use an\nenvironment variable instead, which is handled more predictably.\n\nBug: 8392487\nChange-Id: Ia531dd2abb4e1cd46f3430d844e644f53581f530\n"
    },
    {
      "commit": "1ae6ae2094fd0ab8c82ad1a347e7a8bd67d995e5",
      "tree": "bb51821e615f0a1b70dc962cbac893106ce9f024",
      "parents": [
        "f732108e86fcc9825d5ecaa0b65ee91469c4a24c",
        "5fa1ee779e2170fd2e3e96b1e0887f15b04b1f76"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 23:46:20 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 14 23:46:20 2013 +0000"
      },
      "message": "Merge \"Don\u0027t use ADDR_COMPAT_LAYOUT on the emulator\""
    },
    {
      "commit": "5fa1ee779e2170fd2e3e96b1e0887f15b04b1f76",
      "tree": "bb51821e615f0a1b70dc962cbac893106ce9f024",
      "parents": [
        "f732108e86fcc9825d5ecaa0b65ee91469c4a24c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 16:31:34 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 16:31:34 2013 -0700"
      },
      "message": "Don\u0027t use ADDR_COMPAT_LAYOUT on the emulator\n\nFor the emulator, we want people to see memory as it\nactually is, not how we\u0027re hacking around buggy apps. Don\u0027t\nset ADDR_COMPAT_LAYOUT on the emulator.\n\nFor reasons that I don\u0027t understand, personality(ADDR_COMPAT_LAYOUT)\ndoes not persist across an exec on the emulator. app_main gets\ninto a tight loop restarting itself because of this. This change\nalso works around that bug.\n\nChange-Id: Ia73a7d2d623c25cf39d248145d97307945d554da\n"
    },
    {
      "commit": "f732108e86fcc9825d5ecaa0b65ee91469c4a24c",
      "tree": "2d97cde26c7050f159c9f20a3267ed1243783250",
      "parents": [
        "733329a2745ce703029b40afaa5dd78c7a5b620c",
        "8a0a929422682ba3eb6a205dc6c0638e68b909de"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 22:28:01 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 14 22:28:01 2013 +0000"
      },
      "message": "Merge \"Respawn app_main if ADDR_COMPAT_LAYOUT is not set\""
    },
    {
      "commit": "8a0a929422682ba3eb6a205dc6c0638e68b909de",
      "tree": "2d97cde26c7050f159c9f20a3267ed1243783250",
      "parents": [
        "733329a2745ce703029b40afaa5dd78c7a5b620c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 13:23:52 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 15:21:12 2013 -0700"
      },
      "message": "Respawn app_main if ADDR_COMPAT_LAYOUT is not set\n\nBug: 8358800\nChange-Id: Id81aa26d74dfd16a49f0ee5926ea2cdb3c2106d8\n"
    },
    {
      "commit": "733329a2745ce703029b40afaa5dd78c7a5b620c",
      "tree": "ed26f8a66037935d41339b4cbc617b034ed997bd",
      "parents": [
        "7ad514094c8abbea0cc61b72fcaf0e23d6124b0d",
        "df337f30e938e3f3470eb6c154c3ee7e69bd4354"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@android.com",
        "time": "Tue Mar 12 20:24:13 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 12 20:24:14 2013 +0000"
      },
      "message": "Merge \"Fix NPE when pasting non-text from Clipboard\""
    },
    {
      "commit": "7ad514094c8abbea0cc61b72fcaf0e23d6124b0d",
      "tree": "e5c9d03c91b1419908ba68411498bc93cf6617b0",
      "parents": [
        "1bc1699c313a07693826a8d8b451a2ed72137957",
        "ac5eb03a7c317e21573155b88641f4f1daef2eb9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Tue Mar 12 20:05:09 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 12 20:05:09 2013 +0000"
      },
      "message": "Merge \"Switch TLS Channel ID API from ECPrivateKey to PrivateKey.\""
    },
    {
      "commit": "1bc1699c313a07693826a8d8b451a2ed72137957",
      "tree": "adb04c7dc4dc96fd4d3e788f1303fadcb993e44c",
      "parents": [
        "c9e0cd2ac7b1df3e60f0ca8bab6a7240bade07d9",
        "cd231432ff16cb35aa08cd7b9ca801d26bef261f"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 12 19:51:32 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 12 19:51:32 2013 +0000"
      },
      "message": "Merge \"\"[+\u003e\" more icon was never shown in PhoneStatusBar\""
    },
    {
      "commit": "cd231432ff16cb35aa08cd7b9ca801d26bef261f",
      "tree": "adb04c7dc4dc96fd4d3e788f1303fadcb993e44c",
      "parents": [
        "c9e0cd2ac7b1df3e60f0ca8bab6a7240bade07d9"
      ],
      "author": {
        "name": "Mats H Carlsson",
        "email": "mats.h.carlsson@sonymobile.com",
        "time": "Wed Oct 10 13:37:38 2012 +0200"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 12 19:51:07 2013 +0000"
      },
      "message": "\"[+\u003e\" more icon was never shown in PhoneStatusBar\n\n\"[+\u003e\" more icon was never show in status bar because\nthe member variable for this icon was not initialized\nfrom resources. This fix enables \"[+\u003e\" icon to appear\nin status bar when the number of indications in status\nbar becomes large.\n\nBug: 8368569\nChange-Id: Ieb3412eed831052d69c0cf63c9b4230c38171e4a\n"
    },
    {
      "commit": "ac5eb03a7c317e21573155b88641f4f1daef2eb9",
      "tree": "40bb450dc4b2b321feadb335e73214c3f4464c65",
      "parents": [
        "e0cd3c19546a00db3db706c6a993fb0e3bd00b3a"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Mar 12 10:30:59 2013 -0700"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Mar 12 10:33:13 2013 -0700"
      },
      "message": "Switch TLS Channel ID API from ECPrivateKey to PrivateKey.\n\nThis is to accept both the \"transparent\" and \"opaque\" ECC private\nkeys. \"Transparent\" keys provide structured access to their key\nmaterial -- these are instances of ECPrivateKey. \"Opaque\" private\nkeys are not required to provide structured (or even any) access to\ntheir key material -- these are instances of PrivateKey.\n\nChange-Id: Ib22e18b45b638b429f994ed965416c753226c4ee\n"
    },
    {
      "commit": "df337f30e938e3f3470eb6c154c3ee7e69bd4354",
      "tree": "d861f153ede849b6e8774d666680990a0b77691f",
      "parents": [
        "c9e0cd2ac7b1df3e60f0ca8bab6a7240bade07d9"
      ],
      "author": {
        "name": "Nils Holmström",
        "email": "nils.holmstrom@sonymobile.com",
        "time": "Tue Jan 08 15:42:01 2013 +0100"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Mar 12 20:49:14 2013 +0900"
      },
      "message": "Fix NPE when pasting non-text from Clipboard\n\nWhen copying a link from a bookmark and then pasting it into\na textfield a NullPointerException will occur.\nA ClipData.Item is not guaranteed to always contain a text string\nand therefore getText() can be set to null.\n\nUsing method coerceToText() instead of getText() makes sure that\na text string is always returned.\n\nChange-Id: I81343c0371835a3a7a52045dcd1760e69e59a967\n"
    },
    {
      "commit": "c9e0cd2ac7b1df3e60f0ca8bab6a7240bade07d9",
      "tree": "4371aa4f085a654617ebf7aca51a11eda644fb41",
      "parents": [
        "21d3f294831f7a15c5e746b3dae3e6ec0de883a8",
        "7a89f62877a03d249d9e7d0562058b973d747c49"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 22:03:18 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 11 22:03:18 2013 +0000"
      },
      "message": "Merge \"Fix DateFormat k and h, and implement K and H for the first time.\""
    },
    {
      "commit": "7a89f62877a03d249d9e7d0562058b973d747c49",
      "tree": "4371aa4f085a654617ebf7aca51a11eda644fb41",
      "parents": [
        "21d3f294831f7a15c5e746b3dae3e6ec0de883a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 14:49:44 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 14:49:44 2013 -0700"
      },
      "message": "Fix DateFormat k and h, and implement K and H for the first time.\n\nBug: 8359981\nChange-Id: I52ef937a77e9e28f2719c2ee6f59e4b74514f0b2\n"
    },
    {
      "commit": "21d3f294831f7a15c5e746b3dae3e6ec0de883a8",
      "tree": "ef623ed6a21442396987b3d90170d5efa5bfeb1f",
      "parents": [
        "5b5437752fb2318142a41b6320b00a000575503f",
        "9a2ada418b0a53cb10e009398116ff8cd914d71e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 20:11:20 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 11 20:11:20 2013 +0000"
      },
      "message": "Merge \"use Calendar in DateUtils format method\""
    },
    {
      "commit": "9a2ada418b0a53cb10e009398116ff8cd914d71e",
      "tree": "ef623ed6a21442396987b3d90170d5efa5bfeb1f",
      "parents": [
        "5b5437752fb2318142a41b6320b00a000575503f"
      ],
      "author": {
        "name": "Sungmin Choi",
        "email": "sungmin.choi@lge.com",
        "time": "Thu Feb 28 20:17:15 2013 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 11:24:02 2013 -0700"
      },
      "message": "use Calendar in DateUtils format method\n\nThe DatePickerDialog is using DateUtils to format the dialog\u0027s title\nand the DateUtils class does not work with dates outside to the\nspecified range.\nFor example, if user selects 2038-03-07, DatePickerDialog shows\n1902-01-30 on Title.\nThe reason for the DateUtils class not being able to format dates\noutside the range of 1902 and 2036 is because internally it is using\nthe Time class which does not support such dates.\nTo fix it, use Calendar class in DataUilts format method.\n\nSteps to reproduce:\n1. Settings -\u003e Date \u0026 time\n2. uncheck Automatic date \u0026 time\n3. Set Date\n4. choose any date before 1902 or after 2037\n5. update wrong date on Title\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d13050\nChange-Id: I003266765751b5c340426af84daef271f39f771e\n"
    },
    {
      "commit": "5b5437752fb2318142a41b6320b00a000575503f",
      "tree": "9b849e71a8aef2803c3dda548f9a69a3ea5b8a48",
      "parents": [
        "e0cd3c19546a00db3db706c6a993fb0e3bd00b3a",
        "42bb0307f8d9031e0656824532f51a7199be790e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 16:59:49 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 11 16:59:49 2013 +0000"
      },
      "message": "Merge \"update preloaded-classes\""
    },
    {
      "commit": "42bb0307f8d9031e0656824532f51a7199be790e",
      "tree": "9b849e71a8aef2803c3dda548f9a69a3ea5b8a48",
      "parents": [
        "e0cd3c19546a00db3db706c6a993fb0e3bd00b3a"
      ],
      "author": {
        "name": "Sungmin Choi",
        "email": "sungmin.choi@lge.com",
        "time": "Sat Mar 09 15:19:47 2013 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 11 09:59:13 2013 -0700"
      },
      "message": "update preloaded-classes\n\nRemove some preloaded-classes and fix typo for deleting log messages\nas the followings during booting.\n\nW/Zygote  (  163): Class not found for preloading: android.bluetooth.\nBluetoothAudioGateway\nW/Zygote  (  163): Class not found for preloading: android.bluetooth.\nHeadsetBase\nW/Zygote  (  163): Class not found for preloading: undroid.content.Ab\nstractThreadedSyncAdapter$SyncThread\n\nChange-Id: Id02e0cccaeb150f48e12d67b2d691df828842e4c\n"
    },
    {
      "commit": "e0cd3c19546a00db3db706c6a993fb0e3bd00b3a",
      "tree": "7caa33842712e0ba213f69d8fe545029a6bcc681",
      "parents": [
        "3f7a49904cef7ea14808590b63b115a4381537a1",
        "8326b9a429b63b680aa9af116c670ce674744d80"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 23:50:02 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 08 23:50:02 2013 +0000"
      },
      "message": "Merge \"Improve DateFormat.format.\""
    },
    {
      "commit": "8326b9a429b63b680aa9af116c670ce674744d80",
      "tree": "7caa33842712e0ba213f69d8fe545029a6bcc681",
      "parents": [
        "3f7a49904cef7ea14808590b63b115a4381537a1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 15:06:14 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 15:06:14 2013 -0800"
      },
      "message": "Improve DateFormat.format.\n\nAdd support for the \u0027c\u0027 format character, required in many non-English locales.\nReimplement \u0027c\u0027 and \u0027E\u0027, and \u0027L\u0027 and \u0027M\u0027, so they correctly interpret 5-count\npattern characters.\n\nReplace the old incorrect class documentation with a pointer to the\nwell-maintained libcore equivalent and the Unicode UTS to which these two\nimplementations are supposed to conform.\n\nDeprecate the useless constants for pattern characters. No one sane is going\nto write MONTH + MONTH + MONTH + MONTH instead of \"MMMM\".\n\nCorrect the documentation for getLongDateFormat and getMediumDateFormat.\n\nAlso fix DateUtils.getStandaloneMonthString for LENGTH_SHORTEST.\n\nTests are in https://android-review.googlesource.com/53291.\n\nChange-Id: I4dda8b18070f05ccdc11c1f0a9381a9d233db4e8\n"
    },
    {
      "commit": "3f7a49904cef7ea14808590b63b115a4381537a1",
      "tree": "7e04a7e5d0d349a5da4cdf3b3726d298debb9dfe",
      "parents": [
        "0c25ecfd43235340c9b6bf5b640232138a217836",
        "95d5ab30f2f91b63af2f493548dc67e90c052831"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 21:18:34 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 08 21:18:34 2013 +0000"
      },
      "message": "Merge \"Improve the Resource.getQuantityString/getQuantityText documentation.\""
    },
    {
      "commit": "95d5ab30f2f91b63af2f493548dc67e90c052831",
      "tree": "7e04a7e5d0d349a5da4cdf3b3726d298debb9dfe",
      "parents": [
        "0c25ecfd43235340c9b6bf5b640232138a217836"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 11:26:57 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 11:26:57 2013 -0800"
      },
      "message": "Improve the Resource.getQuantityString/getQuantityText documentation.\n\nNatural languages differ so much and in such odd ways that you can\u0027t\nuse getQuantityString as an \"if\" statement. It\u0027s really just for grammaticality.\nThis is explained well in\nhttp://developer.android.com/guide/topics/resources/string-resource.html#Plurals\nbut we need to make more of an effort to motivate people to read that, and to\nat least get the most important point across if they don\u0027t read it.\n\nChange-Id: I549b9f3563462c45f2dea34c558185e0714127cd\n"
    },
    {
      "commit": "0c25ecfd43235340c9b6bf5b640232138a217836",
      "tree": "9b1688b262aeb54f93ef897abbb982043f776bd5",
      "parents": [
        "d0d1be2d27af35fe7553835ee8c411fd13d1c8d7",
        "5acc6e521494f1ea21c793d0b56667dae107a1be"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 08 18:39:47 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 08 18:39:47 2013 +0000"
      },
      "message": "Merge \"Use getRelativeDayString in getRelativeTimeSpanString.\""
    },
    {
      "commit": "5acc6e521494f1ea21c793d0b56667dae107a1be",
      "tree": "9b1688b262aeb54f93ef897abbb982043f776bd5",
      "parents": [
        "d0d1be2d27af35fe7553835ee8c411fd13d1c8d7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 07 16:46:55 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 07 16:46:55 2013 -0800"
      },
      "message": "Use getRelativeDayString in getRelativeTimeSpanString.\n\nThe bug we\u0027re fixing here is that languages that don\u0027t\ndistinguish the \"one\" case grammatically (such as Japanese)\nwould say the equivalent of \"In 1 day\" rather than \"Tomorrow\"\nbecause of the misuse of getQuantityString.\n\nThis has the side-effect of switching us over to the CLDR\nstrings for relative day names, which have consistent capitalization;\nthe Android donottranslate-cldr.xml strings varied even within\na language, so although this is a change, it seems like a step\nin the right direction.\n\nIn a future change, we should actually push all relative\nday formatting down into icu4c.\n\nBug: 7098707\nChange-Id: Ia2f9af3d18c441d6093dd5da7956a3d0130e5b06\n"
    },
    {
      "commit": "d0d1be2d27af35fe7553835ee8c411fd13d1c8d7",
      "tree": "bf05568cd4a8a04781bf10e4832c3982f2bcaea1",
      "parents": [
        "011b8efce194529de82e94fd0c0bf29835b9f07a",
        "025148cc4de9c1104a30333c14eb63337af4e3de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 07 23:24:40 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 07 23:24:40 2013 +0000"
      },
      "message": "Merge \"Explain why the frameworks/base DateUtilsTest isn\u0027t merged with CTS\u0027 DateUtilsTest.\""
    },
    {
      "commit": "025148cc4de9c1104a30333c14eb63337af4e3de",
      "tree": "bf05568cd4a8a04781bf10e4832c3982f2bcaea1",
      "parents": [
        "011b8efce194529de82e94fd0c0bf29835b9f07a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 07 14:30:17 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 07 14:30:17 2013 -0800"
      },
      "message": "Explain why the frameworks/base DateUtilsTest isn\u0027t merged with CTS\u0027 DateUtilsTest.\n\nChange-Id: Icbdb4e9133a9ae1c1b37f822367e1ac86e9e36cb\n"
    },
    {
      "commit": "011b8efce194529de82e94fd0c0bf29835b9f07a",
      "tree": "94c755ddbe25125ccfc54b2d816f9b11802c876a",
      "parents": [
        "7d4e52baee6fe269280dbb55abe9b4fa1a1c1d8b",
        "575bb45e9d293c8fd4fe7667439a748f856209a8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@android.com",
        "time": "Wed Mar 06 15:58:41 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 06 15:58:42 2013 +0000"
      },
      "message": "Merge \"frameworks/base: stop find before issuing wps pbc.\""
    },
    {
      "commit": "575bb45e9d293c8fd4fe7667439a748f856209a8",
      "tree": "882437549c009ee3477ee985af61435dc17ff85c",
      "parents": [
        "d61ff77ee10b2c956df153e08b850e852ff5df57"
      ],
      "author": {
        "name": "Deepthi Gowri",
        "email": "deepthi@codeaurora.org",
        "time": "Sat Feb 23 00:02:00 2013 +0530"
      },
      "committer": {
        "name": "Deepthi Gowri",
        "email": "deepthi@codeaurora.org",
        "time": "Wed Mar 06 08:24:03 2013 +0530"
      },
      "message": "frameworks/base: stop find before issuing wps pbc.\n\nStop p2p find before issuing a PBC to avoid GO switching to other\nchannel leading connection failure.\n\nChange-Id: I88906f944de1c85b143f96cb7b35724af19cd151\nSigned-off-by: Deepthi Gowri \u003cdeepthi@codeaurora.org\u003e\n"
    },
    {
      "commit": "7d4e52baee6fe269280dbb55abe9b4fa1a1c1d8b",
      "tree": "8bcf3f23c9bb2550abcda6064ef3260e9538ccfe",
      "parents": [
        "f45efd276c9b09adcb97ea43afc806731583aac7",
        "fe6c30e44e706cfd8f2c359d394a1dbe16d1b80f"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@android.com",
        "time": "Tue Mar 05 23:25:15 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 23:25:16 2013 +0000"
      },
      "message": "Merge \"FIX Null Pointer Exception on dialog cancel\""
    },
    {
      "commit": "f45efd276c9b09adcb97ea43afc806731583aac7",
      "tree": "b560056854157eafd4d6af98ec621255dd9a2f17",
      "parents": [
        "690d3435a4564f6ea7b37e1c6446b5301aeca6b6",
        "002ecd2122073a8590289639cf2ef58bf01300ab"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@android.com",
        "time": "Tue Mar 05 23:20:45 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 23:20:45 2013 +0000"
      },
      "message": "Merge \"Audio continue to played even if paused manually\""
    },
    {
      "commit": "690d3435a4564f6ea7b37e1c6446b5301aeca6b6",
      "tree": "da8cd4d6cf96322c79cec6092fcf9a1afd1d5f8a",
      "parents": [
        "b6a2978a5118d66bcebc380b0c20e566b7cbdfda",
        "d625127db9ed801a23e7026e9f5a199c92eab932"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 05 22:30:58 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 22:30:58 2013 +0000"
      },
      "message": "Merge \"jni: remove obsolete flag from makefile\""
    },
    {
      "commit": "d625127db9ed801a23e7026e9f5a199c92eab932",
      "tree": "da8cd4d6cf96322c79cec6092fcf9a1afd1d5f8a",
      "parents": [
        "b6a2978a5118d66bcebc380b0c20e566b7cbdfda"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Thu May 24 11:20:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 05 14:29:46 2013 -0800"
      },
      "message": "jni: remove obsolete flag from makefile\n\nChange-Id: Ia7e67694a736745333e9d36396b8cb6194fd26ec\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "002ecd2122073a8590289639cf2ef58bf01300ab",
      "tree": "d299c69312492c9b2a0f7f46f14ddbabda3c5732",
      "parents": [
        "b6a2978a5118d66bcebc380b0c20e566b7cbdfda"
      ],
      "author": {
        "name": "Roger Chen",
        "email": "cxr514033970@gmail.com",
        "time": "Mon Jan 21 16:04:58 2013 +0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 13:05:34 2013 +0000"
      },
      "message": "Audio continue to played even if paused manually\n\nCurrently, audio will resume playing after a phone call\nor notification even if the user had manually paused playback.\n\nThis patch addresses that by introducing a new player state\nto distinguish the user pausing playback and the browser\nlosing audio focus for some other reason. Audio will only\n resume if the browser temporarily lost audio focus and\nnot when the user has manually paused playback.\n\nChange-Id: I9e8beaedb0fcc5afe920068297ed9c387eab2ac8\nSigned-off-by: Roger Chen \u003ccxr514033970@gmail.com\u003e\n"
    },
    {
      "commit": "b6a2978a5118d66bcebc380b0c20e566b7cbdfda",
      "tree": "ea9636aac7367b405e9e3284bb0f55e53145230a",
      "parents": [
        "b0cbf8607fb00a2bc54d15e01570cabf147fb5fb",
        "45e4584a0f92b0bc69797714f651b12569d7fe85"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 05 00:06:33 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 00:06:33 2013 +0000"
      },
      "message": "Merge \"Performance increase in thumbnail handling\""
    },
    {
      "commit": "b0cbf8607fb00a2bc54d15e01570cabf147fb5fb",
      "tree": "752887239ae8a12c896e3425451fa5fc5bed94fb",
      "parents": [
        "f5276c16ad97d94f8773938012ae54f8c7ba450a",
        "6bae82a2ae174670c97843af225d112907fce89f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 04 17:50:14 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 04 17:50:14 2013 +0000"
      },
      "message": "Merge \"Tracking libcore change to use longs instead of ints to store pointers in OpenSSL binding\""
    },
    {
      "commit": "6bae82a2ae174670c97843af225d112907fce89f",
      "tree": "752887239ae8a12c896e3425451fa5fc5bed94fb",
      "parents": [
        "f5276c16ad97d94f8773938012ae54f8c7ba450a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 27 17:58:09 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 01 09:13:26 2013 -0800"
      },
      "message": "Tracking libcore change to use longs instead of ints to store pointers in OpenSSL binding\n\nChange-Id: Ieba5705f4faa7cea619cf509db3ef081fda570d5\n"
    },
    {
      "commit": "f5276c16ad97d94f8773938012ae54f8c7ba450a",
      "tree": "0447c628fb5babe591a0fb7d8154a2189a2f0b6f",
      "parents": [
        "937cfa77c464f7dc13f686dc8f9f4667a17e80d6",
        "848b4c9a9779e0deac6872f6f1b776acb6b89300"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 01 16:40:13 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 01 16:40:14 2013 +0000"
      },
      "message": "Merge \"installd: use correct header file.\""
    },
    {
      "commit": "937cfa77c464f7dc13f686dc8f9f4667a17e80d6",
      "tree": "fe7aa9ce5f877574ed9dfa60ab2175e474f33f41",
      "parents": [
        "7b69e401769fb7a864990f3d732c6a7e8d7ec2f8",
        "b3c4a0bb5c95417ae6761d5df775f90da6c80fed"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 01 16:39:37 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 01 16:39:37 2013 +0000"
      },
      "message": "Merge \"ZygoteInit: use correct header files.\""
    },
    {
      "commit": "b3c4a0bb5c95417ae6761d5df775f90da6c80fed",
      "tree": "fe7aa9ce5f877574ed9dfa60ab2175e474f33f41",
      "parents": [
        "7b69e401769fb7a864990f3d732c6a7e8d7ec2f8"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 28 16:49:43 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 28 16:56:16 2013 -0800"
      },
      "message": "ZygoteInit: use correct header files.\n\nDon\u0027t define capget / capset when we already have definitions\nof it in our header files.\n\nChange-Id: Ia2d7e408879bd09019f99aef52acb63a7a243d48\n"
    },
    {
      "commit": "848b4c9a9779e0deac6872f6f1b776acb6b89300",
      "tree": "213b4c2795463b6e6b54cef5bf37d71ffc595625",
      "parents": [
        "7b69e401769fb7a864990f3d732c6a7e8d7ec2f8"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 28 16:43:23 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 28 16:43:23 2013 -0800"
      },
      "message": "installd: use correct header file.\n\nChange-Id: I035524b857a04f8400e96468310d88abf247e582\n"
    },
    {
      "commit": "7b69e401769fb7a864990f3d732c6a7e8d7ec2f8",
      "tree": "26f64c4306651f24182281561b838913c0c7b9e1",
      "parents": [
        "de3c20bcb546e50980a642b72c1e8353e5bd2cdc",
        "d1443e9944cb344bd4b023dee173e6ea76269c87"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Wed Feb 27 19:57:08 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 19:57:08 2013 +0000"
      },
      "message": "Merge \"Fix starting window memory leak\""
    },
    {
      "commit": "de3c20bcb546e50980a642b72c1e8353e5bd2cdc",
      "tree": "696b2c3378c9ec73e46c84e45814be567aa1e079",
      "parents": [
        "545464df282273209a837569f05e9990173f4d56",
        "7c9f30bfb361ccb864e6d130e0f4f2af53fc1c32"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 19:47:15 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 19:47:15 2013 +0000"
      },
      "message": "Merge \"Track stack memory in MemoryInfo.\""
    },
    {
      "commit": "7c9f30bfb361ccb864e6d130e0f4f2af53fc1c32",
      "tree": "696b2c3378c9ec73e46c84e45814be567aa1e079",
      "parents": [
        "545464df282273209a837569f05e9990173f4d56"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 10:57:13 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 11:34:42 2013 -0800"
      },
      "message": "Track stack memory in MemoryInfo.\n\nIn /proc/pid/maps the main stack is identified as \"[stack]\". In Linux 3.4\nthread stacks are identified as \"[stack:\u003ctid\u003e]\" where \u003ctid\u003e is the thread ID of\nthe thread using that stack. Add support in MemInfo\u0027s otherStats to track\nmemory being used by the stack.\n\nAdd sanity check on the length of the otherStats array.\nAdd detail messages to two null pointer exceptions.\n\nBug: 8265251\n\nChange-Id: I2b228b147da9bdc5c7a4d825dfc628fcc7923927\n"
    },
    {
      "commit": "545464df282273209a837569f05e9990173f4d56",
      "tree": "271522ffc04d447a611848aede805a6837ba1039",
      "parents": [
        "09353f747835c23d02df9e18ecdd6a7d1c91310c",
        "fe067a4cc586631881f51d0fd48100dd0f7cadf2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 16:45:39 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 16:45:39 2013 +0000"
      },
      "message": "Merge \"Deprecate and document memory allocation counting.\""
    },
    {
      "commit": "09353f747835c23d02df9e18ecdd6a7d1c91310c",
      "tree": "0d11acafc6f33877974690de75b6d8845a5eb1df",
      "parents": [
        "3f5778c858b90b554d7614603346b642d1a7bc6d",
        "9549c067d93bd87aa28d1d6d44fdb8d75b2fd276"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Feb 27 06:07:30 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 27 06:07:31 2013 +0000"
      },
      "message": "Merge \"Check and fail early if requested wallpaper size exceeds maximum texture size.\""
    },
    {
      "commit": "fe067a4cc586631881f51d0fd48100dd0f7cadf2",
      "tree": "34778e24f05273b7cf9cfc44269c96a9cdb0e186",
      "parents": [
        "08a92a335fd84ca427b55c6c2d39f72970d82b76"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 22 19:59:23 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 26 13:30:08 2013 -0800"
      },
      "message": "Deprecate and document memory allocation counting.\n\nBug: 8241521\nChange-Id: I174c4024600c5b78e74030ecc99e784a98295f09\n"
    },
    {
      "commit": "3f5778c858b90b554d7614603346b642d1a7bc6d",
      "tree": "ee184f8a553eda59a0782cbc89760a963c78857f",
      "parents": [
        "755205ade42d6458c68bf1ee6852db0b23ecc4f5",
        "f732a2f83f43769653f9dc5975faf1d6d0bd19f6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 26 17:37:58 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 26 17:37:58 2013 +0000"
      },
      "message": "Merge \"Fix incorrect FloatMath documentation.\""
    },
    {
      "commit": "755205ade42d6458c68bf1ee6852db0b23ecc4f5",
      "tree": "0b90e31c2d9c8d5dd823a7667f4f23248a4741d1",
      "parents": [
        "8d4d4cf283d12821caba321204759f2ce3fd210a",
        "64d0b3f9186bfb41cd14203d11f34c6fe0121945"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Tue Feb 26 17:35:13 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 26 17:35:13 2013 +0000"
      },
      "message": "Merge \"Fix spelling error s/SORT_OREDER/SORT_ORDER/ in \"content --help\"\""
    },
    {
      "commit": "f732a2f83f43769653f9dc5975faf1d6d0bd19f6",
      "tree": "0dec26f942a1c1710bbdc25b0f2a850d76b896ee",
      "parents": [
        "b5a1ce2f5daa20b5c77113b8887e12dcc05590fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 26 09:28:17 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 26 09:28:17 2013 -0800"
      },
      "message": "Fix incorrect FloatMath documentation.\n\nChange-Id: I30bbe500e634b73f3456ccc797106ad261fd0ce7\n"
    },
    {
      "commit": "64d0b3f9186bfb41cd14203d11f34c6fe0121945",
      "tree": "78f214cd7c8aa66270205161057b75e388948255",
      "parents": [
        "08a92a335fd84ca427b55c6c2d39f72970d82b76"
      ],
      "author": {
        "name": "Martin Olsson",
        "email": "martin@minimum.se",
        "time": "Tue Feb 26 17:54:39 2013 +0100"
      },
      "committer": {
        "name": "Martin Olsson",
        "email": "martin@minimum.se",
        "time": "Tue Feb 26 17:54:39 2013 +0100"
      },
      "message": "Fix spelling error s/SORT_OREDER/SORT_ORDER/ in \"content --help\"\n\nChange-Id: I8f869c9d2243ae8ff414399b7d6835c7ca74d500\nSigned-off-by: Martin Olsson \u003cmartin@minimum.se\u003e\n"
    },
    {
      "commit": "8d4d4cf283d12821caba321204759f2ce3fd210a",
      "tree": "b798b3f3818b8b679a14536e62c906f3c8497a80",
      "parents": [
        "e88c0d9ec374ec4dcca6ccd8d440610ea83622c9",
        "dbc3c407aefb8b3f591e64d2e4e65053f0f23aca"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 25 22:50:51 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 25 22:50:51 2013 +0000"
      },
      "message": "Merge \"Remove obsolete traceview file format documentation.\""
    },
    {
      "commit": "e88c0d9ec374ec4dcca6ccd8d440610ea83622c9",
      "tree": "63f69c7dce60114cc51c69774f36792fdd7657eb",
      "parents": [
        "d61ff77ee10b2c956df153e08b850e852ff5df57",
        "9f8589c31f8910a9c3c33a81675822da9f0cf2df"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Feb 25 17:13:23 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 25 17:13:24 2013 +0000"
      },
      "message": "Merge \"Recognize odex files in memory accounting.\""
    },
    {
      "commit": "fe6c30e44e706cfd8f2c359d394a1dbe16d1b80f",
      "tree": "3d64b19cd971a0f789c0dc5318b933dcb9576885",
      "parents": [
        "d61ff77ee10b2c956df153e08b850e852ff5df57"
      ],
      "author": {
        "name": "Amit Kumar",
        "email": "amitkecian@gmail.com",
        "time": "Sun Feb 24 13:22:45 2013 +0000"
      },
      "committer": {
        "name": "Amit Kumar",
        "email": "amitkecian@gmail.com",
        "time": "Sun Feb 24 09:20:26 2013 +0000"
      },
      "message": "FIX Null Pointer Exception on dialog cancel\n\nNull Pointer Exception occurs because mWebViewCore instance\nis made to null while calling destroyJava(). When \n1.webview hosting activity goest to background, without calling webview onPause().\n2. If app is launched again (having launchmode:singletask ) and another activity (not  webview hosting) comes on top top.\n3. It destorys the previous activity holding webview which internally tries to cancel the dialog, but webviewcore instance is null. \nNull pointer exception is raised.\n\nChange-Id: Idbcd30d0b0d4a35819444bbaa5c73cced8bb35a3\nSigned-off-by: Amit Kumar \u003camitkecian@gmail.com\u003e\n"
    },
    {
      "commit": "dbc3c407aefb8b3f591e64d2e4e65053f0f23aca",
      "tree": "de0435342050fd43ff96fc299b0e2cd76f88de69",
      "parents": [
        "b5a1ce2f5daa20b5c77113b8887e12dcc05590fc"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 22 21:21:03 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 22 21:21:03 2013 -0800"
      },
      "message": "Remove obsolete traceview file format documentation.\n\nBug: http://code.google.com/p/android/issues/detail?id\u003d51286\nChange-Id: I9f2093c81b194526e79ea098ae073b60c63e9442\n"
    },
    {
      "commit": "9f8589c31f8910a9c3c33a81675822da9f0cf2df",
      "tree": "63f69c7dce60114cc51c69774f36792fdd7657eb",
      "parents": [
        "d61ff77ee10b2c956df153e08b850e852ff5df57"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 22 20:35:06 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 22 20:35:56 2013 -0800"
      },
      "message": "Recognize odex files in memory accounting.\n\nGive odex files the same heap category as dex files.\n\nChange-Id: I82539e20ac20a2b80c63c0cfceb266d9c59e22b7\n"
    },
    {
      "commit": "d61ff77ee10b2c956df153e08b850e852ff5df57",
      "tree": "b0e0c202ebfa8dddfb8f20e1b28c48489fa4b554",
      "parents": [
        "08a92a335fd84ca427b55c6c2d39f72970d82b76",
        "db68fac12daa2cf4a7568308995e218aed92728a"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@android.com",
        "time": "Fri Feb 22 21:29:44 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 21:29:44 2013 +0000"
      },
      "message": "Merge \"Fix ListView is not scrolled properly with arrows\""
    },
    {
      "commit": "08a92a335fd84ca427b55c6c2d39f72970d82b76",
      "tree": "4424b624778bfaab41d73486ec088fa048bcdaf0",
      "parents": [
        "49999acb049e09f99135e412cbb10d7367d2d607",
        "afc10e174d73363185f42cb67ec429a64549f2c7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 22 18:02:40 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 22 18:02:40 2013 +0000"
      },
      "message": "Merge \"Account malloc mmaped pages as native heap.\""
    }
  ],
  "next": "afc10e174d73363185f42cb67ec429a64549f2c7"
}
