)]}'
{
  "log": [
    {
      "commit": "fe5bf7a7c7dcf3353c345d18471b90426d9404a3",
      "tree": "67a2e78988c43a170182614dca66bceeeebe0d71",
      "parents": [
        "95867a652410b5f0193cf301f5737381bcbd3a88",
        "5786a278a5ccc183a8d64933ff49f67a57c1ee2b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Oct 03 17:18:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 17:18:38 2013 +0000"
      },
      "message": "Merge \"Fix mount path prefix checking.\" into klp-dev"
    },
    {
      "commit": "95867a652410b5f0193cf301f5737381bcbd3a88",
      "tree": "7fcd45bd88dab29be3bed57ed7e3a19e3c4cf175",
      "parents": [
        "8e0ca288fe3f7bbb7d25751fa00be218b3940f18",
        "d983ba5cac232c01dff818556b57f497f7d99854"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 16:34:57 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 16:34:57 2013 +0000"
      },
      "message": "Merge \"Add PowerManager method to assign blame to a single uid\" into klp-dev"
    },
    {
      "commit": "5786a278a5ccc183a8d64933ff49f67a57c1ee2b",
      "tree": "35b25e5d848bb36ebcbbdd144ddefc8e7b1d899d",
      "parents": [
        "32cd2fb59601432e134e10d2c6720b2e70b6c2fe"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Oct 02 12:50:34 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Oct 03 09:32:01 2013 -0700"
      },
      "message": "Fix mount path prefix checking.\n\nUncovered as part of writing CTS tests.\n\nBug: 10577541\nChange-Id: I7832bcd551bedeea0b2ee5d6926aba6ac9bd0fd2\n"
    },
    {
      "commit": "d983ba5cac232c01dff818556b57f497f7d99854",
      "tree": "8ef43b6d5569d295aa60e2b9646955127a9df2c0",
      "parents": [
        "d6957d5f8ddf3b542996955bf2d6efe0e9804ef4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 08:49:36 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 08:49:36 2013 -0700"
      },
      "message": "Add PowerManager method to assign blame to a single uid\n\nCurrently used by audioflinger to account for recording wakelocks.\nb/10985160\n\nChange-Id: I18fc8487f2a197bf02b5269a4bcae9e75b6c2207\n"
    },
    {
      "commit": "02fa2332ac9f2972a0c651229ae456641f519363",
      "tree": "ecd17738ce6e025f18ff1d819a3d96bc2cc6dfd1",
      "parents": [
        "e660ecc436c6bb9d3476298e97976a24b432482e",
        "c7b8a1004006f08fbd1fb32133ccd1b9ec73819a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Oct 03 02:49:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 02:49:31 2013 +0000"
      },
      "message": "Merge \"Make DimLayer size dependent on stack layout.\" into klp-dev"
    },
    {
      "commit": "e660ecc436c6bb9d3476298e97976a24b432482e",
      "tree": "0c4b3513f5807fac95babcb8ee81677c95058a36",
      "parents": [
        "b885435c7c77d0610f449e413766d30780eeda37",
        "4664623c304cf162b9a78f3aee3290a92e54b628"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Oct 03 02:28:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 02:28:58 2013 +0000"
      },
      "message": "Merge \"Store decor rects per window for transition cropping.\" into klp-dev"
    },
    {
      "commit": "d65825ab1cdbfd88122beaaad8cf815434cbf46d",
      "tree": "9f8f99d26b8c126ea93fe8267dc0a3fbd7ab025e",
      "parents": [
        "9907a109ced54cffc7b4f5e9e81365c78df1f1a9",
        "95c42974f719d1fac90fc0438eac778e9795681f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Oct 03 01:52:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 01:52:18 2013 +0000"
      },
      "message": "Merge \"Private flags are masked in correct variable\" into klp-dev"
    },
    {
      "commit": "9907a109ced54cffc7b4f5e9e81365c78df1f1a9",
      "tree": "12110b9a4369987c805eb528c16c19624c3e6f6e",
      "parents": [
        "9a93f6f039920c2e24cdef172c9cbd39586b949c",
        "1fdbaa100c00e7e93db6f96f8ff9327a0aad968c"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Oct 03 01:17:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 01:17:10 2013 +0000"
      },
      "message": "Merge \"Fix screen magnifier scaling due to ScaleGestureDetector changes.\" into klp-dev"
    },
    {
      "commit": "9a93f6f039920c2e24cdef172c9cbd39586b949c",
      "tree": "ad6e21f68b65f36214f5f7a8e64e692a525a22d0",
      "parents": [
        "9ca82d333cfeb7aa5218efbca95763c15dc440e9",
        "172e87ce5113d75afbf894aef83bd30b43c98f5e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 03 01:13:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 01:13:58 2013 +0000"
      },
      "message": "Merge \"Reduce max recents on lowram\" into klp-dev"
    },
    {
      "commit": "1fdbaa100c00e7e93db6f96f8ff9327a0aad968c",
      "tree": "8feae8e6caf147b195e5d227046870123e68dc94",
      "parents": [
        "9ca82d333cfeb7aa5218efbca95763c15dc440e9"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Oct 02 17:52:51 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Oct 02 17:53:00 2013 -0700"
      },
      "message": "Fix screen magnifier scaling due to ScaleGestureDetector changes.\n\nThe scale gesture detector has a new behavior to make onScale\ncallbacks during swipe after a double tap. The screen magnification\nis triggered after a trippe tap so if the user trippe taps and\nholds to do a temporary magnification and tries to change the\nzoom level with another finger, erroneous results are obtained.\n\nThe ScaleGestureDetector uses an APIs level check for the new\nbehavior but the ScreenMagnifier is a platform feature. We now\nexplicitly ask for the old behavior.\n\nbug:11033376\n\nChange-Id: I0dfb14dd3abcaa34ad1f40447c631b4203797378\n"
    },
    {
      "commit": "172e87ce5113d75afbf894aef83bd30b43c98f5e",
      "tree": "ca8257dc6c932a9a9b9fc2c9ca4c5df66d3b455b",
      "parents": [
        "68c692df5f667dcee42506d3c6459d3dc2e1cdd6"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 02 16:55:16 2013 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 02 17:51:11 2013 -0700"
      },
      "message": "Reduce max recents on lowram\n\n Bug: 10918599\n Reduce the number of recent tasks to 10 on lowram devices\n Use RGB_565 on low ram devices for thumbnails instead of ARGB_8888\n Combined this saves ~9MB across system_process and systemui\n\nChange-Id: Ieddcb512c7341a90097bc7cbc72d7355a775b416\n"
    },
    {
      "commit": "c7b8a1004006f08fbd1fb32133ccd1b9ec73819a",
      "tree": "6a81a582784636644ff4b363ff94737818f37f50",
      "parents": [
        "cbf3f2cde569aac3a49d888d2bd52d77dc139738"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 16:49:52 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 16:49:52 2013 -0700"
      },
      "message": "Make DimLayer size dependent on stack layout.\n\nOnly use the stack bounds for the DimLayer bounds if there is more\nthan one stack on a layer. Otherwise cover the entire screen (and\nmore) with the DimLayer. This way there are no exposed regions when\nrotating.\n\nFixes bug 10428085.\n\nChange-Id: I7bfff12b69d59e86610621c498dab35cf0db8eb5\n"
    },
    {
      "commit": "95c42974f719d1fac90fc0438eac778e9795681f",
      "tree": "3f56c329cc584cb5a3be12792748811c920163ca",
      "parents": [
        "27d3c0fe3775c85c2e25eb84089280cb217799c8"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 02 10:13:27 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 02 16:18:55 2013 -0700"
      },
      "message": "Private flags are masked in correct variable\n\nNewly added private flags were being masked in the public flag variable\nas opposed to the correct privateFlags variable.\n\nbug:11033280\nbug:11043194\nChange-Id: Idda3a70a083457f3f1b7d4b46d231f4a7e704cf0\n"
    },
    {
      "commit": "4aca4c1520549ae8b99986a47a08cde311058140",
      "tree": "2a9a6c30967eec7acac9995c8598fd6729527458",
      "parents": [
        "913f87ef637fc1d9a006c543833b6815090b94e8",
        "85689b9f489133d26b7ddce0a68acecf8668f039"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 22:19:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 02 22:19:19 2013 +0000"
      },
      "message": "Merge \"Don\u0027t reorder windows on non-default display.\" into klp-dev"
    },
    {
      "commit": "85689b9f489133d26b7ddce0a68acecf8668f039",
      "tree": "79703c73fecf9ca71f382928d84f54a6d3994183",
      "parents": [
        "31482a7fe1b50e6bcd4c3e43b40f3ac5ab467c0b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 14:52:13 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 15:13:03 2013 -0700"
      },
      "message": "Don\u0027t reorder windows on non-default display.\n\nAt least not until we add tasks to those displays.\n\nFixes bug 10264736.\n\nChange-Id: I3baed4bf324c4a11bbf5b07755218c2992f5af39\n"
    },
    {
      "commit": "4664623c304cf162b9a78f3aee3290a92e54b628",
      "tree": "ff5f031afb3fe5911b546bd7b1d7432dcfa397c5",
      "parents": [
        "913f87ef637fc1d9a006c543833b6815090b94e8"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Sep 30 22:32:42 2013 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Oct 02 18:12:16 2013 -0400"
      },
      "message": "Store decor rects per window for transition cropping.\n\nInstead of keeping a single global system decor rect around\nin WindowManagerService, calculate and store policy-defined\nsystem-decor frame for each window.\n\nThe per-window decor rect is useful for smooth transitions, since it\ndetermines window cropping during transition animations.\n\nBug:10938001\nChange-Id: Ice6652aa5946027c45c0b7ab4e46473a0f8e3f90\n"
    },
    {
      "commit": "e42325c765fb4ec3a03d9de7eeaa0ed435a9f7b6",
      "tree": "bdd0a573cbe531d210a24426922b603ab77b3e02",
      "parents": [
        "228a7d2a157c4e6ceee5fdea389f207bbf4990ba",
        "2b862e5e75ad419f17a4cea185b9349e0da70e7b"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Wed Oct 02 19:23:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 02 19:23:23 2013 +0000"
      },
      "message": "Merge \"Fix incorrect VPN time\" into klp-dev"
    },
    {
      "commit": "2b862e5e75ad419f17a4cea185b9349e0da70e7b",
      "tree": "9a7c7f92ef6d8bd6f29339ee361144630e033d82",
      "parents": [
        "d6957d5f8ddf3b542996955bf2d6efe0e9804ef4"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Wed Oct 02 11:50:39 2013 -0700"
      },
      "committer": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Wed Oct 02 11:50:39 2013 -0700"
      },
      "message": "Fix incorrect VPN time\n\nFirst, startTime\u0027s default value is -1 and not 0, so use it to test\nif the startTime is set. Also, startTime isn\u0027t being set when connecting\nlegacy VPN; this change fixes that too.\n\n\nBug: 10985174\nChange-Id: Ibf52b8f489b18c96efba501b76aa73e9a9e0e3e8\n"
    },
    {
      "commit": "93cb8f6b78079f10836377e825c7f7b63b8e7c21",
      "tree": "bd1ed5f6ff907235d79a1ccd25782416656a0fa4",
      "parents": [
        "437befc127cddb4843e77575b10296600150998b",
        "31482a7fe1b50e6bcd4c3e43b40f3ac5ab467c0b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 17:45:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 02 17:45:47 2013 +0000"
      },
      "message": "Merge \"Create new window-side task on demand.\" into klp-dev"
    },
    {
      "commit": "31482a7fe1b50e6bcd4c3e43b40f3ac5ab467c0b",
      "tree": "81f55d9a7165d6b9c661501e0acddbf792e87413",
      "parents": [
        "323f78001d86e626fe2a62e404f893b6cd847b1f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 10:04:13 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 10:35:17 2013 -0700"
      },
      "message": "Create new window-side task on demand.\n\nThe activity manager can create a new task under certain\ncircumstances in resetTargetTaskIfNeededLocked(). In that case the\nwindow manager was not told to create a new task. This fix creates the\ntask in window manager when it recognizes that there is a new task\nrequired.\n\nFixes bug 10412588.\n\nChange-Id: Ife9ecfeb7f53f9df5950322c9359c836adc258a2\n"
    },
    {
      "commit": "09be37b2d3e66b7d718b0fd0ea9e73ad15493acb",
      "tree": "bf156ed5c10a0034cf5a915115b3fbeea4b7b75e",
      "parents": [
        "164371fb759bad6854570af0fca60d9a01e17235",
        "323f78001d86e626fe2a62e404f893b6cd847b1f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Oct 02 05:04:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 02 05:04:07 2013 +0000"
      },
      "message": "Merge \"Add debuggging for 10858941.\" into klp-dev"
    },
    {
      "commit": "323f78001d86e626fe2a62e404f893b6cd847b1f",
      "tree": "eb8a9884bbf799c449c41564b9624aa83d496add",
      "parents": [
        "cbf3f2cde569aac3a49d888d2bd52d77dc139738"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 21:16:22 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 21:16:22 2013 -0700"
      },
      "message": "Add debuggging for 10858941.\n\nChange-Id: I0517ccd9a83ef19a9002d61dbebf36d0120e1f63\n"
    },
    {
      "commit": "164371fb759bad6854570af0fca60d9a01e17235",
      "tree": "7c4cb9b6a8cdbc6d9c4ed0d333c4d9871441dd1f",
      "parents": [
        "cbf3f2cde569aac3a49d888d2bd52d77dc139738"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 01 19:10:13 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 01 20:51:12 2013 -0700"
      },
      "message": "Fix issue #11005453: [SUW] G+ profile creation for new user broken\n\nThe main problem here was a mistake when turning a single process\nstructure to a multi-package-process structure with a common\nprocess.  When we cloned the original process state, if there were\nany services already created for the process for that package, they\nwould be left with their process pointer still referencing the\noriginal now common process instead of the package-specific process,\nallowing the active counts to get bad.  Now we switch any of those\nprocesses over to the new package-specific process.\n\nThere was also another smaller issue with how ServiceRecord is\nassociated with a ServiceState -- we could be waiting for an\nold ServiceRecord to be destroyed while at the same time creating\na new ServiceRecord for that same service class.  These would share\nthe same ServiceState, so when the old record finally finished\ndestroying itself it would trample over whatever the new service\nis doing.\n\nThis is fixed by changing the model to instead of using an \"active\"\nreference count, we have an object identifying the current owner\nof the ServiceState.  Then when the old ServiceRecord is cleaning\nup, we know if it is still the owner at that point.\n\nAlso some other small things along the way -- new Log.wtfStack()\nmethod that is convenient, new suite of Slog.wtf methods, fixed\nsome services to use Slog.wtf when catching exceptions being\nreturned to the caller so that we actually know about them.\n\nChange-Id: I75674ce38050b6423fd3c6f43d1be172b470741f\n"
    },
    {
      "commit": "42e9b63100edfef7a9cbee735ee3574fb1b94349",
      "tree": "f27b9553b8bbb31a9a3bb511d496497798090ae8",
      "parents": [
        "42544cf843a8e6a3d6ecf57aafdc5a3591a16d17",
        "6a591f585909415a1da431a2cc76b7732724037d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 02 01:55:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 02 01:55:09 2013 +0000"
      },
      "message": "Merge \"Make room for new public flags\" into klp-dev"
    },
    {
      "commit": "6a591f585909415a1da431a2cc76b7732724037d",
      "tree": "f1de54ab5acd576447596ff13111b8b15584d9a1",
      "parents": [
        "f079a6d07f64045526a094077a1e9f4ceb40da76"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 01 18:11:17 2013 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 01 18:48:20 2013 -0700"
      },
      "message": "Make room for new public flags\n\nMoved two hidden flags to private\n\nbug:11033280\nChange-Id: Icca867b073aff643eefdaf84df68de86bb6b05ac\n"
    },
    {
      "commit": "42544cf843a8e6a3d6ecf57aafdc5a3591a16d17",
      "tree": "3f8ea38b4c2553c9cbdba7a6aca84303752b14d6",
      "parents": [
        "16326f7085ebb05e4229d96c6e539eb9ecb2d3de",
        "dbcc8a22de0827ecc546e48a1c5b96ecc0da73a0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 02 01:47:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 02 01:47:55 2013 +0000"
      },
      "message": "Merge \"Track wireless charger detector timeout explicitly.\" into klp-dev"
    },
    {
      "commit": "dbcc8a22de0827ecc546e48a1c5b96ecc0da73a0",
      "tree": "72df3f906266540c2b80896b8396ff8c7e4cdf9f",
      "parents": [
        "2e05ec3235150a93a3459cd260be45f02dadbe84"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 01 16:16:44 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 01 16:42:16 2013 -0700"
      },
      "message": "Track wireless charger detector timeout explicitly.\n\nPreviously we relied on having a continue stream of sensor\nevents from which to detect whether the device is moving or\nat rest.  However, if the sensor HAL is broken in some way\nthen we might not receive enough sensor events to actually\nfinish the detection process.  When this happens, we\u0027ll\njust sit there holding a wakelock indefinitely.\n\nInstead of relying on the sensor event stream, post a delayed\nmessage to explicitly finish detection.\n\nBug: 10769163\nChange-Id: Ia2ed66fe5e7c41a8832df76da9104c13554e1398\n"
    },
    {
      "commit": "86519dd5bb82a8d3073095bc589e8c7a32f9c112",
      "tree": "b39e9fa127f74ed0e367f2cecad0078864306553",
      "parents": [
        "654314eedf642c01ea034a16d452272d9e4aab24",
        "540b659304079bead967aa2524abe59920dd260b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Oct 01 23:35:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 23:35:21 2013 +0000"
      },
      "message": "Merge \"Use correct method for sparsearray lookup\" into klp-dev"
    },
    {
      "commit": "66de7f4fa080a58c644c46122001890b3552ab81",
      "tree": "4ab2199ace5479d70dcb88b436dc3e5f3e1e1aaa",
      "parents": [
        "b1cd745fd23cd0514a338bb07abcd031db10db7c",
        "51277a85216b2ebbd2df858b1ba190976a4b917b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 21:44:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 21:44:13 2013 +0000"
      },
      "message": "Merge \"Fixes to handleAppDiedLocked.\" into klp-dev"
    },
    {
      "commit": "b1cd745fd23cd0514a338bb07abcd031db10db7c",
      "tree": "d1bbd95dbc975201289690122c00d96c76611db0",
      "parents": [
        "0bc0f109dfe935a4ede91862d1f556e7f03a8bf2",
        "db85ad56adb74f0310b604228dac8bbc03ac2769"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Oct 01 21:30:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 21:30:53 2013 +0000"
      },
      "message": "Merge \"Fail print jobs targeted to unavailable services.\" into klp-dev"
    },
    {
      "commit": "51277a85216b2ebbd2df858b1ba190976a4b917b",
      "tree": "1212ef340281fd91fcc95f62e92da241fb400bb4",
      "parents": [
        "7eb5ce03d9697caa2e9caf0437036a937d081e90"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 14:28:23 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 14:28:23 2013 -0700"
      },
      "message": "Fixes to handleAppDiedLocked.\n\n- Call in all circumstances but only set launchHomeTaskNext for\n  focused stack. Previous version didn\u0027t call handleAppDiedLocked for\n  non-focused stack.\n\n- Rearrange logic to run down the top task and make sure that all\n  remaining activities belong to the dying app. Previous version just\n  looked at the top non-finishing activity and based its behavior on\n  that.\n\nFixes bug 11029560.\n\nChange-Id: Ic3a7c873c4c975577d6b390a8955ff41729bdfde\n"
    },
    {
      "commit": "540b659304079bead967aa2524abe59920dd260b",
      "tree": "b417c25750a690b86a0c28f6c313ecf74670e31e",
      "parents": [
        "0e772b226801ca03292abad04677b1f7f29fade4"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Oct 01 13:02:52 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Oct 01 13:45:58 2013 -0700"
      },
      "message": "Use correct method for sparsearray lookup\n\nShould fix the array index out of bounds. valueAt() is when we have the\nindex, not the key.\n\nBug: 11014210\nChange-Id: Icb53fe763782befbd5de1b3df6630b87cda72e84\n"
    },
    {
      "commit": "3c98926bf2105571a149d810a52461e01e5e7cdb",
      "tree": "cca42e01bf1aa02423377bd3147247e677e1e1e9",
      "parents": [
        "f079a6d07f64045526a094077a1e9f4ceb40da76",
        "68cc241e8dca1ba20c2004afceac428d1aec31ef"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 20:35:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 20:35:01 2013 +0000"
      },
      "message": "Merge \"Add a timeout for removing starting windows.\" into klp-dev"
    },
    {
      "commit": "68cc241e8dca1ba20c2004afceac428d1aec31ef",
      "tree": "72155a44cee72676ded0d9b48a2ab30ece6c1574",
      "parents": [
        "7eb5ce03d9697caa2e9caf0437036a937d081e90"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 10:39:43 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Oct 01 10:39:43 2013 -0700"
      },
      "message": "Add a timeout for removing starting windows.\n\nIf two activities are started at the same time the first activity can\nadd a starting window but never start. In that case there is no event\nthat will clear the starting window. This change adds a 10 second\ntimeout for the starting window to be cleared after which it will\nclear the starting window automatically.\n\nFixes bug 10797865.\n\nChange-Id: I1d59c3058c63367ff688d426474e8a6f006b2e0d\n"
    },
    {
      "commit": "7aa7601c09ab5d87cc15a0ed9a8f511d494a4cbc",
      "tree": "a22ca7e432de4309aedf7785babd5e1b73c28b09",
      "parents": [
        "7eb5ce03d9697caa2e9caf0437036a937d081e90"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Sep 30 14:26:27 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Oct 01 09:50:41 2013 -0700"
      },
      "message": "Detect wedged ContentProviders, treat as ANR.\n\nAll ContentProvider calls are currently blocking, making it hard for\nan app to recover when a remote provider is wedged.  This change adds\nhidden support to ContentProviderClient to timeout remote calls,\ntreating them as ANRs.  This behavior is disabled by default.\n\nUpdate DocumentsUI to use a 20 second timeout whenever interacting\nwith a storage provider.\n\nBug: 10993301, 10819461, 10852518\nChange-Id: I10fa3c425c6a7225fff9cb7a0a07659028230cd3\n"
    },
    {
      "commit": "db85ad56adb74f0310b604228dac8bbc03ac2769",
      "tree": "7820607fb2cfcd7d4c6dde54b1f547581f1ead5c",
      "parents": [
        "c6568719671206e726f260fad390680f7fb0ee9e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Oct 01 00:27:21 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Oct 01 07:49:06 2013 -0700"
      },
      "message": "Fail print jobs targeted to unavailable services.\n\nIt is possible that a print job is scheduled for handling, i.e. it is\nqueued, after the target print service is uninstalled or disabled.\nIn case like this we fail the print job with an appropriate error\nmessage. Now the user can cancel the job when he/she sees the notification\nor the status in the print settings. Trying to restart such a job will\nend up failing it again with the same error message. So the user will\njust have to canel the print job.\n\nThis apporach quarantees that the user is informed for the failure and\nalso is much simpler than trying to update the UI when print job\u0027s\ntarget serivce is uninstalled. For example, the settings UI has to\nbe updated as well as the notifications. Also due to the async nature\nof the system this we cannot completely avoid having a restart option\nfor a print job whose target service is gone. This scenario is very\nunlikely but still we have to handle it.\n\nbug:11012251\n\nChange-Id: Id8c8c3cff75e0b6325552676b130ff1406edc069\n"
    },
    {
      "commit": "508a57f58f873efcabc4d771b5f11285193685f6",
      "tree": "18e7d857b1daae1a8bd391a32f01129067a8a646",
      "parents": [
        "6f07cc8424caccda695918f83e1b57f7a67d9f0c",
        "8704fc3dae2361d41d026e6e6cade7a63b12c973"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Mon Sep 30 21:46:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 30 21:46:59 2013 +0000"
      },
      "message": "Merge \"Remove blocking from SM before boot completed.\" into klp-dev"
    },
    {
      "commit": "8704fc3dae2361d41d026e6e6cade7a63b12c973",
      "tree": "902f6afdd68a3a77bff7ad7728902d49782a49ea",
      "parents": [
        "723ad75e107f57dc541dfca600745895e1251974"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Fri Sep 27 11:32:35 2013 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Mon Sep 30 11:20:53 2013 -0700"
      },
      "message": "Remove blocking from SM before boot completed.\n\nBug: 10916655\nAdd a stash where the SyncHandler can copy and place\nmsgs rather than run them. After boot is complete\nwe iterate through the stash in order and send the\nmessages off.\n\nChange-Id: I9c175ee79fe60952346003a29225b8687979b44e\n"
    },
    {
      "commit": "312ab4bd2928b152e1f7732a1699677b7df54b2f",
      "tree": "225c736e880c72e6b09a7eed70b86804b922072f",
      "parents": [
        "d6957d5f8ddf3b542996955bf2d6efe0e9804ef4",
        "19d112d83643c6595d435d41df6b7ff63ded590f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 30 18:20:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 30 18:20:48 2013 +0000"
      },
      "message": "Merge \"Don\u0027t display hidden activities over home screen.\" into klp-dev"
    },
    {
      "commit": "d6957d5f8ddf3b542996955bf2d6efe0e9804ef4",
      "tree": "a0e31f9abb4b9f2426dfb0111faf06979e1b0bab",
      "parents": [
        "65cacb3c5174f93debd481c7d573f34bc36f80f4",
        "5bab9daf3cf66f4de19f8757e386030e8bef23ce"
      ],
      "author": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Mon Sep 30 17:35:45 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 30 17:35:45 2013 +0000"
      },
      "message": "Merge \"Prevent authenticators from using Settings to  launch arbitrary activities.\" into klp-dev"
    },
    {
      "commit": "19d112d83643c6595d435d41df6b7ff63ded590f",
      "tree": "b8ffb5a2efc34c43221bd39761b7e865824dbb24",
      "parents": [
        "57d96f0e92e8af842878660a8271e65cec2426d3"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 30 10:34:55 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 30 10:34:55 2013 -0700"
      },
      "message": "Don\u0027t display hidden activities over home screen.\n\nFixes jank exposed in 10881705. Specifically background activity\nanimating up along with translucent activity. Repro steps on manta:\n\n1. From home start Settings.\n2. Press home.\n3. From home start Downloads (translucent activity that takes 85% of\nscreen).\n4. Observe that as Downloads zooms up the 15% boundary that should be\ndimly transparent are showing Settings.\n\nThe cause was that there is a finishing activity in the Downloads task\nthat was used to launch the DownloadsActivity. The existence of that\nactivity kept the logic from recognizing that the home activity was\nbehind the DownloadsActivity, not the Settings activity.\n\nThis fix descends through all of the activities in a task sitting on\nhome and makes sure that they only keep home from showing if such\nactivities are not finishing and visible.\n\nChange-Id: I607afce6b0000b4db634f2ce40a6c37fcee369d7\n"
    },
    {
      "commit": "57d96f0e92e8af842878660a8271e65cec2426d3",
      "tree": "3d450f9288e2c75267da8d4c1a97d707a0f997e9",
      "parents": [
        "0ed01ab57f1277a3889da10daa87733c1af6e0d0",
        "cb4285537b1bf67b5a248e509d5fe41a6f49282e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 30 00:21:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 30 00:21:48 2013 +0000"
      },
      "message": "Merge \"Fix issue #10948509: Crash in procstats when there is no data\" into klp-dev"
    },
    {
      "commit": "cb4285537b1bf67b5a248e509d5fe41a6f49282e",
      "tree": "6a7df2bb9634acee6ad38e095f144cfd44cf451b",
      "parents": [
        "398d7f61866baab65e69b9107c36ba32bf824353"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 26 11:07:17 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 29 17:14:15 2013 -0700"
      },
      "message": "Fix issue #10948509: Crash in procstats when there is no data\n\nNot dealing with the case where there is a null list.\n\nAlso fixed some bugs I found while looking at this:\n\n- When resetting the stats, we would use a newly computed time stamp\n  for the total durations rather than the one we used to reset the\n  proc/service entries.  This would result in them being able to be\n  slightly \u003e 100%.\n- There was a bug in how we split a single process state into its\n  per-package representation, where we would but the cloned process\n  state into the new package\u0027s entry (instead of properly for its\n  own package entry), to be immediately overwritten by the new\n  process state we make for that package.  This could result in\n  bad data for processes that have multiple packages.\n- There was a bug in resetting service stats, where we wouldn\u0027t\n  update the overall run timestamp, allowing that time to sometimes\n  be \u003e 100%.\n- There was a bug in computing pss data for processes with multiple\n  packages, where the pss data was not distributed across all of the\n  activity per-package process states.\n- There was a bug in computing the zram information that would cause\n  it to compute the wrong value, and then never be displayed.\n\nFinally a little code refactoring so that ProcessState and ServiceState\ncan now share a common implementation for the table of duration values.\n\nChange-Id: I5e0f4e9107829b81f395dad9419c33257b4f8902\n"
    },
    {
      "commit": "564e8e6f548951c9fe5825aaad327b9ffbeece82",
      "tree": "3cf7398da9b536f66eefe2b6697d9f8502681f6f",
      "parents": [
        "64ce6b78ccb8522a6147843f4206a5b128571b03",
        "5ee6d19fd726d1196297a0c549587cb2e18e9cfe"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Sep 29 14:26:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 29 14:26:12 2013 +0000"
      },
      "message": "Merge \"Ensure correct window ordering.\" into klp-dev"
    },
    {
      "commit": "64ce6b78ccb8522a6147843f4206a5b128571b03",
      "tree": "bedc93fe9f6cca7f51f41738e938c0f6898082a6",
      "parents": [
        "5a0c54a5112612777becd7a0f12f74cf720c1b7f",
        "f31ea07d64e1854f97705e540c98caeb4c067df9"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Sep 29 14:25:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 29 14:25:08 2013 +0000"
      },
      "message": "Merge \"Don\u0027t kill home process with the rest of its package.\" into klp-dev"
    },
    {
      "commit": "5a0c54a5112612777becd7a0f12f74cf720c1b7f",
      "tree": "d173b8ecd59fc550e6171030557990dbebd1e222",
      "parents": [
        "c6568719671206e726f260fad390680f7fb0ee9e",
        "80259355739a53106ea2b2beb39a326fd5ee35fc"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Sep 29 14:24:27 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 29 14:24:28 2013 +0000"
      },
      "message": "Merge \"Remove home package name methods.\" into klp-dev"
    },
    {
      "commit": "5bab9daf3cf66f4de19f8757e386030e8bef23ce",
      "tree": "99acf5026c8aad1e7205eff5b1f771e43e4220fc",
      "parents": [
        "c6568719671206e726f260fad390680f7fb0ee9e"
      ],
      "author": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Sun Sep 29 05:11:56 2013 -0700"
      },
      "committer": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Sun Sep 29 05:23:16 2013 -0700"
      },
      "message": "Prevent authenticators from using Settings to  launch arbitrary activities.\n\nVarious authenticator results such as getAuthToken and addAccount might\nresult in an Intent returned to the AccountManager caller. A malicious\nauthenticator could exploit the fact that the Settings are a system app,\nlead the user to launch add account for their account type and thus get\nSettings to use the intent to start some arbitrary third parties Activity.\n\nThe fix is to make sure that the UID of the app associated with Activity\nto be launched by the supplied intent and the Authenticators UID share\nthe same signature.  This means that an authenticator implementer can only\nexploit apps they control.\n\nBug: 7699048\nChange-Id: I34330454c341e6a8422ca1ed3b390466a0feedce\n"
    },
    {
      "commit": "5ee6d19fd726d1196297a0c549587cb2e18e9cfe",
      "tree": "01564016c0a563a519091e84d82db939c932ce36",
      "parents": [
        "adf149029f701464c66cc5cacbbbc649c1319bcd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 28 15:58:38 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 28 15:58:38 2013 -0700"
      },
      "message": "Ensure correct window ordering.\n\nMake sure that moveStackWindowsLocked() is called every time that the\nstack ordering changes. This will rebuild the window list. Previously\nthe call was being made after the moveStack() call which got forgotten\nin the addAppToken() causing the home stack to obscure incoming phone\nand video calls.\n\nFixes bug 10023223.\nFixes bug 10678010.\nMaybe fixes bug 10858941.\n\nChange-Id: I59922dc979a19210008eac1f528704984c63c886\n"
    },
    {
      "commit": "80259355739a53106ea2b2beb39a326fd5ee35fc",
      "tree": "1217c5df1a69eb21d6782be1410a83c1d77042a3",
      "parents": [
        "adf149029f701464c66cc5cacbbbc649c1319bcd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 28 12:35:25 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 28 13:49:16 2013 -0700"
      },
      "message": "Remove home package name methods.\n\nDo not use the shortcut of the package name to identify the home\nactivity.\n\nFixes bug 10963726.\nFixes bug 10920950.\n\nChange-Id: I725781a26672b055a816994aee6ea458a7f07c88\n"
    },
    {
      "commit": "f31ea07d64e1854f97705e540c98caeb4c067df9",
      "tree": "23536d7cf2db5ddea2116e193bebe98dd6bb167d",
      "parents": [
        "adf149029f701464c66cc5cacbbbc649c1319bcd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 28 13:46:38 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 28 13:46:38 2013 -0700"
      },
      "message": "Don\u0027t kill home process with the rest of its package.\n\nKilling the GEL search results was killing everything in its package.\nThis fix keeps the home process from being killed when a task in its\npackage is killed.\n\nFixes bug 10927223.\n\nChange-Id: I56e75f0a0118885a1604cbd70320bbdb4f8cf1a2\n"
    },
    {
      "commit": "d8dbc13b47bec3248a86a505a30af9d0474240dc",
      "tree": "1eb730b9fc3d8455d9ebde9e2624adbb382c693e",
      "parents": [
        "fb2e3c8d47c162166a029a97d68ad3bedff89cce"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 27 18:29:53 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 27 18:46:24 2013 -0700"
      },
      "message": "Ignore historical printer records for installed services\n\nWhen loading historical records for previously used printers we\nnow ignore the ones whose target print service is not installed.\n\nbug:10955652\n\nChange-Id: Ib295e7d88ed3c308ef6d8a11bdc1792ebbb6d526\n"
    },
    {
      "commit": "fb2e3c8d47c162166a029a97d68ad3bedff89cce",
      "tree": "3ad0bdcbe8f6ed37152d692536a20af80b0bf09c",
      "parents": [
        "b415525a16074b6dc8e295655648b7c7c1074bbb",
        "6c9df5054a25f179ea7359a1a5e59e7d5d8da122"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Sat Sep 28 01:18:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 28 01:18:17 2013 +0000"
      },
      "message": "Merge \"Fix permissions on WindowManagerService.showAssistant()\" into klp-dev"
    },
    {
      "commit": "b415525a16074b6dc8e295655648b7c7c1074bbb",
      "tree": "f6ef17f0727e3753ddc92df7c3e99be51a3c3669",
      "parents": [
        "16e6e203c0c86a1cbc1a7c1cf20cb5447f705a32",
        "dd68da2741fa63070d5ad206020dcccb9f429a5a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Sep 28 01:06:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 28 01:06:51 2013 +0000"
      },
      "message": "Merge \"Print job files and print job records not always cleaned up.\" into klp-dev"
    },
    {
      "commit": "16e6e203c0c86a1cbc1a7c1cf20cb5447f705a32",
      "tree": "156b6efb99162307c9596de93e317ff056bee02f",
      "parents": [
        "0c923b7ce1f4e40b401bcd342f4ee4399f4ad9d7",
        "6b74cb5df5810b670155611cfad88ed3e3fac820"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Sep 28 00:43:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 28 00:43:56 2013 +0000"
      },
      "message": "Merge \"Centralize handleAppDied and fix return to home.\" into klp-dev"
    },
    {
      "commit": "dd68da2741fa63070d5ad206020dcccb9f429a5a",
      "tree": "91b1356d1d74a02fa9af841224aab4134a10da76",
      "parents": [
        "231bd6c514f15cb0b42a04d4fc7fc9631c743686"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 27 10:48:31 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 27 17:26:44 2013 -0700"
      },
      "message": "Print job files and print job records not always cleaned up.\n\n1. We want the files for a print job to be removed as early as possible\n   typically because the print job was cancelled, completed, the app\n   or the spooler crashed during print job construction. We were keeping\n   around in the spooler and hence to disc infos for jobs that are in\n   final state since the app that created them may hold a reference to\n   a local print job objec whose info it can access to get the latest\n   print job state potentially after the job reached final state. The\n   issue was that we were persisting to disc created print jobs which\n   were during construction which requires careful handling for the\n   various cases above. This is tricky and error prone.\n\n   We used to tell the spooler to forget the print jobs infos when the\n   app that created them died. The implementation to forget a print\n   job was not careful and was nuking currently running print jobs in\n   addition to the ones in a terminal state. Further, if the app dies\n   before a print job is completed we were left with a stale print\n   job in the spooler since we missed the signal to forget it (assuming\n   we forget only inactive jobs). These issues suggest that the approach\n   is problematic.\n\n   Now we have a cache of print job infos for the jobs an app created.\n   This cache is updated when the state of a print jobs changes using\n   the new print job state observation code. When the app dies we\n   remove the cached jobs for that app. Now if the app calls to get\n   the print jobs it gets the cached ones, i.e. the print jobs it\n   created during its lifetime, plus the print jobs that are still\n   active fetched from the spooler. Note that transient state cannot\n   be kept in the spooler since we unbind from it if there is no\n   work and it may get killed.\n\n2. Improved the print sub-system logging code to show the cached\n   print job infos for apps and also dump the print job PDF file\n   names.\n\nbug:10958357\n\nChange-Id: I6f7c1968b6b7ba5be182a10df044ff7ea1fc3a61\n"
    },
    {
      "commit": "6b74cb5df5810b670155611cfad88ed3e3fac820",
      "tree": "e50f76b7e4b34f1819a091b94fe018f03445f7b6",
      "parents": [
        "adf149029f701464c66cc5cacbbbc649c1319bcd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 27 17:02:21 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Sep 27 17:02:21 2013 -0700"
      },
      "message": "Centralize handleAppDied and fix return to home.\n\nThe home activity was being returned to when any activity in a task\nthat was launched from home crashed. If there were still activities\nleft in the task then the crash should have brought up those\nactivities next, not home.\n\nThis may be a partial fix for crashes where the back stack was showing\nup under launcher icons. Bug 10858941.\n\nChange-Id: I840a25bd8395bfce46f4e21b112d78b12884706d\n"
    },
    {
      "commit": "6c9df5054a25f179ea7359a1a5e59e7d5d8da122",
      "tree": "cd0cde11c23f7e26ebbec49b9e2d6b0e1885fb54",
      "parents": [
        "1962e264660b37b7e386eb2ac84fc915dd7c75dd"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Sep 19 15:50:11 2013 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Sep 27 16:29:36 2013 -0700"
      },
      "message": "Fix permissions on WindowManagerService.showAssistant()\n\nSince binder call permissions are not transitive by design,\nthe proper way to fix this is to have the call talk directly\nto keyguard from the navigation bar.\n\nFixes bug 9409008\n\nChange-Id: Ibd90a79bb638c969b514455a2ad93c6ff668222d\n"
    },
    {
      "commit": "0756632aa056cc873943f7f19c7501ce79608394",
      "tree": "0e02034e7979fe368ac07cf200e00aeb1034a975",
      "parents": [
        "adf149029f701464c66cc5cacbbbc649c1319bcd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 26 16:42:55 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 26 17:41:05 2013 -0700"
      },
      "message": "Dismiss keyguard when resuming visible activities\n\nIf an activity is visible behind the keyguard when it is launched\nby another activity then there would be no call to dismissKeyguard.\nBecause the other activity is pausing the call to dismissKeyguard\nis skipped in startActivityLocked(). And because it is already\nvisible the call to ActivityRecord.windowsVisible() is never made and\nthe call to reportActivityVisibleLocked() which calls\ndismissKeyguard() is also never made.\n\nThis change recognizes when an activity is resumed and visible and\ncalls dismissKeyguard() in that case.\n\nFixes bug 10732489.\n\nChange-Id: I3de1350a55231aaa14dadc8709fd0fcf4960742c\n"
    },
    {
      "commit": "da51d36c74f62a1c50f3960919cb74c5da178cd2",
      "tree": "9a0d72cd3f535d979b47085dbaf30cecbfa33ba9",
      "parents": [
        "398d7f61866baab65e69b9107c36ba32bf824353",
        "d443479a45279f8f52daf4034698f2ab3c3e62f1"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Sep 26 23:23:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 23:23:19 2013 +0000"
      },
      "message": "Merge \"Fix Sending PAC Broadcast before downloaded\" into klp-dev"
    },
    {
      "commit": "d443479a45279f8f52daf4034698f2ab3c3e62f1",
      "tree": "263b04586d652f54c9f96753f86bcc7ff6550f14",
      "parents": [
        "f95c9aa7e1229963a4cb92eed46eafc205b03cb3"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Sep 23 13:32:39 2013 -0400"
      },
      "committer": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Thu Sep 26 23:06:32 2013 +0000"
      },
      "message": "Fix Sending PAC Broadcast before downloaded\n\nThe PacManager now waits until the local proxy is bound and the PAC file\nis downloaded before sending out the proxy broadcast.\n\nBug: 10895515\nChange-Id: Iaa7fc0989b52453aeeb720b44df0fca0fcb959ca\n"
    },
    {
      "commit": "5314a40b96c7c3ecc0dafeda387efe49a5c434e4",
      "tree": "69f40a925b4981c3fabfd5ccde0da5dd36aa3177",
      "parents": [
        "4e9c7d8ba3caa8b558e2a1de796c100a562445ae"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 26 12:40:16 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Sep 26 14:24:02 2013 -0700"
      },
      "message": "Revert behavior to perform onResume.\n\nBack out changes from CLs ag/363992 and ag/363859. These introduced\nthe bugs found in bug 10917435 which is now fixed. Note that backing\nout these changes reintroduces bug 10732489.\n\nChange-Id: Ic5105dd4cfc8bf79c6f06188283d1ee3680c370c\n"
    },
    {
      "commit": "4e9c7d8ba3caa8b558e2a1de796c100a562445ae",
      "tree": "b88e3e789deae8b61d254a8c9186c9e79d8559c5",
      "parents": [
        "c6afd813ac2ddaa576fc7866479e933627622248",
        "ae269d5727d0b070b1bef7979eb1ce7a09525c32"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 26 21:10:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 21:10:39 2013 +0000"
      },
      "message": "Merge \"Sigh.\" into klp-dev"
    },
    {
      "commit": "c6afd813ac2ddaa576fc7866479e933627622248",
      "tree": "c8ecb131d8260f3681cd72c87801314d94d092ef",
      "parents": [
        "2c854022bf7fb6d626b0e86dc0c16372774f2432",
        "cb247866acf10b039e02b600f8471b4a508f0ce8"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 26 21:10:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 21:10:19 2013 +0000"
      },
      "message": "Merge \"PackageManager#queryIntentServices breaks its contract.\" into klp-dev"
    },
    {
      "commit": "d2534f8c05ccdf692f1e265ae719b67290d15050",
      "tree": "81bb8feae2b9ffd6014a1d23b9362051387b1427",
      "parents": [
        "8c6c04197e58be6f3e46ba6a38f5d16e4fb091fa",
        "fc95e70abd1ab94668e312aa3862ca6b89832da4"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 26 21:02:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 21:02:10 2013 +0000"
      },
      "message": "Merge \"Don\u0027t remove restrictions files that are valid\" into klp-dev"
    },
    {
      "commit": "8c6c04197e58be6f3e46ba6a38f5d16e4fb091fa",
      "tree": "a8cca32f982d5127cb695917ef1b16aff80ed958",
      "parents": [
        "8f4e289f8c1f4743a459b232b9e5ac9d58095139",
        "ee2f7df9ee8a4f43c3b0858bad08a4f0a59a627f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 26 20:33:29 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 20:33:29 2013 +0000"
      },
      "message": "Merge \"Tighten flags enforcement, API to test Uris.\" into klp-dev"
    },
    {
      "commit": "ae269d5727d0b070b1bef7979eb1ce7a09525c32",
      "tree": "ea9e98e54d21a4fd544c14ff659966fd2af70c4f",
      "parents": [
        "91949b20c9e430eaba8cf2cf21abe403eb298a94"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 26 13:11:55 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Sep 26 13:23:43 2013 -0700"
      },
      "message": "Sigh.\n\nBug 10746233\n\nChange-Id: I18c84f2bd53a511fc86be42b5d72062650e5b289\n"
    },
    {
      "commit": "fc95e70abd1ab94668e312aa3862ca6b89832da4",
      "tree": "9f3163b1a1dd2b4562cbb3174d689ec9dd0060f4",
      "parents": [
        "562ce888af21fc18d1610545ff6373ee2ecbbb13"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 26 13:20:17 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Sep 26 13:20:17 2013 -0700"
      },
      "message": "Don\u0027t remove restrictions files that are valid\n\nThis fixes a bug in parsing the package name from a file name. The suffix\nwas not taken into account, resulting in all restrictions files being\nremoved on switching to a user.\n\nBug: 10947554\nChange-Id: I62725bbbdc0e15609872de3896130d4acbc35386\n"
    },
    {
      "commit": "ee2f7df9ee8a4f43c3b0858bad08a4f0a59a627f",
      "tree": "82b57d14fea5eabb6e951ebebc976e1a0c451021",
      "parents": [
        "6e85d24210c4966e4a76ff3b099566dd45398e91"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 26 11:32:30 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 26 13:14:45 2013 -0700"
      },
      "message": "Tighten flags enforcement, API to test Uris.\n\nCheck and throw if callers request invalid grant flags.  Add API to\ntest if a Uri is backend by a DocumentsProvider.\n\nBug: 10919391, 10935608\nChange-Id: Ifa6afefb95983558c8c64dc15ddf650e9fe07080\n"
    },
    {
      "commit": "cb247866acf10b039e02b600f8471b4a508f0ce8",
      "tree": "b22b0f8e5854c1d06a1425d69b81694bcdac4d32",
      "parents": [
        "b198115e492c390537ec400caa96baab1ccec5b9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Sep 25 23:52:36 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 26 12:34:49 2013 -0700"
      },
      "message": "PackageManager#queryIntentServices breaks its contract.\n\nPackageManager#queryIntentServices javadoc contract states that this\nmethod (and the like) never returns null, rather an empty list if\nno result is found. However, there is a path in the PackageManagerService\nthat returns null, thus breaking the contract. Handling the null list\nexplicitly.\n\nbug:10930560\n\nChange-Id: I708c51b8b7075e529145c8b0bf159efd6b697532\n"
    },
    {
      "commit": "5cab967bf2bab49777bfa86dff8b0f892192ede6",
      "tree": "87e70842ccb310021f207c821df7fdbc25e541c1",
      "parents": [
        "3adc49c6780633b8bccc3b5b8dca10788c2288bc",
        "704697b6197262678e930daa831a1916ddee4dcf"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 26 19:22:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 19:22:20 2013 +0000"
      },
      "message": "Merge \"Adding hidden APIs for observing the print jobs state.\" into klp-dev"
    },
    {
      "commit": "8828d3a153e28fe631edcd5145e6cc706e0b34c8",
      "tree": "b75aae97caeef14a34688afefb9694fb71825e1f",
      "parents": [
        "66a9b2d7392a7f6334b5fe23d00ba718f3fa1851"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 25 16:47:10 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 26 09:40:19 2013 -0700"
      },
      "message": "Fix issue #10919261: Don\u0027t clear OP_WRITE_SMS when resetting app prefs\n\nAdd a new array indicating whether each op allows itself to\nbe reset, and use it.\n\nChange-Id: I494f630bda170e061196a380563512e9e77b51a8\n"
    },
    {
      "commit": "704697b6197262678e930daa831a1916ddee4dcf",
      "tree": "9c486dcdc7e3986004147505c8dc7bc2e030bd02",
      "parents": [
        "0d38d0b42fba7dc50454d5c0652cf351c58a9db6"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Sep 21 20:30:24 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Sep 25 17:57:07 2013 -0700"
      },
      "message": "Adding hidden APIs for observing the print jobs state.\n\nThis is needed for implementing the print job settigns UI.\n\nbug:10935736\n\nChange-Id: I63b42cbf4ce6a259fa1af47fa368b148ca5621c1\n"
    },
    {
      "commit": "66a9b2d7392a7f6334b5fe23d00ba718f3fa1851",
      "tree": "b8367a3a531a4b54a714cd0e60e4f0e19d2f442a",
      "parents": [
        "be17a61447e1a7992a6c855059a3c43ab3216610",
        "cbd9a52f256087426feb19ac6e51eff772e81375"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 25 23:04:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 23:04:50 2013 +0000"
      },
      "message": "Merge \"Fix issue #10903002: com.facebook.katana keeps itself in A Services\" into klp-dev"
    },
    {
      "commit": "cbd9a52f256087426feb19ac6e51eff772e81375",
      "tree": "87c36b8305dc16b0a34b3c1bf66eea05034f4422",
      "parents": [
        "044fd573ce58142309f9fc503cf5d52af447d082"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 24 23:10:14 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 25 15:45:56 2013 -0700"
      },
      "message": "Fix issue #10903002: com.facebook.katana keeps itself in A Services\n\nNow when memory low, if a service\u0027s process is above\na selected pss, then the process is not allowed to go\nin to the service a list.\n\nAlso simplified the normal meminfo details dump to not\ninclude the shared dirty and shared clean sizes by\ndefault, since these can be very confusing.  You will\nstill get to see them with the \"-a\" flag.\n\nFinally some small steps to better managing service\nprocesses in the LRU list, so hopefully we can some\nday be better about letting them drop down in the list\nwhen there isn\u0027t really much interesting happening in\nthe process.  Not yet used at this point.\n\nChange-Id: I654bfd6d05de2a63120185ebb15ffda8cbeb5dac\n"
    },
    {
      "commit": "e66c1778f80f4b18e29e018eca3a338f125f23b9",
      "tree": "d3dac08442ebac90e41d660a04111195eaa3df35",
      "parents": [
        "d7fdcad22683e6191e92141a7e45e2414fe40a44"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Sep 20 14:30:59 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 25 15:16:41 2013 -0700"
      },
      "message": "Require that persistable Uri permissions be taken.\n\nChange our Intent flag to indicate that a Uri permission grant is\npersistable, but don\u0027t actually persist it until explicitly taken by\nthe receiving app.  This prevents apps from spamming each other if\npersisted permissions aren\u0027t really required.\n\nRemember the last time a persisted grant was taken by an app, and\nuse this to prune away the oldest grants when the number of grants\ngrows too large.  Allow apps to query persisted grants they are\nholding, and allow them to release previously persisted grants. Add\npublic UriPermission class to return grant details and timestamp.\n\nTrack various permission strengths separately, and combine together\nafter each mutation pass.  Persistable grants are currently treated\nlike global grants, but they could be moved to have owners in the\nfuture.  Require that grant holders trying to extend a persistable\npermission actually hold a persistable permission themselves.\n\nBug: 10835779\nChange-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759\n"
    },
    {
      "commit": "044fd573ce58142309f9fc503cf5d52af447d082",
      "tree": "404ccf1cb9c68875b5d501e0ec6aa40ad4c2f324",
      "parents": [
        "8488f9fa2e38e75e7ecbaac7d776900f8f1e5917",
        "6578ad17cab67767f0770b88990145d57f705d5f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Sep 25 01:20:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 01:20:38 2013 +0000"
      },
      "message": "Merge \"Don\u0027t crash when no alarms are scheduled\" into klp-dev"
    },
    {
      "commit": "8488f9fa2e38e75e7ecbaac7d776900f8f1e5917",
      "tree": "9b0159a71c3539f3ad7ebc57333e84ac26a75dcf",
      "parents": [
        "80e8a28c339e88b59b681eff20d5438526d6b699",
        "6ff6d010d117c623d5c2558602dc9dc7493a8ebf"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Sep 25 00:28:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 00:28:20 2013 +0000"
      },
      "message": "Merge \"Be less aggressive when not resuming top activity\" into klp-dev"
    },
    {
      "commit": "6578ad17cab67767f0770b88990145d57f705d5f",
      "tree": "379ccff57e56f38fbfb81c021839c2bf9e50eb3b",
      "parents": [
        "fe538cb60ea9032645e8bcdcb5ebbe5810626cff"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Sep 24 17:12:46 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Sep 24 17:12:46 2013 -0700"
      },
      "message": "Don\u0027t crash when no alarms are scheduled\n\nBacking until you hear glass is generally contraindicated.\n\nBug 10056484\n\nChange-Id: Ie1331fbbc5fbb5d6384a6cfc975aa1840a5c9a2d\n"
    },
    {
      "commit": "6ff6d010d117c623d5c2558602dc9dc7493a8ebf",
      "tree": "eef9537f1386b3de4eaa0050b1b06fe08e9083f9",
      "parents": [
        "254f5ffc47fe26d48fe3fd9f3bc513805dd04ac5"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 24 16:21:54 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 24 16:21:54 2013 -0700"
      },
      "message": "Be less aggressive when not resuming top activity\n\nThe previous fix for keeping activities from running on startup,\nag/363992, was keeping the home task from launching when the\nkeyguard should have allowed it.\n\nThis fix permits the home activity to launch in such situations.\n\nFixes bug 10916877.\n\nChange-Id: I429f0d5a13e06a247b9b6b7241f9a3514044c371\n"
    },
    {
      "commit": "5f86b90b8a224e21db89bacf78d4bd4d3f44342d",
      "tree": "f7846af27fd26db5972848819bf765d65472b867",
      "parents": [
        "6bc7cacfc8c34512278460028b7f6f0a4be220b4",
        "6d8dfbd8149942f25f2b9643a12f1fb38f3be834"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 24 21:46:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 24 21:46:17 2013 +0000"
      },
      "message": "Merge \"Fix issue #10848916: \"Always\" button is not working.\" into klp-dev"
    },
    {
      "commit": "0ab7d4d1a114b888889862ec7a5e2dc3bcd23fa5",
      "tree": "521bf7d803eb1dca63ec8477459a50ad9ea9e35b",
      "parents": [
        "cfdc0369f133787ed60015610016e9e53964bd77",
        "4e92a7cf0362c926a3521b33adacd031f91985ec"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Sep 24 21:18:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 24 21:18:00 2013 +0000"
      },
      "message": "Merge \"Remove Rect allocation in each layout pass.\" into klp-dev"
    },
    {
      "commit": "6d8dfbd8149942f25f2b9643a12f1fb38f3be834",
      "tree": "4b306b550d24d2462b83a30d056ac255ac422437",
      "parents": [
        "cfdc0369f133787ed60015610016e9e53964bd77"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 17:38:51 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 24 14:16:38 2013 -0700"
      },
      "message": "Fix issue #10848916: \"Always\" button is not working.\n\nThe problem was that the ResolverActivity filters some activities\nout of the list it shows, but it uses that display list as the\nlist of components the preference is set against when ultimately\nsetting it on the package manager...  but that filtered list is *not*\nthe right component set, since it is not the same as the package\nmanager\u0027s view on it.\n\nThe fix here is to retain the original set of matching components\nand use that when setting the preferred activity.  Note that this\ndoes mean that in very unusual cases where filtering is happeing\n(such as one of the activities not being exported but being seen\nas a possible completion from another app), then you will be setting\nthe preference for the complete set.  Ultimately we probably need\nto have the package manager apply these filtering rules up-front so\nthis is all consistent, but this is a very rare case so not that\nimportant.\n\nAnd then most of the change here is just improving the debug\noutput for intent resolution.\n\nChange-Id: Ie35ac2c05a45946439951bbf41433c8b7de79c05\n"
    },
    {
      "commit": "4e92a7cf0362c926a3521b33adacd031f91985ec",
      "tree": "677cc28928309821f95e9bf500623ab7abcbf071",
      "parents": [
        "fac17cc7b1e8c3b73a457c2d85e2f832461fb26e"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Sep 24 17:09:05 2013 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Sep 24 17:09:05 2013 -0400"
      },
      "message": "Remove Rect allocation in each layout pass.\n\nBug:10786445\nChange-Id: I0cb1ab7697f33e02adeb5319bae19d3a1d20753c\n"
    },
    {
      "commit": "0d38d0b42fba7dc50454d5c0652cf351c58a9db6",
      "tree": "6c21f1718a04d83e506be5a5a9996598b84f6fcc",
      "parents": [
        "08df7d9137bd90c57623bc9cc9db3629e3a945eb",
        "b5f180608db6de123b54ae94de569ff1ebca705c"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Sep 24 20:37:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 24 20:37:59 2013 +0000"
      },
      "message": "Merge \"Multiple printer discovery session instances and other bugs.\" into klp-dev"
    },
    {
      "commit": "9bf6c5cec834343104aa326b65b86c064c86c6cb",
      "tree": "ae79d7677f50b0bb9f50b99751a28f240bec556a",
      "parents": [
        "566d6b653466a4aed3a47b13ec03171912c48287",
        "ac56514ea7ff5e30f4d3010da2b8ebbdb36406de"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 24 19:33:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 24 19:33:17 2013 +0000"
      },
      "message": "Merge \"Fix method for determining focused window.\" into klp-dev"
    },
    {
      "commit": "254f5ffc47fe26d48fe3fd9f3bc513805dd04ac5",
      "tree": "191b0c49b3d071ca2644fc917fbb749c17f466b9",
      "parents": [
        "bc05918c88fe9450008ba3adf6caed6afa46550b",
        "2acc389d6197f8b099e7d72ea944ccbf14065761"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 24 17:39:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 24 17:39:17 2013 +0000"
      },
      "message": "Merge \"Pause activities behind keyguard after boot.\" into klp-dev"
    },
    {
      "commit": "2acc389d6197f8b099e7d72ea944ccbf14065761",
      "tree": "d33d079f2b33ca80f57f5642c452a344c171d750",
      "parents": [
        "10385a17cb31de6fdf495b50d17a0afbec83e98e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 23 10:28:14 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 24 10:36:05 2013 -0700"
      },
      "message": "Pause activities behind keyguard after boot.\n\nFollowing boot the initial activity was automatically resumed even if\na lockscreen is obscuring it. Refer to CL 363859 for why this breaks\nthings.\n\nThis fix pauses all activities the first time a lockscreen appears.\n\nCompletes the fix for bug 10732489.\n\nChange-Id: I6fcac14b574c495aa0e16d798cddc1263c6b4c25\n"
    },
    {
      "commit": "ac56514ea7ff5e30f4d3010da2b8ebbdb36406de",
      "tree": "e4a8414ae8021176c5e0f10c7c12eadea5327d96",
      "parents": [
        "dbfceb7ea0f2925fa2e9cce4a5eece0b72d9c093"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 23 17:37:09 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Sep 24 09:01:48 2013 -0700"
      },
      "message": "Fix method for determining focused window.\n\nMethod had been rewritten to be task-based and there were errors\nwhen a task had no apptokens. New version is much easier to\nmaintain.\n\nMaybe fixes bug 10689184.\n\nChange-Id: I5e4c8447a33a4f5686296c20b9f9fe302c9ae49f\n"
    },
    {
      "commit": "b5f180608db6de123b54ae94de569ff1ebca705c",
      "tree": "a6e8f452458e30c3cf86d942131185c44cdc6e19",
      "parents": [
        "89e1fec9af78b94cbafc21fe22a69213ae31a6fa"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 23 18:48:34 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Sep 23 23:41:12 2013 -0700"
      },
      "message": "Multiple printer discovery session instances and other bugs.\n\n1. The fused printers provider was dropping on the floor received printers\n    if it was not active. It is in fact a loaded and if not active it should compute\n    the printers and not deliver them until activated. This fixes an issue where\n    opening the print dialog, then enabling a print service results in the printers\n    reported by the service not showing up in the print dialog.\n\n2. Printer discovery session was created twice which leads to incorrect behavior\n    as the pint system is designed around the contract that there is a single\n    printer discovery session per service at a time. This was possible due to an\n    incorrect initialization of a member variable resulting in double session creation\n    when the print service is connected.\n\n3. When a print service is enabled during discovery we did not use the correct\n    condition to start printer discovery resulting in starting it all the time even if\n    not needed. Also if some of the printers that had to be tracked are reported\n    by the service just enabled (typically historical printers) we did not ask the\n    service to start tracking them.\n\n4. Removed some logging.\n\nbug:10903343\n\nChange-Id: I46c049471a4b099fc668df3aee2aaedc8d7786ac\n"
    },
    {
      "commit": "2d4eee38295e2cc65f280bf90580dccb5ef1d266",
      "tree": "8c9c0c45d39e4ef50a464491b4e101f6eb02a1b7",
      "parents": [
        "d38904965d03e9e9b902b78cadfb8b7a799855a9",
        "6d9ef38b0603133ee1a9c7bd63f1d971ae1d62ad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 22:10:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 23 22:10:09 2013 +0000"
      },
      "message": "Merge \"Implement issue #10895990: Better durations for proc stats\" into klp-dev"
    },
    {
      "commit": "6d9ef38b0603133ee1a9c7bd63f1d971ae1d62ad",
      "tree": "876ad6ccc5ce2af733369d59b6e0dd42b460509a",
      "parents": [
        "4bf0fcef9296b53114e86490d79956986f8b93a6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 14:39:23 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 14:39:23 2013 -0700"
      },
      "message": "Implement issue #10895990: Better durations for proc stats\n\nReduce the batching down to 3 hours, so that we can show shorter\ndurations in the UI.\n\nChange-Id: I46af674b0024b828595ed3cdad2b47fe47d71ed8\n"
    },
    {
      "commit": "d3fbba15799cb69cd3b524a2d1fbf6d758f287a5",
      "tree": "0170732579f58a20d46a9bc6d8745df331e9e6b8",
      "parents": [
        "ba0abd0abdaf3eedd42927eb5b51b202f0f348eb",
        "fefefbb17542a48f76aaabac42b376967bbcd3ed"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Mon Sep 23 20:07:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 23 20:07:10 2013 +0000"
      },
      "message": "Merge \"Upload fsck logs to the dropbox when error found\" into klp-dev"
    },
    {
      "commit": "90007f7440d3bed04de01619da7506bed40ea171",
      "tree": "b0a2f983b41161582b19a649eea4ed901f880d70",
      "parents": [
        "4bf0fcef9296b53114e86490d79956986f8b93a6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 13:00:23 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 13:01:43 2013 -0700"
      },
      "message": "Fix issue #10876433: java.lang.IllegalStateException in...\n\n...ActivityManagerService.updateLruProcessInternalLocked on bluetooth\n\nDon\u0027t try to move process records associated with dead service\nconnections.\n\nTechnically we should probably be clearing the binding/service\u0027s\napp entry so we don\u0027t get into this case, but the least intrusive\nchange for now is this check.\n\nChange-Id: I6683e692eb5a8fa4f8ec1fa31bd63ec3d7f878ef\n"
    },
    {
      "commit": "4bf0fcef9296b53114e86490d79956986f8b93a6",
      "tree": "d7a470954fe0604d2def44f3412dada8018f98c1",
      "parents": [
        "e14d0c211fb669f88c284af85c942135e834e498",
        "38ba6e9ee3e634914153c2181f050a2bb250e484"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 18:10:27 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 23 18:10:28 2013 +0000"
      },
      "message": "Merge \"Work on issue #10759595: preferred tag doesn\u0027t prevent...\" into klp-dev"
    },
    {
      "commit": "38ba6e9ee3e634914153c2181f050a2bb250e484",
      "tree": "73cc0da10e005b30a673583fe71e0e247ce03f60",
      "parents": [
        "3ba21e979524367631de70dfc82075693d9c616d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 11:08:52 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 11:08:52 2013 -0700"
      },
      "message": "Work on issue #10759595: preferred tag doesn\u0027t prevent...\n\n...activity chooser from being shown\n\nAdd more useful output when intent filter debugging is enabled.\n\nChange-Id: I3722b03ed625046398e81233cf7fb6aa5ded5eca\n"
    },
    {
      "commit": "e14d0c211fb669f88c284af85c942135e834e498",
      "tree": "339a34252d15fc53cfd1aaea46b016137ad79299",
      "parents": [
        "662c326e5fc02fa11226de1267b7f60485f5638a",
        "10385a17cb31de6fdf495b50d17a0afbec83e98e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 23 17:46:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 23 17:46:30 2013 +0000"
      },
      "message": "Merge \"Ensure that activities behind keyguard are paused.\" into klp-dev"
    },
    {
      "commit": "75256476c87cc8c4f7e5124c9b944c37b2f51d3d",
      "tree": "4da8831ebda80e2369583bbb1b572574de278f9b",
      "parents": [
        "a9f97a0a58066a29391629da85ed25a8e876dd40",
        "ed37b93af8d06243cbddec20eef2e89cd9b3677e"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Mon Sep 23 17:35:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 23 17:35:16 2013 +0000"
      },
      "message": "Merge \"fix deadlock caused by clearAllBackoffs in SSE\" into klp-dev"
    },
    {
      "commit": "a3abca90aea1b0b6ab0be56b3ec008b91dfc090f",
      "tree": "269e3b7cd728d0ecd5961ae1cf282629ba39b386",
      "parents": [
        "f9b70ab87e8f26b57ac3d8dc3b77052e747cb888",
        "9bb0ee9131b0fa8cf2720f200575ba2ede48a65c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 16:36:29 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 23 16:36:29 2013 +0000"
      },
      "message": "Merge \"Issue #10461551: KLP API Review: AppOpsManager\" into klp-dev"
    },
    {
      "commit": "9bb0ee9131b0fa8cf2720f200575ba2ede48a65c",
      "tree": "98e66b59f5a84b0916aa8518999fa2f1c2e66aea",
      "parents": [
        "3ba21e979524367631de70dfc82075693d9c616d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 22 12:31:38 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 23 09:35:21 2013 -0700"
      },
      "message": "Issue #10461551: KLP API Review: AppOpsManager\n\nChanged public constants from integers to strings.  Internally\neverything is still integers, since we want that more efficient\nrepresentation for most things.\n\nChanged the Callback interface to OnOpChangedListener.  We also\nhave a private versin that again takes an int, and tricks to\nmake both work.\n\nReworked the class documentation to be appropriate to the SDK\n(as much as it can be); most of the existing documentation is\nmoved to the private implementation.  Also added documentation\nof the MODE constants.\n\nChange-Id: I4f7e73cc99fe66beff9194e960e072e2aa9458f8\n"
    },
    {
      "commit": "10385a17cb31de6fdf495b50d17a0afbec83e98e",
      "tree": "6438a116831cde656df3f2b7bd1bfe62769f0fa0",
      "parents": [
        "dbfceb7ea0f2925fa2e9cce4a5eece0b72d9c093"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Sep 22 21:08:32 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Sep 23 09:05:15 2013 -0700"
      },
      "message": "Ensure that activities behind keyguard are paused.\n\nTLDR: Having a resumed activity behind keyguard can cause the keyguard\nnot to be dismissed.\n\nSwiping the home button to launch Google Now causes an ASSIST intent\nto be launched. The ASSIST intent starts SearchActivity which then\nlaunches GEL. If an activity is resumed behind the keyguard when this\nhappens then that activity will be paused.\n\nBecause that activity is PAUSING, ActivityStackSupervisor\nstartActivityLocked() doesn\u0027t call dismissKeyguard() immediately.\nInstead dismissKeyguard will be called later when GEL switches from\nnot-visible to visible. However, if the paused activity happens to be\nGEL then there is never a not-visible to visible transition and\ndismissKeyguard never gets called.\n\nThis fix removes an unnecessary call to resumeTopActivitiesLocked\nwhich was causing activities behind the lockscreen to be resumed.\n\nThis fixes bug 10732489 except immediately after boot. Pausing the\ninitial activity if the lockscreen is visible after boot is deferred\nfor another CL.\n\nChange-Id: I323262596ae41bc5a2700bae5942f6a4fba80936\n"
    }
  ],
  "next": "2be00933163bb2bfa6b43cf2e1ddde7c284c7c4c"
}
