)]}'
{
  "log": [
    {
      "commit": "3bc8f78d7a3d23a67c06221cc41292d04a2fd439",
      "tree": "a7bd1bbff0142bd59c6764530bda776ce1def12b",
      "parents": [
        "e8a9422495d6af9fc68cf4e838a4a5f19177034b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 19 13:34:35 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 19 14:35:53 2013 -0700"
      },
      "message": "Implement issue #10691475: Kill cached processes if about to...\n\n...be uncached and too large\n\nWhen the device is in a low RAM state, when we go to pull a cached\nprocess out to use for some background operation, we can now kill\nthe current process if we consider its size to be too large.\n\nNote that the current implementation for killing processes is to\njust use the same killUnneededProcessLocked() method that we already\nhave for other things like too many cached processes.  This is a\nlittle wrong here, though, because in this case we are at the\npoint where the caller is actually looking for a process to use.\nThis current code is not actually removing or cleaning up the\nprocess, so we still need to return the now killed ProcessRecord\nand let things fall out from there, which typically means the caller\ntrying to make an IPC on it and failing and falling into its \"oh\nno the process died unexpectedly\" path.  All code using this\n*should* be able to handle this correctly, anyway, since processes\nreally can be killed at any time.\n\nAt some point we may to make this implementation cleaner, where it\nactually tears down the process right in the call and returns a\nnull ProcessRecord.  That is very dangerous however (we\u0027d need to\ngo through all paths into this to make sure they are going to be\nokay with process state changing on them like that), and I\u0027m not\nsure it is really worthwhile.  This intention is that killing\nprocesses like this is unusual, due to processes being too large,\nand anyway as I wrote all of our incoming code paths must already\nbe able to handle the process being killed at this point and one\ncould argue this is just another way to excercise those code paths.\nReally, the main negative to this is that we will often have spam\nin the log with exceptions about processes dying unexpectedly.\nIf that is the only issue, we could just add some conditions to\nquiet that up at in this case.\n\nWe don\u0027t want to compute the size of the process each time we try\nto evaluate it here (it takes 10s or ms to do so), so there is now\na new field associated with the process to give us the last pss\nsize we computed for it while it was in the cached state.\n\nTo be able to have better cached pss data when we now need it, the\ntiming for computing process pss has been tuned to use a much\nshorter delay for the situations when the process has first switch\ninto a new state.  This may result in us having a fair amount more\npss data overall, which is good, as long as it doesn\u0027t cause us to\nbe computing pss excessively and burning cpu.\n\nProcstats now also has new state to keep track of the number of\ntimes each process has been killed by this new system, along with\nthe min, avg, max pss of all the times it has happened.  This has\nslightly changed the checkin format to include this additional data\nat the end of pkgkills/prockills lines.\n\nOther changes here:\n\n- Fixed a problem where GPU RAM was not being seen when dumping\n  the full RAM details of a process.  This was because in that\n  case the system would ask the process to compute its own MemInfo,\n  which it returned, but the process doesn\u0027t have permission to\n  access the files containing the GPU RAM data.  So now the system\n  always computes the MemInfo and hands it to the app.\n\n- Improved broadcast delays to not apply the delay if the next receiver\n  of the broadcast is going to run in the same process as the last\n  one.  A situation I was seeing was an application that had two\n  receivers, one of which started a service; we are better off letting\n  the second receiver run while the service is running.\n\n- Changed the alarm manager\u0027s TIME_TICK broadcast to be a foreground\n  broadcast.  This really should have been anyway (it is supposed to\n  go out even minute, on the minute, very accurately, for UI elements\n  to update), and is even more important now that we are doing more\n  things to delay background broadcasts.\n\n- Reworked how we maintain the LRU process list.  It is now divided\n  into the two parts, the top always containing the processes holding\n  activities.  This better matches the semantics we want (always try\n  to keep those around modulated by the LRU order we interleave with\n  other cached processes), and we now know whether a process is being\n  moved on the LRU list because of an activity operation so we can\n  only change the order of these activity processes when user operations\n  happen.  Further, this just makes that common code path a lot simpler\n  and gets rid of all the old complexity that doesn\u0027t make sense any\n  more.\n\nChange-Id: I04933ec3931b96db70b2b6ac109c071698e124eb\n"
    },
    {
      "commit": "e8a9422495d6af9fc68cf4e838a4a5f19177034b",
      "tree": "c334809c981083b477e1637a0af1308f93e396f7",
      "parents": [
        "9c5cc571e5abf97a816fea2b04cd1e711e83564c",
        "c0fd8052349976fe0e9422f702e30e5030a0adde"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 19 20:03:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 19 20:03:24 2013 +0000"
      },
      "message": "Merge \"Return tasks in correct order.\" into klp-dev"
    },
    {
      "commit": "9c5cc571e5abf97a816fea2b04cd1e711e83564c",
      "tree": "a36af5ddb616b76d58470b2cdde4f001bfab2d5e",
      "parents": [
        "0286f5e2786865e35781180c88e67a0f981e942d",
        "bd413f6c05d10ecd001b80c0f30fd031145da8ae"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 19 19:46:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 19 19:46:20 2013 +0000"
      },
      "message": "Merge \"Support for \"not the home app you\u0027re looking for\" metadata\" into klp-dev"
    },
    {
      "commit": "bd413f6c05d10ecd001b80c0f30fd031145da8ae",
      "tree": "671ee365c56a1f20add4485c6928b21261472e0f",
      "parents": [
        "dc3335429acf184cf67d022de6fe286c3672663a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Sep 18 18:31:59 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 19 12:31:49 2013 -0700"
      },
      "message": "Support for \"not the home app you\u0027re looking for\" metadata\n\n* Make sure that pm.getHomeActivities() returns the activity metadata\n  as well, so that the caller can trace the reference\n\n* Add a public canonical name for that metadata key\n\nBug 10749961\n\nChange-Id: Ic4d0750d61001ffe5af180398f042afa30eea1ce\n"
    },
    {
      "commit": "7301bd96c43f1a3604e88612c1a4214d57f88000",
      "tree": "9bb57428cdcd67df9230606e6a5ee9a24c60c2e5",
      "parents": [
        "18b94817a452081f6756cd30be9414c496fa1ca7",
        "450a16b33f5d58370d181a7539aa113779efa247"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 19 19:17:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 19 19:17:51 2013 +0000"
      },
      "message": "Merge \"Use a separate thread for services that do NTP lookup\" into klp-dev"
    },
    {
      "commit": "c0fd8052349976fe0e9422f702e30e5030a0adde",
      "tree": "222be70052007d39649c13ccb6b9a3406bf4a58e",
      "parents": [
        "7b3990ec81fc218f655d44624758e15ce378968e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 19 11:20:17 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 19 11:20:17 2013 -0700"
      },
      "message": "Return tasks in correct order.\n\nFixed ActivityManager.getRunningTasks().\n\nFixes bug 10705790.\n\nChange-Id: Ia3f66e592e08a87896a1ab59f980618ec5310dfe\n"
    },
    {
      "commit": "450a16b33f5d58370d181a7539aa113779efa247",
      "tree": "8d95468a611be7b9bf55b5eb4cb7aa8b2567577d",
      "parents": [
        "6df7d4a574ffd85c82cad402552e3854df3a3f85"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 18 16:28:50 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 19 10:57:16 2013 -0700"
      },
      "message": "Use a separate thread for services that do NTP lookup\n\nSome services do periodic network time lookups and can wedge the other operations on\nBackgroundThread and IO Thread, causing Watchdog to kill the runtime. So best to put\nthose handlers on separate threads.\n\nGoing forward, should convert NTP lookups to be async with callbacks.\n\nBug: 10646480\nChange-Id: I8c7ba6052cb3539575712c2099a706b14ff60196\n"
    },
    {
      "commit": "81d1689ceb3252d2cfa3397cd6a5b3337a3a6a75",
      "tree": "0276d8e14460bb35c58768e83d14e791370c14e1",
      "parents": [
        "a2d65108dd32a0836fe08f0c72efdd5c727dad44",
        "ec9cf65b555160de503e1a033ec0daecd2367a21"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 19 14:50:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 19 14:50:41 2013 +0000"
      },
      "message": "Merge \"Remove debug logging for b/106899184.\" into klp-dev"
    },
    {
      "commit": "ec9cf65b555160de503e1a033ec0daecd2367a21",
      "tree": "b890554cd08a835fcda449869b4f85b77c62f99b",
      "parents": [
        "7b3990ec81fc218f655d44624758e15ce378968e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 18 17:04:45 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 18 17:04:45 2013 -0700"
      },
      "message": "Remove debug logging for b/106899184.\n\nChange-Id: I1e5f959a6d674b4bf9609553f28e66ffee367f5c\n"
    },
    {
      "commit": "f429247867ac524cf63bc01499ac47a90ebcaca9",
      "tree": "0cc1e92e3bce3215c2e9bfc0cb12ec478726045f",
      "parents": [
        "ff65c6daab5268c28b3663cd02c1b3dfa6f1c90a",
        "de1af08dd3a073f007ae4b8a114352cae3775028"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Sep 19 00:00:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 19 00:00:22 2013 +0000"
      },
      "message": "Merge \"Fix keyguard/Keystore storage issue\" into klp-dev"
    },
    {
      "commit": "ff65c6daab5268c28b3663cd02c1b3dfa6f1c90a",
      "tree": "90e721bd8a510988badbdcb451401b3e7ee13530",
      "parents": [
        "e8c01ddbe748490463f7f516df9b1b4784228913",
        "bc018d89c27cdd93d1c0222a6e27965455974b9e"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Sep 18 23:51:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 18 23:51:07 2013 +0000"
      },
      "message": "Merge \"Fix PacManager to not unbind when no connection\" into klp-dev"
    },
    {
      "commit": "4ef2693a243b308fad775a8a1691963c51ac925e",
      "tree": "dd074341cc9df74dcb41547c36d412d82805ab2c",
      "parents": [
        "7b3990ec81fc218f655d44624758e15ce378968e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 18 15:15:52 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 18 15:48:28 2013 -0700"
      },
      "message": "Revert back to a single home app in mHomeProcess\n\nThe idea of multiple processes serving as home was unfeasible.\n\n- Revert \"Allow for more than one home app.\" commit\ne428a7f662f109a5f2015008e3161df23932483e.\n- Assign ActivityManagerService.mHomeProcess to the process of the\nroot activity of the home task.\n\nAddresses bug 10342471.\n\nChange-Id: Ifb494626107d24de1306e320a18206d5b176a7c0\n"
    },
    {
      "commit": "b9466db4a56564101a26865962dda87aaeab56ff",
      "tree": "7a36c64edcba8c55988f074f799826e4a497cef9",
      "parents": [
        "bd49a1dadfbd7803642066a5bdc74305a1b2340b",
        "6285a32f74890b761579b4f67afde1b08763fd0a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 18 20:34:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 18 20:34:11 2013 +0000"
      },
      "message": "Merge \"Finish issue #10779747: Calendar Storage crash observed...\" into klp-dev"
    },
    {
      "commit": "6285a32f74890b761579b4f67afde1b08763fd0a",
      "tree": "26cef8fd8b1dc2274e684483be89bd8f06cdf0ec",
      "parents": [
        "904aa38f1a420c42467a13b8d5108d1891350c97"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 18 12:09:47 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 18 12:09:47 2013 -0700"
      },
      "message": "Finish issue #10779747: Calendar Storage crash observed...\n\n...while setting up a new user from settings.\n\nWe can now delay broadcasts when there are enough background services\ncurrently starting (still set to 1 for svelte devices, 3 for normal\ndevices).\n\nAdd new intent flag to not allow receivers to abort broadcasts, which\nI use to fix an issue with the initial BOOT_COMPLETED broadcast not\nactually requesting pss data at the right time -- it can now be sent\nas an ordered broadcast without the ability for the receivers to cancel\nit.\n\nChange-Id: I51155bbbabe23e187003f3e2abd7b754e55d3c95\n"
    },
    {
      "commit": "ae7ecab400374f083718995454ec03e5e57b7203",
      "tree": "5c08efdc213ef42d3d78a518dcbf4f2103618884",
      "parents": [
        "b84624571ba2d0431dda8fd7cd45ae995630dd17"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 18 11:48:14 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 18 11:48:14 2013 -0700"
      },
      "message": "Move flag for home launching from activity to task.\n\nThe variable ActivityRecord.mLaunchHomeTaskNext was used to indicate\nthat the home task should be launched when the activity completed.\nThis only mattered when it was at the end of a task. As the activity\nlaunched other activities within the same task it needed to be\nmigrated from activity to activity and task to task. This became\ntoo complicated and was at the wrong level to begin with.\n\nBy moving the flag to TaskRecord.mOnTopOfHome the logic is simpler\nand the results more predictable.\n\nFixes bug 10602256.\n\nChange-Id: If0b752522b77be9918f1dba221d0ff670fc01af8\n"
    },
    {
      "commit": "bc018d89c27cdd93d1c0222a6e27965455974b9e",
      "tree": "2e88b6acc5745f4f9a993cb605ce6a455ee9743f",
      "parents": [
        "fd111c8f61b006e66a6670cbf4e1c579000ba3e3"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Sep 17 16:37:38 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Sep 18 09:28:29 2013 -0400"
      },
      "message": "Fix PacManager to not unbind when no connection\n\nPacManager previously would unbind service even when there was no\nconnection.  This means that multiple set proxies of no PAC after a PAC was\npresent would cause the framework to crash.\n\nBug: 10801296\nChange-Id: I4387b50b6510cea3ee73425c8a0a837f816b0ce1\n"
    },
    {
      "commit": "222920c46044d4782df3cd5b3c6c7e6578659903",
      "tree": "036d2cd7b8214c5e03cf4f8880fc04e6036f9914",
      "parents": [
        "24873be6eee77a89599aa2af3db0f8f2f5466978",
        "53459a7020dbcd036e2d3418e35ebb96fadc29e3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 18 00:34:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 18 00:34:02 2013 +0000"
      },
      "message": "Merge \"Maybe fix issue #10797796: IllegalStateException in ProcessState...\" into klp-dev"
    },
    {
      "commit": "53459a7020dbcd036e2d3418e35ebb96fadc29e3",
      "tree": "5ca8066fe1a00993e63632187be0ce4160e049e4",
      "parents": [
        "463850e0c658b37bbe29b9e9dec6ff7565bb883f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 17 17:14:57 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 17 17:30:34 2013 -0700"
      },
      "message": "Maybe fix issue #10797796: IllegalStateException in ProcessState...\n\n...caused runtime restart\n\nThere were some situations where the package list could be set\nwith process stats when it shouldn\u0027t.  Not sure if this is causing\nthe problem, since there is no repro.\n\nAlso some improvements to debug output -- new commands to clear\nall stats, print full details of stats, and print a one-day\nsummary (which should match what the UI shows).\n\nChange-Id: I9581db4059d7bb094f79f2fe06c1ccff3e1a4e74\n"
    },
    {
      "commit": "019f8cb8a78c5584618655f5478d9a9f3dedc3f0",
      "tree": "d80fcc26996b03de2c1f73478f06c0b9efd7741f",
      "parents": [
        "e48569a87057e46a30d3dcbb2d788a4e4da7f21c",
        "dccb770b8486520503f47cf8dacc9b0c5f836d2b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 23:13:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 23:13:31 2013 +0000"
      },
      "message": "Merge \"Add bounds checks before accessing ArrayList.\" into klp-dev"
    },
    {
      "commit": "dccb770b8486520503f47cf8dacc9b0c5f836d2b",
      "tree": "9ce3c4caec184ed09fe6e511a9b20d47f4ca03ef",
      "parents": [
        "c06b1db22278f00ef55b2fff00bf9d905286d6e0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 15:53:34 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 15:53:34 2013 -0700"
      },
      "message": "Add bounds checks before accessing ArrayList.\n\nAdd a test for emptiness before accessing either mTaskHistory[0] or\nTaskRecord.mActivities[0]. This will keep us from hitting\nIndexOutOfBoundsException.\n\nFixes bug 10789624.\n\nChange-Id: If726df888a2c8b393788793b6220a6bffe2df883\n"
    },
    {
      "commit": "345d491b77d70942f7a4390645fae7748b418459",
      "tree": "4f9d0fc6d78d3c43f77cd4cc772bd1393de1fd41",
      "parents": [
        "bc65c1dbccfe936856e9a2c4066c1ec9115140e2",
        "f5d831915dd11e77cdcf5669228c55fe17a21c5e"
      ],
      "author": {
        "name": "David Braun",
        "email": "dabraun@google.com",
        "time": "Tue Sep 17 22:14:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 22:14:54 2013 +0000"
      },
      "message": "Merge \"Implement new method for handling SMS/MMS on the platform\" into klp-dev"
    },
    {
      "commit": "bc65c1dbccfe936856e9a2c4066c1ec9115140e2",
      "tree": "354e1e0c346e1bcc4670ac0ddfec65a4eafb74ac",
      "parents": [
        "a245a4f14ed9e477ce1c68b54bf14a745d7caf47",
        "22b9a5e0aa8e6364b08e707eec916016caab7c4a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 22:13:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 22:13:10 2013 +0000"
      },
      "message": "Merge \"Do not assign InputMethod to non-input windows.\" into klp-dev"
    },
    {
      "commit": "22b9a5e0aa8e6364b08e707eec916016caab7c4a",
      "tree": "26c0d054dd71fb49a9c7d35e4095bad9c4c5cbc0",
      "parents": [
        "c06b1db22278f00ef55b2fff00bf9d905286d6e0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 14:50:56 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 14:50:56 2013 -0700"
      },
      "message": "Do not assign InputMethod to non-input windows.\n\nThe InputMethod window was being assigned to the bottommost\nwindow as a fall-through situation when no window could receive\ninput. This fix changes that so that if the bottommost window\ncannot receive IME input then the InputMethod will be unassigned.\n\nIn most ANRs associated with bug 10689184 mInputMethodTarget\nwas assigned to the Wallpaper window and the InputMethod was\nplaced directly above it. When the ANR occurred the window that\nwas awaiting focused was then always placed immediately above the\nInputMethod. This fix will keep that situation from happening.\n\nChange-Id: Ic247e8132a907f2712a9f8a89e43c099142ec851\n"
    },
    {
      "commit": "16efe96cbc570ebd2fe7e823080ba4174fbb3cbe",
      "tree": "1e050b262722b6100ab5f06be9d58526c20e7545",
      "parents": [
        "463850e0c658b37bbe29b9e9dec6ff7565bb883f",
        "7504d7b24a07fef05b3447d843f212796e22302f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 20:21:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 20:21:40 2013 +0000"
      },
      "message": "Merge \"Fix parenthetical error.\" into klp-dev"
    },
    {
      "commit": "463850e0c658b37bbe29b9e9dec6ff7565bb883f",
      "tree": "79f00c49c4d5b14508a48c3bbbf1352228636809",
      "parents": [
        "80645121fbba6f038feb48026d935b31028463d7",
        "e56c2c3f059b24c968a3f28f701b6b6cf5883fd9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 17 18:08:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 18:08:00 2013 +0000"
      },
      "message": "Merge \"Fix issue #10795385: System process crash reinstalling GEL -\" into klp-dev"
    },
    {
      "commit": "e56c2c3f059b24c968a3f28f701b6b6cf5883fd9",
      "tree": "8231330cf374a48535a4403a9ddcfc7c86239f95",
      "parents": [
        "8a7a93e20d8755602938a56d4a88398baf2359e4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 17 10:56:49 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 17 11:03:10 2013 -0700"
      },
      "message": "Fix issue #10795385: System process crash reinstalling GEL -\n\nNPE at com.android.server.am.ProcessRecord.resetPackageList(ProcessRecord.java:596)\n\nTake care of some more cases now that baseProcessTracker can be null.\n\nChange-Id: I394c0b7802788118c3ad6bcac5dfdd23eeda8d58\n"
    },
    {
      "commit": "7504d7b24a07fef05b3447d843f212796e22302f",
      "tree": "1eca3fc761b928f097e790c79cfa489e38706cb6",
      "parents": [
        "c06b1db22278f00ef55b2fff00bf9d905286d6e0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 10:50:53 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 10:50:53 2013 -0700"
      },
      "message": "Fix parenthetical error.\n\nMis-grouping of \u0026\u0026 and || from CL ag/360551.\n\nFixes bug 10798273.\n\nChange-Id: Idbc77e03d09f7ad5fcf1a5de98c6c14f0c63a6e4\n"
    },
    {
      "commit": "fbd67258e13d919f83f66f4e8a948f86aa507c26",
      "tree": "1059f9bcc750f09de6c27e4b8b6a53c1f79c7be6",
      "parents": [
        "6df7d4a574ffd85c82cad402552e3854df3a3f85",
        "b1885b8588db015b74ef411e70277c0f8a448c87"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 17:39:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 17:39:08 2013 +0000"
      },
      "message": "Merge \"More debugging for b/106899184\" into klp-dev"
    },
    {
      "commit": "b1885b8588db015b74ef411e70277c0f8a448c87",
      "tree": "f0058dc246bea6206c6618ff02473b85f406fa69",
      "parents": [
        "c06b1db22278f00ef55b2fff00bf9d905286d6e0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 16 22:50:50 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 17 09:35:20 2013 -0700"
      },
      "message": "More debugging for b/106899184\n\nChange-Id: I729a2c5bae087713765d782daaa7309ee6cd5b5a\n"
    },
    {
      "commit": "33caca5cd56ff41142cea121fabf5e30bebfb39f",
      "tree": "a9c9eef3cb2c14c3ce957dea8ea0a70b3d0cc827",
      "parents": [
        "fd111c8f61b006e66a6670cbf4e1c579000ba3e3",
        "44a01b742c2ad2ebc6185425be887b4bc987c4d0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Sep 17 15:56:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 15:56:14 2013 +0000"
      },
      "message": "Merge \"Add a feature to specify if device admins are supported on the device\" into klp-dev"
    },
    {
      "commit": "be0d9317e27b600eee7deb8f328358cdb38115c6",
      "tree": "5ae416aecaeb66ad969873c6fa1b31d3a4a1be07",
      "parents": [
        "a0d53c61886b683b0cc9dccdb5b6fe581356b920",
        "2fbd2a7f070f246ddafd9de94efa9a98861e9136"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 17 02:28:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 02:28:34 2013 +0000"
      },
      "message": "Merge \"App UI freezes when printing. API clean up.\" into klp-dev"
    },
    {
      "commit": "a0d53c61886b683b0cc9dccdb5b6fe581356b920",
      "tree": "216621102065080c65a258ac420cf6f25032d29e",
      "parents": [
        "ca776158b7be48d8cba862fccf7b9709856ae61a",
        "0d97cd1f6a370b8e371d8b6d88d47e9aaf2bbe32"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 17 02:12:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 02:12:58 2013 +0000"
      },
      "message": "Merge \"Fix issue #10779747: Calendar Storage crash observed...\" into klp-dev"
    },
    {
      "commit": "ca776158b7be48d8cba862fccf7b9709856ae61a",
      "tree": "c3093655575557d78cfa8e47d81a7db7280b339d",
      "parents": [
        "4881116047f72f4406cb88cbb2f324c06f9a292f",
        "a8de43fd8ce074e6ed1e4abf24320d988e8106e8"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Sep 17 02:10:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 17 02:10:40 2013 +0000"
      },
      "message": "Merge \"Don\u0027t assume that transport unbind \u003d\u003d transport invalid\" into klp-dev"
    },
    {
      "commit": "0d97cd1f6a370b8e371d8b6d88d47e9aaf2bbe32",
      "tree": "fda351159413019d42c01c1a601ca7a8a72201b2",
      "parents": [
        "8a7a93e20d8755602938a56d4a88398baf2359e4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 16 19:02:52 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 16 19:02:52 2013 -0700"
      },
      "message": "Fix issue #10779747: Calendar Storage crash observed...\n\n...while setting up a new user from settings.\n\nThe delayed service start stuff was too aggressive -- it would\nallow a process to be killed between the an onReceive() that calls\nstartService() and that service being started.  This means that\napps that set up global state that they expect to remain set up\nduring that time could be lost.\n\nThis is the first part of a fix, which tightens up when we allow\nservices to be delayed.  Now we will immediately start the service\nas long as it currently as a process running that is not in the\ncached state.  (Previously we would delay if the process was in\nthe receiver state.)\n\nThis unfortunately means that our service start delay is much\nless effective.  To address that, there will be a follow-on change\nto tie broadcast delivery into this to see if we can delay the\nfinish of a broadcast as long as there are background services\nstarting in that process.\n\nChange-Id: I2bba2295d10699ee3479375bbe87114b2cbb0826\n"
    },
    {
      "commit": "a8de43fd8ce074e6ed1e4abf24320d988e8106e8",
      "tree": "d1d8f7c11e7e60d1d8826623f822718d1f426a1f",
      "parents": [
        "dc3335429acf184cf67d022de6fe286c3672663a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 16 18:12:24 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Sep 16 18:14:52 2013 -0700"
      },
      "message": "Don\u0027t assume that transport unbind \u003d\u003d transport invalid\n\nWe now expect that the transport service\u0027s host process will be\nOOM-killed sometimes, but will come back automatically because we\nstill hold the binding.  So, we no longer drop it as the\nexpected-to-be-current transport when that happens.\n\nBug 10728767\n\nChange-Id: I5e756e8942e7c4c3567632f10460ee31b9618d75\n"
    },
    {
      "commit": "2fbd2a7f070f246ddafd9de94efa9a98861e9136",
      "tree": "2a918b4226106a2350277ae8fa73a9e2ce79d697",
      "parents": [
        "3fb53d8238c0ccec275237cf4f4962f2a00eab7e"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 16 17:53:51 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 16 17:55:14 2013 -0700"
      },
      "message": "App UI freezes when printing. API clean up.\n\n1. The UI of a printing app was freezing a little when calling the print\n   method since the print manager service was waiting for it to bind to the\n   print spooler which generated the print job id (and the initial print\n   job info really). Now the print manager service is responsible for job\n   id generation and does not not wait for the print spooler to spin. Hence,\n   the app UI is not blocked at all. Note that the print manager initiates\n   the binding to the spooler and as soon as it completes the spooler shows\n   the print UI which is hosted in its process. It is not possible to show\n   the print UI before the system is bound to the spooler since during this\n   binding the system passes a callback to the spooler so the latter can\n   talk to the system.\n\n2. Changed the print job id to be an opaque class allowing us to vary the\n   way we generate print job ids in the future.\n\n3. The queued print job state was hidden but the print job returned by the\n   print method of the print manager is in that state. Now now hidden.\n\n4. We were incorrecly removing print job infos if they are completed or\n   cancelled. Doing that is problematic since the print job returned by\n   the print method allows the app to query for the job info after the\n   job has been say completed. Hence, an app can initiate printing and\n   get a print job whose state is \"created\" and hold onto it until after\n   the job is completed, now if the app asks for the print job info it\n   will get an info in \"created\" state even though the job is \"completed\"\n   since the spooler was not retaining the completed jobs. Now the spooler\n   removes the PDF files for the completed and cancelled print jobs but\n   keeps around the infos (also persisting them to disc) so it can answer\n   questions about them. On first boot or switch to a user we purge the\n   persisted print jobs in completed/cancelled state since they\n   are obsolete - no app can have a handle to them.\n\n5. Removed the print method that takes a file since we have a public\n   PrintDocumentAdapter implementation for printing files. Once can\n   instantiate a PrintFileDocumentAdapter and pass it to the print\n   method. This class also allows overriding of the finish method to\n   know when the data is spooled and deleted the file if desired, etc.\n\n6. Replaced the wrong code to slice a large list of parcelables to\n   use ParceledListSlice class.\n\nbug:10748093\n\nChange-Id: I1ebeeb47576e88fce550851cdd3e401fcede6e2b\n"
    },
    {
      "commit": "50ef0b62f076c509d5edaef5588080d685f063e8",
      "tree": "40e6dbdd59b596208710a0f7c497ca8874468ada",
      "parents": [
        "0a6a80f43de1b64b452aff2cbb6bdbfc9915c2a9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 16 17:40:27 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 16 17:40:27 2013 -0700"
      },
      "message": "Work on issue #10771346: runtime restart\n\nHaven\u0027t found the underlying cause, but this will give us more\ninformation when we get into the bad state.\n\nChange-Id: I9aebd3a025a7c0d931f43098461b64ee3c220746\n"
    },
    {
      "commit": "44a01b742c2ad2ebc6185425be887b4bc987c4d0",
      "tree": "997f71583c0c070399de993ded83d98b292f56d4",
      "parents": [
        "1656a346d9b69470cf8336a3059e9624797c7b7d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 16 10:44:57 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Sep 16 17:24:06 2013 -0700"
      },
      "message": "Add a feature to specify if device admins are supported on the device\n\nBug: 9520957\n\nDevicePolicyManagerService will play dumb if the feature is not installed.\n\nContinue to keep track of failed password attempts for keyguard\u0027s use.\n\nChange-Id: I28d258dc09a8b4976b188da6f453d8daabcc4bdd\n"
    },
    {
      "commit": "de1af08dd3a073f007ae4b8a114352cae3775028",
      "tree": "3c61a4534410508835e4a102b281cc98aea58e78",
      "parents": [
        "50e5814c337f67c74d9e249cf6f67ac86dfc832d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Sep 11 14:58:26 2013 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Sep 16 15:34:26 2013 -0700"
      },
      "message": "Fix keyguard/Keystore storage issue\n\nKeystore stored keys broke when keyguard was moved out of the system process\ndue to Keystore enforcing the calling app to be in the system process.\n\nThe fix moves the critical code into LockSettingsService, which continues\nto live in the system process.\n\nFixes bug 10201270\n\nChange-Id: I16e2de018e85b01265634dcfbefd7f06740dafa8\n"
    },
    {
      "commit": "61158244b42df547ecf8ca145d539c814b154a4a",
      "tree": "74e7899f03c95f642657a6ad3e59345b6b10e90c",
      "parents": [
        "deec7e481a403749ec3977c946192abbc5c5501e",
        "35f72be50b8a2d11bce591dcdac5dc3fa336dac0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 16 21:33:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 21:33:04 2013 +0000"
      },
      "message": "Merge \"Implement issue #10691359: Kill long-running processes\" into klp-dev"
    },
    {
      "commit": "deec7e481a403749ec3977c946192abbc5c5501e",
      "tree": "20a07264f85e8782cb7ba1f5f74f661fb9490890",
      "parents": [
        "326f4505e04b24f384e84da7efcefab256777a27",
        "7dd9fdfca096f914a090c9fde91e7a4d3407d08a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 16 21:21:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 21:21:11 2013 +0000"
      },
      "message": "Merge \"Put next task on top of stack if top is finishing.\" into klp-dev"
    },
    {
      "commit": "35f72be50b8a2d11bce591dcdac5dc3fa336dac0",
      "tree": "d6ababee2a2ac0c48a645e923c28e2d5d0842cbd",
      "parents": [
        "af672998af7fb0bba90f7d56504584a63ff189fa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 16 10:57:39 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 16 14:05:34 2013 -0700"
      },
      "message": "Implement issue #10691359: Kill long-running processes\n\nWe now have the activity manager kill long-running processes\nduring idle maintanence.\n\nThis involved adding some more information to the activity manager\nabout the current memory state, so that it could know if it really\nshould bother killing anything.  While doing this, I also improved\nhow we determine when memory is getting low by better ignoring cases\nwhere processes are going away for other reasons (such as now idle\nmaintenance).  We now won\u0027t raise our memory state if either a process\nis going away because we wanted it gone for another reason or the\ntotal number of processes is not decreasing.\n\nThe idle maintanence killing also uses new per-process information\nabout whether the process has ever gone into the cached state since\nthe last idle maintenance, and the initial pss and current pss size\nover its run time.\n\nChange-Id: Iceaa7ffb2ad2015c33a64133a72a272b56dbad53\n"
    },
    {
      "commit": "f5d831915dd11e77cdcf5669228c55fe17a21c5e",
      "tree": "882c3ae5e428d96f156b9476d1ef5b8952e831ce",
      "parents": [
        "6b2b845948f1f43c0e407744c9400d831a2e0e0c"
      ],
      "author": {
        "name": "David Braun",
        "email": "dabraun@google.com",
        "time": "Mon Sep 16 13:43:51 2013 -0700"
      },
      "committer": {
        "name": "David Braun",
        "email": "dabraun@google.com",
        "time": "Mon Sep 16 13:43:51 2013 -0700"
      },
      "message": "Implement new method for handling SMS/MMS on the platform\n\nMulti project change:\nThe changes in this project add the new (hidden) default sms application\nsetting to Settings.Secure and updates AppOps to support the concept\nof an op defaulting to something other than allowed. OP_WRITE_SMS is set\nto default to MODE_IGNORED.\n\nBug: 10449618\nChange-Id: I37619784ac70c27cf9fbcbfcac1b263398bc4e01\n"
    },
    {
      "commit": "af672998af7fb0bba90f7d56504584a63ff189fa",
      "tree": "6670cbd52b9e239ef5c590ee64ad94a42475defd",
      "parents": [
        "7354b834fc53a9d1885553aea58f632df16a5655",
        "8c461c6fc6e060cb868e1492cc833c19fdeea0c2"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Mon Sep 16 20:36:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 20:36:50 2013 +0000"
      },
      "message": "Merge \"Fix Settings app crash while enabling tethering\" into klp-dev"
    },
    {
      "commit": "8c461c6fc6e060cb868e1492cc833c19fdeea0c2",
      "tree": "822c119275fb733ec2ae88bde3485f891f1d27a2",
      "parents": [
        "b693ef60ef27538402d941702ab652a57f585158"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Mon Sep 16 12:43:00 2013 -0700"
      },
      "committer": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Mon Sep 16 13:24:04 2013 -0700"
      },
      "message": "Fix Settings app crash while enabling tethering\n\nWhile enabling Portable Wifi hotspot in Settings, a null WifiConfiguration\nis provided. This null config is on purpose and meanful, and it should bypass\nthe validation test to avoid the NullPointerException.\n\nBug: 10780414\n\nChange-Id: Ic507ecae463946c925b3d5fb5a1d185b37db410f\n"
    },
    {
      "commit": "7dd9fdfca096f914a090c9fde91e7a4d3407d08a",
      "tree": "35314763725cd4928bd8c142814795b5d28523ae",
      "parents": [
        "a751d97e8611d16a2929c538f634a4b4c7b2938a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 16 13:05:41 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 16 13:05:41 2013 -0700"
      },
      "message": "Put next task on top of stack if top is finishing.\n\nIn the case where the top task is finishing and another task is\nlaunching make sure that the next task will be launched once the\ntop task actually completes pausing.\n\nIn the case of b/10550460 the top task, Dialtacts, was finishing\nbut had not yet completed pausing. It was configured to return to\nthe home screen (mLaunchHomeTaskNext true) but because its finishing\nflag was set all the tests we have thought that the InCallActivity\ntask was the top task. When it finally did complete the\nmLaunchHomeTaskNext flag caused the home activity to be started\ninstead of the InCallActivity.\n\nIf the InCallActivity task had been moved above the Dialtacts task\nat the time it was judged to be the top task the home activity\nwould not have been launched when Dialtacts completed. This fix\nmoves the judged top task over the finishing top task.\n\nFixes bug 10550460.\n\nChange-Id: I14052ad2282008679b560dd7fb16b216664ec24d\n"
    },
    {
      "commit": "ffec33272721e3cc28437c3770168c4b839f30d1",
      "tree": "d1cef21a5722683e198c3ebc3342e54d5c10ad8e",
      "parents": [
        "3a6b61ffcdf2c278f26f1530a5d41b825b33ca18"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Mon Sep 16 12:41:12 2013 -0700"
      },
      "committer": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Mon Sep 16 12:41:12 2013 -0700"
      },
      "message": "Fix an NPE in WifiService\n\nThe check to validate incoming configurations is flagging a correct\nAPI usage as well - which doesn\u0027t provide any configuration to test.\nFixing code to accommodate this.\n\nBug: 10749041\n\nChange-Id: I972f0edbdfa14aaa3edb34e4c6784b436c288383\n"
    },
    {
      "commit": "06dc8484b4bf4028eed1e289b1d441eecaa22edf",
      "tree": "3efd95583105463374b96b6d58ae00ab47a5a8f0",
      "parents": [
        "dc3335429acf184cf67d022de6fe286c3672663a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Aug 23 14:01:19 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Sep 15 17:51:04 2013 -0700"
      },
      "message": "Fix handling of privileged permissions on update\n\nWhen a bundled app is upgraded, only reprocess ungranted \u0027system\u0027\npermissions if the bundled apk is privileged.\n\nAlso adds the \u0027privileged\u0027 flag to the dumpsys flag summary.\n\nBug 10503183\n\nChange-Id: Ic6560fc904e5970fc871a155c898744a6607f851\n"
    },
    {
      "commit": "dc3335429acf184cf67d022de6fe286c3672663a",
      "tree": "03e11ace903245bc26116ccf443d9de6de83781b",
      "parents": [
        "4244d66a122258adc86a8d757d3fe5f9588a59f8",
        "5845812780a29f4594dbdac12e65c4e063ddb4b0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Sep 15 21:47:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 15 21:47:52 2013 +0000"
      },
      "message": "Merge \"Add debug logging for b/10689184.\" into klp-dev"
    },
    {
      "commit": "5845812780a29f4594dbdac12e65c4e063ddb4b0",
      "tree": "2c5f0eb26d724fbd1694054cce3d8d9ba125bfa7",
      "parents": [
        "fa0556943ee386e83d190f1de86d73d81e08cc8a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 14 14:59:50 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Sep 15 14:18:54 2013 -0700"
      },
      "message": "Add debug logging for b/10689184.\n\nFocus is now on focus. Remove logging when fixed.\n\nChange-Id: Ic0cd2d6bd4e65dac9dd40f4745dd12fb84f687ce\n"
    },
    {
      "commit": "4244d66a122258adc86a8d757d3fe5f9588a59f8",
      "tree": "35266fb9918a7d5eac67e32088041cdb660d18a8",
      "parents": [
        "3386b07ef1efbe091ab14719e9f8b61fa419d839",
        "de4fa2dfe2e681c79e27d84604b9c48c68184aef"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 15 18:46:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 15 18:46:02 2013 +0000"
      },
      "message": "Merge changes Id0a67846,I20b57d66 into klp-dev\n\n* changes:\n  Print system may get stuck bound to a print service\n  Spooler should not crash if print service config activities are not exported.\n"
    },
    {
      "commit": "de4fa2dfe2e681c79e27d84604b9c48c68184aef",
      "tree": "2fee047354b9a8b2a8f97d87404deeecbb7fca16",
      "parents": [
        "860f8a6b663ca96d30d17da09eca8caf065aae62"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Sep 14 01:02:04 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Sep 15 02:58:14 2013 -0700"
      },
      "message": "Print system may get stuck bound to a print service\n\n1. If a print service dies, is restarted and at the time of the\n   restart the service has neither print jobs nor a discovery\n   serssion it gets stuck into a bound state. Now it unbinds if\n   after binding and ensuring it is in the lifecycle state right\n   before the death there are no active print jobs and no discovery\n   session.\n\n   Also when a print service dies we fail all of its print jobs\n   but did not update the service that all of its print jobs are\n   handled, i.e. it has no active print jobs.\n\n2. Fixed a null pointer exception in UserState\n\nbug:10696723\n\nChange-Id: Id0a67846093fca5d4c1e10843eaf6aa90169d942\n"
    },
    {
      "commit": "78d0cf7958dfde7951ed1a2c0317e04d6b41f4f3",
      "tree": "3eab98a9e89b72721a583e17b7381bb657bbb6e6",
      "parents": [
        "f5aba5ad1e09829a13bd0ad4912e45ff3d773176",
        "127beffb059492e5e979767b5146cce247a3dee0"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sat Sep 14 18:19:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 14 18:19:39 2013 +0000"
      },
      "message": "Merge \"Tighten condition for calling checkMobileProvisioning.\" into klp-dev"
    },
    {
      "commit": "f5aba5ad1e09829a13bd0ad4912e45ff3d773176",
      "tree": "3633494467fca00503e117ff5d06ad55ec986091",
      "parents": [
        "276e6c7a89ed91dbf3e4fe9f46d19e82656d8fd9",
        "0469f41010d8001dba5e09606bb631b1d3313021"
      ],
      "author": {
        "name": "Maggie Benthall",
        "email": "mbenthall@google.com",
        "time": "Sat Sep 14 18:00:12 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 14 18:00:13 2013 +0000"
      },
      "message": "Merge \"CA cert monitoring: add notifications and actions for dialog\" into klp-dev"
    },
    {
      "commit": "127beffb059492e5e979767b5146cce247a3dee0",
      "tree": "cf555381a874cfd7ec07a2750f5e67bd366f3694",
      "parents": [
        "c8db445e42f1b60b9af036cb0d793ee11ae4c9c6"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sat Sep 14 09:04:53 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sat Sep 14 09:04:53 2013 -0700"
      },
      "message": "Tighten condition for calling checkMobileProvisioning.\n\nAdd the condition that the connected network needs to be TYPE_MOBILE.\nThis eliminates checking on connecting to secondary networks like\nFOTA, MMS, SUPL ...\n\nThis reduces unnecessary attempts to bring up multiple connections at\nthe same time. Especially in the light of the trouble we\u0027re having with HFA\non Sprint, where we don\u0027t want to connect to any other network until HFA\nhas completed.\n\nBug: 10758001\nChange-Id: Id294536b70304a51de4752bc1a4ffac734f10f1a\n"
    },
    {
      "commit": "860f8a6b663ca96d30d17da09eca8caf065aae62",
      "tree": "380a1f552c7584ac4a7c7bc0713c07473b696dfb",
      "parents": [
        "c8db445e42f1b60b9af036cb0d793ee11ae4c9c6"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Sep 14 00:59:03 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Sep 14 01:00:55 2013 -0700"
      },
      "message": "Spooler should not crash if print service config activities are not exported.\n\n1. If a print service does not export its activities for settings and\n   adding printers the print spooler ignores them instead of crashing.\n   Also if the service is not enabled its activities are now ignored.\n\n2. Added a dedicated permission for a print service to optionally\n   protect its settings and add printer activities such that only the\n   system can bind to them.\n\n3. Fixed a crash in the print dialog if its content is detached\n   from the window and animators are running.\n\nbug:10680224\n\nChange-Id: I20b57d6622a15f9b2352ba78d04c44e67b316a15\n"
    },
    {
      "commit": "5f68f717019433ce4fa284386ba48bd1b571073a",
      "tree": "1af5ffdd996d4e55c12ef9d77f8419fd44057acb",
      "parents": [
        "50e5814c337f67c74d9e249cf6f67ac86dfc832d",
        "6ab2284c98c08df68ed1ca8f7ac9748387ba6cb2"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Sat Sep 14 01:02:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 14 01:02:40 2013 +0000"
      },
      "message": "Merge \"Strip names out of externally supplied WorkSources to WifiManager (b/10710007).\" into klp-dev"
    },
    {
      "commit": "6ab2284c98c08df68ed1ca8f7ac9748387ba6cb2",
      "tree": "6922d693c987c0a09126cc0e62ccec5ad89102f5",
      "parents": [
        "3157e73fb0ea392b8dd2a6bbf6b74d8dfa54cc52"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Fri Sep 13 17:11:53 2013 -0700"
      },
      "committer": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Fri Sep 13 17:34:40 2013 -0700"
      },
      "message": "Strip names out of externally supplied WorkSources to WifiManager (b/10710007).\n\nChange-Id: I69bd7ce9e942c2f9327415b2821d805e1b50a1a4\n"
    },
    {
      "commit": "0f8ec44b13487f5726cab77eb79cac016e090b25",
      "tree": "ca7e5d58f019fbb6438b39c9cb2feb57defa1ae6",
      "parents": [
        "0f3e1487b26a822697f70747290809081c2072cc",
        "86b391cd03ba2c3e71e78ce2ccf8dd073ac409cf"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sat Sep 14 00:11:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 14 00:11:48 2013 +0000"
      },
      "message": "Merge \"Prune shared users that the system declares but does not use\" into klp-dev"
    },
    {
      "commit": "236afa0d8b3e146c97801bd72a224b0908cd93f9",
      "tree": "8ab0f1ca7775b32b86de60ab0c4a04acd695357a",
      "parents": [
        "3157e73fb0ea392b8dd2a6bbf6b74d8dfa54cc52",
        "2e46bb5d88ee3202c244e9fcd39837b0a02f993a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Sep 14 00:04:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 14 00:04:43 2013 +0000"
      },
      "message": "Merge \"Fix issue #10747324: adb install hangs\" into klp-dev"
    },
    {
      "commit": "2e46bb5d88ee3202c244e9fcd39837b0a02f993a",
      "tree": "c0c5683b2791596692ed62377fd63e83e52abb7c",
      "parents": [
        "28eeb42012018bfa3cffc77e9a970e8f5c13f70b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 13 17:01:26 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 13 17:01:26 2013 -0700"
      },
      "message": "Fix issue #10747324: adb install hangs\n\nDumb typo was clearing the wrong service array, causing\nus to sometimes forget we were launching a service.\n\nChange-Id: Ie1aba0e07d19e85a104a5985e3cead5f28a0556a\n"
    },
    {
      "commit": "86b391cd03ba2c3e71e78ce2ccf8dd073ac409cf",
      "tree": "50432a84f4bdefb1b3222ec3d87b8d5d782009c8",
      "parents": [
        "7770dcc3d351a494d0f5fe44feb776cc512e9b18"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 13 16:58:36 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 13 16:58:36 2013 -0700"
      },
      "message": "Prune shared users that the system declares but does not use\n\nBug 10184643\n\nChange-Id: I72c5177c621c24fac34bf8744eb6c5108b6d3464\n"
    },
    {
      "commit": "540421ba984655b07f2b70bae1db9ae1bc3052aa",
      "tree": "4b4a48ebd904b4f879236066d747da14a6d1583c",
      "parents": [
        "45fa42195efc6f3d7ca531d405905963a4de6e0e",
        "a82aa09ba3b8cada49f0b20777e7502e86bb0248"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 13 23:33:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 13 23:33:17 2013 +0000"
      },
      "message": "Merge \"When launching home activity, make sure it is top.\" into klp-dev"
    },
    {
      "commit": "28eeb42012018bfa3cffc77e9a970e8f5c13f70b",
      "tree": "5671d35de432f3ac65092b58299c35ff8a8ab2fa",
      "parents": [
        "78d47240fb71a55897c1ef2e2d06492acbe29ad6",
        "8e69257a9c7e9c1781e1f53d8856358ada38921d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 13 23:06:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 13 23:06:07 2013 +0000"
      },
      "message": "Merge \"Implement #10749688: Improve low memory reporting\" into klp-dev"
    },
    {
      "commit": "8e69257a9c7e9c1781e1f53d8856358ada38921d",
      "tree": "69c9e07b9ed81d9ef8fb03769370b60d03e75f70",
      "parents": [
        "9210bc85545f31973c957b5179e6a82d05f473c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 10 19:06:15 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 13 16:02:01 2013 -0700"
      },
      "message": "Implement #10749688: Improve low memory reporting\n\nThis significantly reworks the logging we do when\nall cached processes are killed:\n\n- We now collect the list of processes in-place so we\n  have a snapshot of exactly when the low memory situation\n  happened.\n- In that snapshot we include the key process state: oom\n  adj, proc state, adj reasons.\n- The report then asynchronously collects pss information\n  for those processes.\n- The ultimate data printed to the log looks like a mix\n  between the \"dumpsys meminfo\" and \"dumpsys activity\"\n  output.  This code no longer uses \"dumpsys meminfo\"\n  itself, so some of that data is no longer included,\n  in particular pss organized by allocation type.\n\nIn doing this, I realized that the existing code that is\nsupposed to run \"procstats\" is not currently working.  And\nat that point I realized, really, when we are collecting\nthis pss data we\u0027d really like to include all those native\nprocesses using ghod-only-knows how much RAM.  And guess\nwhat, we have a list of processes available in\nProcessCpuTracker.\n\nSo we now also collect and print information for native\nprocesses, and we also do this for \"dumpsys meminfo\" which\nreally seems like a good thing when we are printing summaries\nof all pss and such.\n\nI also improved the code for reading /proc/meminfo to be\nable to load all the interesting fields from there, and\nam now printing that as well.\n\nChange-Id: I9e7d13e9c07a8249c7a7e12e5433973b2c0fdc11\n"
    },
    {
      "commit": "a82aa09ba3b8cada49f0b20777e7502e86bb0248",
      "tree": "4fe7a5caf960e1feba46621c42af8c7b68ad054b",
      "parents": [
        "ec7a6ea84578be91e04a54331ea4ca63e7fb69e1"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 13 15:34:08 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 13 15:46:51 2013 -0700"
      },
      "message": "When launching home activity, make sure it is top.\n\nBecause recents sits on the same stack as launcher it can sometimes be\nabove launcher. When we were launching home activity because the flag\ntold us to we would sometimes launch recents instead. This fix makes\nsure that the home activity is on the top when it is supposed to be\nlaunched next.\n\nPreviously this was fixed by having recents move itself to the back\nof the stack after it launched an activity (b/9750207 and ag/336019).\nBut that solution caused the AppTransition to be set to\nTRANSIT_TASK_TO_BACK which left the SOFT_INPUT_IS_FORWARD_NAVIGATION\nflag unset. This in turn caused IMEs to remain unlaunched when\nreturning from recents (b/10240567).\n\nFixes bug 10240567.\n\nChange-Id: I35c6619af0e68d0e6d9ab87cad06ea7c27e11e27\n"
    },
    {
      "commit": "7770dcc3d351a494d0f5fe44feb776cc512e9b18",
      "tree": "f53c5cd62eab915c10dea6fc24798be17129c918",
      "parents": [
        "312c495f4b8d002264772f61fe1fa3ef87bf3e52",
        "d95ccc5c6a56ffbfd00727af72f8c90e50fda4f0"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Sep 13 20:55:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 13 20:59:16 2013 +0000"
      },
      "message": "Merge \"checkMobileProvisioning should not block.\" into klp-dev"
    },
    {
      "commit": "312c495f4b8d002264772f61fe1fa3ef87bf3e52",
      "tree": "8508f800432e603ae76330fa3d0c358fe4a85c03",
      "parents": [
        "cac2428da4a22d9526af09e1457a6b644b2c2057",
        "6f8a68f49a7e8cf86104e721a1e8be7568b5f730"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Sep 13 20:31:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 13 20:31:54 2013 +0000"
      },
      "message": "Merge \"Guarantee that PAC Local Proxy owns Port\" into klp-dev"
    },
    {
      "commit": "0469f41010d8001dba5e09606bb631b1d3313021",
      "tree": "fd4889e43c37d6d26ffc4ab33259e9822bb5a112",
      "parents": [
        "cdd82540f2f98e7b4374fdd81e771eb217a27573"
      ],
      "author": {
        "name": "Maggie Benthall",
        "email": "mbenthall@google.com",
        "time": "Thu Sep 05 15:30:26 2013 -0400"
      },
      "committer": {
        "name": "Maggie Benthall",
        "email": "mbenthall@google.com",
        "time": "Fri Sep 13 15:46:30 2013 -0400"
      },
      "message": "CA cert monitoring: add notifications and actions for dialog\n\nIn DevicePolicyManagementService, on boot and when certs are installed,\npost notification to tell the user that their traffic may be\nmonitored.\nHave QuickSettings use the MonitoringCertInfoActivity instead\nof building the dialog itself.\n\nBug: 10633199\n\nChange-Id: Ie4b97295a9fc25867c87872feccdb17f4bea071d\n"
    },
    {
      "commit": "d95ccc5c6a56ffbfd00727af72f8c90e50fda4f0",
      "tree": "2e1996ec6a92fd888a491c497cb9d656f7a90f6f",
      "parents": [
        "49580cf1f768eb90a85f79f1cb7019d08d93332a"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Sep 13 12:40:11 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Sep 13 12:40:11 2013 -0700"
      },
      "message": "checkMobileProvisioning should not block.\n\nIn checkMobileProvisioning the call to mdst.isProvisioningNetwork() is\na blocking call and during monkey testing without SIM this is causing\nANR\u0027s. Move the initial test for provisioning into isMobileOk so\ncheckMobileProvisioning doesn\u0027t block.\n\nIf mobile is not supported return CMP_RESULT_NO_CONNECTION.\n\nCleaned up some debug.\n\nBug: 10674404\nChange-Id: I10a0e922cd6ea9790f66e2083f37e68cb0a8861f\n"
    },
    {
      "commit": "a2a0850de8e7324db37e0595d5374bb9c9903461",
      "tree": "2c772f6c774385b6f254885ccb2c38dc3b7a23d4",
      "parents": [
        "9210bc85545f31973c957b5179e6a82d05f473c6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 05 16:38:58 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Sep 13 12:16:00 2013 -0700"
      },
      "message": "Add hidden API for querying available \u0027home\u0027 activities\n\nTo support improved home-app selection UX in Settings.\n\nBug 9958444\n\nChange-Id: I106090784618bf7bea6fce28f4f9b9fb8480d310\n"
    },
    {
      "commit": "9210bc85545f31973c957b5179e6a82d05f473c6",
      "tree": "ad5dc2d53232e1c8561dee4ed07ba644cebbdf82",
      "parents": [
        "49580cf1f768eb90a85f79f1cb7019d08d93332a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 05 12:31:16 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 13 09:58:48 2013 -0700"
      },
      "message": "Implement #10744011: Serialize running of background services\n\nAdded some code to the activity manager to keep track of\nservices that are launching and limit the number that can\nbe launched concurrently.  This only comes into play under\nspecific circumstances: when the service launch is a background\nrequest (so timing is not important) and its process is not\nalready running at a high priority.\n\nIn this case, we have a list of services that are currently\nlaunching and when that gets too big we start delaying the\nlaunch of future services until currently launching ones are\nfinished.\n\nThere are some important tuning parameters for this: how many\nbackground services we allow to launch concurrently (currently\n1 on low-ram devices, 3 on other devices), and how long we\nwait for a background service to run before consider it to be\na more long-running service and go on to the next pending\nlaunch (currently set to 15 seconds).\n\nAlso while in here, did some cleanup of the service code:\n\n- A little refactoring to make per-user data cleaner.\n- Switch to ArrayMap.\n\nChange-Id: I09f372eb5e0f81a8de7c64f8320af41e84b90aa3\n"
    },
    {
      "commit": "6f8a68f49a7e8cf86104e721a1e8be7568b5f730",
      "tree": "dbe5e5d7001b191c376d3ba3510cbf6f7f309279",
      "parents": [
        "86d9c457de3285f01552d4046a8a260c7a75147f"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Aug 23 19:21:25 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Sep 13 09:53:26 2013 -0400"
      },
      "message": "Guarantee that PAC Local Proxy owns Port\n\nThis changes the PAC support to not broadcast the Proxy information until\nthe Local Proxy has started up and successfully bound to a port so that\nthe local proxy information can be guaranteed to be owned by the proxy.\n\nBug: 10459877\nChange-Id: I175cd3388c758c55e341115e4a8241884b90d633\n"
    },
    {
      "commit": "651dd4e6ee6510caf9f15c51094a11121af17ec2",
      "tree": "f86f1c4b313f425e5b1864c51a98710e3016ea39",
      "parents": [
        "5fbfb81d31d452f75bc088d380711642993fef1c"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 12 14:37:47 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 12 16:58:58 2013 -0700"
      },
      "message": "Remove unneeded print APIs and update the min margins APIs.\n\n1. Removed unneeded code in Resolution that was storing its\n   label as resource and package name. We do not have predefined\n   resolutions, therefore we always persist the label.\n\n2. Renamed the print attribute margins to minMargins to reflect\n   that these are the minimal margins the printer support. Updated\n   the docs as well.\n\n3. Renamed the create method of all builder to build.\n\nbug:10727487\n\nChange-Id: Ie72ab8aaa5215b8bd2853885011b3b4efa4deb2e\n"
    },
    {
      "commit": "25f17f295b4da464a2758c11a02cabb51bf4722f",
      "tree": "14dbb3aaa7f29542055a1bb020061024a3875d96",
      "parents": [
        "96ece97073d197a056a9314ceca8a4a8ba445c26",
        "cc65b0c325b88c466763712f76148a6f5b8a5b3f"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 12 22:38:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 12 22:38:35 2013 +0000"
      },
      "message": "Merge \"Not change the print options on printer change if possible.\" into klp-dev"
    },
    {
      "commit": "09652ac1db59b70de47ff5ea49953773312a171f",
      "tree": "c20f480d5047679d6db4bd9cd368e4f76433f4a8",
      "parents": [
        "88ee0dac81dec12aefdeee23072df9b3864a06a4",
        "ec0832133a2115e065eed6e330da95b5c518003b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 12 22:15:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 12 22:15:38 2013 +0000"
      },
      "message": "Merge \"Allow phone to enter suspend with positive proximity.\" into klp-dev"
    },
    {
      "commit": "ec0832133a2115e065eed6e330da95b5c518003b",
      "tree": "dc8f46262e3ca519ea5af0ff80728cd68e104ff9",
      "parents": [
        "6eade79f90b5a592c16a6a5fb0a4b409dc3848e6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 11 20:45:25 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 12 14:37:21 2013 -0700"
      },
      "message": "Allow phone to enter suspend with positive proximity.\n\nAs part of the power manager rewrite in JB MR1, we removed the ability\nfor the phone to suspend with positive proximity because it was not\nclear that the proximity sensor was always correctly registered as\na wake-up source.  The sensor service itself does not contain any\ncode to manage wake-ups.  Therefore proximity sensor based wake-up\nrelies on the sensor driver acquiring a timed wake lock when the\nsensor reports a negative result.  This behavior is not very well\ndefined in the sensor HAL so there is a chance that it will not\nwork reliably on all devices.\n\nThis change adds a new config.xml resource to specify whether the\ndevice should be allowed to suspend when the screen is off due to\npositive proximity.  Devices that support this feature should set\nthe \"config_suspendWhenScreenOffDueToProximity\" resource to \"true\" in\ntheir resource overlays.  The feature is disabled by default.\n\nBug: 9760828\nChange-Id: Ic65ab7df0357271b133e2e44f5e35e7756e1e9e0\n"
    },
    {
      "commit": "cc65b0c325b88c466763712f76148a6f5b8a5b3f",
      "tree": "7fa5afc4cd63434bf577516112449858bd2a7f66",
      "parents": [
        "26267660957a4428a66d8f142e2bdfa6ce6fe12f"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 10 21:08:32 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 12 14:29:53 2013 -0700"
      },
      "message": "Not change the print options on printer change if possible.\n\nIf the user selects some print options from the dialog and then\nchanges the printer to one that has the same capabilities the\nselections in the UI should not change.\n\nbug:10631856\n\nChange-Id: Ia76ce58c446815e3498d2f4b4739dee62d11d96a\n"
    },
    {
      "commit": "baae82a8532d5d77f3471bf8f7dcc004f5ec7e11",
      "tree": "04e71353217d21e1388939fb297456cd95f87142",
      "parents": [
        "b481dae2f5238252d81dafeecf13d5f387824689",
        "9e9ce925418a0075234b3cc34261c6be32095412"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Sep 12 20:39:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 12 20:39:31 2013 +0000"
      },
      "message": "Merge \"Don\u0027t track LocationManager internal requests in AppOps (b/10725757). AppOps stats are used to populate the \"apps recently using location\" list in settings-\u003elocation.  There is no reason to show Android OS in that list simply because of internal location requests supporting other clients.\" into klp-dev"
    },
    {
      "commit": "b481dae2f5238252d81dafeecf13d5f387824689",
      "tree": "35f2ff737e4f3ffcfa912c61d5a609147c70535f",
      "parents": [
        "ef2088a26a42621329c6b9fecb323566e19490e4",
        "10652a95b16909acf26f31cdafc0c6aa09212f26"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Thu Sep 12 20:28:57 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 12 20:28:57 2013 +0000"
      },
      "message": "Merge \"Fix invalid Wifi Network system crash\" into klp-dev"
    },
    {
      "commit": "ef2088a26a42621329c6b9fecb323566e19490e4",
      "tree": "9d11d67c50c229cfccd3f659d52836f1280459a8",
      "parents": [
        "e850c973b0662975137cee8a05f8ee2cb82d9b2a",
        "c6066799ad130140159230d14451b429eb828755"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 12 20:24:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 12 20:24:40 2013 +0000"
      },
      "message": "Merge \"Handle print serivce crashes.\" into klp-dev"
    },
    {
      "commit": "9e9ce925418a0075234b3cc34261c6be32095412",
      "tree": "79ed09228afa503a20e759a94787053d47a33744",
      "parents": [
        "e850c973b0662975137cee8a05f8ee2cb82d9b2a"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Sep 12 13:04:32 2013 -0700"
      },
      "committer": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Sep 12 13:19:53 2013 -0700"
      },
      "message": "Don\u0027t track LocationManager internal requests in AppOps (b/10725757).\nAppOps stats are used to populate the \"apps recently using location\"\nlist in settings-\u003elocation.  There is no reason to show Android OS\nin that list simply because of internal location requests supporting\nother clients.\n\nChange-Id: I6908aa63deb19d22733b8d9cdae6ea5dbbea55e0\n"
    },
    {
      "commit": "8f435baca8b5285a6b4658fc9563f5fcbbdafc6e",
      "tree": "385b01e8ed04b5afdfbe4bcf766ee9f07e3795dd",
      "parents": [
        "6c62163976844b28859fca322b28af907ec2856d",
        "126755cf41710d52554d747f3d3667eb0a3c2694"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 12 18:22:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 12 18:22:28 2013 +0000"
      },
      "message": "Merge \"Fix Wifi Batch Scanning\" into klp-dev"
    },
    {
      "commit": "c6066799ad130140159230d14451b429eb828755",
      "tree": "43145c16aae37124e167c1edde05c4376e0b69e2",
      "parents": [
        "16dae5997bb0ff7f03d5a0ccfdc4be94aa35ba51"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 10 21:08:32 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 12 10:52:26 2013 -0700"
      },
      "message": "Handle print serivce crashes.\n\n1. Now after a print service crashes we are bringing it to the same\n    state of its lifecycle. For example, if a service does a discovery\n    and crashes we recreate the discovery session call the start\n    discovery method and so on.\n\n2. Turned off debugging logs since we have fully fledged state dump.\n\nbug:10697779\n\nChange-Id: Id790537461428e96b197eef12258996bda2bd1ce\n"
    },
    {
      "commit": "737d2c0b92b69d9069de6fe0e2785676b9a10d78",
      "tree": "c23cd8b87092b9afbb675ddda45a562e74fc4316",
      "parents": [
        "4dff98689d4c5f98159206730074aaa6463ada23",
        "6eade79f90b5a592c16a6a5fb0a4b409dc3848e6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 12 04:03:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 12 04:03:31 2013 +0000"
      },
      "message": "Merge \"Ignore ON_AFTER_RELEASE for partial wake locks.\" into klp-dev"
    },
    {
      "commit": "126755cf41710d52554d747f3d3667eb0a3c2694",
      "tree": "c9e567accd435595575f924a8e267ac16450be3e",
      "parents": [
        "c333a3f7c6bf838aad2a2419ea65167e344f0cab"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 05 18:32:12 2013 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Sep 11 19:31:20 2013 -0700"
      },
      "message": "Fix Wifi Batch Scanning\n\nSome parsing bugs, more debug logs, etc.\n\nbug:9301872\nChange-Id: I245ab00955e245be81a019750be0f8491aa505fd\n"
    },
    {
      "commit": "f8a910fbd5b72e3350740d224b36db49dc3170e6",
      "tree": "fcf78d761b41e757e08593a08c4778b885665e10",
      "parents": [
        "6847447da0b3e2e30e88838ec85244d1a0ee8927",
        "839904eed81bf9cd87c27de49903dddb64ae3937"
      ],
      "author": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Wed Sep 11 21:15:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 21:15:34 2013 +0000"
      },
      "message": "Merge \"Fix exceptions in the Flp Hal layer: - JNI exception accessing a geofence method with wrong signature - FlpHardwareProvider exception when the monitoring status contains no location information\" into klp-dev"
    },
    {
      "commit": "ceccceccffbd2668b98e21487f2323f80d2c7b98",
      "tree": "aba1d4902c557287350a10325a7b334351f663c4",
      "parents": [
        "d292f790be5074998c1adc5feb4fea031d0d3d09",
        "aca405cd592679af4a4b31b01dfed6fd59c4a168"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 11 20:16:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 20:16:59 2013 +0000"
      },
      "message": "Merge changes Ib1274847,I2eb2a1bf into klp-dev\n\n* changes:\n  Fix SDK build.\n  Request all tethering interfaces, fix corruption.\n"
    },
    {
      "commit": "839904eed81bf9cd87c27de49903dddb64ae3937",
      "tree": "911dcad6e4c172f831ea9999e8d9c45188a79e83",
      "parents": [
        "23e2bba4e17662e941c2c6672f66249aff4a0470"
      ],
      "author": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Wed Sep 11 12:42:51 2013 -0700"
      },
      "committer": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Wed Sep 11 12:42:51 2013 -0700"
      },
      "message": "Fix exceptions in the Flp Hal layer:\n- JNI exception accessing a geofence method with wrong signature\n- FlpHardwareProvider exception when the monitoring status contains no location information\n\nBug: 10691492\nChange-Id: I1959712912af712dc9dc344f20afd1112da46efc\n"
    },
    {
      "commit": "706113fa2a82e5b613b8555120025b8472ffcbf3",
      "tree": "8a75c5d59b662125fac18c99eb0257a2c2364e7c",
      "parents": [
        "e0b7e4cf455b21316661b158edee12ac5467995c",
        "d5759437eeb3137e4a05471ff0f4681c0254e81a"
      ],
      "author": {
        "name": "Tom O\u0027Neill",
        "email": "tomo@google.com",
        "time": "Wed Sep 11 19:20:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 19:20:16 2013 +0000"
      },
      "message": "Merge \"Improve some javadoc related to isProviderEnabled() apis\" into klp-dev"
    },
    {
      "commit": "7563d42331ed7df7f026c8921ae990ce2fca9efd",
      "tree": "04ec8a1746321f55edf783bb4bceb6485879dd63",
      "parents": [
        "f702286c94f0df9fc147135c19f12ef34e8594c9",
        "51e95df8f24e9ea30775686b9e324b9a671213dc"
      ],
      "author": {
        "name": "Alexander Ray",
        "email": "aray@google.com",
        "time": "Wed Sep 11 19:05:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 19:05:38 2013 +0000"
      },
      "message": "Merge \"Add consumer IR framework\" into klp-dev"
    },
    {
      "commit": "2cad64c0fbeba07bb546674e19cfb0166d7ec332",
      "tree": "7ec5d5625c648ea459f4c4ec17917dae633e26f2",
      "parents": [
        "444ae3a2e66b4404fa715ab46403da09079dd572",
        "a86ab640f7bb0bf3cb4eaed80473ca8c5d131903"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Sep 11 18:27:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 18:28:07 2013 +0000"
      },
      "message": "Merge \"Surface: Change OutOfResourcesException to be a runtime exception\" into klp-dev"
    },
    {
      "commit": "d5759437eeb3137e4a05471ff0f4681c0254e81a",
      "tree": "0d22df7aa8d52ead9ef9da0f417fe43bb70814e7",
      "parents": [
        "e91a3f5229405b39a3ba59aa0a3e44527eef063e"
      ],
      "author": {
        "name": "Tom O\u0027Neill",
        "email": "tomo@google.com",
        "time": "Wed Sep 11 11:03:03 2013 -0700"
      },
      "committer": {
        "name": "Tom O\u0027Neill",
        "email": "tomo@google.com",
        "time": "Wed Sep 11 11:03:03 2013 -0700"
      },
      "message": "Improve some javadoc related to isProviderEnabled() apis\n\n- LocationManager.isProviderEnabled() no longer throws SecurityException:\nthe caller could already circumvent the permission check by calling\nSecure.isLocationProviderEnabled()\n\nChange-Id: I5abd04264299671ed35ce4594b5be46d86378767\n"
    },
    {
      "commit": "518c0afaea02f9a680f6912bde2d73b0357236ca",
      "tree": "6218541058c66dc3c91a0a1ad6971c707cf58b0f",
      "parents": [
        "ecf612a15c6201d7a4c55f0fcceb077f3e9ad84e",
        "5530e4b5d42bab8c9e82d348cc60dd925cd26a6b"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Wed Sep 11 17:35:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 17:35:09 2013 +0000"
      },
      "message": "Merge \"Fix for the toggle airplane mode hidden API\" into klp-dev"
    },
    {
      "commit": "51e95df8f24e9ea30775686b9e324b9a671213dc",
      "tree": "15f7e3d722629532c612d10bce41d496729a3c27",
      "parents": [
        "2f1ef77c07da2ed7168f75551dd632026b20f8cc"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Wed Jun 26 11:06:51 2013 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Sep 11 09:52:47 2013 -0700"
      },
      "message": "Add consumer IR framework\n\nChange-Id: I786c00db0cce61ef75e4edc24e90f2cdcba6dbfb\n"
    },
    {
      "commit": "5530e4b5d42bab8c9e82d348cc60dd925cd26a6b",
      "tree": "5ca480e7d904ec3892d292eb5690d39fffec3c89",
      "parents": [
        "042bd400547dda7dce4a526fb3b68303fa934229"
      ],
      "author": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Wed Sep 11 09:36:41 2013 -0700"
      },
      "committer": {
        "name": "Yuhao Zheng",
        "email": "yuhaozheng@google.com",
        "time": "Wed Sep 11 09:44:28 2013 -0700"
      },
      "message": "Fix for the toggle airplane mode hidden API\n\nFix to https://googleplex-android-review.git.corp.google.com/#/c/356900/\nPrevious implementation throws SecurityException when the API is called from apps.\nbug:10653570\n\nChange-Id: I95ae6f07db74d881f1a8d3d40a6486105a068e90\n"
    },
    {
      "commit": "86d9c457de3285f01552d4046a8a260c7a75147f",
      "tree": "c60f8bd088a714cd5d7b527f72c9b55cf07630ad",
      "parents": [
        "e3af2dd7a7883c5ae60fd6b9f6fb8d434e12d66a",
        "7140a25f0135f473b66d01eb042471b2f0ebc836"
      ],
      "author": {
        "name": "Adam Skory",
        "email": "skory@google.com",
        "time": "Wed Sep 11 11:27:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 11 11:27:50 2013 +0000"
      },
      "message": "Merge \"Revert services assist context in KitKat\" into klp-dev"
    },
    {
      "commit": "7140a25f0135f473b66d01eb042471b2f0ebc836",
      "tree": "6f19fb31faf5b7dcf0cbae98bacb5503a565e0b7",
      "parents": [
        "e3d0f022826a2a16e64dc9b5353a2a514393881b"
      ],
      "author": {
        "name": "Adam Skory",
        "email": "skory@google.com",
        "time": "Wed Sep 11 12:04:58 2013 +0100"
      },
      "committer": {
        "name": "Adam Skory",
        "email": "skory@google.com",
        "time": "Wed Sep 11 12:04:58 2013 +0100"
      },
      "message": "Revert services assist context in KitKat\n\nReverts extension to assist context API to query\nforeground services for assist context data.\n\nAlso hides Intent.ACTION_VOICE_ASSIST because\nnobody\u0027s actually using it yet.\n\nBug: 10461702\nChange-Id: Idf6836adc659b434e11ebb2b98e8b814c94a7227\n"
    },
    {
      "commit": "e4984bea95a07dea0ef0259fefa1e52f0bbb1533",
      "tree": "6d59f9f1690c9a32493d86c8660e42284d9d85d8",
      "parents": [
        "ed903213e6d3d75d497498c9cf95aa8e74277a9e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 10 21:03:27 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 10 21:03:30 2013 -0700"
      },
      "message": "Request all tethering interfaces, fix corruption.\n\nnetd now tracks statistics for tethered interfaces across tethering\nsessions, so switch to asking for all tethering stats.  (Currently\nwe\u0027re double-counting all tethering data, ever since it started\ntracking across sessions.)\n\nAlso catch OOME to handle corrupt stats files, which we then dump to\nDropBox and then start over.\n\nBug: 5868832, 9796109\nChange-Id: I2eb2a1bf01b993dd198597d770fe0e022466c6b9\n"
    },
    {
      "commit": "6eade79f90b5a592c16a6a5fb0a4b409dc3848e6",
      "tree": "36b9b8faf1fc27a1634a5298cf1aa9af51df2ff4",
      "parents": [
        "20e287534396655af0d5912d8b272070ad24a93a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 10 18:45:25 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 10 18:45:25 2013 -0700"
      },
      "message": "Ignore ON_AFTER_RELEASE for partial wake locks.\n\nThis is a regression in the new power manager.  Apparently\nsome apps try to use ON_AFTER_RELEASE with partial wake locks\nwhich doesn\u0027t make sense.  Ignore the flag just like we used to\nprior to JB MR1.\n\nBug: 10336375\nChange-Id: Ib307eb60201612ba9bb03dc4da3365aba0b4848d\n"
    }
  ],
  "next": "2f1ef77c07da2ed7168f75551dd632026b20f8cc"
}
