)]}'
{
  "log": [
    {
      "commit": "9a010d0a4157f97870bc38bd3dd0a8f4fd18a172",
      "tree": "7338357decc0b41ed6ff73f7853b700c7790c0c2",
      "parents": [
        "96695d2f5961cbfac2d5c5ea6a7c03612991d5fb",
        "7a09b8322cab26d6e3da1362d3c74964ae66b5d4"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Aug 18 07:41:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 18 07:41:50 2015 +0000"
      },
      "message": "Merge \"Allow debugging only for apps forked from zygote\" into mnc-dev"
    },
    {
      "commit": "56f0ff3c48c88b969d9bf5e62eb1ee590e03e461",
      "tree": "b78a6bc97b2fc7ebe99d2153a2ccbee1b6433043",
      "parents": [
        "beabcb92cbdec6f68bd712c9972e6f8377b78f46"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Aug 13 16:29:33 2015 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Aug 13 18:56:05 2015 -0700"
      },
      "message": "Make \"Ask every time\" actually work that way\n\n..in link-opening behavior.  If a candidate is marked as \"ask\nevery time,\" then the user is guaranteed to get a disambiguation\nprompt including that candidate even when some other candidate\napp is in the \"always prefer this over a browser\" state.\n\nBug 23147746\n\nChange-Id: I904d8697a992b3f16f32b1c1b49c2bf9424c7137\n"
    },
    {
      "commit": "7a09b8322cab26d6e3da1362d3c74964ae66b5d4",
      "tree": "268e2334d28f33d87c2b4d8492b9e9726094e603",
      "parents": [
        "90b030bae8cc1f13da7948fef4aff1d171a2885a"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Aug 10 18:55:34 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Aug 10 20:39:13 2015 +0200"
      },
      "message": "Allow debugging only for apps forked from zygote\n\nWhen starting the runtime from app_process, we only pass JDWP options\nif starting zygote. It prevents from opening a JDWP connection in\nnon-zygote programs while Android apps (forked from zygote) remain\ndebuggable.\n\nBug: 23050463\nChange-Id: If8ea719063a65db4cdeed69a838b52e87b078b08\n"
    },
    {
      "commit": "d3586e174f6d14fd6079e4a2a2b7908b6e45c834",
      "tree": "a417e17f41df850b822e50c41a30c9504dd2b563",
      "parents": [
        "5faa033615dcb4297fcb6a81828099285364942d"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Jul 28 13:35:35 2015 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue Jul 28 15:49:42 2015 -0700"
      },
      "message": "Add a command to register SIM Phone account.\n\nPhone accounts with SIM_SUBSCRIPTION capabiltiy needs system permission.\nHence adding a command to add sunc phone accounts for CTS testing of\nremote connections.\n\nBUG: 20303674\nChange-Id: Ieb7349f906ec8209776ffbe39ed3633f01ba1e7c\n"
    },
    {
      "commit": "6b66a4a8a342b8156f73d83771caa1db2f866529",
      "tree": "471b52029a97935a8bbabc6f035911f54a765618",
      "parents": [
        "eea9892d9ec24a5a9c4911efec8fe28e3d1af968"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 23 17:36:13 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 24 00:37:23 2015 +0000"
      },
      "message": "use findProcess instead of getProcess\n\nBug: 22701182\nChange-Id: I2ec56c55c49401f2f213bbd318e867fd73b37672\n"
    },
    {
      "commit": "f40c66d1a13b7cf88ba06cff10f6343471afd840",
      "tree": "fcb5ac5eaa34631b60acf1fbc0fac74ba8dfc427",
      "parents": [
        "1aadfc2bc46a14b6c95dc45ec11c4191cac5062d"
      ],
      "author": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Thu Jul 23 14:51:41 2015 -0700"
      },
      "committer": {
        "name": "Tim Kilbourn",
        "email": "tkilbourn@google.com",
        "time": "Thu Jul 23 14:51:41 2015 -0700"
      },
      "message": "Add a wm command to dismiss the keyguard.\n\nIf the user has a screen lock, the user is prompted to authenticate.\nOtherwise the keyguard is dismissed.\n\nBug: 22694837\nChange-Id: I783fc6f08fb21977aa4f1e884b0a4354a3154805\n"
    },
    {
      "commit": "f6e9a3ede53ae487838c19714ad62f25a4a6ca4c",
      "tree": "ddc88092c0d07f9d933d097a34e8312655b930e1",
      "parents": [
        "4fc1b707442451f4a826929fc7e72967d443c73f",
        "85ced632680642fce680d141ddd10299ff849233"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Jul 22 19:40:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 22 19:40:44 2015 +0000"
      },
      "message": "Merge \"More info to support CTS, fix reconcile bug.\" into mnc-dev"
    },
    {
      "commit": "85ced632680642fce680d141ddd10299ff849233",
      "tree": "31f3658bafa45232a76cb99d520a6fbccf6e04d1",
      "parents": [
        "54d42be6eb149b3e43115e810e4a1b92e9865d05"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 22 11:11:46 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 22 11:11:50 2015 -0700"
      },
      "message": "More info to support CTS, fix reconcile bug.\n\nSurface more details and commands for storage volumes to support\nCTS testing.  Fix user reconciliation bug that skipped user setup on\nempty volumes.\n\nBug: 22658804, 22633097\nChange-Id: I4221312d1cce24d1f5a2c108095cf3cf471598ed\n"
    },
    {
      "commit": "2ba3fec6e0222754d93ed7a491354164d113ad6e",
      "tree": "4f66a67081af17f2a561a8c2f83804c7c2cc901d",
      "parents": [
        "41cfd3f8c0df036345807f87b828b4b68bdaffdf",
        "2c7836befce222e501299520bb2b15a63e5a7503"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Wed Jul 22 13:49:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 22 13:49:20 2015 +0000"
      },
      "message": "Merge \"Support waiting for adb shell am stop-user to complete.\" into mnc-dev"
    },
    {
      "commit": "2c7836befce222e501299520bb2b15a63e5a7503",
      "tree": "5d684306928021682ab2a9a323052afca768a165",
      "parents": [
        "b2eed1d6e11f38c00ce1776ade14dfa004c6119f"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Mon Jul 20 16:56:28 2015 +0100"
      },
      "committer": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Tue Jul 21 18:22:28 2015 +0100"
      },
      "message": "Support waiting for adb shell am stop-user to complete.\n\nUse stop user callback to wait for AM.stopUser to complete\nif -w flag is passed to adb shell am stop-user\n\nbug: 22599411\nChange-Id: I8adbfdbb1ba69a88a67431da65f0a85035587c2d\n"
    },
    {
      "commit": "387225ff0173986d1c7f0e8d0a657117ad51cf15",
      "tree": "d3b3abc454a1d2fd58e207914a56f4ff3ed7eeae",
      "parents": [
        "a6bf393dc5b022f11c698dda610e209b5090d8c0"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 20 15:39:39 2015 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 20 17:45:17 2015 -0700"
      },
      "message": "Add \u0027pm\u0027 operation to set a package\u0027s app-linking state\n\nSet an app\u0027s state:\n\n  pm set-app-link [--user USER_ID] PACKAGE {always|ask|never|undefined}\n\nRead an app\u0027s current state:\n\n  pm get-app-link [--user USER_ID] PACKAGE\n\nThe latter prints to stdout one of the strings usable as an argument to\nset-app-link.  If an error is encountered, the string printed to\nstderr begins with \"Error: \".\n\nBug 19628527\n\nChange-Id: I68b6dc24445917807345a8cf5baa2078490740af\n"
    },
    {
      "commit": "280a64e793d081847c5dcea23ed9be38aa5332d2",
      "tree": "a9ea0a4aca5e578efb1b9e252477cedfa79c547f",
      "parents": [
        "18709f9a0095afe6dba11f9dd71e3210c5f4e1db"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 13 14:48:08 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 15 09:59:07 2015 -0700"
      },
      "message": "Improve tracking of screen on reasons.\n\n- New screen on app op to record the last time each app has\n  caused the screen to be turned on.\n- New battery stats event that tells us the reason the screen\n  has been asked to turn on.\n- Propagate out power manager API to specify the reason a caller\n  is asking to have the screen turned on.\n\nNote that currently the window flag to turn the screen on bypasses\nmuch of this because it is being handled in the window manager by\njust directly telling the power manager to turn the screen on.  To\nmake this better we need a new API where it can specify who it is\ncalling the API for.\n\nChange-Id: I667e56cb1f80508d054da004db667efbcc22e971\n"
    },
    {
      "commit": "d4fd8c766da8a70e3359bbc7efbbc79496efe71a",
      "tree": "971bad23792d3f9486e1ef7a0b0fe6f2952c84b9",
      "parents": [
        "b42cb352a350bac198470f65125aa151ecacff13"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jul 13 19:19:25 2015 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jul 14 17:25:42 2015 -0700"
      },
      "message": "Added sendBroadcastMultiplePermissions method\n\nAdded Context.sendBroadcastMultiplePermissions(Intent intent, String[]\nreceiverPermissions) method, which allows an array of required permissions\nto be enforced.\n\nBug: 21852542\nChange-Id: I27c9130e8f004b428452501ebc8a36aabde1f343\n"
    },
    {
      "commit": "396080dd021c431c895012b0e4262021b457abf2",
      "tree": "3b6363fd22549a8d93643212da3f4d05b17823fa",
      "parents": [
        "a80d264be67ebb3514849e22ae0d245d4ef53446"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 09 09:16:04 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jul 09 09:16:07 2015 -0700"
      },
      "message": "Add grant flag support to \"install-create\" verb.\n\nThis matches the \"install\" behavior.\n\nBug: 22331569\nChange-Id: I07bfe067bd4be01fc92126750b0ff25a5c5ba5c9\n"
    },
    {
      "commit": "9d3cd8484e9ec70aef2ca8d4d33ea2943c7b67ea",
      "tree": "b09527c1743d93ec12ae3e2adca9b4b9d62446b9",
      "parents": [
        "9a8db29397694d139905e690346f56711a16dce9",
        "edbeacc56239c8e261b4d4a7ab78a89805acd90a"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Jul 08 03:25:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 08 03:25:33 2015 +0000"
      },
      "message": "Merge \"Add libhidcommand_jni.so to required module.\" into mnc-dev"
    },
    {
      "commit": "3e7d977ff7c743713f0ad6336a039d7760ba47d1",
      "tree": "78c832f2bf7fde55fd89dcfcebf19db74e7e6ac1",
      "parents": [
        "79d9219c9f9734025837a01a6f8e490d1e0ab57e"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 06 18:31:23 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 07 14:02:51 2015 -0700"
      },
      "message": "Grant installer and verifier install permissions robustly\n\nbug:22248271\n\nChange-Id: I3a47ae9a112ba7d88b421fcb5f9651d1168ba7a5\n"
    },
    {
      "commit": "edbeacc56239c8e261b4d4a7ab78a89805acd90a",
      "tree": "4c2711d3e1bc4cb58dd0ababf19478e6bfd843d7",
      "parents": [
        "22233b51c3c3e678571dbe5e6d1035b7e1440408"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 02 17:51:16 2015 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 02 17:58:29 2015 +0900"
      },
      "message": "Add libhidcommand_jni.so to required module.\n\nTo install libhidcommand_jni.so and hid command at the same time,\nset libhidcommand_jni as a required module of hid command.\n\nBug: 22131060\nChange-Id: I73ad1954eb73896425362a63fab0e63a61b9c0a0\n"
    },
    {
      "commit": "99b6043dad9d215cf15810b885b6b8c215dd5b5a",
      "tree": "ab714f7926640fbe8dafa4668f251e33e5f915c4",
      "parents": [
        "2438c9b2e7892a8515209cb1d440c3b5147165b2"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Jun 27 13:15:22 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 01 16:20:00 2015 -0700"
      },
      "message": "Teach receivers, activities, providers, and services app ops.\n\nPerform app op check in addition to the permisison check for all four\npaltform components - activities, content providers, broadcast receivers,\nservices - if they are guarded by a permssion that has an associated app\nop. This ensures that legacy apps will behave correctly if the permission\nof the caller has been revoked, i.e. the app op for that permission was\ndisabled.\n\nbug:22199666\n\nChange-Id: Ia22d1c38d58b3cd6aabdc655cb7c7bddd85da7a2\n"
    },
    {
      "commit": "ca8e6da41c6e63e3ed17eb461171f1ef2e1d29c6",
      "tree": "12d4d5b3d414d42fb72e9033b286d88a0e0ee952",
      "parents": [
        "ff81025a9def3e56908339ad846bff515d5ecbfb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 24 15:19:17 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 13:28:29 2015 -0700"
      },
      "message": "Fix issue #22023824: Download folder is not created in internal storage\n\nThe media provider and some other things need to be given storage access.\n\nAlso, seems like we should give storage access to the camera app as well.\n\nAnd add a dump dump command that will dump data about a particular\npermission name.\n\nChange-Id: Idaaa9bba2ff4dc95290cf6d17e5df933df91e909\n"
    },
    {
      "commit": "c30454c10457fe034a861b4bf19fd1fc240bd893",
      "tree": "d3827fd7ad2ed36dd3fa3e9997e8c14df336ca2b",
      "parents": [
        "6b0f384f0042c21129466c100e20aec1a325a8da"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 24 13:24:35 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 24 13:35:46 2015 -0700"
      },
      "message": "Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()\n\nBug:22055550\nChange-Id: I1e732e95698daf44bcb223cafde3d3c22746d232\n"
    },
    {
      "commit": "f5ad42f4324bfb7aa28f0967e2fcc89f55d6e91f",
      "tree": "a58068f3c2d1b97ae143c930c12a002beea076ab",
      "parents": [
        "de1e281bbc062410a9079d2640b760271bde1043"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Jun 12 13:59:03 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Jun 23 09:08:29 2015 -0700"
      },
      "message": "Update surfaces secure flag on screen capture setting change\n\nAlso, added \u0027wm screen-capture [userId] [true|false]\u0027\ncommand.\n\nBug: 20934462\nChange-Id: I14711003d7691fc4495428c12c9ff3457cd3773c\n"
    },
    {
      "commit": "121197326cca17b65d14ca1454e1bcbd0340061a",
      "tree": "d27fde807097f1fb23ff9b154b4166ce4f3ad181",
      "parents": [
        "ca7febf4b8fc429cb222287959da73b5cd16a0e9",
        "1f2c7688c1f673790d61645632ae5e1838f021a4"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Jun 23 12:45:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 12:45:12 2015 +0000"
      },
      "message": "Merge \"Add new `hid` command.\" into mnc-dev"
    },
    {
      "commit": "bf30b4fd92496cb0d66053ce777f29b4a07494b2",
      "tree": "9e2fdbb608b5a2a9797d9d45276d2d16f83224d1",
      "parents": [
        "2fbe248c155a716d0345f683963aef7c95cc02b6",
        "ad81791641071e8daab0d27e49731975c5efcba6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jun 19 23:46:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 23:46:55 2015 +0000"
      },
      "message": "Merge \"Add libwilhelm to app_process.\" into mnc-dev"
    },
    {
      "commit": "ad81791641071e8daab0d27e49731975c5efcba6",
      "tree": "a96da0d30b811a4b4fb869dfc773cb808d63c704",
      "parents": [
        "90b3b93de460ccd1fc1116154f5d61bd2bc93d25"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 17 15:03:20 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 17 15:30:29 2015 -0700"
      },
      "message": "Add libwilhelm to app_process.\n\nIf an app exposes new/delete from a shared library, the libwilhelm\nshared library can wind up using the new from the app shared library,\nand the delete from libc++. It is completely legal for the app to\nexport new/delete in this way, so in order to avoid this situation,\npreload libwilhelm in the zygote. This forces libwilhelm to always\nresolve the new/delete from libc++.\n\nThis library cannot be added to android_runtime since libwilhelm\nhas a shared library which depends on android_runtime.\n\nBug: 21032018\nChange-Id: Id89c196df62d98d62855a1421f397b75a7e990a9\n"
    },
    {
      "commit": "a750a63d639f6936af456df904fa6b9ba941885e",
      "tree": "41cd79aec0dedbf162eab2749bd6dec45bb7509d",
      "parents": [
        "f5820276635a2d3d2e3c694eddba7e6a02093a20"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 16 17:18:23 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 17 11:41:45 2015 -0700"
      },
      "message": "Fix issue #21814207 and issue #21814212 (alarm manager)\n\nIssue #21814207: AlarmManager.setAndAllowWhileIdle should also allow wake locks.\n\nIntroduce a whole new infrastructure for providing options when\nsending broadcasts, much like ActivityOptions.  There is a single\noption right now, asking the activity manager to apply a tempory\nwhitelist to each receiver of the broadcast.\n\nIssue #21814212: Need to allow configuration of alarm manager parameters\n\nThe various alarm manager timing configurations are not modifiable\nthrough settings, much like DeviceIdleController.  Also did a few\ntweaks in the existing DeviceIdleController impl.\n\nChange-Id: Ifd01013185acc4de668617b1e46e78e30ebed041\n"
    },
    {
      "commit": "4600dd053dbdbd4b95f3b11057a1cc55b99f9c77",
      "tree": "c4bb116de6b55b054a73083165c9512fbf21c164",
      "parents": [
        "5e063b1da52cca1b93b19bdf7be694aabf95d336"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jun 16 12:02:57 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 08:40:25 2015 +0000"
      },
      "message": "ZipFileRO: Use precise widths for zip file types.\n\ngetEntryInfo crashes on 64-bit devices because \"long\" types\nwere being passed int pointers (that pointed to a stack frame)\nthat were reinterpret_cast\u0027ed to long* (sigh.). To fix this issue\nonce and for all, use types with explicitly defined widths.\n\nThis change also removes some dead invariant checking from\nAsset.cpp instead of cleaning it up.\n\nNote that we\u0027ve introduced a wart in NativeLibraryHelper, where\nwe need to deal with zlib\u0027s uLong type, which is \"at least 32 bits\nwide\".\n\nbug: 21622286\n\nChange-Id: Iae675a9601db7aae03a8b80b40321d2cc1d97f50\n"
    },
    {
      "commit": "fbb32f6440ed74a4d27eec03569520580d00da42",
      "tree": "1b2efd8333d77b3f0095f39d00e7a7a153aec968",
      "parents": [
        "2cc03e5606ad7cd473283898400506d5ac2237ba"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jun 12 15:34:35 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jun 16 12:06:31 2015 +0100"
      },
      "message": "Better systrace slices for application startup.\n\nThis change adds three new timeslices :\n\n- PostFork : As soon as possible after the app forks from the\n  zygote. Can be used in conjunction with the system_server\n  \"Start proc:\" event to derive an upper bound on fork() and\n  zygote overhead.\n\n- RuntimeInit \u0026 ActivityThreadMain for ZygoteInit#runtimeInit\n  and ActivityThread#main.\n\nActivityThread#handleBindApplication and higher level functions\nare already well instrumented in systrace. handleBindApplication\nshould occur immediately after ActivityThread#main.\n\nNote that we use the Activity manager tag to make it easier to\ncorrelate these new events with surrounding events (Start proc\nand handleBindApplication) that are already using the AM tag.\n\nbug: 21632700\nChange-Id: Ibc01f1721f962c913f3c02a51763b6feb1eb6a4d\n"
    },
    {
      "commit": "1f2c7688c1f673790d61645632ae5e1838f021a4",
      "tree": "73fcbb2d92ccc790cf7bf62b31c8c2d28f6264b3",
      "parents": [
        "6a5c0e10b192fe70e237c83bc752e2cbf66ffe0e"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Jun 03 13:46:48 2015 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Jun 12 11:49:29 2015 +0100"
      },
      "message": "Add new `hid` command.\n\nThis allows the shell user to inject HID events.\n\nChange-Id: I37faff576299ff14092b61ed39f2a1c086f672a5\n"
    },
    {
      "commit": "8cd95ee0d0d643d3500fbd0841b658053623902e",
      "tree": "39def150c606cff1d623fa23e5f50f756a9bc6da",
      "parents": [
        "b535c5e28a7d689020461e9f9e8bed165eacc522"
      ],
      "author": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Thu Jun 11 15:48:17 2015 -0700"
      },
      "committer": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Thu Jun 11 15:49:08 2015 -0700"
      },
      "message": "Add adb shell telecom get-system-dialer\n\nBug: 20303674\nChange-Id: I7ce52e94c434846c262f2d6cc6d41992e259b45f\n"
    },
    {
      "commit": "a6dd714a5ab620cf5b84c2d1f680ddacf763559d",
      "tree": "bd39933a1f822ef91b10f5d9b9fa2062424b9fbf",
      "parents": [
        "7cbe9f03a968ef42840d234ea325b69f4b1f1417",
        "f36a0f5d178786d07ab2d674003cf865c9e7a35f"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jun 10 20:53:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 20:53:24 2015 +0000"
      },
      "message": "Merge \"Added new options (--eial, --elal, --efal, and --esal) to pass multiple extras as ArrayList instead of Array. BUG: 21757911 Change-Id: I7e2a9c81ad4606a8aba90ea4820ba0732a1c8749 \tmodified:   src/com/android/commands/am/Am.java  On branch handles_array_list  Changes to be committed: \tmodified:   src/com/android/commands/am/Am.java\" into mnc-dev"
    },
    {
      "commit": "f36a0f5d178786d07ab2d674003cf865c9e7a35f",
      "tree": "4848277545058f4a3b51484844e4055c6b97b7ab",
      "parents": [
        "f22030d1c59aca4f9ad2af7d4c4d646b0b619f27"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jun 10 12:10:57 2015 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Jun 10 13:44:04 2015 -0700"
      },
      "message": "Added new options (--eial, --elal, --efal, and --esal) to pass multiple extras as ArrayList instead of Array.\nBUG: 21757911\nChange-Id: I7e2a9c81ad4606a8aba90ea4820ba0732a1c8749\n\tmodified:   src/com/android/commands/am/Am.java\n On branch handles_array_list\n Changes to be committed:\n\tmodified:   src/com/android/commands/am/Am.java\n"
    },
    {
      "commit": "56b94e1593fde9a09546854c638cff991da6fcb2",
      "tree": "f7338a45ca2482f698a4997578c5d5199641f5e5",
      "parents": [
        "767ec84354d97624b2b848c8a0b8877d87ebb5eb",
        "cf70d71781a40d197c3ecde89351976b27eb9a8a"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Jun 10 18:19:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 18:19:54 2015 +0000"
      },
      "message": "Merge \"screencap: Rotate images when display is rotated\" into mnc-dev"
    },
    {
      "commit": "ab2340996a515ea0c437ad5bb1ea1fa88ab9edff",
      "tree": "5a0fe9a3ade570643394908c989a2cd371268a40",
      "parents": [
        "4e83cc9fc15fa4795a41d4d8dfd2b00c1ad966fd"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 09 21:42:22 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 09 21:42:22 2015 -0700"
      },
      "message": "Flags to select storage volume for app installs.\n\nRemote callers can now provide the \"--install-location\" value from\nthe APK to help select a location, or they can explicitly force a\nvolume by UUID.\n\nBug: 21676789\nChange-Id: Iefc92d770a851fc33e37edbf259fdb8df2b14ae5\n"
    },
    {
      "commit": "cf70d71781a40d197c3ecde89351976b27eb9a8a",
      "tree": "612a6015634d2da200703a1547fb0a6c45e22a61",
      "parents": [
        "e1f3214e72b63ed7cbe368005622055f80da0e0d"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Jun 09 16:47:33 2015 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Jun 09 16:53:11 2015 -0700"
      },
      "message": "screencap: Rotate images when display is rotated\n\nChanges screencap to read the display rotation and use it when\ncapturing the screenshot so that the output image is oriented\ncorrectly.\n\nBug: 8433742\nChange-Id: I0f7db422399985a1ff17da3faa946ff0943e58f7\n"
    },
    {
      "commit": "5c6c06bf187e6e96d9db1398108d613f86f5a912",
      "tree": "914ec8d8d0795f27e460d30cea4bd8e61604a48e",
      "parents": [
        "8e518c81ea630ca37d373ceb90e3d6c01330cb38",
        "16045c24fe10cc92329ede099923f1223f49b17d"
      ],
      "author": {
        "name": "Stefan Kuhne",
        "email": "skuhne@google.com",
        "time": "Fri Jun 05 23:37:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 23:37:15 2015 +0000"
      },
      "message": "Merge \"Adding am send-trim-memory command\" into mnc-dev"
    },
    {
      "commit": "16045c24fe10cc92329ede099923f1223f49b17d",
      "tree": "1418cfb06abbef32f95c8dfa23ce9f1d704e7964",
      "parents": [
        "e7f68c18bf1a1da5d0aa129674fe4f9ecf06ac8c"
      ],
      "author": {
        "name": "Stefan Kuhne",
        "email": "skuhne@google.com",
        "time": "Fri Jun 05 07:18:06 2015 -0700"
      },
      "committer": {
        "name": "Stefan Kuhne",
        "email": "skuhne@google.com",
        "time": "Fri Jun 05 16:30:29 2015 -0700"
      },
      "message": "Adding am send-trim-memory command\n\nThis patch adds a send-trim-memory command to the ActivityManager to allow\nfor better debugging\u0026testing.\n\nThe command is\nadb shell am send-trim-memory [--user \u003cUSER_ID\u003e] \u003cPROCESS\u003e \u003cLEVEL\u003e\nwhereas LEVEL can be one of the following:\n[HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|\n RUNNING_CRITICAL|COMPLETE]\n\nBug: 21633189\nChange-Id: I7a41ce02c3c9043ffd3e5aaa791f7b7306a9de49\n"
    },
    {
      "commit": "adb53b35cc99e1e98bc4c640d534fa00d44ebe31",
      "tree": "318e541192c479786727aba4af04af74fe46e2d9",
      "parents": [
        "b9381c790eef869ebd904c92bd019886600fc814"
      ],
      "author": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Wed Jun 03 14:15:42 2015 -0700"
      },
      "committer": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Wed Jun 03 15:48:10 2015 -0700"
      },
      "message": "Add phone permissions to Shell\n\nThese are needed for adb shell telecom commands to work on\nnon-eng builds.\n\nAlso fix a couple of typos in telecom documentation.\n\nChange-Id: Ia219ff78f5d65878e43e6b9216f979185495ce7f\n"
    },
    {
      "commit": "b9381c790eef869ebd904c92bd019886600fc814",
      "tree": "3512729a6a7dfe5b4948af3e209585b168059c94",
      "parents": [
        "db6da486217daa3418944cf93086a3bae549dad2"
      ],
      "author": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Wed Jun 03 09:33:56 2015 -0700"
      },
      "committer": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Wed Jun 03 09:33:56 2015 -0700"
      },
      "message": "Add adb shell command to register/unregister phone accounts\n\nBug: 21583012\nChange-Id: I3fd525259860fd9e0f9fda5b77cbb9ee7bfab6ca\n"
    },
    {
      "commit": "db6da486217daa3418944cf93086a3bae549dad2",
      "tree": "efc55aadcd3a7f2a07b45647510621fcf38104d5",
      "parents": [
        "064fc83b81e215881c2ad22827741e6e9142f948"
      ],
      "author": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Tue Jun 02 13:55:25 2015 -0700"
      },
      "committer": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Tue Jun 02 14:23:21 2015 -0700"
      },
      "message": "Allow default dialer changes and phone account enable/disable via ADB\n\nAdd commands accessible via adb shell that can be used for CTS tests\nwithout the need for adb root\n*set-phone-account-enabled\n*set-phone-account-disabled\n*set-default-dialer\n*get-default-dialer\n\nModify enablePhoneAccount/setDefaultDialer to indicate success.\n\nRemove now unused functionality in ProtectedEnableAccountPreferenceActivity\nand ProtectedChangeDefaultDialerActivity.\n\nBug: 21583012\nChange-Id: I542d145cc969334c004b8344fbbb01f278256f9d\n"
    },
    {
      "commit": "a9ac835437f45c7f7f3fc53f56aec2d53390fa72",
      "tree": "9dbf739a498124e08481956d19c67fb76e90696f",
      "parents": [
        "626f0dc73bc1007d16688eddf29ea58ec26f424e",
        "adb89214532a2eda2b5396886ae1ada16d890b24"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 28 22:51:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 22:51:42 2015 +0000"
      },
      "message": "Merge \"Clean up calls to Rect.intersect()\" into mnc-dev"
    },
    {
      "commit": "adb89214532a2eda2b5396886ae1ada16d890b24",
      "tree": "2289de40e3fecea23c1a12972bb067b29592bd2c",
      "parents": [
        "63428ccde7e925ceb94aa40e933b3d51954a7797"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 28 15:35:52 2015 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 28 15:39:05 2015 -0700"
      },
      "message": "Clean up calls to Rect.intersect()\n\nThis CL checks for the return value for Rect.intersect() for whether\nthere is actually an intersection before taking the return intersected\nrect. In the case of no intersection (Rect.intersect() returns false),\nan empty rect will be used as the intersection.\n\nbug: 7368679\nChange-Id: Ibda3bfd662f8ca83cb5662748d9be250243b72b2\n"
    },
    {
      "commit": "5ca3afa296cdfd2a5a1086b69d09e5035969b05c",
      "tree": "9ebc6193a577cbc2c5c0ad5c8a21c55589463631",
      "parents": [
        "e9ac81745ef0c5f0d96a2c9dfcf2f84a86ccf85d"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 07 10:55:59 2015 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 28 12:47:30 2015 -0700"
      },
      "message": "Update asan/app_process.\n\nBuild both 32 and 64-bit versions and don\u0027t limit it to eng.\n\nChange-Id: I5d6cc8005291100d5fe0f1385e8a0b4ba5f4d630\n(cherry picked from commit e740b17d2400ed0db17d1f7fce4f052bbbf808ab)\n"
    },
    {
      "commit": "2177ed407b8323e6f50d2aa64a62fbdc773e1859",
      "tree": "13c94e7b2f138e0f6e23bbb2f673d966b5bc989e",
      "parents": [
        "038959e851603500eb39b52fef33cbe75dbd73e3",
        "4c099d0c49c8366efd3c26854465b3ceef49b627"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 15 21:55:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 15 21:55:57 2015 +0000"
      },
      "message": "Merge changes from topic \u0027bench\u0027 into mnc-dev\n\n* changes:\n  Command to change force adoptable state.\n  Initial pass at storage benchmarks.\n"
    },
    {
      "commit": "4c099d0c49c8366efd3c26854465b3ceef49b627",
      "tree": "525ec22eff76fe90e003918fe22603ea60a9905b",
      "parents": [
        "9756d75ec28844f5ca30fda786a117c1a0ee88da"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 15 13:45:00 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 15 14:15:35 2015 -0700"
      },
      "message": "Command to change force adoptable state.\n\nSince user builds can\u0027t setprop, add an explicit \"sm\" verb to change\nthe force adoptable state.\n\nBug: 21191915\nChange-Id: I719d9b18c1a98c97442a5ddb1cc5512e8e4d3d3f\n"
    },
    {
      "commit": "4ccca50d7e501154127ac360e0fcbae850b1bbc8",
      "tree": "f903d0ee7143bcbe089248662d75a5df068fe47a",
      "parents": [
        "2bdd69c4a2d9a8a5e94770a710123fb1958cf25b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 16:18:05 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 16:24:19 2015 -0700"
      },
      "message": "Fix grant/revoke to act on owner by default and log invalid user id.\n\nbug:21163229\n\nChange-Id: I66d0cc130b37b5752ed06afc73259ed41bfb7830\n"
    },
    {
      "commit": "9831fad6768135dbd982d6dca78d7f6de81bb320",
      "tree": "ef56029d39afbc3a6b4c8feb563997c49e6bd192",
      "parents": [
        "645edef4834c2911386b659cc775840fb7479e01",
        "fcf10f7c12cb3107bdfedce6f76a8c866d154f3c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed May 13 22:31:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 22:31:57 2015 +0000"
      },
      "message": "Merge \"Modify how USB connections are handled.\" into mnc-dev"
    },
    {
      "commit": "fcf10f7c12cb3107bdfedce6f76a8c866d154f3c",
      "tree": "54e502f36ee820d1fc74cc52e653b7547801df41",
      "parents": [
        "2047ce824030a2ea6227a7544789281530b7892d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed May 13 11:54:03 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed May 13 14:28:13 2015 -0700"
      },
      "message": "Modify how USB connections are handled.\n\n* Introduce a new \"charger only\" mode. In this mode, MTP is disabled,\nand no file transfers can occur.\n* Make charger only mode the default.\n* Modify \"persist.sys.usb.config\" so it now only holds the adb status.\n* Make the USB settings non-persistent. Unplugging the USB connection will\nreset the device back to \"charger only\" mode.\n* Fixup wording per UI guidelines.\n\nTODO: Re-implement MDM restrictions for USB / MTP access controls.\n\nBug: 18905620\nChange-Id: I99a50d9132a81e98187f431166fd9fef4d437e4f\n"
    },
    {
      "commit": "c968e219372e140e2ae34f9b1e91597ccb719381",
      "tree": "1cb8712578f749adccf4f899adacaab897e030b4",
      "parents": [
        "d6acd422aff35bc7cb8ab46fa422a4be7fffd026",
        "0d838a0fad500a3c446df501d8aa7656c2c3a7a2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 20:57:01 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 20:57:03 2015 +0000"
      },
      "message": "Merge \"Determine if we have adoptable disks.\" into mnc-dev"
    },
    {
      "commit": "0d838a0fad500a3c446df501d8aa7656c2c3a7a2",
      "tree": "6027ab0923e889c7ea4720a41fa5e977e1235539",
      "parents": [
        "f85ac77f0c2b923ff8d93a731d2a0107c4c57744"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 13:54:30 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 13:54:35 2015 -0700"
      },
      "message": "Determine if we have adoptable disks.\n\nBug: 19993667\nChange-Id: I9b21b05736c22d34ca22f5ad6e1a6ebec440cfb6\n"
    },
    {
      "commit": "44b4add4ce912ac2502082c6778e9a818a778c82",
      "tree": "d50d4682e1e8022afad510e321e778e8deffaf6a",
      "parents": [
        "20cb37c6cb652cbb129f60232f43614d2812c38b",
        "7d2af54a98358e9dea96f879ebd1ea915263522b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 13 05:27:28 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 05:27:30 2015 +0000"
      },
      "message": "Merge \"New \"sm\" shell tool to call StorageManager.\" into mnc-dev"
    },
    {
      "commit": "7d2af54a98358e9dea96f879ebd1ea915263522b",
      "tree": "ee277a888fe98c570bb1950a9afdde9b8098d67d",
      "parents": [
        "fced534dec1088bdd7da1495d76b73996dc8a1a1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 12 15:27:15 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 12 15:52:43 2015 -0700"
      },
      "message": "New \"sm\" shell tool to call StorageManager.\n\nSurface basic StorageManager commands through shell tool, like\nsimple listing of disks and volumes, and commands like mounting and\npartitioning.\n\nThe output is designed to be parsed by host-side testing tools,\ninstead of relying on fragile dumpsys parsing.\n\nBug: 19993667\nChange-Id: I993e92ecf57996678965945f0ae648b392a77ea2\n"
    },
    {
      "commit": "8c7f700a59ad26e75c9791335d78f14322cad49a",
      "tree": "151d514ffaf4c6bde3ee650e8f94b7f64eb74fd8",
      "parents": [
        "3ce72722ca14ad9e84ca54920bb2829696f68d53"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 07 10:48:44 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 11 17:13:57 2015 -0700"
      },
      "message": "Add permission meta-state flags to support grant/revoke permission policy.\n\nWe now maintain a mata-state with each permission in the form of flags\nspecyfying the policy for this permission. This enables support of the\nfollowing use cases:\n\n1. The user denies a permission with prejudice in which case an app cannot\n   request the permission at runtime. If an app requests such a permssion\n   it gets a denial unless the user grants the permission from settings.\n\n2. A legacy app with disabled app-ops being upgraded to support runtime\n   permissions. The disabled app ops are converted to permission revocations.\n   The app ops manager is a part of the activity manger which sits on top\n   of the package manager, hence the latter cannot have a dependency on the\n   former. To avoid this the package installer which is the global\n   permission managment authority marks the permission as revoked on\n   upgrade and the package manager revokes it on upgrade.\n\n3. A device policy fixing a permission in a granted or revoked state. This\n   additional information is folded in the meta-state flags and neither\n   apps can request such permissions if revoked not the user can change\n   the permission state in the UI.\n\nChange-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811\n"
    },
    {
      "commit": "a5b2684c25add3ba6ebc43c27a1abc6bce2b2af4",
      "tree": "dc704504bae79612fc08ddbfe58db1ac9bf06e62",
      "parents": [
        "c454f786e2301b26afee3809a293a7fadd65434a",
        "e5f330456bdf5e138485ee117929fc4337866132"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon May 11 16:11:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 11 16:11:14 2015 +0000"
      },
      "message": "Merge \"Rename *AppIdle to *AppInactive per api-council\" into mnc-dev"
    },
    {
      "commit": "e5f330456bdf5e138485ee117929fc4337866132",
      "tree": "9c4b921692303f129febd3c56fcfbad9f95837ab",
      "parents": [
        "e678b41cdb56847c094260607ea39aea4abb808e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 08 13:20:22 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 08 13:20:22 2015 -0700"
      },
      "message": "Rename *AppIdle to *AppInactive per api-council\n\nChange to setAppInactive and isAppInactive in a few places.\n\nBug: 20823737\nChange-Id: Ie57dbc0dd2842e771bb5fd9f69b8041aacaa005c\n"
    },
    {
      "commit": "80f232deaee9fe4f69eaa5b8d355aac9bad7a291",
      "tree": "69914780c4aa24bb09c51339fb57e44e56d6baca",
      "parents": [
        "b4b44378011b9935ddb6f3f18bf1b7d5f57e948b",
        "b65b66ccc251371c817abe75176a73f84565410e"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Thu May 07 17:17:03 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 07 17:17:03 2015 +0000"
      },
      "message": "am b65b66cc: am 2224eac3: Merge \"bootanimation: fix garbage line issue when screen height is odd.\" into lmp-mr1-modular-dev\n\n* commit \u0027b65b66ccc251371c817abe75176a73f84565410e\u0027:\n  bootanimation: fix garbage line issue when screen height is odd.\n"
    },
    {
      "commit": "b65b66ccc251371c817abe75176a73f84565410e",
      "tree": "000e3ae2151dc5c85e23a5b9e3b7096ffd3f3f24",
      "parents": [
        "b53420d02def4277cf5b8a04da289b4291a9f24a",
        "2224eac30375a731f4ad38d6930dbc37b0855a0d"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "message": "am 2224eac3: Merge \"bootanimation: fix garbage line issue when screen height is odd.\" into lmp-mr1-modular-dev\n\n* commit \u00272224eac30375a731f4ad38d6930dbc37b0855a0d\u0027:\n  bootanimation: fix garbage line issue when screen height is odd.\n"
    },
    {
      "commit": "d13d504e4b7548f0ce4f9c4f0eee5c1ac2ce6794",
      "tree": "6686b4699d67f62045f51ed88b1dddcc1b9fdd46",
      "parents": [
        "d3de33e9dfaee6c0336a51e774632813b3344fca"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Mon May 04 15:24:12 2015 -0700"
      },
      "committer": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Tue May 05 13:21:27 2015 -0700"
      },
      "message": "bootanimation: fix garbage line issue when screen height is odd.\n\nbug:20032072\n\nChange-Id: I784fb6f815b22c37dcd7354729aca346726196d9\n"
    },
    {
      "commit": "275e3e43f2fba72fa99001cafa2a70e5478fc545",
      "tree": "be196ff698ba222c410d0666d430fa0ec5aa5ae4",
      "parents": [
        "b423e300f77de90aea34321ef7f67882d4e526ed"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 24 16:10:32 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 24 18:01:45 2015 -0700"
      },
      "message": "Migrate primary external storage.\n\nWire up through MountService to call down into vold.  Watch for\nunsolicited events that report progress, including special value \"82\"\nthat signals that copy has finished.  We use this value to persist\nthe volumeUuid in case of unexpected reboot, since it indicates the\nnew volume is ready.\n\nWire progress updates through existing callback pipeline.\n\nUpdate the volume mounting code to match against the persisted UUID\nwhen selecting the primary external storage.\n\nBug: 19993667\nChange-Id: Id46957610fb43517bbfbc368f29b7d430664590d\n"
    },
    {
      "commit": "4bc704655abee70c1998b9a62777cdf643920467",
      "tree": "eebc4498bd00c79dfc496ed805baaa23fbb06879",
      "parents": [
        "d4925af83911f697aa3160106914569949a68e18",
        "cf76872a62075abf9008e99ca08413fb70761dc2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 24 20:03:01 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 20:03:02 2015 +0000"
      },
      "message": "Merge \"Add ability to get and set idle state of apps\""
    },
    {
      "commit": "cf76872a62075abf9008e99ca08413fb70761dc2",
      "tree": "20ba4867939d30bccefe383ae85848bd610e0dde",
      "parents": [
        "a1ab2d37a055f9c2d623260b41ecff778fdf3aa2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Apr 23 20:36:41 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 24 12:58:46 2015 -0700"
      },
      "message": "Add ability to get and set idle state of apps\n\nAdd am shell command to set and get idle\nAdd public API to check if an app is idle\n\nBug: 20534955\nBug: 20493806\nChange-Id: Ib48b3fe847c71f05ef3905563f6e903cf060c498\n"
    },
    {
      "commit": "620b32b316fd4f1bab4eef55ec8802d14a55e7dd",
      "tree": "afedbccf5c135e8d19ba52db199316ab0932a277",
      "parents": [
        "61044cfd9c7f02d3806338a6b8f137f50e1b1e0f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 23 19:36:02 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 23 20:32:17 2015 -0700"
      },
      "message": "Package and storage movement callbacks.\n\nSince package and primary storage movement can take quite awhile,\nwe want to have SystemUI surface progress and allow the Settings\napp to be torn down while the movement proceeds in the background.\n\nMovement requests now return a unique ID that identifies an ongoing\noperation, and interested parties can observe ongoing progress and\nfinal status.  Internally, progress and status are overloaded so\nthe values 0-100 are progress, and any values outside that range\nare terminal status.\n\nAdd explicit constants for special-cased volume UUIDs, and change\nthe APIs to accept VolumeInfo to reduce confusion.  Internally the\nUUID value \"null\" means internal storage, and \"primary_physical\"\nmeans the current primary physical volume.  These values are used\nfor both package and primary storage movement destinations.\n\nPersist the current primary storage location in MountService\nmetadata, since it can be moved over time.\n\nSurface disk scanned events with separate volume count so we can\ndetermine when it\u0027s partitioned successfully.  Also send broadcast\nto support TvSettings launching into adoption flow.\n\nBug: 19993667\nChange-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10\n"
    },
    {
      "commit": "529f91fc8e7e884ef19bef8eb3e4e3a1d69336f4",
      "tree": "463b7b5d9175e98402939a2bbfebd4f30899feac",
      "parents": [
        "355df8f16ae4c428997d88ba86f1ce07e5eca35e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 18 20:23:13 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 18 21:11:58 2015 -0700"
      },
      "message": "Always send volume UUID with installd commands.\n\nSince packages can be moved to other volumes, all relevant commands\nto installd now require an explicit volume UUID parameter.\n\nBug: 20275577\nChange-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e\n"
    },
    {
      "commit": "1dfab471ed50478b4f63552778c949a2f0d37521",
      "tree": "aed4ce1d9dd3b866044a2891e1a6aa86d60d1397",
      "parents": [
        "65aea84c5a41c7c14bfcaf2f390911f8b5596acd",
        "a26c83718004c7640827d86b0f6a0fdf33017751"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 18:50:41 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 17 18:50:41 2015 +0000"
      },
      "message": "am a26c8371: am 5682a23e: am fef8bcf9: Merge \"Explicitly use clang.\"\n\n* commit \u0027a26c83718004c7640827d86b0f6a0fdf33017751\u0027:\n  Explicitly use clang.\n"
    },
    {
      "commit": "b9f6b0eec3b1d331e0be352409659292cc0f0b06",
      "tree": "8eafa6099d8c71cc9f5ef9b9b0cd24f9579b9def",
      "parents": [
        "c0c8d1983c5d7c9bc9469944a9d46856aff95ab9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 10:40:48 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 10:40:48 2015 -0700"
      },
      "message": "Explicitly use clang.\n\nThis was implicitly enabled by using ASAN.\n\nChange-Id: I562402a8191e2a3ab3eefd43860fbe7c58d441d8\n"
    },
    {
      "commit": "0bd2aa760346edd096f7c27283f394631f246f30",
      "tree": "ae3d425b60ea6af8a3e16b8c3580c3df97de0d37",
      "parents": [
        "8a2c92c834d4173132aa9fd23fa136d50bf7b0cc"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Apr 16 13:50:44 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Apr 17 08:37:56 2015 -0700"
      },
      "message": "Fail early when starting a background user activity.\n\nIf it shouldn\u0027t be displayed for all users.\n\nBug: 13507605\nChange-Id: I8fe8e5a98759c1ca058cc7d222817f6d580ffa11\n"
    },
    {
      "commit": "d46747a1c64b6ca3282e8841833980ab91829436",
      "tree": "feca484f9f10ee91399a12b41a524fb7f20a3eb5",
      "parents": [
        "10acf6d3efde60977d2d2e82b90c53d722d9d357"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 15 19:02:36 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 15 19:02:36 2015 -0700"
      },
      "message": "Add support for disabling display scaling for development.\n\nAdded two new options to the wm command.\n\n1. Set the screen size based on dips rather than pixels using the\ncurrent screen density.\n\neg. adb shell wm size 320dpx320dp\n\n2. Disable automatic scaling of the contents of the display.\nWhen combined with the previous command, this is useful for seeing\nhow the UI would behave if the screen remained at its current density\nbut changed physical size.\n\neg. adb shell wm scaling off\n\nBug: 19899223\nChange-Id: I545f893ba4861494e995cf0457ebeba1050d28dc\n"
    },
    {
      "commit": "1e38382b542f5cef9957a89692b02c55a3dd351c",
      "tree": "18c1b04b4e8f485fc3e6a99874d43e0161b8a8a4",
      "parents": [
        "172753e6f851aa1905953b00d11a48873ff4bbb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 10 14:02:33 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 14 10:01:24 2015 -0700"
      },
      "message": "Fixes to idle alarm scheduling, package importance.\n\n- Add new API to ask the activity manager what the current\n  importance of a particular package name is (along with a few\n  new useful importance levels).\n\n- Fix my last alarm manager change to actually execute the\n  alarms we have now decided should run even while we are idle.\n\nChange-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687\n"
    },
    {
      "commit": "39fb7fd730dc2113ced7e663d7a35e48a4c6b1ae",
      "tree": "62072f007251cdfe1ab1f93e68d838d53e9f2ad4",
      "parents": [
        "80ac603651b56c7f22268fbafb65206f8c03d6ba"
      ],
      "author": {
        "name": "Benjamin Franz",
        "email": "bfranz@google.com",
        "time": "Wed Feb 18 16:11:18 2015 +0000"
      },
      "committer": {
        "name": "Benjamin Franz",
        "email": "bfranz@google.com",
        "time": "Tue Apr 07 11:02:46 2015 +0100"
      },
      "message": "Allow silent package install for device owner.\n\nAllow the device owner to silently install and remove packages using the\nPackageInstaller APIs. Show notifications to the user after the\ninstallation / deletion was successful.\n\nBug: 19422461\nChange-Id: I0506e18c510efd9d04c4aea9b60a37456e689615\n"
    },
    {
      "commit": "b2b9ab8354da1485178cd8d8e9d89ac915b3f269",
      "tree": "3d58a32b4ef47c632e5aebebee34e143d1d8cc5a",
      "parents": [
        "b9223015261afdec7e8686b732b298b809bf87dc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 05 21:10:42 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 06 21:17:58 2015 -0700"
      },
      "message": "Installing packages to expanded storage.\n\nPackageManager now offers to load/unload packages when expanded\nvolumes are mounted/unmounted.  Expanded storage volumes are still\ntreated as FLAG_EXTERNAL_STORAGE from a public API point-of-view,\nbut this change starts treating the INSTALL_EXTERNAL flag as\nexclusively meaning ASEC containers.\n\nStart tracking the UUID of the volume where a package is installed,\ngiving us a quick way to find relevant packages.  When resolving an\ninstall location, look across all expanded volumes and pick the one\nwith the largest free space.  When upgrading an existing package,\ncontinue preferring the existing volume.  PackageInstaller now knows\nhow to stage on these volumes.\n\nAdd new movePackage() variant that accepts a target volume UUID\nas destination, it will eventually move data too.  Expose this\nmove command through \"pm\" command for testing.\n\nAutomount expanded volumes when they appear.\n\nBug: 19993667\nChange-Id: I9ca2aa328b9977d34e8b3e153db4bea8b8d6f8e3\n"
    },
    {
      "commit": "b677e0a49643d265eb0fa5efc3666a1e9362477f",
      "tree": "a75e78dd2549a6a5872ae62c30c20951c1d50dd2",
      "parents": [
        "516460819541e483321ef9156e4093d19f123ecc",
        "3605fac80b527fafd76836b09a4cfe1ad8b11e19"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 06 20:24:10 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 06 20:24:13 2015 +0000"
      },
      "message": "Merge \"Update command line usage for pm\""
    },
    {
      "commit": "3605fac80b527fafd76836b09a4cfe1ad8b11e19",
      "tree": "6e45e73b03367160bd441ba369f3d5090f2d5c05",
      "parents": [
        "092f038d502e49ae91db6f5af5a34344704fcae2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 06 13:20:45 2015 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 06 13:20:45 2015 -0700"
      },
      "message": "Update command line usage for pm\n\nInclude the --user flag.\n\nChange-Id: Id2a2bc73f4b7392e308c5946eeb42b21426a1bfd\n"
    },
    {
      "commit": "d59a5d59df920d743723521a2afed9de1da3373b",
      "tree": "2fa60c308b330a8203d00f1e99811e54c6f486a9",
      "parents": [
        "cef55cde1cf1b9b15583d6b4c439dfea7bac7c26"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 04 14:52:14 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 04 17:36:05 2015 -0700"
      },
      "message": "Various fixes and improvements...\n\nIssue #19912529: VI: VoiceInteractor callback ClassCastException\n\nFix to use correct argument.\n\nIssue #19912636: VI: Documentation for VoiceInteractionSession.onBackPressed\n\nAdded documentation.\n\nIssue #19912703: VI: VoiceInteractionSession NPE on Abort Request\n\nMaybe fix this -- don\u0027t crash if there is no active session.\n\nIssue #19953731: VI: Add value index to...\n...android.app.VoiceInteractor.PickOptionRequest.Option\n\nThere is now an optional index integer that can be associated with\nevery Option object.\n\nIssue #19912635: VI: Behavior of startActivity when in voice...\n...interaction is unexpected\n\nWe now forcibly finish the current voice interaction task whenever\nanother activity takes focus from it.\n\nIssue #20066569: Add API to request heap dumps\n\nNew ActivityManager API to set the pss limit to generate heap\ndumps.\n\nAlso added app ops for assist receiving structure and screenshot\ndata, so that we can track when it does these things.\n\nChange-Id: I688d4ff8f0bd0b8b9e3390a32375b4bb7875c1a1\n"
    },
    {
      "commit": "222ab662051e9836b3623826fcb80ee7b5fa286f",
      "tree": "6084cc9a1ac172182169bb2a87b9d0ab87f286e2",
      "parents": [
        "6b115be0a2004d7b6faa3176e9d3a6460ee110d5",
        "1c329e856a1a7cdef6e55ee0269837a234631f75"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 17:33:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 01 17:33:31 2015 +0000"
      },
      "message": "am 1c329e85: am 855998d0: am c90a4418: Merge \"idmap: scan missing include for sys/stat.h\"\n\n* commit \u00271c329e856a1a7cdef6e55ee0269837a234631f75\u0027:\n  idmap: scan missing include for sys/stat.h\n"
    },
    {
      "commit": "6b115be0a2004d7b6faa3176e9d3a6460ee110d5",
      "tree": "a6fbc1879a779a52ab0df405304d9bbbd9726d17",
      "parents": [
        "78c926c9a3ee2a513bff08ca3e6276eafeebc531",
        "fa037c65d37b911024d597415beea3a9368a6fb5"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 17:27:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 01 17:27:21 2015 +0000"
      },
      "message": "am fa037c65: am f942e36a: am 5218065d: Merge \"app_main missing include for sys/stat.h\"\n\n* commit \u0027fa037c65d37b911024d597415beea3a9368a6fb5\u0027:\n  app_main missing include for sys/stat.h\n"
    },
    {
      "commit": "b62286e60c079936a5f1e5b0befd32d2d9bf1b3f",
      "tree": "9d46bbd5ed622dfb8c4f81daace7d996ce801a49",
      "parents": [
        "5218065dec34abdb15ee2fb5fffa86207b6b57a8"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 07:48:34 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 16:52:14 2015 +0000"
      },
      "message": "idmap: scan missing include for sys/stat.h\n\nscan.cpp gets sys/stat.h inherited from\nprivate/android_filesystem_config.h it should\nnot rely on this in the future. The intent is\nto move fs_config function into libcutils and\nthus deprecate any need for sys/stat.h in this\ninclude file.\n\nBug: 19908228\nChange-Id: If547e86513b06c536972138ae571c3d9c714ffe9\n"
    },
    {
      "commit": "fc737fb76cc889d0c19bd8bf74d2b5f1fc4fbe6e",
      "tree": "da0b535aa2f0a15b68a6272fc3bcfb626715fa00",
      "parents": [
        "562c6a71f98e921fe8def18991b2a26f153c683d"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 07:36:23 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 16:02:32 2015 +0000"
      },
      "message": "app_main missing include for sys/stat.h\n\napp_main.c gets sys/stat.h inherited from\nprivate/android_filesystem_config.h it should\nnot rely on this in the future. The intent is\nto move fs_config function into libcutils and\nthus deprecate any need for sys/stat.h in this\ninclude file.\n\nBug: 19908228\nChange-Id: I477b825e582742113f849aaa1df50c41e496b6f6\n"
    },
    {
      "commit": "34faab5a54b9415c340dfeb29af6886f00bb5d9e",
      "tree": "a521940f642e26a2e4c611978f1643c191ae7614",
      "parents": [
        "1cef4196886b0cc1238111d396c1e3665a5fd2ae"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 26 11:02:37 2015 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 26 11:05:08 2015 -0700"
      },
      "message": "Add --sampling to am profile start\n\nChange-Id: I00dfdef6a7ac61ab4ce16fefe1ddc5554ace0c88\n"
    },
    {
      "commit": "95c1adea0c5fe10ceba217a327163757f4589d3d",
      "tree": "f15fd1568262a9b9ab8568a2fe8e56a417f540c8",
      "parents": [
        "ca7256ef32aced37c5eac0dcbb4950b52efedaf2"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 19 09:38:52 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Mar 24 01:53:50 2015 +0000"
      },
      "message": "Add install option to grant all runtime permissions.\n\nChange-Id: I72ba67a72025646a3d53611621b0353d3a86677c\n"
    },
    {
      "commit": "c6d1c345f41cf817bf2c07c97b97107d94296064",
      "tree": "4bb0bac510ae49524f25a71e3f9e73f5f78cf36f",
      "parents": [
        "3910eb551c7736015708c627dcabaa75c66d9ec3"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 26 14:44:43 2015 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 23 18:50:35 2015 -0700"
      },
      "message": "Runtime permissions: per user permission tracking.\n\nBefore all permissions were granted at install time at once, so the user\nwas persented with an all or nothing choice. In the new runtime permissions\nmodel all dangarous permissions (nomal are always granted and signature\none are granted if signatures match) are not granted at install time and\nthe app can request them as necessary at runtime.\n\nBefore, all granted permission to an app were identical for all users as\ngranting is performed at install time. However, the new runtime model\nallows the same app running under two different users to have different\nruntime permission grants. This change refactors the permissions book\nkeeping in the package manager to enable per user permission tracking.\n\nThe change also adds the app facing APIs for requesting runtime permissions.\n\nChange-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5\n"
    },
    {
      "commit": "3449789b9ca58fee7e5cd02ff89d544f4a6bc9b5",
      "tree": "4bae1e5c337a33c8ae280a2aed7741ec29f400be",
      "parents": [
        "c6ee744a90a4a84df93b6631ca7df8736ef320e1"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 20 15:52:43 2015 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Mar 12 19:51:57 2015 +0000"
      },
      "message": "SkStream is no longer a ref counted object.\n\nWith https://codereview.chromium.org/849103004/, SkStream is no longer\nref counted. Change callers that currently unref() SkStreams to one of\neither:\n- delete the stream\n- pass ownership of the stream\n\nscreencap.cpp:\nCall EncodeData directly, bypassing SkDynamicMemoryWStream and SkBitmap.\n\nUtils.cpp:\nWrite directly to an SkData, and then use that to construct a new\nSkStream.\n\nCherry-pick of a change that originally landed in master-skia and is\ndependent on a skia merge (ag/655422).\n\nChange-Id: Idc99ad7d5a70c893dc012d59915216f301ab3c9d\n"
    },
    {
      "commit": "b9a5e4ad30c9add140fd13491419ae66e947809d",
      "tree": "34000ecab4b9ef4175687e1cba78456524481a0f",
      "parents": [
        "eb803aef3b0f55785624e6a51deae867c1a95e88"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 03 17:04:12 2015 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 06 16:42:03 2015 -0800"
      },
      "message": "Add new debug feature to automatically create heap dumps.\n\nNot yet working, unless you turn off SELinux enforcing.\nWe need to update SElinux to allow the system process\nto give apps access to /data/system/heapdump/javaheap.bin.\n\nCurrently watching can only be enabled through the shell,\nsuch as:\n\nadb shell am set-watch-heap com.android.systemui 1024\n\nThe last number is the process pss size in bytes, so this is\nasking us to warn if it goes about 1K which will be all the\ntime.\n\nChange-Id: I2089e5db2927afca0bf01a363c6247ee5dcb26e8\n"
    },
    {
      "commit": "0510c2ee6014a3e1914c1e2474f08ed1e9aaaf89",
      "tree": "9e0ba7f39f33071b5d536e90489fb03afdb0a204",
      "parents": [
        "20d58e2af7738209b068038197db516d365d887a"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Mar 04 14:55:37 2015 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Mar 05 08:35:37 2015 -0500"
      },
      "message": "Add a list verb to the settings cmd.\n\nChange-Id: I8a203eefced3431085fd1981b1d120baab2cb77a\n"
    },
    {
      "commit": "a8c6111a88df157240ea40e61f46df8366b1b945",
      "tree": "41fb40d840fdc125217fb8de2d993c2b14c8525c",
      "parents": [
        "7b91c55b3ff4857e904a11a0a67fcc86a32868b4"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 02 16:21:35 2015 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 02 16:24:18 2015 -0800"
      },
      "message": "Content and settings shell commands passing invalid calling package.\n\nChange-Id: Ia80099ba0afba054b70511c0d95265ec303446e0\n"
    },
    {
      "commit": "08c7116ab9cd04ad6dd3c04aa1017237e7f409ac",
      "tree": "6ddb0659a3ecd024e0165ba050940bc40ea257fe",
      "parents": [
        "3062e57072145ba5e71ba8b2cf565d3453db04a7"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Feb 28 13:12:17 2015 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Feb 28 14:47:49 2015 -0500"
      },
      "message": "Remove unused imports in frameworks/base.\n\nChange-Id: I031443de83f93eb57a98863001826671b18f3b17\n"
    },
    {
      "commit": "53a29a90f35f72462c0d6ad650921d5566c1f8f0",
      "tree": "b898010e266072c37dca0b1179f06c543c00b7a6",
      "parents": [
        "d697ceac0227822ab33d8f7cbe5442cc37d9d74a"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Feb 23 15:42:52 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Feb 24 09:33:18 2015 -0800"
      },
      "message": "Added ActivityManager API and AM command to resize a task.\n\nAlso fixed issue with ActivityStackSupervisor.moveTaskToStackLocked()\nfunctionality not working correctly.\n\nChange-Id: Ia13f1e92a7c59ce6543c226533ac8ea623488290\n"
    },
    {
      "commit": "23eeb2b8aefce56a0a35a6fc460bd8718157e902",
      "tree": "a0a612939f95de6ffd1bb419fe155aba977bdf73",
      "parents": [
        "419389c52a2c81cbb0b4615d6b0b1c1253c3469c",
        "287c53f4a8bade1cb6c2dd2fe858da9c303e3e3d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 24 13:09:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 13:09:55 2015 +0000"
      },
      "message": "am 287c53f4: am 76507a64: am 72dc62ea: Merge \"Track removal of refcounts from FileMap.\"\n\n* commit \u0027287c53f4a8bade1cb6c2dd2fe858da9c303e3e3d\u0027:\n  Track removal of refcounts from FileMap.\n"
    },
    {
      "commit": "76507a64b530c757dc284f1f4d0807ffbfd9a701",
      "tree": "18ec820c1dd7fb03a97636fcc5451fd88e049cc2",
      "parents": [
        "948682d15f1a4a6676318213a49b50b967cfae27",
        "72dc62ead214bdec5c46d42f4e859b139dba0a00"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 24 12:56:52 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 12:56:52 2015 +0000"
      },
      "message": "am 72dc62ea: Merge \"Track removal of refcounts from FileMap.\"\n\n* commit \u002772dc62ead214bdec5c46d42f4e859b139dba0a00\u0027:\n  Track removal of refcounts from FileMap.\n"
    },
    {
      "commit": "688ff4cf0f93d1a886437884f23874e5595d59a3",
      "tree": "b8ef91775dfc3dff86d05aa5638b17dee597ca91",
      "parents": [
        "adb52ef7034d4d3e0eee58cedae2a343d29771b9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "message": "Track removal of refcounts from FileMap.\n\nUse delete instead of release.\n\nChange-Id: I25c841b368aa9d51e9259399b94cafa2bbb7a076\n"
    },
    {
      "commit": "4fecab570da64a1956352aedf1b3245d3ba26030",
      "tree": "4986924779f175b20662b8f41144fdb5f40d40b2",
      "parents": [
        "644ebc8800ad5e2fa1c239bd65a2cf6a88e6556b",
        "32acf753e8989766f67fd5300d3eb467f707cc79"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:36 2015 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 19 14:31:36 2015 -0800"
      },
      "message": "Merge commit \u002732acf753e8989766f67fd5300d3eb467f707cc79\u0027 into HEAD\n"
    },
    {
      "commit": "211f8b4d83fab4b4e036ff538bd8c14fbb856b72",
      "tree": "55c38b887d63acc8ae9a35536f762d885f7343d4",
      "parents": [
        "2447a40fce4e073c6f92926e4f83548367953055",
        "b1ea8a5316f9e439fd7608e1152c45aaf8f098ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 02:09:42 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 17 02:09:42 2015 +0000"
      },
      "message": "am b1ea8a53: am 2aa2672d: am 627396ac: Merge \"Add missing \u003csys/file.h\u003e include for flock.\"\n\n* commit \u0027b1ea8a5316f9e439fd7608e1152c45aaf8f098ff\u0027:\n  Add missing \u003csys/file.h\u003e include for flock.\n"
    },
    {
      "commit": "b1ea8a5316f9e439fd7608e1152c45aaf8f098ff",
      "tree": "ac536ca51d1d563082a710c49c90ac5f9cc4905e",
      "parents": [
        "c8036cdc602a35a415fd66370c7621bb957f657e",
        "2aa2672dd8168ac2bbd9d01c31ff14fea226b089"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 17 01:34:35 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 17 01:34:35 2015 +0000"
      },
      "message": "am 2aa2672d: am 627396ac: Merge \"Add missing \u003csys/file.h\u003e include for flock.\"\n\n* commit \u00272aa2672dd8168ac2bbd9d01c31ff14fea226b089\u0027:\n  Add missing \u003csys/file.h\u003e include for flock.\n"
    },
    {
      "commit": "b9de25f7db14102518485ad8375784848a200e60",
      "tree": "dcda897929b55a2d9500366288e2c4efd4d1efb3",
      "parents": [
        "e7e923818096a8a046ad183e932454428218c867"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 16 10:43:19 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 16 10:43:19 2015 -0800"
      },
      "message": "Add missing \u003csys/file.h\u003e include for flock.\n\nChange-Id: I0c66c03aeb4df614f7880a830b95c40f43f804db\n"
    },
    {
      "commit": "5e789f03b2bd018ab44cb4d1018f3682f27fd510",
      "tree": "01125dbd44550fd395b71960f1e3129f9a316c4c",
      "parents": [
        "346066ef90c6b0af50ba0187338de7e8c8c2f8aa"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 14:35:47 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Feb 12 09:25:52 2015 -0800"
      },
      "message": "Fixed bug in \u0027am stack split\u0027 command.\n\nChange-Id: Id3efb65a3f9cbf3c223ea08d51e2028180bd5479\n"
    },
    {
      "commit": "2c5763ae5d04ebd67eae2f86f840e6e68304e821",
      "tree": "e15ccc4b2e4e2b4c64751ca957be4c1918315982",
      "parents": [
        "094ff96b3f5a7fefb7e7dd75cb21927cfed42a81"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 10:26:44 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Feb 11 14:02:19 2015 -0800"
      },
      "message": "Am command to split a stack.\n\nChange-Id: Idf3a364fc3826f6fe92f55b5c83b16b380d62ff4\n"
    },
    {
      "commit": "9d3de4cfb42519fefe9d8b03c38ba440bd6bc886",
      "tree": "b0510ec8967a1cab6e6d179c37c6e647bb5db9e5",
      "parents": [
        "547c9e5212cabc14efcd495935970ae98914a207"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sun Feb 01 16:49:44 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Feb 02 16:06:55 2015 -0800"
      },
      "message": "Support for activity to opt-in/out of resizeable/multi-window support.\n\nBug: 19178148\nChange-Id: I5819a71cdc48e0af4add11a6d4a503ec5cbe5d63\n"
    },
    {
      "commit": "aab56dbc1ef5c91afad1e61d633305bb3aa3cb1b",
      "tree": "53692389a4e012a10626024c8806535339de9425",
      "parents": [
        "728dace14d83e87e777ceaaf3dfd031cf3502f80"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 30 09:39:53 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 30 09:39:53 2015 -0800"
      },
      "message": "Show stacks underneath a resized stack\n\nWhen a stack is resized, make sure any non-fullscreen stack beneath it\nbecomes visible. This may mean additional activities are resumed in the\nprocess.\n\nBug: 19083171\nChange-Id: I5e7a3f82d76932ea2b9dbf0324ea183c42ee5496\n"
    },
    {
      "commit": "026111bc56498d6ac463b335d91e2ee5e06901be",
      "tree": "62ca9b5630bbdb7385789bf3dc5db906681208ae",
      "parents": [
        "85d6a63d41676abef92701c8d61af7552aa478a4",
        "3a10a672f05735be46256617b8a61cdb1e589008"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 27 23:27:37 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 27 23:27:37 2015 +0000"
      },
      "message": "am f7049289: am 3812e68e: Merge \"kill HAVE_PTHREADS.\"\nautomerge: 3a10a67\n\n* commit \u00273a10a672f05735be46256617b8a61cdb1e589008\u0027:\n  kill HAVE_PTHREADS.\n"
    },
    {
      "commit": "3a10a672f05735be46256617b8a61cdb1e589008",
      "tree": "1af6e4124be472ec39bc66563ade6f4efca10b5a",
      "parents": [
        "3fd1ebff6c017ba4495070cb34f1ed7652b33cc9",
        "f70492898b3efa3c5f480f195062fa6f293bc764"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 27 07:04:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 27 07:04:55 2015 +0000"
      },
      "message": "am f7049289: am 3812e68e: Merge \"kill HAVE_PTHREADS.\"\n\n* commit \u0027f70492898b3efa3c5f480f195062fa6f293bc764\u0027:\n  kill HAVE_PTHREADS.\n"
    },
    {
      "commit": "1610486d371b867c0a842ede38e64774c18ba5d9",
      "tree": "0c48396116094b6642fbc86973c3939d800ca7d3",
      "parents": [
        "82a1a2c63959adc0c7e3208c6ffa6985a346ae57"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 19:43:58 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 22:32:38 2015 -0800"
      },
      "message": "kill HAVE_PTHREADS.\n\nBug: 19083585\nChange-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564\n"
    },
    {
      "commit": "4900bf9d82c4905fadc43d8e2dd9a7f896da2d81",
      "tree": "d6758555e1a054e6a6e46276919166bd44f9db14",
      "parents": [
        "df8e59abe5b0803cddee243e2c98d06afb66f5a9"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Jan 16 16:05:14 2015 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jan 20 10:51:49 2015 -0800"
      },
      "message": "Expose new binder call createStackOnDisplay()\n\nCreates a new, empty ActivityStack on a display. Use the binder call to\nlaunch an activity on said stack.\n\nBug: 19001243\nChange-Id: I0f04e8f2703bcc706f58e75333869fb35f6b1ee9\n"
    }
  ],
  "next": "c7321134b31061cbf36bc54873e5cf5b2491e5e9"
}
