)]}'
{
  "log": [
    {
      "commit": "1cd7e4c3d0216cfb9a8a685ca8cf6f0d740a9dff",
      "tree": "2ae1662b8d6a4ff711e6ce621e690e4f6204c0f1",
      "parents": [
        "5cd795a9094eb02c983751ecabca6f24b0a01c58",
        "fca52b7583d1e5f5ff8ed06554875d2a30ef56fa"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu May 28 22:03:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 22:03:08 2015 +0000"
      },
      "message": "Merge \"Use path intersection instead of saveLayer+mesh to mask projected ripples\" into mnc-dev"
    },
    {
      "commit": "4573dddcce3f232d2eeb20bfe0e204e15a9416e9",
      "tree": "2ffa4bac4aff27239990db0e2761473b18a61bfa",
      "parents": [
        "bf7fe1e051fefc5e6c1b96411a842b0305a9192c",
        "09d57fe9b357495b7bc62be39a8befa00d9d7ffb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 28 21:35:40 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 28 21:35:41 2015 +0000"
      },
      "message": "Merge \"Add new API to set URI on AssistContent.\" into mnc-dev"
    },
    {
      "commit": "6ac0c8c5faaa2fdf56a533a6a3452d53850809ee",
      "tree": "c5c64242918f8495a1bd59d25e49726f8e4a015c",
      "parents": [
        "3aeb5f848eee2c6de9bb49c9dcc7ca5127ef7c1e"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu May 28 13:22:28 2015 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu May 28 20:26:37 2015 +0000"
      },
      "message": "lock device orientation during app compatibility test\n\nDevices on test benches are usually held sideways, which leads to app\nrotation during launch. While it\u0027s useful to identify such issue from an\napp perspective, the app compatibility test should be isolated from such\nnoise for the purpose of the testing for basic level of compatibility.\n\nChange-Id: I403f96e5d8512ca6a17b05a83d69f4b02f760a32\n"
    },
    {
      "commit": "09d57fe9b357495b7bc62be39a8befa00d9d7ffb",
      "tree": "1d71edec334401bb5b978f64267d7d8b496582cb",
      "parents": [
        "da1b398173a94e94c61a0d186c7dc0ef2a7bd060"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 27 18:05:52 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 28 11:44:58 2015 -0700"
      },
      "message": "Add new API to set URI on AssistContent.\n\nAlso rework how we transfer AssistContent and AssistStructure\nto the assistant, so they are delivered as completely separate\nobjects rather than the kludgy bundling them in the assist\ndata thing.\n\nChange-Id: Ib40cc3b152bafeb358fd3adec564a7dda3a0dd1d\n"
    },
    {
      "commit": "01d1acc3c7f2c15d926a5454c2d899135d3db318",
      "tree": "4c635b2cd5f888a16998096edf0e718d19cf7967",
      "parents": [
        "3c6511518f8d87cee56870bcd4bd01174e412af3",
        "12c137ff3f2e7db6b0825f819a9346aa8834e3cb"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed May 27 20:33:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 20:33:49 2015 +0000"
      },
      "message": "Merge \"AnimatedVectorDrawable Attr proof of concept\" into mnc-dev"
    },
    {
      "commit": "4f486ee6963c52719a4420dc3dc8ff02519a3599",
      "tree": "07eed759f6f578f53fd473069888b7da9a942ae8",
      "parents": [
        "da1b398173a94e94c61a0d186c7dc0ef2a7bd060"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue May 26 13:54:34 2015 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue May 26 18:26:46 2015 -0700"
      },
      "message": "don\u0027t report missing launch intent as failure\n\nSome apks includes widgets and does not have a launchable\nactivity. The inclusion of such apk for launching is an issue\nwith test configuration, not test failure.\n\nAlso logging intent used for app package for debugging purpose.\n\nChange-Id: Ibca05757a401ea036e9910d8580d7cafd356567c\n"
    },
    {
      "commit": "fca52b7583d1e5f5ff8ed06554875d2a30ef56fa",
      "tree": "e383a2db169421a722fa9c559dd01904e83fa504",
      "parents": [
        "aa1cd25db72297f13539928e8aa45ba992f2f230"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 28 11:45:59 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 26 17:53:16 2015 -0700"
      },
      "message": "Use path intersection instead of saveLayer+mesh to mask projected ripples\n\nbug:14297149\n\nSaveLayer\u0027s performance cost is high, and proportional to the surface\nbeing projected onto. Since ripples (even unbounded ones) are now\nalways projected to the arbitrary background content behind them, this\ncost is especially important to avoid.\n\nThis removes the last semi-secret, saveLayer from the projected\nripple implementation.\n\nAlso fixes the HW test app to correctly demonstrate this projection\nmasking behavior.\n\nAdditionaly, alters PathTessellator to gracefully handle\ncounter-clockwise paths, and simplifies the work done by\nShadowTessellator to ensure all of its paths are counterclockwise.\n\nChange-Id: Ibe9e12812bd10a774e20b1d444a140c368cbba8c\n"
    },
    {
      "commit": "9f521c9b17660959d8c1b6af3f8658b6b52a553c",
      "tree": "a409e92c680a2ecde4db5408b900538e50b0365e",
      "parents": [
        "47e745c9786f757c2351e7192b7cd76527b95861"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon May 25 12:09:12 2015 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon May 25 12:10:36 2015 -0700"
      },
      "message": "update app compatibility post launch detection\n\ndecide if the app is still running after launch by checking\nrunning tasks and look for a task with base activity belonging\nto the package launched.\n\nChange-Id: Ibb3894e765ccbca62f803decc3c1c1f36dc2d454\n"
    },
    {
      "commit": "e5c42621095a12e7d22ca5ab871dacd28c9bff41",
      "tree": "2ba8e545b5c97ede4be9532d08e0cd03cd24e0b5",
      "parents": [
        "8b20cdb27bc5b4c433c4fc650203be9a25842bbd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 19 16:04:04 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 21 18:19:50 2015 -0700"
      },
      "message": "Improve reporting to apps of transaction too large failures.\n\nIf the app tried to do various things with too much data --\nstarting an activity, starting a service, sending a broadcast --\nthis would fairly silently fail with little indication of what\nwas going on.  Fix this in two ways:\n\n- Now when the native code generates a TransactionTooLargeException,\n  it may include an additional message in it telling you how much\n  data was in the parcel being sent, to help you understand why\n  this happening.\n\n- In all the framework code paths where we call to the system and\n  may fail, convert these failures into a a runtime exception and\n  rethrow them back to the app so that it will clearly get the\n  above message.\n\nChange-Id: I745159b97d3edb6fca86aa09cbc40c1f15a7d128\n"
    },
    {
      "commit": "b5a380d409a1431a38db978864b9d85b689e3cce",
      "tree": "5cd36c4c095331869e1019739500b517fbf516a6",
      "parents": [
        "aba3ecb976cacd7c92fe8f8afae20d112781d68e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 20 18:18:46 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 21 16:45:29 2015 -0700"
      },
      "message": "Add API to track usage time of apps.\n\nThis adds a new ActivityOption for the caller to ask the\nsystem to track the time the user is in the app it launches,\ndelivering the result when they are done.\n\nThe time interval tracked is from when the app launches the\nactivity until the user leaves that app\u0027s flow.  They are\nconsidered to stay in the flow as long as new activities\nare being launched or returned to from the original flow,\neven if they cross package or task boundaries.  For example,\nif the originator starts an activity to view an image, and\nwhile there the user selects to share, which launches gmail\nin a new task, and they complete the share, the time during\nthat entire operation will be included.\n\nThe user is considered to complete the operation once they\nswitch to another activity that is not part of the tracked\nflow.  For example, use the notification shade, launcher, or\nrecents to launch or switch to another app.  Simply going\nin to these navigation elements does not break the flow\n(although the launcher and recents stops time tracking of\nthe session), it is the act of going somewhere else that\ncompletes the tracking.\n\nThe data is delivered to the app through a PendingIntent,\nwhich includes the total time the app was in the flow along\nwith a time break-down by app package.\n\nChange-Id: If1cf8892d422c52ec5042eba0e15a8e7e8f83abf\n"
    },
    {
      "commit": "c19cdfa14dd5c64f3c185a7b07ac9ca2ecc2f0e7",
      "tree": "7b41adf189a0858b41c156dfa5b2553a067d4d99",
      "parents": [
        "b300d31bf1cb138f0a7c4c484459cc6a2ce2f69c"
      ],
      "author": {
        "name": "Jean-Luc Brouillet",
        "email": "jeanluc@google.com",
        "time": "Tue May 19 14:59:42 2015 -0700"
      },
      "committer": {
        "name": "Jean-Luc Brouillet",
        "email": "jeanluc@google.com",
        "time": "Wed May 20 13:40:06 2015 -0700"
      },
      "message": "Clean RenderScript warnings\n\nChange-Id: Ia7a98c1c977c839c74ae8081e70b5deb4b60c25d\n"
    },
    {
      "commit": "dbd90f032971d59bfb8e0fd2964a3ecb0a9843bd",
      "tree": "c1572f0ef226c79589c6000e03acab913178fd2d",
      "parents": [
        "ba6a72fd668c5396e2dc903806c915233bed43c7",
        "7edddb4961c7c64f8d2a06495f742e04b5cc7696"
      ],
      "author": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Tue May 12 18:51:02 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 12 18:51:09 2015 +0000"
      },
      "message": "Merge \"Tests for Notification object construction and parceling.\" into mnc-dev"
    },
    {
      "commit": "61e1e09a2b6471defa1032a44a20090618c21d3f",
      "tree": "e599662f77773f82f4327af20b132f5db4e5ad6f",
      "parents": [
        "eeb60bc7bbba2eed29d78dcc56ec1760655c5481"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 28 16:21:06 2015 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 12 10:26:13 2015 -0700"
      },
      "message": "Change attribute values per API council.\n\nlockTaskModeDefault \u003d\u003e default\nlockTaskModeNever \u003d\u003e never\nlockTaskModeIfWhitelisted \u003d\u003e if_whitelisted\nlockTaskModeAlways \u003d\u003e always\n\nFixes bug 20642190.\n\nChange-Id: I29cc546e12c330df9ec9af3cc91faf0d0f3df3b4\n"
    },
    {
      "commit": "7edddb4961c7c64f8d2a06495f742e04b5cc7696",
      "tree": "8e820f471ffe72f3a17359e5270db77abba67e9e",
      "parents": [
        "cbcbb828e8e3d1f901be00c896d816d01c17b19d"
      ],
      "author": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Apr 06 16:49:28 2015 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon May 11 23:32:08 2015 -0400"
      },
      "message": "Tests for Notification object construction and parceling.\n\nThe tests use the new hidden Parcel APIs (if available on\nthe running platform) to emit statistics about ashmem usage.\n\nBug: 20153922\nBug: 20079551\nChange-Id: I400d2a932f297e582c335389570f93c0d4a19fc9\n"
    },
    {
      "commit": "12c137ff3f2e7db6b0825f819a9346aa8834e3cb",
      "tree": "8818ddcac56054f604b0e288e779dc014e7b5191",
      "parents": [
        "dbf62ace0dcb671f5eaa97c0dfa75e39bc9c88be"
      ],
      "author": {
        "name": "Andrew Flynn",
        "email": "flynn@google.com",
        "time": "Mon May 11 13:36:42 2015 -0400"
      },
      "committer": {
        "name": "Andrew Flynn",
        "email": "flynn@google.com",
        "time": "Mon May 11 13:36:42 2015 -0400"
      },
      "message": "AnimatedVectorDrawable Attr proof of concept\n\nThis crashes while trying to run due to the \u0027?attr/color1\u0027 reference inside\nres/anim/blink.xml\n\nBug: 20817800\nChange-Id: Ie3ea24ac9b22e69af152d6ffe87c8c953929299c\n"
    },
    {
      "commit": "08cba16a59c442619ec952e7ce251e4038eb8322",
      "tree": "e10376f29cba33e179158407152373d17edc5d9d",
      "parents": [
        "f659a56c3062392d6b6020d148553ce49797eb5a",
        "765e00af5b769aff89300a167f545cac2088b1f1"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sat May 09 00:27:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 09 00:27:56 2015 +0000"
      },
      "message": "Merge \"allow top sleeping state in app process verification\" into mnc-dev"
    },
    {
      "commit": "765e00af5b769aff89300a167f545cac2088b1f1",
      "tree": "b9d2883cf27da04d4537d01aeee96b7511839730",
      "parents": [
        "e1a1d2e85a3f0626ae13322998fd45a1eb4a49d7"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri May 08 17:10:29 2015 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri May 08 17:10:29 2015 -0700"
      },
      "message": "allow top sleeping state in app process verification\n\nThis happens when an app is launched but has a dialog shown on\ntop of it. Typical reason is a licensing prompt of sorts.\n\nChange-Id: Id73f45f54767b869873c62f13aeeb470c1a5cd81\n"
    },
    {
      "commit": "ed9af066b2407a36699fae2e475c4d1b53d2ca1d",
      "tree": "005f834b928f7a47220e1468b7aa90d6fee1bfd3",
      "parents": [
        "180fd27832b429aaca0a35e8b93c88195b6451be",
        "49b043f37d7231b1544cb72e1bfb616e5a00688d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 08 20:42:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 20:42:12 2015 +0000"
      },
      "message": "Merge \"Fix issue #20655182: API Review: ViewAssistStructure\" into mnc-dev"
    },
    {
      "commit": "94a6d15ede149189bba9e5f474ed853c98230e75",
      "tree": "edc5a5211a7b69e091a13ddc3c60dcf88d9a5ea6",
      "parents": [
        "0d857b9028f2702ce439e13feccde8182d40e1e5"
      ],
      "author": {
        "name": "Siva Velusamy",
        "email": "vsiva@google.com",
        "time": "Tue May 05 15:07:00 2015 -0700"
      },
      "committer": {
        "name": "Siva Velusamy",
        "email": "vsiva@google.com",
        "time": "Thu May 07 18:44:21 2015 -0700"
      },
      "message": "Use new hierarchy viewer protocol in all View subclasses\n\nA previous CL introduced a new way of encoding view properties for\nuse by heirarchy viewer. This CL updates all views using the old\n@ExportedProperty annotation to use this new method. The older\nmechanism will be removed in a subsequent CL.\n\nChange-Id: I6cc23b90cd9da1c6ce89b4caffe54874db203452\n"
    },
    {
      "commit": "0d857b9028f2702ce439e13feccde8182d40e1e5",
      "tree": "a20bf172e726bef479b16ab121ee5a348df6b613",
      "parents": [
        "0a008049a21c5fbe36eac8047c5411c2e3aff41b"
      ],
      "author": {
        "name": "Siva Velusamy",
        "email": "vsiva@google.com",
        "time": "Wed Apr 22 10:23:56 2015 -0700"
      },
      "committer": {
        "name": "Siva Velusamy",
        "email": "vsiva@google.com",
        "time": "Thu May 07 18:44:15 2015 -0700"
      },
      "message": "Improve hierarchy viewer dump hierarchy latency\n\nHierarchy Viewer obtains the properties for each view by using\nreflection and looking for fields and methods that have the\n@ExportedProperty annotation. Using reflection made it quite slow\nfor large view hierarchies.\n\nThis CL adds a new method (encode) to each class that wishes to\nexport data to hiererachy viewer. Inside this method, the object\ncan write a sequence of key, value pairs corresponding to the\nvalues it wants exported.\n\nWith this change, the dump hierarchy operation that used to take\nmore than 10 seconds can be performed in a few hundred milliseconds.\n\nChange-Id: I199ac2e7ca3c59ebcfec7e6bd201e134c41fd583\n"
    },
    {
      "commit": "49b043f37d7231b1544cb72e1bfb616e5a00688d",
      "tree": "b08f8d748f099c46346e0e5e997d217eea8c88ca",
      "parents": [
        "cfd6e9dfd063cba795497f251aa6f7fe2554f10b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 07 14:21:38 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 07 16:30:52 2015 -0700"
      },
      "message": "Fix issue #20655182: API Review: ViewAssistStructure\n\nFix the various view assist related APIs.\n\nAlso remove the blockAssist view attribute, and instead use\nthe window\u0027s FLAG_SECURE to drive blocking of the entire\nhierarchy (which is semantically correct, and will protect\nexisting apps that have already indicated they need it).\n\nChange-Id: I6beebc86b202809cba0a356cae9607d8d0fb5e78\n"
    },
    {
      "commit": "39fce1d226c96e49cf8466a347dabe9dba702151",
      "tree": "ddd814438f3726ae2ff9632b247d01f3e8adf752",
      "parents": [
        "dc9b2dfae2d2c0ef6d7e8d769a78abc17add537a",
        "34092cf80a7402a299ee91a12c5e05b7655169b1"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu May 07 19:05:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 07 19:05:50 2015 +0000"
      },
      "message": "Merge \"improve app crash detection in compatibility test\" into mnc-dev"
    },
    {
      "commit": "34092cf80a7402a299ee91a12c5e05b7655169b1",
      "tree": "6458f9a5183eafcb30fd504b6e9f3312fb283e28",
      "parents": [
        "9132c5ab0746f56909ed5630a6e93c9fadefabd0"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu May 07 10:51:29 2015 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu May 07 11:48:33 2015 -0700"
      },
      "message": "improve app crash detection in compatibility test\n\nIn addition to ensuring that process exists, we also need to\ncheck that it\u0027s the right state. Because crashed foreground\nactivity can still get started as background service.\n\nBug: 20899208\nChange-Id: I101e556ce757af1afb66686827c5851dd6fda620\n"
    },
    {
      "commit": "20db98c5d8909452f0e385bbd075d0fb8fa4cd9c",
      "tree": "c77c24e1e94fc220aa0b553bb2f50a5123d46f19",
      "parents": [
        "9132c5ab0746f56909ed5630a6e93c9fadefabd0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 06 21:00:06 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 06 21:00:06 2015 -0700"
      },
      "message": "Remove incomplete media router API.\n\nThis time not also accidentally deleting frameworks/base/Android.mk.\n*sigh*\n\nBug: 20641986\nChange-Id: I2e43ab1fdf4201fec4d5a5b73c04f27a4a848630\n"
    },
    {
      "commit": "a8cc0584c60cbe7e880895353d95e9b9cc5c1b62",
      "tree": "0a85f88036631df12b74a349e711195d70b40687",
      "parents": [
        "2e5a2051de54e64612e1357d4534c7ec851aa508"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu May 07 03:23:20 2015 +0000"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu May 07 03:23:20 2015 +0000"
      },
      "message": "Revert \"Remove incomplete media router API.\"\n\nThis CL has broken all builds on mnc-dev.\nReverting until Jeff can take a look at it.\n\nThis reverts commit 2e5a2051de54e64612e1357d4534c7ec851aa508.\n\nChange-Id: Ib9b3569bfebdc7bbfbcb7aee82733b93736c5bb5\n"
    },
    {
      "commit": "2e5a2051de54e64612e1357d4534c7ec851aa508",
      "tree": "fb7abdcd4dc4d8be87890cb40161339d88a99527",
      "parents": [
        "4244ce6a17063fd67fa174f7e551830c4df7d5bf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 19 17:39:42 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 06 19:54:46 2015 -0700"
      },
      "message": "Remove incomplete media router API.\n\nBug: 20641986\nChange-Id: I310fadafb5a6b8190a32e5d87f3e1823c87bcef7\n"
    },
    {
      "commit": "e9194b98a2098a1d94957e4723eaaf7399ecf3be",
      "tree": "93be36d5499bba5c1f21df4598a0ab7e92121b36",
      "parents": [
        "6329bbceebc8c0d6de164cb693a828402542fd35",
        "704b9f82c345da2d63bc2785fb3733b486d3e119"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Tue May 05 23:53:22 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 05 23:53:23 2015 +0000"
      },
      "message": "Merge \"Extended test to support launching assist above lock screen\" into mnc-dev"
    },
    {
      "commit": "704b9f82c345da2d63bc2785fb3733b486d3e119",
      "tree": "420d5355f51c915a3a46f30d3783313166ecf621",
      "parents": [
        "e70d6535237d2e6f03adcd0bdc11e45ea714dc97"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Mon Apr 27 16:18:37 2015 -0700"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Tue May 05 14:53:08 2015 -0700"
      },
      "message": "Extended test to support launching assist above lock screen\n\nChange-Id: Ic65e638eed214a240cc13666f857e9b297f28168\n"
    },
    {
      "commit": "58a20d19f52841a8eb4044451eeba335938fa363",
      "tree": "e18e5f870b7a8ed4bddbc70f3adc2902d6fcbd0b",
      "parents": [
        "703b5f895d8be08d795ace72c74576e1e4b6c5b6"
      ],
      "author": {
        "name": "Maxim Siniavine",
        "email": "siniavine@google.com",
        "time": "Tue May 05 12:00:24 2015 -0700"
      },
      "committer": {
        "name": "Maxim Siniavine",
        "email": "siniavine@google.com",
        "time": "Tue May 05 12:00:24 2015 -0700"
      },
      "message": "Update permissions on memory usage instrumentation\n\nChange-Id: I0c2bbd893252eb1dc3cf8b93b787efd772317216\n"
    },
    {
      "commit": "574f53793d6441ebf55ca8811588ad37d9451a9a",
      "tree": "cf2c794a03a58b425264abb90939d2418d97621d",
      "parents": [
        "106f88c890bd128ef89aa4f0dee591c2ad38fa6b",
        "b9d71a6f89b1183f6389b1774652445a420c6cbf"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 01 23:09:51 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 23:09:52 2015 +0000"
      },
      "message": "Merge \"Add body sensors app op - framework base\" into mnc-dev"
    },
    {
      "commit": "31a2d063df5111e730abe7d07be064690deedc34",
      "tree": "ad96bc2fe1f7a8bc0feeb39a63763240746c4308",
      "parents": [
        "5c705c595d6adbb4b6e8ad5dee29205246cd5cc4"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 01 14:22:47 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 01 14:30:15 2015 -0700"
      },
      "message": "Revert \"Revert \"Merge getDisplayList and updateDisplayListIfDirty\"\"\n\nFixes breakage from HwAccelerationTest\n\nThis reverts commit b2847afde24aac22c8fb804cdce0c24b8a7c40c4.\n\nChange-Id: I762b3c9020fc1d06bac61ffa8b956049147515b1\n"
    },
    {
      "commit": "b9d71a6f89b1183f6389b1774652445a420c6cbf",
      "tree": "b6f17102b2f86b40630e4a7cd681721797a8f324",
      "parents": [
        "9fc943d1a69f2ab0f6d8285b09aef7e344a1fd1a"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 30 10:38:13 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 01 13:56:04 2015 -0700"
      },
      "message": "Add body sensors app op - framework base\n\nChange-Id: Idd5cd573fab3405e5b2a6e51d2d9d115650826e9\n"
    },
    {
      "commit": "5f560d056243638a83a4e7770035fdb66004c9d7",
      "tree": "23e0d0ca97b0784421ddd3f5c7798f351b399a6b",
      "parents": [
        "cf2999aacf45506ff6f9c2876bfd4fd5a99fc394"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Apr 30 11:49:29 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri May 01 13:33:38 2015 -0700"
      },
      "message": "Rename supportsAssistGesture to supportsAssist\n\nBug: 20642759\nChange-Id: Idddc786980244cc94570d04fd414540bbad60448\n"
    },
    {
      "commit": "fa5ecdc4ac6d7a8db2bb9e4a6a60a3189025df30",
      "tree": "ab6c59fa33dd8871ee7580e83dd405f2bf9d4347",
      "parents": [
        "50ea942255e139d3ace81cdd3f90be75625edd69"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 28 12:03:28 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 28 16:31:58 2015 -0700"
      },
      "message": "Respect the record audio app op - framework\n\nChange-Id: I5696d2ef22738ccffaf8bd7a0ee68cbc3dea3bf1\n"
    },
    {
      "commit": "799d8d0a0fa42d360f2ccd9cc66aace8eb167c67",
      "tree": "990d965804347d2047ac03f1b77c7b966252ebb1",
      "parents": [
        "a1f6211e795be5101ab763dd451b307ae56c8cad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 22 16:36:39 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 22 17:36:48 2015 -0700"
      },
      "message": "Add \"assist block\" API.\n\nTo prevent assist structure traversal down the view hierarchy.\n\nChange-Id: I50ce5f8de6f2eca3cb862de8eacd6422c40a2f7c\n"
    },
    {
      "commit": "c21ae9ed221912b61306e075d3f22726ac04013c",
      "tree": "13584199534e3148ceceb7cdae210fe1c4d598b6",
      "parents": [
        "8ce568e756c4096002d2bfb786114aac5a06e54e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 15 09:45:42 2015 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Apr 21 10:11:12 2015 -0700"
      },
      "message": "Add API for putting up locktask pinning toast.\n\nFixes bug 18993662.\n\nChange-Id: Ic1753285044857f8ea897784485fd1a9580acf25\n"
    },
    {
      "commit": "2ad0bb46a42476f91b63baa95f0bcf97a337a4fc",
      "tree": "038cec3cde560e9d898ef8c3aa0f1d5cff58fa14",
      "parents": [
        "15df08abd8190353e1430f88c2ed6462d72a5b25"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 08 15:43:26 2015 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Apr 15 14:27:56 2015 -0700"
      },
      "message": "Add tests for android:lockTaskMode.\n\nAndroid app to exercise the new attribute.\n\nFor bug 19995702.\n\nChange-Id: I0794301a6b677ec6367dd3ad99a40b5d3f9f1d7c\n"
    },
    {
      "commit": "88022af3b432b6294ba3ec62e9d025c52d71a7f1",
      "tree": "af4c6836623f1affb561e6b66d69a80d3f960936",
      "parents": [
        "f04046dfb0696113c8c1a3cf7425b7d6d85378b3",
        "57e7443d9de2453c150776a318107ee830abe722"
      ],
      "author": {
        "name": "wsmlby",
        "email": "wsmlby@google.com",
        "time": "Thu Apr 09 19:36:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 19:36:54 2015 +0000"
      },
      "message": "Merge \"Add permission for AppCompatibilityTest.\""
    },
    {
      "commit": "57e7443d9de2453c150776a318107ee830abe722",
      "tree": "35e679ec6f290242ba6601f919f0dbc764418120",
      "parents": [
        "57baee2e12d1102372153cb4a66ff151c5cc855c"
      ],
      "author": {
        "name": "wsmlby",
        "email": "wsmlby@google.com",
        "time": "Thu Apr 09 12:32:33 2015 -0700"
      },
      "committer": {
        "name": "wsmlby",
        "email": "wsmlby@google.com",
        "time": "Thu Apr 09 12:35:49 2015 -0700"
      },
      "message": "Add permission for AppCompatibilityTest.\n\nBug: 20134812\nChange-Id: Iaf9a9963a16af1e2bb157159648db70666a33c48\n"
    },
    {
      "commit": "25ff0646ca16060040ff68ad6d02422db96327e0",
      "tree": "8174fd39edca16b0fbe03cbe0301314901f7f2e5",
      "parents": [
        "1620a65d32251ca058b60cb2751394e9ee1f0019",
        "a86790bf23a98ede5fc0c29b996a5229e08181cd"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 07 18:50:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 07 18:50:54 2015 +0000"
      },
      "message": "Merge \"Add Camera prewarm intent.\""
    },
    {
      "commit": "a86790bf23a98ede5fc0c29b996a5229e08181cd",
      "tree": "356a816c89f4dd08c1437221eb57aa168fe0a015",
      "parents": [
        "6e9fa1a4b74dc4e35470739cfd64881cb9bcc7b1"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Apr 02 16:32:29 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Apr 07 11:24:05 2015 -0700"
      },
      "message": "Add Camera prewarm intent.\n\nAlso adds a test app for testing this intent. In addition, the secure\ncamera gets launched in the background to fix jank while sending the\nintent.\n\nBug: 20016619\nChange-Id: I7bb7e22ddaf5dc67fc09b9e63e5f3d10fe8e3ee4\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": "df62ab4833dc34207e68f8ad22e31a5fcaa6744e",
      "tree": "ef3481166f3008123d64f58627e5693f055d86cf",
      "parents": [
        "689dd8fb5bbc07720cf1777133505784a1b53a10",
        "9af77a4ce22540726fbddd275f89e65fd1a1edf8"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Apr 03 20:08:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 03 20:09:02 2015 +0000"
      },
      "message": "Merge \"Add group scaling factor into stroke width.\""
    },
    {
      "commit": "64e71cd6cce5c65548a570204f6cc8641ef1eddb",
      "tree": "f789d1dfeb4d5154a58f696917925602b77ed4f7",
      "parents": [
        "edea751f6416869ff08268d9aeec2f6b6e65f7f0",
        "6e9fa1a4b74dc4e35470739cfd64881cb9bcc7b1"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 03 18:26:28 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 03 18:26:41 2015 +0000"
      },
      "message": "Merge changes from topic \u0027assist\u0027\n\n* changes:\n  Add test assist to implement motion study\n  Implement new assist gesture and motion\n  Add flag to voice interactor for supporting assist gesture\n  Add more internal API\u0027s for assist\n  Add ability to start voice interaction session directly\n"
    },
    {
      "commit": "6e9fa1a4b74dc4e35470739cfd64881cb9bcc7b1",
      "tree": "1da9f58bf17952a7657bcc4d727102cfd94d539b",
      "parents": [
        "2fdeeabe78b0f54f3163b1b3741ac813828b3511"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Apr 01 13:37:39 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 03 11:12:44 2015 -0700"
      },
      "message": "Add test assist to implement motion study\n\nThis change introduces another test VoiceInteractionService, Assist,\nto test the full SystemUI -\u003e assist layer motion when invoking\nassist.\n\nThe old assist test project was renamed to LegacyAssist.\n\nChange-Id: Iddf8a36a76083625f8aa4faecef1930e9952d05b\n"
    },
    {
      "commit": "5688b03f7f4fafd671451ff73103be0f2388b32e",
      "tree": "03f3362f7919592e14f2bd56957fc4c722397e26",
      "parents": [
        "3425dae8dc63372e8944dce43f7ed2d567512248"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 02 18:25:35 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 02 18:43:31 2015 -0700"
      },
      "message": "Add quick and dirty async AssistStructure building.\n\nNew APIs on ViewAssistStructure all the app to request to\nbuild a sub-tree asynchronously and indicate when it is done\nwith that.  The overall AssistStructure is now only flattened\nand transfered on-demand, when the app receiving it requests\nits data -- and at that point we can wait for any asynchronous\nbuilding to complete.\n\nNew AsyncStructure view is a very simple example of using this\nto asynchronously build a child view.\n\nChange-Id: I14f9199bee64915ad3dc80b2190916ec874308af\n"
    },
    {
      "commit": "9af77a4ce22540726fbddd275f89e65fd1a1edf8",
      "tree": "78f7335463e410712fd09c023b8abee4eaa097b8",
      "parents": [
        "072be09aafc258a8d9d8c4f1dbf4f800b3983434"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Apr 01 16:38:44 2015 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Apr 02 16:09:03 2015 -0700"
      },
      "message": "Add group scaling factor into stroke width.\n\nOriginally, stroke width is independent of group scaling.\nBut that is a bug and causing animation trouble.\n\nb/19501782\n\nChange-Id: I33d5e44f2f8b2a82fee1a5a326223a39aaffa86c\n"
    },
    {
      "commit": "6251f0d42be7da54d7f1bc8f570a44883b7d9052",
      "tree": "d7e928e1d55745a3ff4771c546678e4b27fc6d1b",
      "parents": [
        "6cedefa2e4a10724982a72e22abc349c7578902d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 01 16:45:03 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 01 17:08:27 2015 -0700"
      },
      "message": "Rework assist to walk down the view hierarchy.\n\nInstead of collecting all of the data directly in AssistStructure,\nwe now have a dispatch mechanism down the hierarchy to do so.\nWhile doing this, also added the ability to automatically collect\nassist data from AccessibilityNodeProviders attached to views\n(so now we see all of the data in for example Calendar).\n\nThis is a first step needed towards being able to asynchronously\npopulate assist data.\n\nChange-Id: I59ee1ea104ca8207bad8df7a38195d93da1adea7\n"
    },
    {
      "commit": "1588f0ff54b88240b55eeaba97e67f0f1dee5f92",
      "tree": "2f9ab06c201b4d4717ab46111f3efa2e69451da3",
      "parents": [
        "111928fa324db73f94389bdfab4b108cbd30d8f4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 24 14:11:37 2015 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 24 15:49:13 2015 -0700"
      },
      "message": "Add listener support in AVD\n\nInternally, switch to use AnimatorSet instead of an array of Animators\n\nb/19825918\n\nChange-Id: Ia67d2cc7dd89362e6b0019c916d3f2a0d0f3e39e\n"
    },
    {
      "commit": "312035232b45b251d48c3ba94d88600bbc42771a",
      "tree": "aaca3ddef8220654e0b135f94566a6004018da1a",
      "parents": [
        "93f724b04ef83aae7ab6ce97a9dc890d0c8c8b47",
        "0b071a08d8dec3e68937590938199273f3b123cc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 24 00:02:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 00:02:38 2015 +0000"
      },
      "message": "Merge \"Add view ID, rework assist API.\""
    },
    {
      "commit": "0b071a08d8dec3e68937590938199273f3b123cc",
      "tree": "efa185352b9d5f4fca62dbfb35cf259fed1b3c5b",
      "parents": [
        "79ec42e6a3c6a6f6a00ef3ad92221a5ad2149aa9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 20 15:05:35 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 23 13:59:47 2015 -0700"
      },
      "message": "Add view ID, rework assist API.\n\nAdd view ID information to the assist structure.\n\nAlso rework the API to simplify how it works by removing\nthe ViewNode wrapper around ViewNodeImpl -- these are now\njust the same thing.  And then add complexity by introducing\na formal WindowNode object that contains the top-level window\ninformation (so I can add in some more window-specific info\nin the future).\n\nChange-Id: I5d525cf61ab6a73193e5cceb4c09d2d21cc27bae\n"
    },
    {
      "commit": "47fe60a643d5d138ee3b0d836a1c4ab8b6e5b730",
      "tree": "b50fada585a400bb915cb2cbc44e4c31eda85588",
      "parents": [
        "0964cfc384398cdacd82030649b9c43b95ffa970",
        "8a9355a98ece3d7fc9d022e759d05378060c86e2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 20 20:46:39 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 20 20:46:40 2015 +0000"
      },
      "message": "Merge \"Output modified bcp47 tag in ResTable_config::toString()\""
    },
    {
      "commit": "4a357cd2e55293402d7172766f7f9419815fc1e8",
      "tree": "f2cedee7f41f48a8141a2798ca6100912553e4ef",
      "parents": [
        "f2560e62cf26cae64f5751b0479743e09cb7bd7f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 18 18:37:18 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 18 18:37:18 2015 -0700"
      },
      "message": "Replace usages of deprecated Resources.getColor() and getColorStateList()\n\nChange-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0\n"
    },
    {
      "commit": "43c410eaacf7d287c6c3f5621e6e0b96501004dc",
      "tree": "ef836af43be15a316e3d730914f1ace60e398fe6",
      "parents": [
        "dd0d4b75794081e873977a5480d3d1dbff270d05",
        "f6829a0a618b4523619ec53c996b04d67e3186b9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 18 21:36:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 18 21:36:56 2015 +0000"
      },
      "message": "Merge \"Remove HardwareCanvas\""
    },
    {
      "commit": "27eac1d58fe0b7ca3a2e27f5ed64eff232745f45",
      "tree": "c1f0dc2a368ab1c7db1be81dc02b020eea0d1628",
      "parents": [
        "7438f814f16ff1ced53d93a2fe9e3973490f3843"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 16 17:15:53 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 17 16:45:51 2015 -0700"
      },
      "message": "Add ability to get a screenshot for assist.\n\nNew flag you pass in to startSession() to say you want it,\nnew callback on VoiceInteractionSession to receive it.\n\nChange-Id: I61fdcfdee41a60d46036a2ef16681a9b4181115a\n"
    },
    {
      "commit": "8a9355a98ece3d7fc9d022e759d05378060c86e2",
      "tree": "d6d76f94f2688f9bcee4c961dafc4cc3ec97a6bd",
      "parents": [
        "9c329b8b6440823ef94bffebc0b1098e8b2ad622"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 10 16:55:43 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 16 22:25:26 2015 +0000"
      },
      "message": "Output modified bcp47 tag in ResTable_config::toString()\n\nWe expect to be able to parse the output of ResTable_config::toString(),\nso it should use modified bcp47 (b+en+Latn+US).\n\nChange-Id: I597a1779a1fa5cff171c473e6a0368d93b9c7722\n"
    },
    {
      "commit": "3d07c94c393831091958fe6a98811843db8973bd",
      "tree": "0cd5c4ea3dc580772b28ef76e9b5b76fe23de081",
      "parents": [
        "872d191e6134b429f833013b8706c7b54ebd0d2a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 13 18:02:54 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 16 11:29:12 2015 -0700"
      },
      "message": "Add new voice request for picking from a list.\n\nAlso add API for voice interaction service to control\nwhether the system should hold a wake lock while it is\nworking with an activity (and actually *do* hold a wake\nlock while doing so, duh!).\n\nAnd while in there, clean up the launching wake lock to\ncorrectly give blame to the app that is launching.\n\nChange-Id: I7cc4d566b80f59fe0a9ac51ae9bbb7188a01f433\n"
    },
    {
      "commit": "a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9d",
      "tree": "2b0f1d1e65920fdbf7e3b7867070ee32776f246e",
      "parents": [
        "d6ee06a0c86d9d1556bb4b15c9aaea538e415e38"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 11 15:16:13 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 12 17:07:51 2015 -0700"
      },
      "message": "More work on collecting assist data.\n\nOptimize parceling of AssistData (which is now renamed to\nAssistStructure) by pooling duplicated class name strings.\n\nChange text associated with a view node to a CharSequence,\nso styling information comes along.\n\nInclude global text attributes -- size, colors, etc.\n\nIntroduce a new AssistContent structure, which allows us\nto propagate information about the intent and data the\nactivity is looking at.  This further allows us to propagate\npermission grants, so the assistant can dig in to that data.\nThe default implementation propagates the base intent of an\nactivity, so if for example you bring up the assistant while\ndoing a share the assistant itself has the same information\nand access that was given to the share activity (so it could\nfor example share it in another way if it wanted to).\n\nDid some optimization of loading PersistableBundle from xml,\nto avoid duplicating hash maps and such.\n\nChanged how we dispatch ACTION_ASSIST to no longer include\nthe more detailed AssistStructure (and new AssistContent)\ndata when launching; now the example code that intercepts\nthat needs to be sure to ask for assist data when it starts\nits session.  This is more like it will finally be, and allows\nus to get to the UI more quickly.\n\nChange-Id: I88420a55761bf48d34ce3013e81bd96a0e087637\n"
    },
    {
      "commit": "f6829a0a618b4523619ec53c996b04d67e3186b9",
      "tree": "816816dadc5cd7ac8ad1b6a309525f6300fc9b82",
      "parents": [
        "edacf22ca132ac48207a68aa30998f5b43d893b8"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 10 10:28:59 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 10 14:56:11 2015 -0700"
      },
      "message": "Remove HardwareCanvas\n\nChange-Id: I239646a7f00f09d3f76fe6b6162eed86bc0d6e77\n"
    },
    {
      "commit": "978a1ed5aa2752cd36ff51df91d2d2d8be2171d9",
      "tree": "4c383bf6ee66fd90b721fc670bb24a2d94fd15bd",
      "parents": [
        "5414d155e5ce3147f9db1b2ec6fb2dcd6473e089"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 02 11:37:24 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Mar 02 12:54:14 2015 -0800"
      },
      "message": "Add generic \"INTERACTION\" event type to UsageStatsManager\n\nThis will allow for updating a package\u0027s last time used\nproperty for packages that are interacted in ways other than\nlaunching their activities (interacting with notifications, etc.)\n\nChange-Id: Ic6f9519f46fa04abd37ea6fc9475bcd9ea721003\n"
    },
    {
      "commit": "ffeecb1bfb9b71f4b62c9ef1fbf7b58a7a63f655",
      "tree": "79ce65f76cff29d67abc6b867f0f79795be7a38b",
      "parents": [
        "6e53931f49f49245deef8622eb8e7dc6ccf04536"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 25 11:08:11 2015 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 25 17:36:17 2015 -0800"
      },
      "message": "Rework voice interaction session lifecycle.\n\nWe now have a formal concept of the session being shown and\nhidden, with it being able to continue running while hidden\nas long as there is enough RAM.\n\nThis changes the flow that a VoiceInteractionSession will\nsee: onCreate() is when it is first created, onCreateContentView()\nis when its UI first needs to be built, onShow() is called each\ntime it needs to be shown and has the arguments given when the\nshow request was made (which has been renamed from startSession to\nshowSession), and then onHide() will be called when the UI is\nno longer shown.\n\nThe methods show() and hide() now allow a VoiceInteractionSession\nsubclass to control when it is shown and hidden, working with the\nshown state being maintained by the system.\n\nChange-Id: Ic4a430ec7e8bf76a5441fd0425e2932806170fcc\n"
    },
    {
      "commit": "36a35e366a65980843b96759f863643f17ca1ee7",
      "tree": "c4eba90c7c54625044e7fc97d09e31021065aeeb",
      "parents": [
        "6c770900d6dc96b98c980c23f4a62ccf30a36586"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 18 09:24:33 2015 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 18 17:47:21 2015 +0000"
      },
      "message": "Fix layer shader to store layer pointer\n\nbug:19419672\n\nChange-Id: I4277348ceab41fbf45a107a8b21f64e2b4af23e0\n"
    },
    {
      "commit": "ae6688b09649447e57468b3e7935691bc09ec9b9",
      "tree": "799d4b2ddeb5b32a578b7300196bfefdf272703e",
      "parents": [
        "bc26d2eafd6185a197a968b2dffde5871791cf0b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 11 17:02:41 2015 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 13 11:27:57 2015 -0800"
      },
      "message": "Update voice interaction layer for new UI design.\n\nCan switch from a pure overlay at the top of the screen,\nto interactive mode with the voice UI drawing at the bottom\nand pushing its target activity up like an IME.\n\nAdd mechanism to get assist data to the voice interaction UI.\n\nAdd some basic visualization of the assist data, outlining\nwhere on the screen we have text.\n\nAdd a test ACTION_ASSIST handler, which can propagate the\nassist data it gets to the voice interaction session so\nyou can see what kind of data we are getting from different\napps.\n\nChange-Id: I18312fe1601d7926d1fb96a817638d60f6263771\n"
    },
    {
      "commit": "3bdd327f8532a79b83f575cc62e8eb09a1f93f3d",
      "tree": "92480de80f3818f6f1746df0ea719cf547324b22",
      "parents": [
        "8b0c8ffb2d921ce5c90bcaaa3f1182d531d90d2c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 27 18:17:35 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Feb 12 11:15:49 2015 +0000"
      },
      "message": "Move apache specific portions of android.net.http to external/apache-http.\n\nWe continue to compile external/apache-http into ext.jar. This contains\na few changes apart fom the classes moving around :\n\n- Makefile changes to build docs and api-stubs for now. A future change\n  will revert these changes and remove these classes from stubs and\n  docs.\n- Hardcode event IDs in legacyerrorstrings to avoid a dependency between\n  the frameworks and apache. These strings are on their way out and will\n  never change anyway.\n- Remove imports due to {@link} tags and use {@code} instead.\n- Remove an accidental(?) dependency on apache commons code that\u0027s a\n  part of apache-http.\n\nbug: 18027885\n\nChange-Id: I51cd038d846ec7d02c283a4541b10a6a9cf62ecf\n"
    },
    {
      "commit": "83162a90278d9d52d8fca7ee20ba314b452261de",
      "tree": "ced2c68ab15582dffb405ff24396e2ac2bf57c9b",
      "parents": [
        "3d62078498e8e9f7552d49f5f5e53ec339f4c2ce"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jan 26 14:43:30 2015 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jan 27 13:56:20 2015 -0800"
      },
      "message": "Eliminate groupId and add task to AppWindowToken\n\nSimplifies access by eliminating indirect referencing.\n\nFixes bug 18088522 item #15.\n\nChange-Id: I9049192a7f3e1028d60c4f2d4d4a0d4aad590aa4\n"
    },
    {
      "commit": "8667eff6b82da054f35a0368b00864b2cb97a8f9",
      "tree": "93bd49ba8134cdd67a9b4aa2086f3f650989c49d",
      "parents": [
        "84a6d9e609ac6ad65e5bf43c8980d78917be543e",
        "428ecf296694fa8c7214e068d36d47d1c74e5110"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jan 16 01:54:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 16 01:54:59 2015 +0000"
      },
      "message": "Merge \"Remove unused method moveTaskToBack.\""
    },
    {
      "commit": "428ecf296694fa8c7214e068d36d47d1c74e5110",
      "tree": "9bedd44058ad2b1b069daf1c1bd5a120efddbe34",
      "parents": [
        "799bc1d383ea40637e88c4a9dba8671585202d99"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jan 14 16:09:01 2015 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Jan 15 17:20:40 2015 -0800"
      },
      "message": "Remove unused method moveTaskToBack.\n\nEveryone uses moveActivityTaskToBack() instead.\n\nFixes item #3 of bug 18088522.\n\nChange-Id: I16028335fe1eef8a2aa47804f46536e395a16d8c\n"
    },
    {
      "commit": "97611881e14fc653322bf27016597da03e4fe07c",
      "tree": "329f4e47690a584093dc6b584d860fdab7669add",
      "parents": [
        "61e13698a85f89f441c833648ddf81b961ef9628",
        "5c61dfc25fed75a436dc32b0fb18854bde0c4cea"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 15 03:44:43 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 03:44:43 2015 +0000"
      },
      "message": "am 5c61dfc2: am e488ce86: am 94e30215: Merge \"AAPT: Handle all old unversioned attribute usage\" into lmp-mr1-dev\n\n* commit \u00275c61dfc25fed75a436dc32b0fb18854bde0c4cea\u0027:\n  AAPT: Handle all old unversioned attribute usage\n"
    },
    {
      "commit": "5c61dfc25fed75a436dc32b0fb18854bde0c4cea",
      "tree": "0eae0de74a065094073690f7060d7a0ebf137b8b",
      "parents": [
        "4d5e761a34c73a700757ade349e9a05b3335f617",
        "e488ce8668538b45c586eba21f5bca288d749686"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 14 20:47:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 14 20:47:47 2015 +0000"
      },
      "message": "am e488ce86: am 94e30215: Merge \"AAPT: Handle all old unversioned attribute usage\" into lmp-mr1-dev\n\n* commit \u0027e488ce8668538b45c586eba21f5bca288d749686\u0027:\n  AAPT: Handle all old unversioned attribute usage\n"
    },
    {
      "commit": "28994d8d181c286b39811441ce78399576c2d315",
      "tree": "2e1d2308c8c49184fc04ad98994f95ed4d462961",
      "parents": [
        "7ce662ef870df34cd189b4ce9e487e496ba407dd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 13 13:42:41 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 14 12:02:15 2015 -0800"
      },
      "message": "AAPT: Handle all old unversioned attribute usage\n\nAll references to attributes defined in pre-LOLLIPOP_MR1 SDK\nare moved to version qualified resource entries.\n\nBug:18221682\nChange-Id: Ifd739530ebcf99e6bc7ddb3f10bc5e05f0726e62\n"
    },
    {
      "commit": "054a17caaa7cd36f4f4ba644088c4ccf5b9c06fb",
      "tree": "7295ebcd8f80ecf652b31a9635d87ca0995eda31",
      "parents": [
        "a1d11273d3dee74f923e567a003653ea9c2ea936"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Jan 08 10:16:52 2015 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jan 09 14:53:47 2015 -0800"
      },
      "message": "Limit the scope of clip path to the group, not global\n\nhttp://b/18758765\n\nChange-Id: I899401a5fcbccd0421687bd5cf671f7751092195\n"
    },
    {
      "commit": "825096df5f70a142613889cda2d4fcdcb80d32e5",
      "tree": "1001dd3083c5621d9d076afda362e824559cb36c",
      "parents": [
        "284e66e23cd19ce9332741daccfe58beb9bb6f15",
        "8a23b3820d6f4d08b6b6ca3ffb0f85bd829f5e97"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Dec 16 17:58:27 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 16 17:58:27 2014 +0000"
      },
      "message": "am 84c7ef8a: am d8ce65c9: Merge \"Remove 2 sub-tests from the internal test app.\" into lmp-mr1-dev\nautomerge: 8a23b38\n\n* commit \u00278a23b3820d6f4d08b6b6ca3ffb0f85bd829f5e97\u0027:\n  Remove 2 sub-tests from the internal test app.\n"
    },
    {
      "commit": "8a23b3820d6f4d08b6b6ca3ffb0f85bd829f5e97",
      "tree": "919d3a6b04eceaae2b5eae20e0173370d2b480bb",
      "parents": [
        "7ea97e28e6a2271fd4d60c07b4fa83e019e3474a",
        "84c7ef8a28d321e190d4d3f9a0c91ee5ae41bf9a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Dec 16 17:56:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 16 17:56:51 2014 +0000"
      },
      "message": "am 84c7ef8a: am d8ce65c9: Merge \"Remove 2 sub-tests from the internal test app.\" into lmp-mr1-dev\n\n* commit \u002784c7ef8a28d321e190d4d3f9a0c91ee5ae41bf9a\u0027:\n  Remove 2 sub-tests from the internal test app.\n"
    },
    {
      "commit": "d8ce65c9b5142ff9aeadb4caecd46a4811021d7b",
      "tree": "89f61cb088f69ec250c0827bcfe675adaeea41c6",
      "parents": [
        "cd460538a4e00cd36be478b00d298a6e2526528f",
        "d76da520edc2b53583d4d4a0964906e72dd336c0"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Dec 16 17:45:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 16 17:45:02 2014 +0000"
      },
      "message": "Merge \"Remove 2 sub-tests from the internal test app.\" into lmp-mr1-dev"
    },
    {
      "commit": "d76da520edc2b53583d4d4a0964906e72dd336c0",
      "tree": "987933c619e1c2b033370cad66f79b37a96a8bc4",
      "parents": [
        "2705387df6f3ffe87b2a3a71a48eea7e2be44fb1"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Dec 15 15:41:24 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Dec 15 15:47:41 2014 -0800"
      },
      "message": "Remove 2 sub-tests from the internal test app.\n\nb/18171696\n\nChange-Id: I4c4e96c2d0a8e664d81abb300a8f56c5bbb358cd\n"
    },
    {
      "commit": "61e0abc2f5245eb096ca764eef54616b3fb7f9b6",
      "tree": "d0f79814acdb2d022db728507e140e88279527fc",
      "parents": [
        "c45ea929bcb63d58704b9b2c9b620b31035a8400",
        "9954a44896937d8f7fd7aebbe276c570101d4c77"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Dec 14 04:09:14 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Dec 14 04:09:14 2014 +0000"
      },
      "message": "am d8ca1208: am 07bba9ab: Merge \"shell based UI Automator source move\" into lmp-mr1-dev\nautomerge: 9954a44\n\n* commit \u00279954a44896937d8f7fd7aebbe276c570101d4c77\u0027:\n  shell based UI Automator source move\n"
    },
    {
      "commit": "9954a44896937d8f7fd7aebbe276c570101d4c77",
      "tree": "31f557804303169ec8daf987be4e1bad1d8a3ecc",
      "parents": [
        "584c3dfb53f7a795627a4ea8082ff54e83e4336a",
        "d8ca1208b3ee76e45e45e47d5806c398442a55a3"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Dec 14 04:04:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Dec 14 04:04:26 2014 +0000"
      },
      "message": "am d8ca1208: am 07bba9ab: Merge \"shell based UI Automator source move\" into lmp-mr1-dev\n\n* commit \u0027d8ca1208b3ee76e45e45e47d5806c398442a55a3\u0027:\n  shell based UI Automator source move\n"
    },
    {
      "commit": "18b892c723e812a7e111f102d2b0c0782b116bb6",
      "tree": "ab7f42c778169da272b503d308c2cc712effef2b",
      "parents": [
        "1f28a6a571a9b4ff78d85e2b62a30d77ce986d7b"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Dec 11 15:12:30 2014 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Dec 12 17:31:38 2014 -0800"
      },
      "message": "shell based UI Automator source move\n\nframeworks/testing/uiautomator -\u003e frameworks/base/cmds/uiautomator\n  (samples, utils sub folders exlcuded)\nframeworks/testing/uiautomator/utils -\u003e frameworks/base/tests/utils\n\nno source files changed, only one line makefile update (for\nUI Automator API check)\n\nBug: 18708851\nChange-Id: I396bd386d3d55a52df18af183685daf80caa9f73\n"
    },
    {
      "commit": "5e41c668810ee0b830cf3c355a09481fbcaeb2ca",
      "tree": "8090cf82cb08c127ad58f3d3e0f523a443042e2b",
      "parents": [
        "87dfb9ec25c79ffe34e98ce03ae2eb183b774615",
        "c1c4edf129d984be20aa79af2d5d6f8d881e2f26"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Dec 11 10:37:44 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 11 10:37:44 2014 +0000"
      },
      "message": "am 37da3f0d: am 7bd28de5: Merge \"Remove some crufty \"core\" tests.\"\nautomerge: c1c4edf\n\n* commit \u0027c1c4edf129d984be20aa79af2d5d6f8d881e2f26\u0027:\n  Remove some crufty \"core\" tests.\n"
    },
    {
      "commit": "c1c4edf129d984be20aa79af2d5d6f8d881e2f26",
      "tree": "d052a0a95306f7078dc9486b1a95b43ceda19697",
      "parents": [
        "8f58207319fc2b73f83874892a544f8cf59cf7e9",
        "37da3f0d28815a5dfbea929fc173d89cb62bd318"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Dec 11 10:35:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 11 10:35:19 2014 +0000"
      },
      "message": "am 37da3f0d: am 7bd28de5: Merge \"Remove some crufty \"core\" tests.\"\n\n* commit \u002737da3f0d28815a5dfbea929fc173d89cb62bd318\u0027:\n  Remove some crufty \"core\" tests.\n"
    },
    {
      "commit": "d627c6761f317897d0349e1688964f129ef1ca5a",
      "tree": "88b888fe0588cfaefbf565c6bfa979c1a40c027e",
      "parents": [
        "fb5c932dbbe2e7fc3ed4f0af71dc8ac76f22df57"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Dec 10 19:49:59 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Dec 10 19:49:59 2014 +0000"
      },
      "message": "Remove some crufty \"core\" tests.\n\nnobody runs these, and these things are well tested elsewhere\nand a part of CTS.\n\nChange-Id: I1ec00f2a085fc82f902f538ace692ac989ca03df\n"
    },
    {
      "commit": "af878b91f9e3a6b17a89e98504f5c497824c7017",
      "tree": "7507b2e65a21838e1d76e7f5361beb9727f9093e",
      "parents": [
        "dc6b35f54e60582e6d11ee69c7bc7695cbae6269",
        "389baa395125d5ae5aac3b9d2f98457dde09da26"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 23:49:22 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 09 23:49:22 2014 +0000"
      },
      "message": "am 389baa39: am 7d74cb6c: am 14c43689: Merge \"Fix issue with RNA destruction mid-animation\" into lmp-mr1-dev\n\n* commit \u0027389baa395125d5ae5aac3b9d2f98457dde09da26\u0027:\n  Fix issue with RNA destruction mid-animation\n"
    },
    {
      "commit": "39191142ce79d9c83fb08df2cb88d5c66348b231",
      "tree": "f6332ab3f276f917e055bc6cc7a9a62a14844782",
      "parents": [
        "40c38def49717846472e4f7ead9e66fab1a7e7fa",
        "5a785719492519afe54eb2dbde3094253826d695"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 09 23:44:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 09 23:44:57 2014 +0000"
      },
      "message": "am 5a785719: am 4fed05b4: am f0070999: Merge \"Remove unsed check for simulator\"\n\n* commit \u00275a785719492519afe54eb2dbde3094253826d695\u0027:\n  Remove unsed check for simulator\n"
    },
    {
      "commit": "389baa395125d5ae5aac3b9d2f98457dde09da26",
      "tree": "d3b52026ec8e295c897673dda295ccd71e3f38a0",
      "parents": [
        "3c8e51ab8dd0b9fb58c3c64768576841dbce4c3e",
        "7d74cb6c6139d42aad65fe1466ab4c5f8e029539"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 22:18:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 09 22:18:27 2014 +0000"
      },
      "message": "am 7d74cb6c: am 14c43689: Merge \"Fix issue with RNA destruction mid-animation\" into lmp-mr1-dev\n\n* commit \u00277d74cb6c6139d42aad65fe1466ab4c5f8e029539\u0027:\n  Fix issue with RNA destruction mid-animation\n"
    },
    {
      "commit": "c47c98be04d602f331e0ea9704d2c11f8c53852d",
      "tree": "c6a66e5ed45b85915ed7f902210b8d379b8d53ee",
      "parents": [
        "6ef76c60df9e68950721f92a14c77a3ecd13607c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 09:07:35 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 12:35:12 2014 -0800"
      },
      "message": "Fix issue with RNA destruction mid-animation\n\nBug: 18521508\n\nFix an issue where an RNA\u0027s native object was destroyed\nbefore the java-side object was started\n\nChange-Id: I487fb476e0ecdf7000515f4f7320e8cfbc50a52b\n"
    },
    {
      "commit": "5a785719492519afe54eb2dbde3094253826d695",
      "tree": "9d3ba8fc93b40075b32cc5394189ef7ff362202f",
      "parents": [
        "77d3489ac7342840b7376c9484e5c9f12c163d3c",
        "4fed05b4e679276050b5eaad51ce96848ddc561e"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Dec 09 14:40:56 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 09 14:40:56 2014 +0000"
      },
      "message": "am 4fed05b4: am f0070999: Merge \"Remove unsed check for simulator\"\n\n* commit \u00274fed05b4e679276050b5eaad51ce96848ddc561e\u0027:\n  Remove unsed check for simulator\n"
    },
    {
      "commit": "4b73867a12a9339c7788e8949aac4a32d2eee22b",
      "tree": "0b8611f24ab6c557f2e0b131d22bea824f10abe6",
      "parents": [
        "ae13230b8799ac3c0902fef1057d7466f2161c44"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Nov 19 17:36:57 2014 +0000"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Tue Dec 09 11:06:06 2014 +0000"
      },
      "message": "Add UtteranceProgressListener#onStop callback\n\nNew UtteranceProgressListener callback that allows\nto detect a call to TextToSpeech#stop() (or QUEUE_FLUSH usage)\nfrom the same client, or a QUEUE_DESTROY usage from any other\nclient (Talkback uses it to preempt other users of TextToSpeech\nqueue). This change is required for seamless Books read aloud\nfeature+Talkback usage.\n\n+ Fixes for broken tests/TtsTests\n\nBug: 17901521\n\nChange-Id: I30d2f297bb7c8d05cbeb16f63e85c1be0cca5c84\n"
    },
    {
      "commit": "e68249c0e1840c061d488dc81a30ef28678a80b0",
      "tree": "208d223711b72b8cb6581c49539f06d0eedbad7a",
      "parents": [
        "420f4bd3968de6536fc62b12e5c6d9ee42c10576",
        "7039f6b423d2795eea6bebc932c9cb0d8422de88"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 09 00:16:31 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 09 00:16:31 2014 +0000"
      },
      "message": "am 7039f6b4: am 7ca6cc75: am 7194bf4d: Merge \"Add test for isolated services.\" into lmp-mr1-dev\n\n* commit \u00277039f6b423d2795eea6bebc932c9cb0d8422de88\u0027:\n  Add test for isolated services.\n"
    },
    {
      "commit": "7039f6b423d2795eea6bebc932c9cb0d8422de88",
      "tree": "764f218ee136d7d23ccddf9cc1b3a90a682478fd",
      "parents": [
        "b7459df472d74d1a1e6ba46b4a72409f984ebd98",
        "7ca6cc75e32437594bfa53c6f2ca14156c44eb17"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 08 19:11:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 08 19:11:51 2014 +0000"
      },
      "message": "am 7ca6cc75: am 7194bf4d: Merge \"Add test for isolated services.\" into lmp-mr1-dev\n\n* commit \u00277ca6cc75e32437594bfa53c6f2ca14156c44eb17\u0027:\n  Add test for isolated services.\n"
    },
    {
      "commit": "4b58cda367b47e86981c482ea1f86d1eff8cb425",
      "tree": "2de22b581770bb83560c7f4ed3d01647d28cf95a",
      "parents": [
        "8c9283f41083a20a82ae37eac44b79de6eb3158e"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 05 14:08:04 2014 -0800"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Fri Dec 05 14:08:04 2014 -0800"
      },
      "message": "Remove unsed check for simulator\n\nChange-Id: I46f134d960db330e7b6e7dbfebc84d602d3a3466\n"
    },
    {
      "commit": "875e464e362c1e5527c5830c107c7ef84ecfbf0d",
      "tree": "f3aeb9a8e88b314340c6581d44f2d78389580dd5",
      "parents": [
        "76de89820c51c4bc288b440a82374b9d6c806244"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 01 16:22:14 2014 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 01 16:22:14 2014 -0800"
      },
      "message": "Add test for isolated services.\n\nChange-Id: Ibcbc4e766400acb8cf0385f922db6ca448a652a3\n"
    },
    {
      "commit": "2086293e60ffa675c0abccba52e88110f66fd0be",
      "tree": "82aaa10c5571a51b4276d8b7bda56e815ae9085a",
      "parents": [
        "9d4e6a83553b2d8cc8c6d4fcce6c2af2bf52c874",
        "bb97b311ea46d22864f40578d9ef37ccf0a28274"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Sat Nov 22 00:00:06 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 22 00:00:06 2014 +0000"
      },
      "message": "am bb97b311: am 21bc2e3e: am cb721bf6: Merge \"Supporrt tapas build for vector tests\" into lmp-mr1-dev\n\n* commit \u0027bb97b311ea46d22864f40578d9ef37ccf0a28274\u0027:\n  Supporrt tapas build for vector tests\n"
    },
    {
      "commit": "bb97b311ea46d22864f40578d9ef37ccf0a28274",
      "tree": "7dcaf98981c638f9c47be656ef1633e4161a2fae",
      "parents": [
        "1f26bf6bfd683b840f688b41d285fd9c942e6ed5",
        "21bc2e3e1e30e34d661e3c3cf961eb058ca3834e"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Nov 21 23:07:08 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 23:07:08 2014 +0000"
      },
      "message": "am 21bc2e3e: am cb721bf6: Merge \"Supporrt tapas build for vector tests\" into lmp-mr1-dev\n\n* commit \u002721bc2e3e1e30e34d661e3c3cf961eb058ca3834e\u0027:\n  Supporrt tapas build for vector tests\n"
    },
    {
      "commit": "996f22f4dfff977806106013e6042aaa3cc1f42d",
      "tree": "6cf360a8598b8cabbc465aa8475af87b9340168e",
      "parents": [
        "002bc810882c0a322a09d0e4527ab8083547e145"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Nov 21 11:32:29 2014 -0800"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Nov 21 19:40:34 2014 +0000"
      },
      "message": "Supporrt tapas build for vector tests\n\nSuch that UX team has less pain on building the VD / AVD assets.\nThis also requires removing internal API dependence in the test.\n\nTo build the VectorDrawableTest with prebuilt SDK.\n\u003croot dir\u003e/tapas VectorDrawableTest\n\u003croot dir\u003e/make -j64 showcommand\nThen later for incremental build.\n\u003croot dir\u003e/mmm ./frameworks/base/tests/VectorDrawableTest/ -j20\n\nb/18260896\n\nChange-Id: Id559074df78d7c2a5c529c545834da23986bc15f"
    },
    {
      "commit": "5287c18880f505ffb02e55ca90f2318a00d6b613",
      "tree": "ce81c1f14d1fd652bcd09b6f68e17617036ff576",
      "parents": [
        "e95b9dd57fa9f3a4c7adac1b89b097012c50e850",
        "3458abd6a7d0709f0360c1c18cce036bb7bc4299"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Nov 21 03:11:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 03:11:39 2014 +0000"
      },
      "message": "am 3458abd6: am 002bc810: Merge \"ASLD: ASLD\\\u0027s XML reversible flag can turn off the reverse behavior now.\" into lmp-mr1-dev automerge: e9dbfe5\n\n* commit \u00273458abd6a7d0709f0360c1c18cce036bb7bc4299\u0027:\n  ASLD: ASLD\u0027s XML reversible flag can turn off the reverse behavior now.\n"
    },
    {
      "commit": "3458abd6a7d0709f0360c1c18cce036bb7bc4299",
      "tree": "25ae0ead2d49bdbae20ea8b515b949bfbd3224fb",
      "parents": [
        "b5ba786ccb9265ed076cda088ddbfded3ecc7f85",
        "e9dbfe5afd5cd350f06f078775a40e8df4e69ce6"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Nov 21 02:53:38 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 21 02:53:38 2014 +0000"
      },
      "message": "am 002bc810: Merge \"ASLD: ASLD\\\u0027s XML reversible flag can turn off the reverse behavior now.\" into lmp-mr1-dev\nautomerge: e9dbfe5\n\n* commit \u0027e9dbfe5afd5cd350f06f078775a40e8df4e69ce6\u0027:\n  ASLD: ASLD\u0027s XML reversible flag can turn off the reverse behavior now.\n"
    },
    {
      "commit": "3b3522630025b896436ae622a8bb1201f1a27fed",
      "tree": "b24e986d364e848af3f35a22ce1a38491e1749b6",
      "parents": [
        "f8c36914250a2274ce20102b350915cd6ffaa6eb",
        "5b01f0894dacec272ce02fe07e879369ecd2ed93"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 21 01:53:27 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 21 01:53:27 2014 +0000"
      },
      "message": "am 42d9bf66: am a6d2789c: Merge \"Add new empty app test entry points.\" into lmp-mr1-dev\nautomerge: 5b01f08\n\n* commit \u00275b01f0894dacec272ce02fe07e879369ecd2ed93\u0027:\n  Add new empty app test entry points.\n"
    },
    {
      "commit": "5b01f0894dacec272ce02fe07e879369ecd2ed93",
      "tree": "f69c07266b2c9e80641a0a960ba27ee84f360a39",
      "parents": [
        "377d6f00dc2ab42df501fd12b23e1dab54cea6b7",
        "42d9bf665598ae316bfae3fd28cbb5c8f2c95824"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 21 00:43:57 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 00:43:57 2014 +0000"
      },
      "message": "am 42d9bf66: am a6d2789c: Merge \"Add new empty app test entry points.\" into lmp-mr1-dev\n\n* commit \u002742d9bf665598ae316bfae3fd28cbb5c8f2c95824\u0027:\n  Add new empty app test entry points.\n"
    },
    {
      "commit": "002bc810882c0a322a09d0e4527ab8083547e145",
      "tree": "6e970ffdfda38cd2881a1298676a25b075ba8433",
      "parents": [
        "18ab5c216c62d90a4b86f37a4c993c1c8b56835d",
        "5b84eace6cb79c42fe43480f08c68b7dea4e074a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 20 23:11:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 23:11:38 2014 +0000"
      },
      "message": "Merge \"ASLD: ASLD\u0027s XML reversible flag can turn off the reverse behavior now.\" into lmp-mr1-dev"
    },
    {
      "commit": "5b84eace6cb79c42fe43480f08c68b7dea4e074a",
      "tree": "a401793cd0171d04d5b3e41f6fe6b654563bf397",
      "parents": [
        "521ca5f8fba355f526e82dc3a8fc6520e4379874"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 19 10:38:18 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 20 14:41:33 2014 -0800"
      },
      "message": "ASLD: ASLD\u0027s XML reversible flag can turn off the reverse behavior now.\n\nPreviously, the android:reversible flag behaves like a suggestion.\nNow it is used to enforce no reverse when set to false. In this way, user can\nsafely setup one direction animation only.\nWhen set to true, but AVD can\u0027t reverse , then it will show a warning.\n\nAt the same time, update the tests to show different cases, including\nAnimationDrawable.\n\nb/18413484\n\nChange-Id: I5552c49dcbd76b0724b4d5593bce8388b27bd905\n"
    }
  ],
  "next": "4f0e4a9ada1192e103d43409d83e177608571c68"
}
