)]}'
{
  "log": [
    {
      "commit": "cf117164096f542ecb8d07bc2cdf845db828e179",
      "tree": "fd37b76427a3545ef8b3cccc76ce6a69f901537f",
      "parents": [
        "46db67cf7f974d4918c5c73ffc41d7058b74ccf0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 12 17:26:02 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 12 17:26:02 2013 -0700"
      },
      "message": "Reduce some event log noise:\n\n- Only log battery levels on level changes, not voltage or temp.\n- Reduce the text in the start service log to only the suffix\n  of the service component, and a uid field.\n\nChange-Id: I6d65e6700e021b3b005dccc90d64f36c1f97137f\n"
    },
    {
      "commit": "46db67cf7f974d4918c5c73ffc41d7058b74ccf0",
      "tree": "b27f96db80b8dc1a58c054dcf7c6263334138247",
      "parents": [
        "7ab34954c8f865084c5cb883a2386e6c7216025e",
        "ed411593ece8fc83e1c41d6cae5f0bf049490101"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 12 19:24:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 19:24:10 2013 +0000"
      },
      "message": "Merge \"Fix build\""
    },
    {
      "commit": "ed411593ece8fc83e1c41d6cae5f0bf049490101",
      "tree": "3d9ec0db009da4186f47f524314640b4612c0a5c",
      "parents": [
        "abee69bc08e65d3ac0321f73380e3fb7b36f7575"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 12 12:23:16 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 12 12:23:16 2013 -0700"
      },
      "message": "Fix build\n\nChange-Id: If4c4f1f104826b599c86bc1c924ebadc5223c8f0\n"
    },
    {
      "commit": "7ab34954c8f865084c5cb883a2386e6c7216025e",
      "tree": "49146c72efcc5010331cf606915c505c19fbf64a",
      "parents": [
        "abee69bc08e65d3ac0321f73380e3fb7b36f7575",
        "97b077bc18752e7dafe041cb04c19e67ce69939c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Jul 12 12:14:01 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 12 12:14:01 2013 -0700"
      },
      "message": "am 97b077bc: am 42a85412: am 925ec03f: Merge \"VZW wants the phoneNumber to be 10 zero\\\u0027s if there isn\\\u0027t one.\" into jb-mr2-dev\n\n* commit \u002797b077bc18752e7dafe041cb04c19e67ce69939c\u0027:\n  VZW wants the phoneNumber to be 10 zero\u0027s if there isn\u0027t one.\n"
    },
    {
      "commit": "97b077bc18752e7dafe041cb04c19e67ce69939c",
      "tree": "24b84ddc2f8f7e58b413e7b8eff9bb86dac74e63",
      "parents": [
        "8361a9f719b6a416a40134951daf28297b6e0670",
        "42a85412d12078f36c3fdeda1211bdc3800bab0c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Jul 12 12:03:53 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 12 12:03:53 2013 -0700"
      },
      "message": "am 42a85412: am 925ec03f: Merge \"VZW wants the phoneNumber to be 10 zero\\\u0027s if there isn\\\u0027t one.\" into jb-mr2-dev\n\n* commit \u002742a85412d12078f36c3fdeda1211bdc3800bab0c\u0027:\n  VZW wants the phoneNumber to be 10 zero\u0027s if there isn\u0027t one.\n"
    },
    {
      "commit": "925ec03fcd9651ff4c6b04982eb6d930b16493b9",
      "tree": "91f5cbbb47766ee77a2e18bb150f3322bdc1ac99",
      "parents": [
        "06a441de3b6756cf49879ff445ac26c66da54d02",
        "8cf3560469083d608e6f507792bce20bf53ed6d7"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Jul 12 18:59:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 18:59:03 2013 +0000"
      },
      "message": "Merge \"VZW wants the phoneNumber to be 10 zero\u0027s if there isn\u0027t one.\" into jb-mr2-dev"
    },
    {
      "commit": "abee69bc08e65d3ac0321f73380e3fb7b36f7575",
      "tree": "48e43cfe54dead09fddcaeb968bfd05d64a4f5c1",
      "parents": [
        "a73ac4b6fb48dff44cceea687cffbcba39dc6425",
        "8361a9f719b6a416a40134951daf28297b6e0670"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 12 11:25:24 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 12 11:25:24 2013 -0700"
      },
      "message": "am 8361a9f7: am 1a1a7c08: am 06a441de: Merge \"Pass along the user id to AttributeCache requests\" into jb-mr2-dev\n\n* commit \u00278361a9f719b6a416a40134951daf28297b6e0670\u0027:\n  Pass along the user id to AttributeCache requests\n"
    },
    {
      "commit": "8361a9f719b6a416a40134951daf28297b6e0670",
      "tree": "8e556825a56df52c4c446a9124d169b4149301ed",
      "parents": [
        "a4ee3088e74bb9b38dcd469df4dc929f1c935ff3",
        "1a1a7c0878320b94d01da6bdfaa857c85b4199a3"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 12 11:21:27 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 12 11:21:27 2013 -0700"
      },
      "message": "am 1a1a7c08: am 06a441de: Merge \"Pass along the user id to AttributeCache requests\" into jb-mr2-dev\n\n* commit \u00271a1a7c0878320b94d01da6bdfaa857c85b4199a3\u0027:\n  Pass along the user id to AttributeCache requests\n"
    },
    {
      "commit": "06a441de3b6756cf49879ff445ac26c66da54d02",
      "tree": "5ebb795303b6801f04907b8633598c7df0d66131",
      "parents": [
        "c079e43fc317087ae5517ee7d9a376e97fef0f57",
        "4befbecfcc286652209126b9a64883b35544157d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 12 18:17:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 18:17:09 2013 +0000"
      },
      "message": "Merge \"Pass along the user id to AttributeCache requests\" into jb-mr2-dev"
    },
    {
      "commit": "51a845688c58ab19928a37417a2400467607cadf",
      "tree": "469863e3aa0d27c9168b1c352dc420530a18d1e9",
      "parents": [
        "bea6525a53c2c653de9f122f226953301c30180d",
        "41fb98c8681cbe0040b8d4efc65d33717c3819f6"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jul 12 03:33:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 03:33:20 2013 +0000"
      },
      "message": "Merge \"Make legacy VPN work over stacked interfaces.\""
    },
    {
      "commit": "e08842840064801e32f33798c8ed6185c7d7650b",
      "tree": "486ba8ebc0fd99c86b5a909491f4ffecd5af3f4a",
      "parents": [
        "171699fbdd366d7cba6cfd224f988bf0592272b7",
        "64f0d5ba158e9135bcd48d64a1c0db282a4628ba"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Fri Jul 12 00:58:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 00:58:07 2013 +0000"
      },
      "message": "Merge \"Allow enabling TDLS on specific routes\""
    },
    {
      "commit": "64f0d5ba158e9135bcd48d64a1c0db282a4628ba",
      "tree": "ffa817f70cc63f723df334e5879ec5ab9a383eac",
      "parents": [
        "ada2f7e17bf7032ba0ab06c80713c0720711ac4b"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Thu Jul 11 15:12:44 2013 -0700"
      },
      "committer": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Thu Jul 11 15:12:44 2013 -0700"
      },
      "message": "Allow enabling TDLS on specific routes\n\nThis change exposes couple of internal APIs to enable TDLS between local\nmachine and a remote machine. The implementation translates client provided\nremote IP to a MAC address using system ARP cache, and then instructs the\ndriver to enable TDLS with that endpoint. Another API takes application\nspecified MAC address.\n\nBug: 8538898\n\nChange-Id: Ida343fc42ba3a817a4f380255596e7fb7fcdfb9b\n"
    },
    {
      "commit": "41fb98c8681cbe0040b8d4efc65d33717c3819f6",
      "tree": "b0552e96ca4ebf980a3211ae85919add392c4b41",
      "parents": [
        "9865ef1ba5800ec4ab82936eb016c3f563b07cbf"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jun 28 17:26:21 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jul 11 18:15:48 2013 +0900"
      },
      "message": "Make legacy VPN work over stacked interfaces.\n\nOn stacked interfaces like 464xlat, Legacy VPN can\u0027t find the\ndefault gateway because it uses getRoutes, which only returns\nroutes for the base link and not for the stacked links. It also\nassumes that the interface that the default route points to is\nthe interface for the base link (e.g., rmnet0) instead of the\ninterface the route actually points to (e.g., clat4).\n\nFix this by calling getAllRoutes to find the default IPv4 route,\nand get the interface name from the route we find instead of\nassuming it\u0027s the base interface.\n\nBug: 9597516\nChange-Id: Ia6ce0b6258a421cd22f60dedca7e94176b32176b\n"
    },
    {
      "commit": "8cf3560469083d608e6f507792bce20bf53ed6d7",
      "tree": "2026b8844dd2d62d78d3c27f001b0d09a10d8225",
      "parents": [
        "29282f99252237dd9674737d26ce72afbfdd3ac1"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 10 23:00:07 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 10 23:00:07 2013 -0700"
      },
      "message": "VZW wants the phoneNumber to be 10 zero\u0027s if there isn\u0027t one.\n\nBug: 9784059\nChange-Id: I41bba908855648d2560440655d8a75a7cb2e0859\n"
    },
    {
      "commit": "9865ef1ba5800ec4ab82936eb016c3f563b07cbf",
      "tree": "6bfd4eee2c1dd911e98a77c790d80e5ea0868df1",
      "parents": [
        "fb20eb48aa95e438750fe2a32cd0b86897c71b4b",
        "20cdcee47d10986969e7e2a53a40a6ecabae3827"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 11 02:03:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 11 02:03:33 2013 +0000"
      },
      "message": "Merge \"Add -c option to meminfo to dump a compact form.\""
    },
    {
      "commit": "20cdcee47d10986969e7e2a53a40a6ecabae3827",
      "tree": "2d5a6ffb21e09a13605b2735ad04def3d83744b6",
      "parents": [
        "8ce24f2a6817193b3514bd069c64f44354a42b7b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 10 18:47:04 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 10 18:47:04 2013 -0700"
      },
      "message": "Add -c option to meminfo to dump a compact form.\n\nAlso fix a bug in FastPrintWriter where println(long) was\nnot printing the newline.\n\nChange-Id: Idcb4eaab0c1ec4b992032b5e36478ef11a6533d9\n"
    },
    {
      "commit": "4befbecfcc286652209126b9a64883b35544157d",
      "tree": "5a722fdbcdaea59f9832521d93de4ac3b9586184",
      "parents": [
        "2f50097a5d5a1fb60574c89c7202cc43ecb51c54"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jul 10 16:18:01 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jul 10 16:18:01 2013 -0700"
      },
      "message": "Pass along the user id to AttributeCache requests\n\nBug: 9759331\nChange-Id: Ib96ba6a89c58edc207021aa43a2b67b4f6c50117\n"
    },
    {
      "commit": "fb20eb48aa95e438750fe2a32cd0b86897c71b4b",
      "tree": "4f77b3230b2880371906562a50fe8520f9f9fc7b",
      "parents": [
        "47e36c3cfe58e029e217f79a9b3e5746a28651cc",
        "5eda9b330120f75964cd78b29f6101cc273c2a7e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jul 10 21:52:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 10 21:52:28 2013 +0000"
      },
      "message": "Merge \"Add convertToTranslucent to API.\""
    },
    {
      "commit": "3b4d69508a6aba9b9ff7cc3ad9e4ce83dbc8cacb",
      "tree": "9feae72058eec79a7a212a833b739599e9167d93",
      "parents": [
        "0d21c220ddb1873133c24449404f82c28b19b8b4",
        "2042e9df4855ef59e3329b548b208279a88d7adb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 10 19:35:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 10 19:35:49 2013 +0000"
      },
      "message": "Merge \"KeySetManager: convert comments to Javadoc\""
    },
    {
      "commit": "1304f4ae32cf7121fe11e95f2a7151ea208b6cca",
      "tree": "dd12520fcec8cd88f79eb53e4b71562a9f208bd7",
      "parents": [
        "607c6e2a56eb9699b8ec10c6594f8a6eb8feafc4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 09 18:17:27 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 09 18:17:27 2013 -0700"
      },
      "message": "Add new location monitoring op, make some of app ops public.\n\nThe new location monitoring op is to tell us when an application\nis monitoring for any location changes.  It may be useful information\nin addition to the more explicitly information about when location\ndata actually goes to the app.\n\nAlso make parts of AppOpsManager public for use by gcore.  It is\nnot available to third party apps.\n\nChange-Id: Ib639f704258ffdd7f3acd7567350ed2539da628a\n"
    },
    {
      "commit": "5eda9b330120f75964cd78b29f6101cc273c2a7e",
      "tree": "671e3998d5a7d8ebacaebd1cef3d8279d4667924",
      "parents": [
        "ef50a1a0dd9a962d1b92613399ed34058ee2098c"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 02 11:58:16 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 09 14:50:12 2013 -0700"
      },
      "message": "Add convertToTranslucent to API.\n\nRename convertToOpaque to convertFromTranslucent. Add the\ncounterpart to Activity.convertFromTranslucent() for returning from\nopaque to a translucent Activity. The caller should wait until\nTranslucentConversionListener.onTranslucentConversionComplete() is\ncalled before actually changing the background to translucent.\n\nChange-Id: Id04b026bcc4dd8bad9a33a7af126e1bb28fb9c03\n"
    },
    {
      "commit": "235e817c80e0a2563952bdb4f58a29085758ac55",
      "tree": "3ee084aff6f73225808e745b32e0f2118c165f45",
      "parents": [
        "525b7c020b326c2cffde67d7850c720cf3300437",
        "b82add27d084f7fc3e00ea7fd26d245dfe801d11"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Jul 09 18:32:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 09 18:32:41 2013 +0000"
      },
      "message": "Merge \"Clean up any restrictions files that shouldn\u0027t be there.\""
    },
    {
      "commit": "b82add27d084f7fc3e00ea7fd26d245dfe801d11",
      "tree": "8fc867d7a7865b6028fd120942611fa19f93b5ba",
      "parents": [
        "e969964c80a20b2d968b4ee54495176c9049d3e3"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Jul 09 11:24:44 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Jul 09 11:24:44 2013 -0700"
      },
      "message": "Clean up any restrictions files that shouldn\u0027t be there.\n\nPartially fixes the mess that was caused by #9681399\n\nChange-Id: Iaabe15c87d1b002f0b2210b34adcc31b8fb4329c\n"
    },
    {
      "commit": "42e230cdb4dbd9c84456bfe3d60fb9115be44fe8",
      "tree": "27646ede7f091b42670d8a3295aec98dfb3b31db",
      "parents": [
        "8f5c69a75f9ab331c3945b7834b5a85375535354",
        "b282726d8604dad3ac06e9d8bf167f19332a05d7"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Tue Jul 09 14:42:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 09 14:42:18 2013 +0000"
      },
      "message": "Merge \"Consolidate InputMethodUtils\""
    },
    {
      "commit": "b282726d8604dad3ac06e9d8bf167f19332a05d7",
      "tree": "312ab6fd107298452c0564c7bc5bbf753ca43136",
      "parents": [
        "38b2322567e2407753cc9a4bed626b3cc47ccece"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu Jul 04 19:43:14 2013 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Tue Jul 09 23:20:06 2013 +0900"
      },
      "message": "Consolidate InputMethodUtils\n\nChange-Id: Ib5a5f3af8ea9eaaa81697d13c20abe28121e7373\n"
    },
    {
      "commit": "a4cc205ee840a5374a96c9635dc5121d82a3eaf9",
      "tree": "bf3b25df34d9fbb95cb204a0e873e811c74741f0",
      "parents": [
        "ef50a1a0dd9a962d1b92613399ed34058ee2098c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 08 17:31:25 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 08 18:06:24 2013 -0700"
      },
      "message": "More procstats work.\n\nThe historical data is now a more central part of the stats.\nWhen a checkin happens, the data is not deleted, just marked\nas checked in so we can continue to access it.\n\nThe default procstats dump is now a new \"summary\" mode that\nshows a more useful set of data for all of the running processes.\nBy default the current and all committed states are shown; you\nuse \"--current\" to only show the current.  Use \"--details\" to\nget the previous more detailed data (which now includes detailed\nprocess data like the per-package data).\n\nAlso tweaked uid printing to be a little more compact.\n\nChange-Id: I5414ea7c07134ebd5dc83f6f7b9f6e30151eda85\n"
    },
    {
      "commit": "2042e9df4855ef59e3329b548b208279a88d7adb",
      "tree": "a8367d7fbdb8de8c8e3b9f7a4a4edc14f8563066",
      "parents": [
        "ef50a1a0dd9a962d1b92613399ed34058ee2098c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 08 09:31:31 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 08 16:28:35 2013 -0700"
      },
      "message": "KeySetManager: convert comments to Javadoc\n\nTo help with development, change comments to Javadoc and adding some\nlinks.\n\nChange-Id: Id97febd978f14bace8242d8e0610b1166a13265b\n"
    },
    {
      "commit": "ee302758d6d8e9d954267c3404b7e783ef1d976f",
      "tree": "d5d49ac2fc287ffdba1d143ed51e2f7d15dabe78",
      "parents": [
        "242f1f3fc6cecb552e54c1b1142e9eeff41b8271",
        "9a995f57a3cbfefc248498bbd51e7a09f584ff4f"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 08 20:25:27 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 08 20:25:27 2013 +0000"
      },
      "message": "Merge \"KeySetManager: change KEYSET_NOT_FOUND to public\""
    },
    {
      "commit": "619682dfaefcc1b8a308924a283dfad160963684",
      "tree": "a9853f962e2c6b071ed52c8b5066f1e680f4f217",
      "parents": [
        "5bee57567b31305c8d43ec22b720f971331d734e",
        "58d52298bebe21c4fb79ec8fc5e1c76a7503e0a5"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 12:22:59 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 12:22:59 2013 -0700"
      },
      "message": "am 58d52298: am 57512008: am 8f793103: Merge \"Set foreground priority for shutdown receivers.\"\n\n* commit \u002758d52298bebe21c4fb79ec8fc5e1c76a7503e0a5\u0027:\n  Set foreground priority for shutdown receivers.\n"
    },
    {
      "commit": "58d52298bebe21c4fb79ec8fc5e1c76a7503e0a5",
      "tree": "1a461ea15f7ce231dd21238ce97e02fb617afef6",
      "parents": [
        "a998fa2df957ad3f1c860d5ab8903041cf53a2f0",
        "57512008e2f9f1f04ff5a11b522533c753ed36fe"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 12:20:15 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 12:20:15 2013 -0700"
      },
      "message": "am 57512008: am 8f793103: Merge \"Set foreground priority for shutdown receivers.\"\n\n* commit \u002757512008e2f9f1f04ff5a11b522533c753ed36fe\u0027:\n  Set foreground priority for shutdown receivers.\n"
    },
    {
      "commit": "57512008e2f9f1f04ff5a11b522533c753ed36fe",
      "tree": "bf3936c0e671a2303b960bd0f40db1fe3c9f998d",
      "parents": [
        "e14afe7163a9d25c4d06e40165051f5c2d4d540a",
        "8f793103d81e988e2ef25ecdfde1b279e299a97e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 12:15:30 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 12:15:30 2013 -0700"
      },
      "message": "am 8f793103: Merge \"Set foreground priority for shutdown receivers.\"\n\n* commit \u00278f793103d81e988e2ef25ecdfde1b279e299a97e\u0027:\n  Set foreground priority for shutdown receivers.\n"
    },
    {
      "commit": "8f793103d81e988e2ef25ecdfde1b279e299a97e",
      "tree": "44c735884deebb10fc94492278b789a0a56fb7e1",
      "parents": [
        "58f26e9dfbd3986037fa5e52e8def1cb6b741bc3",
        "a81d7dace6e729a1f4f5dd3afc3d53c536e1996c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 19:01:25 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 08 19:01:26 2013 +0000"
      },
      "message": "Merge \"Set foreground priority for shutdown receivers.\""
    },
    {
      "commit": "785a22188fcaf1c0fb4c3884e52da8ce22467339",
      "tree": "7082257d9a23b4cfc69f037b16cb6624c4891e9f",
      "parents": [
        "c6376b54ba0639b8a80b2ea5227efd7d06227b3c",
        "7ea5bd497f842c8181f6455da6c8013e06578d45"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jul 08 18:46:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 08 18:46:05 2013 +0000"
      },
      "message": "Merge \"Move mLaunchingActivity from stack to supervisor.\""
    },
    {
      "commit": "c6376b54ba0639b8a80b2ea5227efd7d06227b3c",
      "tree": "57685a9675aacfa812a22874c36e44ce2b629100",
      "parents": [
        "4a9095007ddf2ec763ad7133e9ac8c62c3f53a4e",
        "a998fa2df957ad3f1c860d5ab8903041cf53a2f0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 11:27:51 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 11:27:51 2013 -0700"
      },
      "message": "am a998fa2d: am e14afe71: am 58f26e9d: Merge \"The order of child windows is switched\"\n\n* commit \u0027a998fa2df957ad3f1c860d5ab8903041cf53a2f0\u0027:\n  The order of child windows is switched\n"
    },
    {
      "commit": "a998fa2df957ad3f1c860d5ab8903041cf53a2f0",
      "tree": "7999c8f9267f1fc878d62db6503a3e3d4ea6fc59",
      "parents": [
        "4e4cb74f2e8ee3c45fec4283f020d1f727832dac",
        "e14afe7163a9d25c4d06e40165051f5c2d4d540a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 11:25:44 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 11:25:44 2013 -0700"
      },
      "message": "am e14afe71: am 58f26e9d: Merge \"The order of child windows is switched\"\n\n* commit \u0027e14afe7163a9d25c4d06e40165051f5c2d4d540a\u0027:\n  The order of child windows is switched\n"
    },
    {
      "commit": "e14afe7163a9d25c4d06e40165051f5c2d4d540a",
      "tree": "9899ddd7664a7b6f5af80e12a1cc6653db98e49b",
      "parents": [
        "228186809a25a870c10ed1c8e77ff9623127d304",
        "58f26e9dfbd3986037fa5e52e8def1cb6b741bc3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 11:21:52 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 08 11:21:52 2013 -0700"
      },
      "message": "am 58f26e9d: Merge \"The order of child windows is switched\"\n\n* commit \u002758f26e9dfbd3986037fa5e52e8def1cb6b741bc3\u0027:\n  The order of child windows is switched\n"
    },
    {
      "commit": "187350915315ded09fd97164bd7e8882e7aaefb3",
      "tree": "30660bed22c9bffb936a52e3dce4963fa2181fa2",
      "parents": [
        "2a26547fd391c8038ad9f57fcb51d62fba0ee543"
      ],
      "author": {
        "name": "takeda.masayuki",
        "email": "takeda.masayuki@sharp.co.jp",
        "time": "Wed Dec 12 11:06:24 2012 +0900"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 08 11:08:41 2013 -0700"
      },
      "message": "The order of child windows is switched\n\nBy calling WindowManagerService#reAddWindowLocked(), the window object\nin DisplayContent.mWindows is rearranged. If this window has children,\nthe window objects belonging to WindowState.mChildWindows are also\nrearranged together. At this time, while DisplayContent.mWindows is\narranged in ascending order of Z-Order, WindowState.mChildWindows is\narranged in descending order. Therefore, if children\n(\u003d WindowState.mChildWindows) are added to DisplayContent.mWindows\nin the original order, the order of children is switched. I think\nthat children must be sorted before they are added.\n\nChange-Id: I28a506f17fcd99c801a3faa17cca66fffb291596\n"
    },
    {
      "commit": "fb236b56d23fa563880f98ec3fc484723235296c",
      "tree": "1afef02c77d7ff39ac036d5aabc58f9b11b68d8f",
      "parents": [
        "c7d69aacc9fe5522d8880bd30a305ca4fcc4b8b2"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Jul 08 10:53:58 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Jul 08 10:53:58 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I2348e75e95581b1e5acf1c52b83948e46547a19e\n"
    },
    {
      "commit": "9a995f57a3cbfefc248498bbd51e7a09f584ff4f",
      "tree": "93c5368de7ca304566f979a68c3d1a88ee006548",
      "parents": [
        "2758e291c82901e8e22258e519dc5af228d44dcf"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 08 09:33:22 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 08 09:37:24 2013 -0700"
      },
      "message": "KeySetManager: change KEYSET_NOT_FOUND to public\n\nMake the constant KEYSET_NOT_FOUND so that other source code components\ncan use that as the sentinel value directly instead of -1\n\nChange-Id: If89de5fb312d55e360b96aadbc6effcd480043b2\n"
    },
    {
      "commit": "978263ee499e1566cbb28017594c92be39026b86",
      "tree": "22f162b1bf978050578af9947fe4ff14326a32e1",
      "parents": [
        "38b2322567e2407753cc9a4bed626b3cc47ccece",
        "df0e6abd9f5863740942a1da12685f261016a8e1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 08 16:23:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 08 16:23:02 2013 +0000"
      },
      "message": "Merge \"KeySetManager: add keyset aliases to dump\""
    },
    {
      "commit": "7ea5bd497f842c8181f6455da6c8013e06578d45",
      "tree": "776409310107cbf194610a5d0d2d9f4b73ae1b8a",
      "parents": [
        "d9fb14a38aaa795948e5827d33e3d6fdc108f624"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jul 05 15:27:08 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jul 05 15:27:08 2013 -0700"
      },
      "message": "Move mLaunchingActivity from stack to supervisor.\n\nThere did not need to be one launching wakelock for each stack.\nMoving it to the stack supervisor makes the logic much simpler\nand fixes bug 9693439.\n\nChange-Id: I5c9ae856540170a4d66fedb74becb6959c44dd8f\n"
    },
    {
      "commit": "cee04b57394e35457f5d217731fba24631581259",
      "tree": "2d25cd9b907fa4d598462939ab679dc19d492565",
      "parents": [
        "db3c19fd406c9bb9688cb041856114cb54dbaeb3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 03 17:01:28 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 03 17:06:08 2013 -0700"
      },
      "message": "Add traces for app launch / fully drawn times.\n\nNote that we don\u0027t know the fully drawn time unless the app\ntells it has finished drawing, so for apps that don\u0027t do this\nwe will end up just continuing to consider it to be drawing until\nthe next app is launched.\n\nChange-Id: I766b71cf61b8d7324ccf239b7a44bef2518e2454\n"
    },
    {
      "commit": "db3c19fd406c9bb9688cb041856114cb54dbaeb3",
      "tree": "161392b897d4b504bf735271e2a8e71734843507",
      "parents": [
        "ba5664ed9202157f9d38385bbaf17a8f0b925a66",
        "169c8038dd40e3ab238e61ddc50fa7c790eae033"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 03 22:50:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 03 22:50:10 2013 +0000"
      },
      "message": "Merge \"Improve how procstats history/checkins are managed.\""
    },
    {
      "commit": "169c8038dd40e3ab238e61ddc50fa7c790eae033",
      "tree": "361da67726c44225ba2500e5a9f79e710f821b5c",
      "parents": [
        "d9fb14a38aaa795948e5827d33e3d6fdc108f624"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 03 14:42:22 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 03 15:47:09 2013 -0700"
      },
      "message": "Improve how procstats history/checkins are managed.\n\nWe now keep a small set of historic procstats data.  Each\ntime you reboot a new set of data is created; each day a\nnew set of data is created.  At most 5 sets of historic data\nare kept at a time.  Each checkin only prints any existing\nhistoric data (and deletes it); checkins do not include the\ncurrent data, to keep the checkin data less noisy.\n\nThis requires a bunch of re-arranging of the way state is\nmaintained to allow the multiple files, and loading and\nprocessing state from old files.  Also fixed some problems\nwith writing/reading state.\n\nThe checkin format has been tweaked.  There is a new \"period\"\nline that tells you (1) the date/time stamp of the data,\n(2) the device realtime data collection started, (3) the\ndevice realtime data collection finished.  The difference\nbetween the last two give you the real time duration for\nwhich the data was collected.\n\nAlso, the third field of pkgproc and pkgsvc-*  can now be\nabbreviated: if it is the same as the package name, it is\nempty; if it is a suffix fo the package name it starts with\n\u0027.\u0027.\n\nChange-Id: I422875fccb627d95df7e36c183ac90056f273d83\n"
    },
    {
      "commit": "df0e6abd9f5863740942a1da12685f261016a8e1",
      "tree": "dc6b863a3e937aee714511ed50be153da9eaed16",
      "parents": [
        "d04f864ad2aedf5365edde8b754d1d844a80ca81"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 03 13:38:31 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 03 13:40:16 2013 -0700"
      },
      "message": "KeySetManager: add keyset aliases to dump\n\nAdd the list of aliases defined to the dumpsys output.\n\nChange-Id: I8bba20fba8dd123f749372cab7b8f038aa47331f\n"
    },
    {
      "commit": "2120bbb2c7ccef3cc76bb0886dfa9467a47b8dde",
      "tree": "34742494cd3bb259e1debb0753f9fba8237da5bb",
      "parents": [
        "c2dba2be4be2776dafb951fd3fe8e430bf1587da",
        "6ea2faf8ca7e1d7f75e41c9b13d36fa47436e1cc"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Wed Jul 03 08:32:32 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 03 08:32:32 2013 -0700"
      },
      "message": "am 6ea2faf8: am 64036633: am c2656a98: Merge \"Revert \"Temporarily disable \\\u0027Scan Always\\\u0027 mode\"\" into jb-mr2-dev\n\n* commit \u00276ea2faf8ca7e1d7f75e41c9b13d36fa47436e1cc\u0027:\n  Revert \"Temporarily disable \u0027Scan Always\u0027 mode\"\n"
    },
    {
      "commit": "6ea2faf8ca7e1d7f75e41c9b13d36fa47436e1cc",
      "tree": "cbbb26564e0d10dad2ed68e0bf5a6c35295730c1",
      "parents": [
        "e48269f80a36900c37ed584a4bcb26af8494018b",
        "6403663343e6ef1962f0f5e1490d975cbcc653a2"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Wed Jul 03 08:16:40 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 03 08:16:40 2013 -0700"
      },
      "message": "am 64036633: am c2656a98: Merge \"Revert \"Temporarily disable \\\u0027Scan Always\\\u0027 mode\"\" into jb-mr2-dev\n\n* commit \u00276403663343e6ef1962f0f5e1490d975cbcc653a2\u0027:\n  Revert \"Temporarily disable \u0027Scan Always\u0027 mode\"\n"
    },
    {
      "commit": "c2656a98cebab37454c9205b3f4a4ab6afb511a2",
      "tree": "8958581fa5991ec8f3536764faf42cc57d463c36",
      "parents": [
        "2a6cbf292fbe9b0ddbee2c867617478a6a1cccc1",
        "218339818ccb7a92d338496b51dbc194933c6f76"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Wed Jul 03 00:12:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 03 00:12:53 2013 +0000"
      },
      "message": "Merge \"Revert \"Temporarily disable \u0027Scan Always\u0027 mode\"\" into jb-mr2-dev"
    },
    {
      "commit": "218339818ccb7a92d338496b51dbc194933c6f76",
      "tree": "579b5f85a4081549426dc3c051829b5d56e1af5f",
      "parents": [
        "c16b0d0061108685e74b40d77ad801fe0304bc42"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Wed Jul 03 00:10:53 2013 +0000"
      },
      "committer": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Wed Jul 03 00:10:53 2013 +0000"
      },
      "message": "Revert \"Temporarily disable \u0027Scan Always\u0027 mode\"\n\nThis reverts commit c16b0d0061108685e74b40d77ad801fe0304bc42.\n\nChange-Id: I89a23f5d786a53eea97fef3f19bd15f97fc26157\n"
    },
    {
      "commit": "18a75f1123e7bb9c68d983ab266c1ad886b347a5",
      "tree": "12d8f48d0f3562d161e7f9e941c08b7df5bca8c2",
      "parents": [
        "e969964c80a20b2d968b4ee54495176c9049d3e3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 01 18:18:59 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 02 15:14:41 2013 -0700"
      },
      "message": "Add dumpsys of recent wakeup patterns, for analysis\n\nKeeps one day of alarm history, and for each one puts a line in dumpsys:\nRTC timestamp, millis since previous wakeup alarm, uid, and intent action\n\nBug 9532215\n\nChange-Id: Ib4fb41aa6291a4cf8f3301bfebf7974e99a9d52c\n"
    },
    {
      "commit": "e969964c80a20b2d968b4ee54495176c9049d3e3",
      "tree": "11d4c9c18392e1e82223ee3e9319cebe867f2776",
      "parents": [
        "53c8979f108e5a75e8fabbcc25b66b5d614eae92",
        "c880ae16528aa90853952397b8e4d4a299d29c28"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jul 02 12:41:31 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 02 12:41:31 2013 -0700"
      },
      "message": "am c880ae16: am db011499: am 753d754c: Merge \"Fix  NPE if mobile is not supported in checkMobileProvisioning.\" into jb-mr2-dev\n\n* commit \u0027c880ae16528aa90853952397b8e4d4a299d29c28\u0027:\n  Fix  NPE if mobile is not supported in checkMobileProvisioning.\n"
    },
    {
      "commit": "c880ae16528aa90853952397b8e4d4a299d29c28",
      "tree": "6101e73c25b3d340695f01e96e6944f813bb448d",
      "parents": [
        "2c975eda80983d4222770284433b44fae75a7f7c",
        "db011499c80f663b30564f1978f3e8e56d60f6c6"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jul 02 12:36:47 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 02 12:36:47 2013 -0700"
      },
      "message": "am db011499: am 753d754c: Merge \"Fix  NPE if mobile is not supported in checkMobileProvisioning.\" into jb-mr2-dev\n\n* commit \u0027db011499c80f663b30564f1978f3e8e56d60f6c6\u0027:\n  Fix  NPE if mobile is not supported in checkMobileProvisioning.\n"
    },
    {
      "commit": "347403680e32af19df39839857205ff5eadbd3f4",
      "tree": "513b0ec92852e6061d09af8447c70e5abe7e8e97",
      "parents": [
        "d9fb14a38aaa795948e5827d33e3d6fdc108f624",
        "92179bc261cf9ff216f10a9adf64088ed76675cb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 02 19:32:45 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 02 19:32:45 2013 +0000"
      },
      "message": "Merge \"KeySetManager: iterate over correct list\""
    },
    {
      "commit": "92179bc261cf9ff216f10a9adf64088ed76675cb",
      "tree": "fa6cb37a5ccca8028016a73afce10d581a7a5ec0",
      "parents": [
        "7f48bea96b2f374a3c810255a73a5abbbd708da4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 02 11:55:27 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 02 11:55:45 2013 -0700"
      },
      "message": "KeySetManager: iterate over correct list\n\nChange-Id: I43e18e824e62b3ec54964ace1485a45616b962f2\n"
    },
    {
      "commit": "d9fb14a38aaa795948e5827d33e3d6fdc108f624",
      "tree": "1b12bbfc7f3005b0ddcb37c4bb46c132ebc304c4",
      "parents": [
        "3fa263c6bd019f8cf812d1b74775f353b68a9bd5",
        "2286cdc0cab77e61b75e6fe9a45b91f6e57cd46d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 02 18:30:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 02 18:30:43 2013 +0000"
      },
      "message": "Merge \"Misc memory stuff.\""
    },
    {
      "commit": "2286cdc0cab77e61b75e6fe9a45b91f6e57cd46d",
      "tree": "dd2f8bcc5adf79881e9ce27010b94b711eb53077",
      "parents": [
        "eaccd577b99b5c3e58906dd1d12c4044eb7e6d3f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 01 19:10:06 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 02 11:21:04 2013 -0700"
      },
      "message": "Misc memory stuff.\n\n- New Activity.reportFullyDrawn() method that applicatins can call\n  when they know they are fully drawn, allowing us to have better\n  app launch time info.  This data is also included in usage stats.\n- Added total and free memory data \"dumpsys meminfo\".\n- Tuned the moderate memory levels to be more aggressive about\n  considering the device getting low on RAM, and thus starting\n  to prune RAM from processes.\n- Fixed issues in processstats when reading old data as well as\n  resetting and other various fixes.\n\nChange-Id: I20efe7451afb4edfa1aeec448328ba601c24d869\n"
    },
    {
      "commit": "753d754c7dbd93a56cd671ee865f2e37ec3d3187",
      "tree": "46a771f6e53fe33f1ab577ad8ab27219746e0057",
      "parents": [
        "697184b56f918799440bf7749ea8c1e636a63725",
        "68e6c6452ce850b8744ddf56fcb11583ecf2293b"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jul 02 18:17:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 02 18:17:00 2013 +0000"
      },
      "message": "Merge \"Fix  NPE if mobile is not supported in checkMobileProvisioning.\" into jb-mr2-dev"
    },
    {
      "commit": "68e6c6452ce850b8744ddf56fcb11583ecf2293b",
      "tree": "e923164cabcc7e3a574d9a0b59d75f2abcf22e54",
      "parents": [
        "59046f40baa66d3f10761d8294a43f92feef5c2e"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jul 02 10:55:14 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jul 02 10:55:14 2013 -0700"
      },
      "message": "Fix  NPE if mobile is not supported in checkMobileProvisioning.\n\nBug: 9664438\nChange-Id: If0c4938956a80e8d6a21a968aa771d0d8f546b3c\n"
    },
    {
      "commit": "e722873afdb55d4698d32b92e2f1a160864f9991",
      "tree": "b6aab8b33288a37e44ac007edf38b83e3bd60d4d",
      "parents": [
        "bd54e06e21b0a8b37a3b2a4fba89a13790ccbbd3",
        "892b52f1516e0cd7b0c142fc6a390adc7e504895"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Mon Jul 01 18:00:19 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 01 18:00:19 2013 -0700"
      },
      "message": "am 892b52f1: am 9f250e28: am 93647e2f: Merge \"Temporarily disable \\\u0027Scan Always\\\u0027 mode\" into jb-mr2-dev\n\n* commit \u0027892b52f1516e0cd7b0c142fc6a390adc7e504895\u0027:\n  Temporarily disable \u0027Scan Always\u0027 mode\n"
    },
    {
      "commit": "892b52f1516e0cd7b0c142fc6a390adc7e504895",
      "tree": "35dd27e0d17db8802535b3d77004c1b956c7a9ae",
      "parents": [
        "9544df0767b7e3e7d9f807cb2290cd3afba73b7a",
        "9f250e28c39abfb14a80c1997a1915b97940e070"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Mon Jul 01 17:58:40 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 01 17:58:40 2013 -0700"
      },
      "message": "am 9f250e28: am 93647e2f: Merge \"Temporarily disable \\\u0027Scan Always\\\u0027 mode\" into jb-mr2-dev\n\n* commit \u00279f250e28c39abfb14a80c1997a1915b97940e070\u0027:\n  Temporarily disable \u0027Scan Always\u0027 mode\n"
    },
    {
      "commit": "93647e2f8f0c1b52d6b8f017096f4f037f9733b9",
      "tree": "3daf50b21a7c7c2e1285a4ec53d1277d52aa4e23",
      "parents": [
        "59046f40baa66d3f10761d8294a43f92feef5c2e",
        "c16b0d0061108685e74b40d77ad801fe0304bc42"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Tue Jul 02 00:54:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 02 00:54:19 2013 +0000"
      },
      "message": "Merge \"Temporarily disable \u0027Scan Always\u0027 mode\" into jb-mr2-dev"
    },
    {
      "commit": "c16b0d0061108685e74b40d77ad801fe0304bc42",
      "tree": "62c3a6df59e1f7b9e6f0c7d9f8d3fbac38685a46",
      "parents": [
        "e9df511e2018eb6a296408d09e355c6f2c77ae59"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Mon Jul 01 17:10:28 2013 -0700"
      },
      "committer": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Mon Jul 01 17:10:28 2013 -0700"
      },
      "message": "Temporarily disable \u0027Scan Always\u0027 mode\n\nThis change disables \u0027Scan Always\u0027 by ignoring the setting; and\nhard coding value to \u0027false\u0027. The UI will change based on whatever\nis in settings; but underneath we won\u0027t enable scans when WiFi is\noff.\n\nChange-Id: Ibb1401207b6675e609e979ea23b63177814f762c\n"
    },
    {
      "commit": "9f6a7f424fad614fdb991bd978009eb1321c70a6",
      "tree": "cafd980497fda12924f047869d3e57b6cb8425c4",
      "parents": [
        "b6812a0cf65b4ddfe250ad1d6f47168dc983b025",
        "3b5d686e683b1811ca90e056065dcf3805bb256a"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jul 01 16:12:31 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jul 01 16:12:31 2013 -0700"
      },
      "message": "Merge commit \u00273b5d686e\u0027 into fix-merge-conflict\n\n* commit \u00273b5d686e\u0027:\n  Add checkMobileProvisioning to ConnectivityService.\n\nConflicts:\n\tservices/java/com/android/server/ConnectivityService.java\n\nChange-Id: Ieceb9c8f4aa4fa99258e56a720b4c74512369458\n"
    },
    {
      "commit": "3b5d686e683b1811ca90e056065dcf3805bb256a",
      "tree": "83ece406c4ee89e03ba5c9e77b9edb126f0eb5d5",
      "parents": [
        "60c2772ca7aa9d532a3b22e44b298e27204a40a5",
        "c45f2e05e3b9d261009c66346ef2257ec105f05c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jul 01 15:41:31 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 01 15:41:31 2013 -0700"
      },
      "message": "am c45f2e05: am 59046f40: Merge \"Add checkMobileProvisioning to ConnectivityService.\" into jb-mr2-dev\n\n* commit \u0027c45f2e05e3b9d261009c66346ef2257ec105f05c\u0027:\n  Add checkMobileProvisioning to ConnectivityService.\n"
    },
    {
      "commit": "59046f40baa66d3f10761d8294a43f92feef5c2e",
      "tree": "39e6b3d59949961ff2cb33e8236a5243a95652bb",
      "parents": [
        "e9df511e2018eb6a296408d09e355c6f2c77ae59",
        "ab9321d13de29cf314e8a1774b592d1f1d7e94d8"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jul 01 22:36:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 22:36:48 2013 +0000"
      },
      "message": "Merge \"Add checkMobileProvisioning to ConnectivityService.\" into jb-mr2-dev"
    },
    {
      "commit": "bae861437690f1373cb78c33442534d746409f2d",
      "tree": "241042a73a92f7c522fe3cf315d6aab6dc3b3df6",
      "parents": [
        "89d62fbad565aa847fd063f90fe1ca9194d31a72",
        "0d71de27b0b2afeac5eea801032d3915d430eeb9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 01 18:42:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 18:42:20 2013 +0000"
      },
      "message": "Merge \"Fix issue #9611000: Random run-time restarts\""
    },
    {
      "commit": "89d62fbad565aa847fd063f90fe1ca9194d31a72",
      "tree": "b78e6a073f234eeee92126b5ddc16fa9c3b6a996",
      "parents": [
        "8f5e3d13e166e4873e130a5ef7c987333dbac917",
        "a8a90e0f528c5c3f595383953d8ffd64e5c6f758"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jul 01 18:41:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 18:41:40 2013 +0000"
      },
      "message": "Merge \"Set focus to launcher activity on return.\""
    },
    {
      "commit": "0d71de27b0b2afeac5eea801032d3915d430eeb9",
      "tree": "516ce5e1ad1487141f18abcd5198a97d83eee06c",
      "parents": [
        "8f5e3d13e166e4873e130a5ef7c987333dbac917"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 01 10:44:57 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 01 11:40:46 2013 -0700"
      },
      "message": "Fix issue #9611000: Random run-time restarts\n\nChange-Id: I776f5e2434b81063780adf247fbd6db7f90c79c2\n"
    },
    {
      "commit": "8f5e3d13e166e4873e130a5ef7c987333dbac917",
      "tree": "bd453c23d640db2ad83413bb06d5a1b46aeaa5e0",
      "parents": [
        "54d499f6db7b7fa42543cae98b001f790c8df70b",
        "8ed09e893f6a4b6a4f6503186515b8f6978baa14"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jul 01 16:53:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 16:53:31 2013 +0000"
      },
      "message": "Merge \"Fix an NPE in NsdManager\""
    },
    {
      "commit": "7601e31d140046aa759cdc5299447b298a5f0c85",
      "tree": "e5d93028a36454d866e2f7ee1321de2a13de006c",
      "parents": [
        "7d4e24664a6bea493fd18751d2354b04afedc2fd",
        "861c3fcaf2da175f0908a4c66b947f3fbaf80c6c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jul 01 00:29:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 00:29:12 2013 +0000"
      },
      "message": "Merge \"464xlat: use a gatewayed route, not point-to-point\""
    },
    {
      "commit": "ab9321d13de29cf314e8a1774b592d1f1d7e94d8",
      "tree": "3ddf662a65410572a2d0634252212a383e7f840f",
      "parents": [
        "99e4a0f576bad57782b31f1b3329a3d2408f42ae"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sat Jun 29 21:10:57 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sat Jun 29 21:10:57 2013 -0700"
      },
      "message": "Add checkMobileProvisioning to ConnectivityService.\n\nBug: 9279964\nChange-Id: I42c326a21e05aa301e9d974ed9ac1d59472780ec\n"
    },
    {
      "commit": "f406e230125bc0328e80ffbc2ede92e61affe733",
      "tree": "600877a6e778d5ce77680ce080814234af810b2c",
      "parents": [
        "04971a736ae742e6593afa3537e2676b067ac46d",
        "904a857d5a319e32d1df065b38e3191324b35b0f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jun 29 02:14:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 29 02:14:10 2013 +0000"
      },
      "message": "Merge \"More work on procstats: save/restore state, fixes.\""
    },
    {
      "commit": "904a857d5a319e32d1df065b38e3191324b35b0f",
      "tree": "c13eb021633e2a48accaf8997aafe7a1bffd5fb2",
      "parents": [
        "8751a9644d301e40d03be3c9fc5b36bba9998d34"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 28 18:12:31 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 28 18:45:46 2013 -0700"
      },
      "message": "More work on procstats: save/restore state, fixes.\n\nWe now persistent the current procstats to storage\nto keep them across boots.  Still need to do division\nand pruning across days; right now they will just keep\ncollecting forever.\n\nAlso fix some bugs in the checkin output.\n\nChange-Id: I4dd9317dbe2ee0642af8f2f0be1f2bd9c4055e80\n"
    },
    {
      "commit": "6e7affeb3d0d026db20690072d8a661847888a42",
      "tree": "9033ab74461abe80612a6cea6aa99c03db2a2f5c",
      "parents": [
        "ebb77f55a9f82ea7e8737d654dd87ad57dd5f5b9",
        "b8292830f79fc76ffb9a1be5cd316212ac494d03"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 28 16:53:27 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 28 16:53:27 2013 -0700"
      },
      "message": "am b8292830: resolved conflicts for merge of a920f25f to jb-mr2-dev-plus-aosp\n\n* commit \u0027b8292830f79fc76ffb9a1be5cd316212ac494d03\u0027:\n  Switch frameworks/base over from @hidden Charsets to public StandardCharsets.\n"
    },
    {
      "commit": "b8292830f79fc76ffb9a1be5cd316212ac494d03",
      "tree": "27c919fddab0a364276ee157ff3f0e8bc6fc7f2e",
      "parents": [
        "d1411efee372a37fcd0178f3ccffd9bf1d67b70b",
        "a920f25fe55fc9afc7640902a200f19ce278588b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 28 16:50:13 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 28 16:50:13 2013 -0700"
      },
      "message": "resolved conflicts for merge of a920f25f to jb-mr2-dev-plus-aosp\n\nChange-Id: I3349f8d2e6715171e2677c1385122ceb2810c1f6\n"
    },
    {
      "commit": "a920f25fe55fc9afc7640902a200f19ce278588b",
      "tree": "d248ebfca6085ff79f1a5cfb91a1778b4617ac82",
      "parents": [
        "324993abed48843da1cb63063668147151e4db5c",
        "fca0f92e0a9c121dcf28fa783e884f1fb4993374"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 28 16:41:19 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 28 16:41:19 2013 -0700"
      },
      "message": "resolved conflicts for merge of fca0f92e to stage-aosp-master\n\nChange-Id: I4791f0ffa324a313b8390fbde6d8f82f716ecf74\n"
    },
    {
      "commit": "d396a448b2e36e29598c954b64bfddef73f3fae0",
      "tree": "c8851235188aa3e48f7069c8a6004e40b304d253",
      "parents": [
        "5216f11e462b9f17704c0ac9e193d2149f3fa755"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 28 16:24:48 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 28 16:24:48 2013 -0700"
      },
      "message": "Switch frameworks/base over from @hidden Charsets to public StandardCharsets.\n\nBug: 3484927\nChange-Id: I5d136d2ee629588538602766a182ae14ce5fc63c\n"
    },
    {
      "commit": "a8a90e0f528c5c3f595383953d8ffd64e5c6f758",
      "tree": "383b4667464b276e0af1364b26ac57ffd25295a7",
      "parents": [
        "9e424cfbf4404ae7c56ff374d66e7391ee9e84c4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 28 15:24:50 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 28 15:24:50 2013 -0700"
      },
      "message": "Set focus to launcher activity on return.\n\nSetting the focus to the top activity on the home stack when\nchanging stack. This got lost when setting the stack to the foreground\nno longer set automatically set focus.\n\nFixes first half of bug 9580068.\n\nChange-Id: Ic9a662579399c052e0f0992651a32094f4aa62d0\n"
    },
    {
      "commit": "44c4ddfd47f08f542745a512fbdcd0b551d88b2e",
      "tree": "f5c402e33801df3794350dc2b22b14535259a46b",
      "parents": [
        "1f3ad678be7e5470d4d06fb0687269fc34bece10"
      ],
      "author": {
        "name": "Georgi Nikolov",
        "email": "geonik@google.com",
        "time": "Fri Jun 28 14:12:09 2013 -0700"
      },
      "committer": {
        "name": "Georgi Nikolov",
        "email": "geonik@google.com",
        "time": "Fri Jun 28 14:12:09 2013 -0700"
      },
      "message": "Bugfix 9603757\nmaster/flo tremendous Gallery battery drain on idle device (syncing pathology?)\n\nChange-Id: I52797fe428a817ac0bdafcf2ab2b0b565839f84c\n"
    },
    {
      "commit": "8751a9644d301e40d03be3c9fc5b36bba9998d34",
      "tree": "cd76455e3151e0cb61c36db1332eb1695c8bbfdb",
      "parents": [
        "2179a522d3e579f8e08beac7259707d0c97fd50d",
        "9b05c61a87972dce6982e5b016bbcd0e0dff74c3"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Jun 28 16:36:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 28 16:36:11 2013 +0000"
      },
      "message": "Merge \"move scoring, sound, vibration, and lights into a handler\""
    },
    {
      "commit": "861c3fcaf2da175f0908a4c66b947f3fbaf80c6c",
      "tree": "179abc4a194e1e1879406f22a2effbc3db9b1252",
      "parents": [
        "afb292a23cd56e6f328164ede81522afe7ef1f89"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jun 17 11:10:27 2013 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Jun 29 00:14:43 2013 +0900"
      },
      "message": "464xlat: use a gatewayed route, not point-to-point\n\nVarious applications such as Skype and our legacy VPN code\ndo not understand routes pointed directly at point-to-point\ninterfaces and require a default gateway IPv4 address in\norder to function.\n\nGrudgingly accept that routes without default gateways Are Hard\nand use gatewayed routes instead. This causes routing to go from:\n\ndefault dev clat4  scope link\n\nto:\n\ndefault via 192.0.0.4 dev clat4  scope link\n192.0.0.4 dev clat4  scope link\n\nand those apps now work.\n\nBug: 9597256\nBug: 9597516\nChange-Id: I7b7890873802d3cb99affd6eb70b8ab75e7a2cf6\n"
    },
    {
      "commit": "2179a522d3e579f8e08beac7259707d0c97fd50d",
      "tree": "0da1df31c3b9add8f23a661aa45a55ec8bc19337",
      "parents": [
        "afb292a23cd56e6f328164ede81522afe7ef1f89",
        "cfc837f7fa43362b5049f648fe1bfdf5a010cc1c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 28 01:59:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 28 01:59:24 2013 +0000"
      },
      "message": "Merge \"Start really collecting PSS data for process stats.\""
    },
    {
      "commit": "cfc837f7fa43362b5049f648fe1bfdf5a010cc1c",
      "tree": "a633f0dff8d27965896ccda7e600fdaf5c1bd582",
      "parents": [
        "97e1d53d36d3ce11fc1b8322c11320cbd614f960"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 27 18:32:07 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 27 18:56:00 2013 -0700"
      },
      "message": "Start really collecting PSS data for process stats.\n\nThe activity manager now uses some heuristics to try to\nsample PSS data from processes so that it can get enough\ndata to over reasonable time have something useful, without\ndoing it too aggressively.\n\nThe current policy is:\n\n1. Whenever a significant global change happens (memory state,\n   sceen on or off), we collect PSS from all processes; this will\n   not happen more than every 10 minutes.\n2. When all activities become idle, we will collect PSS from the\n   current top process; this will not happen more than every 2\n   minutes per process.\n3. We will sample the top-most process\u0027s PSS every 5 minutes.\n4. When an process\u0027s oom adj changes and it has been more than\n   30 minutes since PSS has been collected from it, we will\n   collect a new PSS sample.\n5. If a process changes from service A to service B (meaning it\n   has been running a service for a long time), we will collect\n   a PSS sample from it.\n6. If someone explicitly requests PSS data (for running services\n   UI or dumpsys), record that.\n\nAlso:\n\n- Finish moving the procstats output all to the new format.\n- Record information about processes being killed due to excessive\n  wake locks or CPU use in procstats.\n- Rework how we structure common vs. per-package process stats to\n  make it simpler to deal with.\n- Optimize the Debug.getPss() implementation (we use it a lot now).\n  Should probably optimize it further at some point.\n\nChange-Id: I179f1f7ae5852c7e567de4127d8457b50d27e0f0\n"
    },
    {
      "commit": "a3416020a8976ef3dc59187c96bf0918c74a01cf",
      "tree": "21ba5f4c551db62264947146683ea50b922c2734",
      "parents": [
        "b3933b979ddff8ff90ee7ac9ab2bbf33df1e1ec9",
        "421fab8a7b429073512967e54a469ce440772e15"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 27 21:57:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 21:58:20 2013 +0000"
      },
      "message": "Merge \"Avoid legacy VPN bringing down system server.\""
    },
    {
      "commit": "421fab8a7b429073512967e54a469ce440772e15",
      "tree": "f0fda800ff109d9c5b52ff200013daf2ade0555d",
      "parents": [
        "4db614dbed10e74285eaa6d0e56c3e79a4afecc0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 27 10:57:45 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 27 14:51:52 2013 -0700"
      },
      "message": "Avoid legacy VPN bringing down system server.\n\nBug: 9564691\nChange-Id: I5b5f78c9ae20505f6274b91bc8fdbaaf57443277\n"
    },
    {
      "commit": "5729b81ab56379e3b8736a2c716421e185756460",
      "tree": "76cdc279f1f499eccafa1f1a1981a82a3f19d737",
      "parents": [
        "10113a440ef847f038a2b8ac3064b84b903e2953",
        "4addfc5f3998e3d7fc0a2ed9a9051c034da2ea3d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Jun 27 21:00:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 21:00:44 2013 +0000"
      },
      "message": "Merge \"Add API to convert translucent Activity to opaque.\""
    },
    {
      "commit": "9b05c61a87972dce6982e5b016bbcd0e0dff74c3",
      "tree": "2408918a63d318e1c9b2c45fe64863a3d12d7173",
      "parents": [
        "10113a440ef847f038a2b8ac3064b84b903e2953"
      ],
      "author": {
        "name": "Scott Greenwald",
        "email": "greenwald@google.com",
        "time": "Tue Jun 25 23:44:05 2013 -0400"
      },
      "committer": {
        "name": "Scott Greenwald",
        "email": "greenwald@google.com",
        "time": "Thu Jun 27 16:57:22 2013 -0400"
      },
      "message": "move scoring, sound, vibration, and lights into a handler\n\nAs a prelude to introducing fancier scoring functions, this CL\nmoves scoring and everything that depends on it into a handler.\nThis allows the NotificationManagerService to report back to the\ncalling process right away about whether or not the notification\nis valid; not blocking while score is computed, and non-statusbar\nnotification modalities are activated.\n\nChange-Id: Iaf77bc89544bb7bcb7adeda60885d74c3170541c\n"
    },
    {
      "commit": "97e1d53d36d3ce11fc1b8322c11320cbd614f960",
      "tree": "6ad9c98158394ef95dcefb50b8d0b69a05019f1a",
      "parents": [
        "8cbafbe6d2b6ea63bc5a4b70c296609ad7e1311c",
        "ebe830683e0f6f7fe8615e5b76dbbbb2c6133e67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 27 20:25:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 20:25:59 2013 +0000"
      },
      "message": "Merge \"Fix issue #9586838: Crash after waking up Hammerhead device\""
    },
    {
      "commit": "ebe830683e0f6f7fe8615e5b76dbbbb2c6133e67",
      "tree": "93b2f8828fff8a70eb702df065fb62cd94d5e568",
      "parents": [
        "9b43a604059a8d8dc8186862bddbf12082d67e93"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 27 12:42:13 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 27 12:42:13 2013 -0700"
      },
      "message": "Fix issue #9586838: Crash after waking up Hammerhead device\n\nChange-Id: I114306871f02b2461619e8a1cc9652f343edd117\n"
    },
    {
      "commit": "8cbafbe6d2b6ea63bc5a4b70c296609ad7e1311c",
      "tree": "00653f54050f0bcb3b528841b0313333fa416882",
      "parents": [
        "9b43a604059a8d8dc8186862bddbf12082d67e93",
        "e7c58b6d7d761b93e785b0a399e5b00fdb82f4ce"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Jun 27 19:29:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 19:29:05 2013 +0000"
      },
      "message": "Merge \"Add debug for specific bug.\""
    },
    {
      "commit": "e7c58b6d7d761b93e785b0a399e5b00fdb82f4ce",
      "tree": "079d047233790d5d86b0b96d5ec04932f5acf906",
      "parents": [
        "9e424cfbf4404ae7c56ff374d66e7391ee9e84c4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 12 20:19:00 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Jun 27 11:52:04 2013 -0700"
      },
      "message": "Add debug for specific bug.\n\nTo be removed once the bug is fixed.\n\nChange-Id: Ie273d4503bb0b534af0e9efe8f45c573766e9a74\n"
    },
    {
      "commit": "053f61d6a6e23825e680dc49982e55c5b4299d61",
      "tree": "f9ef87d68f6aa1e5210e6f65ea0c66805d8c8fcc",
      "parents": [
        "9feab843ac8139f4e971d93fd767470d0d727e41"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 26 18:07:43 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 26 19:17:15 2013 -0700"
      },
      "message": "Work on issue #9586838: Crash after waking up Hammerhead device\n\nI made the power manager more rigid, not allowing different uids\nto use the same wake lock.  This never should happen.  I would\nguess there is somewhere that the activity manager is acquiring\nthe wake lock without clearing the calling identity...  but it is\nhard to follow all the paths this may happen in.  So here we add\nsome checks when acquiring/releasing the wake lock to make sure\nit is being done as the system uid.\n\nAlso:\n\n- Protect the new activity stack calls with a permission, and\nmake sure to clear the calling uid once past that.\n- Collect uid data from process stats so we can correctly\nassociate CPU use with a uid even if we don\u0027t know about the\npid for some reason.\n- Fix battery stats dump commands to clear calling uid before\nexecuting so they aren\u0027t broken.\n\nChange-Id: I0030d4f7b614e3270d794ecfc3669139a5703ce9\n"
    },
    {
      "commit": "49e9c44c4bf1e7ab52ffedc904cff86adea7e9ed",
      "tree": "7e48935513da1f5b1cbb9ed4dd14a7b973f37fd4",
      "parents": [
        "89dc02a9bed818cc6f5296c97eb504ccb010db42",
        "b4e12494935697fa4ede006b37e6be889ef27109"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 26 23:16:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 26 23:16:48 2013 +0000"
      },
      "message": "Merge \"Add new ActivityManager.isLowRamDevice().\""
    },
    {
      "commit": "5fa9f2b127c2d7c40da419540f3425ac45a89439",
      "tree": "bd89a1499b9b080938ce48420ceea7efdfefc4ab",
      "parents": [
        "57b867f3f568b026833c6208afdeff2168838ffd",
        "655d0e2029e6ae77a47e922dce4c4989818b8dd1"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jun 26 23:04:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 26 23:04:32 2013 +0000"
      },
      "message": "Merge \"Single-user restrictions\""
    },
    {
      "commit": "b4e12494935697fa4ede006b37e6be889ef27109",
      "tree": "27f3054978a9bdae57557146c448a216cb94d70e",
      "parents": [
        "49a31e0d67042886c1b2f5bedd6d0dfafda8a021"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 26 15:08:19 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 26 15:50:02 2013 -0700"
      },
      "message": "Add new ActivityManager.isLowRamDevice().\n\nThis and the old isHighEndGfx() is set up through a\ndevice configuration, rather than trying to compute it\nautomatically.\n\nChange-Id: Ibc95c05791023a7ae6c88555b75bb61f2b613991\n"
    },
    {
      "commit": "e738c13d11ba6a803993914398d30d567be51ae9",
      "tree": "28677837136a35e38b339a8b4e09219cad04e044",
      "parents": [
        "46eadae12f8ebb9969dcaddd619d0d28e2e31a69",
        "dbe846b02e6f6f715787cf8621587f7bc25deaac"
      ],
      "author": {
        "name": "Georgi Nikolov",
        "email": "geonik@google.com",
        "time": "Wed Jun 26 22:11:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 26 22:11:32 2013 +0000"
      },
      "message": "Merge \"Bugfix 9373708 JBMR2 runtime restart (system process crash in the sync manager) during setup\""
    },
    {
      "commit": "46eadae12f8ebb9969dcaddd619d0d28e2e31a69",
      "tree": "4718f52db030259e2de62d705bb4bde3a0718792",
      "parents": [
        "49a31e0d67042886c1b2f5bedd6d0dfafda8a021"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 26 14:20:18 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 26 14:22:21 2013 -0700"
      },
      "message": "Make sure to propagate privileged status when upgrading an app\n\nBug 9470309\n\nChange-Id: Ibc0c8b2fa01da1bd5f5b6ed5530a6bd9a1384846\n"
    },
    {
      "commit": "49a31e0d67042886c1b2f5bedd6d0dfafda8a021",
      "tree": "86091cb44401be032dec08f530e0b8917078eb3d",
      "parents": [
        "70725500dcf3b666b43d50563d64705aab58d2d3",
        "13ac041b9f21043bc7c848a743be618bfd7a67e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 26 21:11:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 26 21:11:49 2013 +0000"
      },
      "message": "Merge \"Update procstats to start collecting/reporting pss.\""
    },
    {
      "commit": "dbe846b02e6f6f715787cf8621587f7bc25deaac",
      "tree": "e2bcbe73f427360378d6fec3e3ebaff905474d51",
      "parents": [
        "73d5fe9f2e6edc11327b4a211f7d077e1e52cbb2"
      ],
      "author": {
        "name": "Georgi Nikolov",
        "email": "geonik@google.com",
        "time": "Tue Jun 25 14:09:56 2013 -0700"
      },
      "committer": {
        "name": "Georgi Nikolov",
        "email": "geonik@google.com",
        "time": "Wed Jun 26 20:16:05 2013 +0000"
      },
      "message": "Bugfix 9373708\nJBMR2 runtime restart (system process crash in the sync manager) during setup\n\nThe fix is to ensure that all access to SyncStatusInfo and related objects happens\nwhile holding the mAuthority lock or is on a per-thread copy of the objects\n\nAlso, includes an unrelated fix for a bug I just noticed in the way\ndumpSyncState() prints the periodic sync info\n\nChange-Id: Id9e4dff41029412e133bdabc843d555434d9a12f\n(cherry picked from commit 182ff3acbad9850b40d37ad1c23106be6eda8476)"
    },
    {
      "commit": "505e35bca9e19773e42cb8771fcf36158208b8ab",
      "tree": "75ace6ca6fd76539e1ed4911196fe556919623bc",
      "parents": [
        "4e1d4b8bcd913c25ffca64e2ac843ebb97d8cc68",
        "c869696ef3c1dca3efbc6ce8ab804e8a1b117900"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jun 26 11:54:55 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 26 11:54:55 2013 -0700"
      },
      "message": "am c869696e: am 65f7a95f: am 2f50097a: Merge \"Fix power issues around wifi scans.\" into jb-mr2-dev\n\n* commit \u0027c869696ef3c1dca3efbc6ce8ab804e8a1b117900\u0027:\n  Fix power issues around wifi scans.\n"
    }
  ],
  "next": "13ac041b9f21043bc7c848a743be618bfd7a67e9"
}
