)]}'
{
  "log": [
    {
      "commit": "75847b98f39e521a57042c50e69be9e142788d32",
      "tree": "b86d2a0657fc34724ac0a48a378833d51855263b",
      "parents": [
        "b0d767dcf17dd393646b8fc3e8c9f46dfe12e230"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Jul 29 13:10:17 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Aug 05 14:30:27 2014 -0700"
      },
      "message": "Add display metadata and change strings to CharSequences\n\nThis adds some fields for display purposes to MediaMetadata and also\nmakes the default for all text CharSequence instead of String. Also\nadds a hidden method for getting a Description for the metadata.\n\nbug: 11708293\nChange-Id: I0ed58d9ac3aeff41325c4ccf5fed0539bbf03b4d\n"
    },
    {
      "commit": "40b8ef99a5132a970903e33d3c8ee087d0502a93",
      "tree": "42d9b0ddb95a249d2b71577f047a6afddd9fe117",
      "parents": [
        "af8a8f3a7d03a626a644d4b62c87ff1a64ae95f8",
        "d3b8223377b8046280e4c09e728edc600171f941"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 05 19:54:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 05 00:34:22 2014 +0000"
      },
      "message": "Merge \"SoundTrigger API update.\" into lmp-dev"
    },
    {
      "commit": "fd80746bb9d67be3a9f87dcb9264785a53631b74",
      "tree": "4879081753358d4cff7b9f37fd49813b3ee21c67",
      "parents": [
        "faa49bc896be859d5bcf2da3bddd4507b5e6494c"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Tue Aug 05 11:49:32 2014 +0100"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Tue Aug 05 14:50:34 2014 +0100"
      },
      "message": "Set the TTS voice name for the default language.\n\nThis changes makes the initial, default language set and\nthe #setLanguage call with the default language as input\nexactly the same.\n\nPreviously, the requests made after the initial default language\nset were missing the name of the default voice.\n\n+ Some tests clean-up. Some of them fail due to issues with\nLocale#toLanguageTag upper-casing the variant field.\n\nChange-Id: I5470617007fe45462b7198bf62a03eb5fe47a590\n"
    },
    {
      "commit": "d3b8223377b8046280e4c09e728edc600171f941",
      "tree": "88d3e6bb021548e90b415791c3dbddc8870be60c",
      "parents": [
        "2265c8f70088b88b34ee9e315f7ae5519de1cdba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 30 08:57:39 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 04 16:35:27 2014 -0700"
      },
      "message": "SoundTrigger API update.\n\nAdd sound model update callback.\nAdd native service state change callback.\nAdd vendor UUID in sound model description.\nAdd coarse confidence level in recognition event.\nAdd capture format in recognition event.\n\nBug: 12378680.\n\nChange-Id: Id63437819ec7b9a4a69e1ff6185b747e20cad95e\n"
    },
    {
      "commit": "5eb5cde467081d1af628e5463ba55f110265a86f",
      "tree": "6d1731cfd531dba4ba109fe1910d2798dfc77620",
      "parents": [
        "5c09e8ad5ee8e67976066366527ee58792551953"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Aug 04 13:07:51 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Aug 04 20:46:20 2014 +0000"
      },
      "message": "Fix one typo and add linear progress bar in the test.\n\nChange-Id: Ib516fd4a27000d8e69a6640386332140ff0d6fdd\n"
    },
    {
      "commit": "2c0273e50a3162595e9a54030166f2369b039a5a",
      "tree": "6075295a33de952b996038ffdf10f22594a1cf4b",
      "parents": [
        "fc0fc0e341f2a2d707d5a8eafd65db34bdffb35c"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Fri Aug 01 11:32:03 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Fri Aug 01 17:46:27 2014 -0700"
      },
      "message": "Add a flag for multiple triggers with same recognition session\n\nAlso annotate the flags with @IntDef to make things clearer and safer\n\nAdd more debug logging\n\nRevert to start/stop being synchronous since telephony and microphone will\nneed to be handled internally.\n\nBug: 16731586\nBug: 16514535\nBug: 16549061\nChange-Id: I83695d52e9547269c95d443e4d921c9238b7401e\n"
    },
    {
      "commit": "668327d0286591324fa7592ee9b39255076e2165",
      "tree": "afe925721cebd3edc447b1c360bb2ef95e42e77c",
      "parents": [
        "6bf8be555267c55bae6615bcd5cd6903d5e06745"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Tue Jul 29 12:53:34 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Thu Jul 31 15:48:26 2014 -0700"
      },
      "message": "Tighten the checks around a detector being invalidated\n\nDon\u0027t call back for a detector being marked invalid because\nthat happens when someone else obtains a detector or VIS shuts down,\nin either case we don\u0027t want a loop where two entities keep creating new detectors\nand being invalidated.\n\nDon\u0027t call back on an invalid detector for availability change/detected/started and stopped\nonly propagate errors.\n\nThis helps us with cases where a callback for the previous VIS may get called and then crash because it\ntries to make calls without being the current VIS.\n\nIn the new scheme of things, if the VIS changes, or the current VIS obtains a new AlwaysOnHotwordDetector,\nthe previous one is shutdown and internally marked as invalid and all calls to it fail with an IllegalStateException.\n\nBug: 16629417\nChange-Id: I74417bf76ba80916ebc21b042c18b3467857733e\n"
    },
    {
      "commit": "63e646eed5a8d7f5d04544ac8628f65b0173cf3a",
      "tree": "06461d85d0b53e9ed5e50724f64e7e670ac44c24",
      "parents": [
        "805f6ebf17e2791624bb1a30834b4c1cc65583bf"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 30 11:40:39 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 30 21:53:48 2014 +0000"
      },
      "message": "Add shared library support to aapt dump\n\nAAPT dump should be able to handle dynamic references\nthat often come with shared library resources.\n\nBug:16678251\nChange-Id: I6c8cd943145aab20ca9db9694c8c433b3c64279b\n"
    },
    {
      "commit": "1ed12ddb8c46193cc4d790b9c7d6a5d61afb3311",
      "tree": "98c42d193596c9c24dc94b8c1df391081160a7d3",
      "parents": [
        "38e2d104d80e092af7d997db025b2a9b47150470"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Tue Jul 29 14:41:50 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Wed Jul 30 11:43:41 2014 -0700"
      },
      "message": "Make startRecognition async\n\n- This is needed for telephony and audio integration which should happen via async callbacks\nthat\u0027ll end up starting/stopping recognition.\n\ne.g. if a startRecognition happens when in a phone call - the onDetectionStarted will get called once the phone\ncall ends.\n\nFor now the transient stoppages due to internal reasons will not be propagated back to the client.\n\nBug: 16514535\nBug: 16515468\nChange-Id: I1b2b8edd28f5c5e67c453f66c23e1a67a626114e\n"
    },
    {
      "commit": "6817337118655d5792e36e954b123e6daa4174a6",
      "tree": "bacd4155507f64d701c3c7a3e4fa70da89d7d658",
      "parents": [
        "94703148bc522b9f3fab9257fd07021e678d43f2"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Mon Jul 28 13:25:30 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Tue Jul 29 11:24:51 2014 -0700"
      },
      "message": "Read the keyphrase ID from the recognition event\n\nBug: 16516658\nChange-Id: Ibeee81c9543aa1091bb075066cfc2269107f13c0\n"
    },
    {
      "commit": "ee410da42b6b8352213f03f7725fd041f703b035",
      "tree": "d79add63a7762d26f9d8396876fc8cc47ce0cb75",
      "parents": [
        "c503896a4d0cab029bca56cf7ac18ae182729a0a"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Fri Jul 25 11:30:40 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Tue Jul 29 11:11:41 2014 -0700"
      },
      "message": "remove possible JobScheduler race in cancel()\n\nClient can jobFinished() before getting a cancel msg.\n1) Do better clean up of JobServiceContext after client jobFinished()\nto remove superfluous MSG_CANCELs\n2) When processing MSG_CANCEL check whether the context is still active\n3) Do JobServiceContext cleanup before calling back to JobSchedulerService\nClient can get a cancel msg even after calling jobFinished() (opposite to above)\n1) explicitly check whether there are any MSG_CALLBACKs in the queue before\nprocessing a MSG_CANCEL. If there are we can throw away the cancel.\n\nBug: 16547638\nChange-Id: I90644586c7895a9ce97de752a5d657faf7f74b78\n"
    },
    {
      "commit": "ae9e68a3494bfa1bcc02864737f1df0c4c6fa719",
      "tree": "5d4e066297e805c57ac39c9c6fedabbe278ca326",
      "parents": [
        "591a824c5df7f3a90722424308861d8f101e217f",
        "d7a94da476e9b783acf0673ed938cc3fc2cc6ba5"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 29 17:36:44 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 28 22:45:16 2014 +0000"
      },
      "message": "Merge \"Have AEP GL feature depend on GLES 3.1 in badging\" into lmp-dev"
    },
    {
      "commit": "40495e054591ed4bc110c710c46996ef163664c1",
      "tree": "049c568b90fb8dd2aacc0491cc64a128bc58f621",
      "parents": [
        "1f33d77f0430efb2d7eb532e360ba9a30004ffe7"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Jul 29 08:49:51 2014 -0700"
      },
      "committer": {
        "name": "Erik Pasternak",
        "email": "roboerik@android.com",
        "time": "Tue Jul 29 15:51:07 2014 +0000"
      },
      "message": "Fix checkbuild\n\nChange-Id: I66321c6da4f921cee2db6f9f05312a6a8edc66d3\n"
    },
    {
      "commit": "d7a94da476e9b783acf0673ed938cc3fc2cc6ba5",
      "tree": "5ccb769c5fa39a847a39523a98ad8ffbb8882013",
      "parents": [
        "eb527ef7a651def56ab29c0595e75df76ea63e3b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 25 14:38:54 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 25 22:45:33 2014 +0000"
      },
      "message": "Have AEP GL feature depend on GLES 3.1 in badging\n\nAAPT dump badging should output the uses-gl-es tag with\na version of 3.1 when android.hardware.opengles.aep is\ndeclared as a feature.\n\nChange-Id: I8affc6dad574c8303c6ba9810ad8e6e205ea9506\n"
    },
    {
      "commit": "8470857ee43444868a38d0e760981386880d6ce2",
      "tree": "b3532a22c9fc9c7ece84cad1246f6ea219b44f25",
      "parents": [
        "ec64dbfbc0c7ecf41e17f3872c2d0109096f1c7a"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jul 25 10:51:09 2014 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jul 25 11:01:45 2014 -0700"
      },
      "message": "Fix build\n\nChange-Id: Ia2a09417451dd9cdca0a6351b8ddd00f9195f361\n"
    },
    {
      "commit": "194124965f7c48d0aaa304a5809aa81414be0892",
      "tree": "6e1546c3984b0a459b5938846f95a1e5dce0c1aa",
      "parents": [
        "422570ea3fe5bf6c4dbc4d96cf47734252ffe703",
        "6c77e104bcb265d29f357b7fb5737153c048bcdb"
      ],
      "author": {
        "name": "wsmlby",
        "email": "wsmlby@google.com",
        "time": "Thu Jul 24 23:25:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 24 20:48:02 2014 +0000"
      },
      "message": "Merge \"Add memory tracking for persistent proccesses and launcher\" into lmp-dev"
    },
    {
      "commit": "6c77e104bcb265d29f357b7fb5737153c048bcdb",
      "tree": "f45ea289a0488159c024044fdb139cc7a652bdce",
      "parents": [
        "35efc633d0af55ebe6402bd03b91f1903927cec5"
      ],
      "author": {
        "name": "wsmlby",
        "email": "wsmlby@google.com",
        "time": "Thu Jul 24 14:27:39 2014 -0700"
      },
      "committer": {
        "name": "wsmlby",
        "email": "wsmlby@google.com",
        "time": "Thu Jul 24 15:58:54 2014 -0700"
      },
      "message": "Add memory tracking for persistent proccesses and launcher\n\nChange-Id: I5228bd67884dc8b77207a597f279fd4032c7f9d9\n"
    },
    {
      "commit": "c2c0bdc10a16bb78979533093a021470071bbecb",
      "tree": "97bda10486e77999d02bce2f8ac903b8638fb9d1",
      "parents": [
        "bd9b106806f9792be210cc2d9848d8b1f4b9664d",
        "5f3e1f2a2dfaa4d1abdda4d0cd7871aea82ffcbd"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jul 28 20:25:50 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 24 20:48:02 2014 +0000"
      },
      "message": "Merge \"s/thumbnail/icon in the browsing api.\" into lmp-dev"
    },
    {
      "commit": "5f3e1f2a2dfaa4d1abdda4d0cd7871aea82ffcbd",
      "tree": "adecba9b5990440c52fde72be8aad79b4ebbd8c3",
      "parents": [
        "e0b8c378b7b4881396346116a9c1d633d1a4eb9f"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jul 28 11:35:36 2014 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jul 28 11:35:36 2014 -0700"
      },
      "message": "s/thumbnail/icon in the browsing api.\n\nChange-Id: I73bf76ed9628872094db74aef48a8e68864d6b4d\n"
    },
    {
      "commit": "39c12fab49075b715c253c68c84b5c10c3150197",
      "tree": "bcb5cff2b35c50575cb8e4b60ea35e8a635b16e7",
      "parents": [
        "e0b8c378b7b4881396346116a9c1d633d1a4eb9f"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Fri Jul 25 18:37:29 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Mon Jul 28 11:10:32 2014 -0700"
      },
      "message": "Use blob (shared memory) for large data in sound model/recognition event/config\n\nAlso add a missing null check in writeBlob\n\nBug: 16516353\nChange-Id: Ie702f8daae541cab7c2cee6e13d49e7fc84c84e1\n"
    },
    {
      "commit": "d4bd75be4fda41f88a9478a9ec3f4019ba7ddf85",
      "tree": "ad419ee2e64970a92447628b5a85d81e3cfc2835",
      "parents": [
        "5bec5af97122592fa7006d7709f44018e0cd96f7",
        "2c72b6822debb08fe997926eedc110f62d287d34"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jul 24 20:29:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 24 15:36:09 2014 +0000"
      },
      "message": "Merge \"Add \u003cfeature-group\u003e tag and change aapt badging\" into lmp-dev"
    },
    {
      "commit": "0f208eb707926f0afc1ce073be866bedd4955aa2",
      "tree": "cb14defbd86887db0bfc4928c2a8ac19b4b57306",
      "parents": [
        "28c0b714ac7f6c98d63aab106447bfd1e727fae2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Jul 26 15:14:21 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Jul 26 15:41:21 2014 -0700"
      },
      "message": "Remove DozeHardware since it will not be used.\n\nBug: 16516536\nChange-Id: I14597d3c9470c94e3bc5b8cff500d2fe6b2fd977\n"
    },
    {
      "commit": "a95c8abb366d9c39450513335f550b56da13b30a",
      "tree": "93bd8f429df7d0b8aa1aa7d22d4a60f60e36944b",
      "parents": [
        "9e8ade2eb7ee835963473c9cf6faaf5423b0b048"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 23 09:47:50 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Jul 25 23:26:41 2014 +0000"
      },
      "message": "API REVIEW: VectorDrawable\n\n- Merge \u003csize\u003e and \u003cviewport\u003e attributes all in to top-level \u003cvector\u003e tag\n- Indent attributes under \u003cgroup\u003e in java doc.\n- Updata android:stroke to be android:strokeColor, likewise android:fill\n- Instead of android:clipToPath, make this a different clip-path tag.\n- Document units of the various attributes\n- Add example code for defining a VectorDrawable resource\n\nMore than that:\n\u003d Refactor the code to better support clipPath as a sub-class.\n\u003d Update all the xml files to use the new attributes and clip-path tag.\n\nTODO:\n-- Remove clipToPath, since that should happen on build break Friday.\n\nbug:16488254\n\nChange-Id: I6db5680ef83cb26c8f064a60fc7d6e7142974b0f\n"
    },
    {
      "commit": "2c72b6822debb08fe997926eedc110f62d287d34",
      "tree": "467e1c3b5b131a3d2991f9d6597fc2d3371a94ab",
      "parents": [
        "921ec8056a3010d0a21400f97312cf3f7d97ffaa"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jun 24 09:56:01 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 23 14:11:46 2014 -0700"
      },
      "message": "Add \u003cfeature-group\u003e tag and change aapt badging\n\nA \u003cfeature-group\u003e represents a set of features required\nfor an app to be compatible with a device. Multiple\n\u003cfeature-group\u003e elements represent a logical \u0027or\u0027\nof required features.\n\nFeatures defined in the old way with \u003cuses-feature\u003e tags\nunder the \u003cmanifest\u003e tag are automatically added to each\nfeature-group defined.\n\nDefining a \u003cfeature-group\u003e means that any default\nfeatures are not included (such as android.hardware.touchscreen)\nand declared permissions do not imply any features.\n\nChange-Id: I45626f0fdc546e47bcf2aead7ef05ebcca12b023\n"
    },
    {
      "commit": "69b078599b8d8bc3e8f94d6cab881145f4e2c129",
      "tree": "a5e05fdfe4dd495b414a1e6f1f829ae1011f57f7",
      "parents": [
        "77bfc8f22892227ebc42afd282bd044742956be2"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Jul 22 23:21:12 2014 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Jul 23 17:56:57 2014 -0700"
      },
      "message": "Allow apps to be slow at loading children and thumbnails by making those functions allowed to be asynchronous.\n\nChange-Id: Ibcaee3f0f8d9ba14f1b002df9c6d4594c6278045\n"
    },
    {
      "commit": "77bfc8f22892227ebc42afd282bd044742956be2",
      "tree": "691cb09cefa06c6a3efeab15fc09e0add6276782",
      "parents": [
        "e647099e14114475e9a2827a10dab2d2e36308c4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Jul 22 23:21:45 2014 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Jul 24 00:45:56 2014 +0000"
      },
      "message": "s/MediaBrowseService/MediaBrowserService/\n\nChange-Id: Ie07308739cdf94796a900e15527616608e02a3d4\n"
    },
    {
      "commit": "5a836f74df027bb568da17fbde4e641b6a56d2a9",
      "tree": "9be095f8f01031637472faa60d2d0ee9d042f33d",
      "parents": [
        "f84bc66b21212df5402982b1c1eca615e64f7e1e"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jul 21 15:59:06 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 23 21:46:16 2014 +0000"
      },
      "message": "Add negative sign separation support in the pathData\n\nbug:14585171\n\nChange-Id: I61dec27856be09c44bb1d32ff61b3c3cd458cc34\n"
    },
    {
      "commit": "59abf5305b94855865b8a281f7d729e194ddd2dd",
      "tree": "920b4bcfce7784b6deba3051e671edf21b85cd26",
      "parents": [
        "79cac9d0f0220a3f19319563ca8f1006a89435fd",
        "e159e2e0b83f9ea9d48f4c8666f9536e9338a70c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 23 01:24:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 16:21:19 2014 +0000"
      },
      "message": "Merge \"Add test UsageStats App\" into lmp-dev"
    },
    {
      "commit": "e159e2e0b83f9ea9d48f4c8666f9536e9338a70c",
      "tree": "b3da726ce05637a30ec5aa3d8038b92af4e93050",
      "parents": [
        "921ec8056a3010d0a21400f97312cf3f7d97ffaa"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 22 15:55:50 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 22 18:21:58 2014 -0700"
      },
      "message": "Add test UsageStats App\n\nAlso fixed UsageStatsService to do the right thing\nwhen AppOps returns MODE_DEFAULT.\n\nChange-Id: I0bdb28350fb2528daf2859cdcbbf9ca48d96dde9\n"
    },
    {
      "commit": "f63bc523eadbe01ce0a5ad52868a5dccb3d5f6dd",
      "tree": "b2b0ca650b4c3f34e6af4c43ca6a0dfd5c93ff94",
      "parents": [
        "10e62cb2f22566741a544be7aef2157409bfc6d4"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Tue Jul 22 09:49:49 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Tue Jul 22 17:11:52 2014 -0700"
      },
      "message": "Make hotword availability a callback\n\nThis helps us make the list sound models operation an async one, it also helps us\nwith the case where a detector is invalidated, so the client doesn\u0027t have to keep checking the\nstate.\n\nSynchronize DatabaseHelper methods on its instance so that other VoiceInteractionManagerService\ncalls aren\u0027t blocked on db writes/reads.\nIt\u0027s still possible for the list operation to be blocked on update and vice-versa\n\nChange-Id: Ib8ec4ac5056b62d443038560ce31d0641b4627b0\n"
    },
    {
      "commit": "319f9a979c1c10c0c15ca50ee20e0a05e932cbb7",
      "tree": "0c3e588c61f92398168c7a0d5291be6c8c5a4111",
      "parents": [
        "71f6ad31cfc6ae8ab89ad08586d5242aa2236e22"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jul 21 23:36:24 2014 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Jul 22 17:05:04 2014 -0700"
      },
      "message": "Add thumbnail related api.\n\nChange-Id: Ifcb06bbaf8f37df367f130124cbcef065fa25766\n"
    },
    {
      "commit": "6daae9622672e0b38fc2efed29f68061d749cacc",
      "tree": "94943fab0e4ab27952fffb07141456cfec65fbed",
      "parents": [
        "70441467f4dc232cd8e6142f0afc117787dc979b"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Mon Jul 21 10:31:34 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Tue Jul 22 09:16:18 2014 -0700"
      },
      "message": "AlwaysOnHotwordDetector needs to reflect enrollment changes\n\nAdd a callback for when any sound model change happens. This helps the VIS\nto re-check the availability and either enroll the user, or start/stop recognition.\n\nAlso shut down any active recognition when VIS dies, or a different hotword detector instance is obtained from VIS.\n\nChange-Id: I03f94e78c6ee307afe822a84aebc7e74c64de7b4\n"
    },
    {
      "commit": "dc2cfff87c751faea9f71472a16e1375e6022686",
      "tree": "e3a4dabb8514ef23131232b5afca38ae62277ed5",
      "parents": [
        "e3504260b9e56b8273c4a1523eeeba6e1fd142e0",
        "33f5ddd1bea21296938f2cba196f95d223aa247c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 22 04:37:06 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 19 22:40:06 2014 +0000"
      },
      "message": "Merge \"Add permissions associated with app ops.\" into lmp-dev"
    },
    {
      "commit": "33f5ddd1bea21296938f2cba196f95d223aa247c",
      "tree": "272be16f506e0f220ab12e3d4d76226eea139d17",
      "parents": [
        "66e207ec54e2085c0eb70d5189562effafa2c9c5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 21 15:35:45 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 21 20:15:59 2014 -0700"
      },
      "message": "Add permissions associated with app ops.\n\nChange-Id: I575ad7a3ceea59486ca601f69760b14f6269511d\n"
    },
    {
      "commit": "970d4132ea28e748c1010be39450a98bbf7466f3",
      "tree": "0bbaa479dbb4c9b9f8b49b9fe7e7344d7f0581cc",
      "parents": [
        "f89bff9ed875c1e3ad8e682e651c5994b246cc53"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Jul 19 11:33:47 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 22 01:18:26 2014 +0000"
      },
      "message": "Allow dreams to control screen state and brightness.\n\nAdded setDozeScreenState() and setDozeScreenBrightness() methods to\nDreamService.  The values specified here only take effect once\nstartDozing is called and can be changed while dozing.\n\nThis required some significant rework of the display power controller\nbut the result seems quite nice and better represents the policy\nwe want to apply.\n\nChanged the test dream a little bit to make it flash the screen\nevery minute using the new functions.\n\nBug: 15903322\nChange-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808\n"
    },
    {
      "commit": "17d47989ee53c9e54f250d29a343ba949edf0ff9",
      "tree": "666e0297c2c5ec1f740dade8738c7cdeb5ee12fb",
      "parents": [
        "66e207ec54e2085c0eb70d5189562effafa2c9c5"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jul 17 14:39:34 2014 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jul 21 21:14:43 2014 -0700"
      },
      "message": "Updated media browsing API \u0026 tests.\n\nChange-Id: I3a1e3eead99a98b1890e05843dd90203cee517b7\n"
    },
    {
      "commit": "110f569b47bc21fb38ec25b6110ee302ce137e06",
      "tree": "b596841dbf21aaf5d23e1d905cf2914f5f6d53e4",
      "parents": [
        "8ca1fdc10b9afb831636ce00e48b9692476413c5"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Sun Jul 20 12:22:56 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Sun Jul 20 16:53:09 2014 -0700"
      },
      "message": "Fix synchronization issues in AlwaysOnHotwordDetector\n\n- Remove unnecessary recognition status from AlwaysOnHotwordDetector\n\n- Remove unnecessary recognition started callback from IRecognitionStatusCallback\n\n- Fix a bug around the fact that we weren\u0027t picking up enrollment at runtime because\nwe were storing the availability at instantiation time.\n\n- Handle 0-length arrays in SoundTrigger classes while parceling/unparceling\n\n- Fix issue in SoundTrigger helper where we were not comparing binders for start/stop calls\n\n- Unload the previous model when starting a new recognition\n\n- Add more debug logging\n\nChange-Id: Icc56d7f3dd1ffa49a8cfeea49080e3ab4d342c32\n"
    },
    {
      "commit": "c01bd1167a1b08d59557f214ddc48cf24d3b8d0a",
      "tree": "6b1b2e5dea2cdd0027a17cfdcccf9f781f1c52cc",
      "parents": [
        "6eed108eeb66d123c47e7066d23738ca8dd8bdd4"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 18 16:22:09 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Sat Jul 19 02:00:15 2014 +0000"
      },
      "message": "Return Animator instead of ValueAnimator\n\nChange-Id: I29a7cfdc7ffbb3a4d33f9e64f9d7ca791f5c947c\n"
    },
    {
      "commit": "31ba192dd201df2cad96a8c503f730130ab0d80f",
      "tree": "6c2be2ad287e826bf2f7f7fc6316b55c2fd36834",
      "parents": [
        "5552cc5c9dd111c5fb1db512240b5daf15866c88"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Jul 18 13:48:09 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Sat Jul 19 00:13:59 2014 +0000"
      },
      "message": "Tweaks to outline API\n\nb/15283203\nb/16142564\n\nRemove boolean return value chaining, as it\u0027s redundant with\nthe data in the Outline itself.\n\nChange-Id: I3116e57cd1b35c98b74e95195117edd7e39fb2df\n"
    },
    {
      "commit": "d3de42cae84fadfa1befd082a2cf1bf72f9ad82a",
      "tree": "e3bff6900caa9cc6546dc6e843f37414192fcc74",
      "parents": [
        "fac77c46fe03466cb4bd728da3dc49b40652964b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jul 15 14:29:33 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 18 22:10:22 2014 +0000"
      },
      "message": "Add RT-enabled reveal animator\n\n Bug: 16161431\n\n Also re-writes RevealAnimator to avoid using any listeners internally,\n removing the logic around shadowing the update listeners.\n\nChange-Id: I6ed8126398eed971a87f20bccb7584c9acafbb6c\n"
    },
    {
      "commit": "9d59a76dd0e850558e83ef1a48fefd865fac1336",
      "tree": "0a6f17a5306ef080acb313104632658e93d88ed9",
      "parents": [
        "670689af43358568bf2b5916284f1cac5762f428"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Jul 17 15:06:03 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Jul 18 20:39:35 2014 +0000"
      },
      "message": "Fix FIT_XY scaleType issue on VectorDrawable\n\nbug:16019658\n\nChange-Id: I8b6ac23bf14de5427d3029436acf76bd1161f0ea\n"
    },
    {
      "commit": "7444c906faef1f7a9a6e6f7a443ba156f1e856be",
      "tree": "d422b62cbc7a5aa67a6edeb1c3d1bc3505f1f9bb",
      "parents": [
        "ca58ddf7c82dd0857de0c3d49d7eb87a842ee4ce"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Wed Jul 16 23:55:41 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Thu Jul 17 18:44:12 2014 -0700"
      },
      "message": "Test hotword flow\n\n- Also fix a few StrictMode violations in DatabaseHelper\n\nChange-Id: I93f27407dae34cc0dca5e9f891d4ca718d6010a5\n"
    },
    {
      "commit": "738177caf6a755a59ca6b17bb968be0aa4e8e10f",
      "tree": "d620da765a3fbe2a6246cdd0c63b83849e554c18",
      "parents": [
        "580ff8142b7d0455d0d41ee77572b4f55dd935f0"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 16 11:17:56 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Jul 17 17:37:19 2014 +0000"
      },
      "message": "Add the RTL support to VectorDrawable.\n\nbug:15905631\n\nChange-Id: Ieb3dcac2dd446ba89f307716411688dcd6ec5279\n"
    },
    {
      "commit": "fee756ff91ab4d8f0e09ddb050d22d88ebb66ae7",
      "tree": "d1ff654f57e10bcd3b0a26690113aef7f1643eb4",
      "parents": [
        "2883ba69751de69811a38f086ecbe4c2032ca87d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 16 17:31:10 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 16 22:50:31 2014 -0700"
      },
      "message": "Implement issue #16330060: Inform ActivityManager about WebView...\n\n...state changes.\n\nAdd a new API to tell the activity manager about a new dependency\none process has on another package.  Start using it already for\nwhen apps is Context.createPackageContext() to load code from another\napp.\n\nAlso do some work on getting the monitoring of proc/uid states\nin shape so it can be used by unundled code, along with an\nAppImportanceMonitor class for doing so.\n\nSome small fixes and additions to VoiceInteractionService.\n\nImprove handling of unaccounted/overcounted battery use so that\nthey aren\u0027t shown to the user unless they are significant.\n\nChange-Id: I22dd79a73f4e70103d3f8964494aebc8a31f971c\n"
    },
    {
      "commit": "e6cd2476aa9d07df0de0a0081ab66d8401a7e228",
      "tree": "e341a89ae40e30626a55d6eb77b7c7cf638bd1b2",
      "parents": [
        "5134478151d8aa3d776f8d4f368dbcdbc501a92a"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Fri Jul 11 12:27:34 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Wed Jul 16 22:03:03 2014 -0700"
      },
      "message": "Add recognition modes to the enrollment metadata\n\nThis will be used by the Voice interaction service to determine what type of recognition may be run\non the DSP. e.g. If the DSP supports voice trigger only for the given keyphrase,\nthe voice interaction service may want to perform user identification at its end.\n\nAlso support keyphrase metadata for all keyphrases and locales.\nIn case the enrollment app supports open-ended keyphrases, it can leave the keyphrase text\nto be empty\nsimilarly, if the enrollment app supports all locales, it can leave the supported locales\nattribute to be empty,\n\nChange-Id: I782a17a877fc79ed569fa7c3a81697641182590b\n"
    },
    {
      "commit": "0d12785dfbbed04c2f1bc000d7f0722d22d75f4a",
      "tree": "75c3bb3df5ad3c6b2b881613fd4e2a375743df46",
      "parents": [
        "71940885f2748046dd744b039f9e18adef54673b",
        "7bc6a3f023ca3e1dde91fc97b6036dee3ba538a2"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 16 19:27:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 16 00:46:50 2014 +0000"
      },
      "message": "Merge \"Add more reverse support to AnimatedVD\" into lmp-dev"
    },
    {
      "commit": "7bc6a3f023ca3e1dde91fc97b6036dee3ba538a2",
      "tree": "542fd3fbf1f158bf609bf615d6dcf83a5331f5b4",
      "parents": [
        "ce83a28c244b69e9602af84d120494d302decbeb"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jul 15 15:12:12 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 16 19:26:26 2014 +0000"
      },
      "message": "Add more reverse support to AnimatedVD\n\nbug:16162242\n\nChange-Id: Ie0b7618beeb65ebeb65db41600165837524bcee4\n"
    },
    {
      "commit": "8b4bffcac996b4083e720310a09d315ca1c4a000",
      "tree": "56726422a371d15b204756f80bce5e487d1ed318",
      "parents": [
        "54892c8b813eb2de3c5c6bcd08c90b8dd0abbec8"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Jul 10 13:48:01 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Jul 16 12:03:45 2014 -0700"
      },
      "message": "Make MediaSession and MediaController constructors public\n\nThis makes the MediaSession/Controller constructors public and registers\nwith the system behind the scenes.\n\nThis also adds a bit about needing to call setActive(true) to start receiving\ncommands in MediaSession\u0027s docs.\n\nChange-Id: If882d229b54c36bf0831aca0255052dda667a2bc\n"
    },
    {
      "commit": "c2d6400fb6e563b789f1dbc6cff3f379af0c3b25",
      "tree": "d1b84326f03217ddc4824f049dc3b736cacb2905",
      "parents": [
        "bb742462781a73bb25516067c8fe6311c1c8a93e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 15 12:28:43 2014 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 15 12:28:43 2014 -0700"
      },
      "message": "Fix build\n\nAdd parameter to WindowManagerPermissionTests.\n\nFixes build.\n\nChange-Id: Iecf064ee0be612e59aa1b7f0a42807be1bc59e78\n"
    },
    {
      "commit": "c785a78fb483fe54012175c53d3758b2412de7b9",
      "tree": "381234db29ffa13f3f34972052d282978df86915",
      "parents": [
        "550116576cce028d3c435f7c3ae9f6e3b92b5cf2"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Jul 14 13:40:43 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Jul 14 13:40:43 2014 -0700"
      },
      "message": "Make PlaybackState immutable with a builder\n\nbug:15862252\nChange-Id: I51f2e466bd2c41bbe80d20aa9785126a7ac6ab3f\n"
    },
    {
      "commit": "550116576cce028d3c435f7c3ae9f6e3b92b5cf2",
      "tree": "ca7bf5f9f2564ea6a34c37d94216e7f531236772",
      "parents": [
        "a4ab780877808dbee334f7c7cc4acefa0aa313b2"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Jul 09 15:05:53 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Jul 14 11:17:06 2014 -0700"
      },
      "message": "Add API to set a default session in Activity\n\nWe may have multiple remote sessions at once so an app needs a way\nto specify a default session to route media and volume commands to\nwhen its activity is in the foreground. This adds an api that works\nin parallel with the default stream api on Activity.\n\nbug:15727927\nChange-Id: I5b67cb3e20647f9437d90aa65be63efe8c7865cf\n"
    },
    {
      "commit": "ff0215dd64e5fd4ff366930747e7943fcc40c4ab",
      "tree": "cedfda78070d778f79127503211e0d1215ecd904",
      "parents": [
        "1a937b04e63539cb1fab1bde601031d415c7156f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 14 04:05:08 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 14 04:38:15 2014 -0700"
      },
      "message": "Update media session test application for new media router.\n\nChange-Id: I3c19e008d211099b4d7320e3f195850cfb4dd927\n"
    },
    {
      "commit": "d3fdb8bed8e836786253f9cd5ab640c7c5ed8501",
      "tree": "46a17309ceb85bb5d6abc0660fab799a0207924b",
      "parents": [
        "ca249dc6342a7c6678ca3b7f1dabe0e32d3d902e"
      ],
      "author": {
        "name": "Barnaby James",
        "email": "bjames@google.com",
        "time": "Mon Jul 07 10:51:06 2014 -0700"
      },
      "committer": {
        "name": "Barnaby James",
        "email": "bjames@google.com",
        "time": "Fri Jul 11 10:34:50 2014 -0700"
      },
      "message": "Add VoiceInteraction request type for successful actions.\n\nAdd CompleteVoiceRequest to VoiceInteractor to allow apps to indicate when a voice interaction was successfully completed.\n\nChange-Id: I1481cfe96e9e2495d88a7a4fb62263bdd1e03c54\n"
    },
    {
      "commit": "d66a8719b019e948d1dfbda2dace8762189e298f",
      "tree": "eebc49784b515232020950942d55e8a170c80051",
      "parents": [
        "219cca781b1e76c01a538e3eefedfb9c96305a19",
        "ab87983a11e0bd2e08d752d86d5e945ea7d39a04"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Jul 11 14:35:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 10 21:35:02 2014 +0000"
      },
      "message": "Merge \"Simplify Shader.setLocalMatrix.\""
    },
    {
      "commit": "ab87983a11e0bd2e08d752d86d5e945ea7d39a04",
      "tree": "4e05141a491cdaabed0c6ba820b3aa07bbc2cb8a",
      "parents": [
        "3ff3db5f5c222af0ddd588cee41efc70ddf2b0c3"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jul 09 16:44:35 2014 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jul 10 18:01:22 2014 -0400"
      },
      "message": "Simplify Shader.setLocalMatrix.\n\nPreviously, calling setLocalMatrix updated any Paint that had the\nShader attached. This depended on deprecated behavior in Skia. Use\nnew Skia APIs, and do not modify any Paints that use the Shader.\n\nIn addition, update callers to call setShader (again) after modifying\nthe Shader.\n\nSample app at ag/499573 for testing.\n\nDepends on I673801444f0a8fd4f192b5b7effdde1aa83e702b in external/skia.\n\nBUG:14315916\nChange-Id: I3c3316377874e89fccc85afb864bc038b0ef3890\n"
    },
    {
      "commit": "d7018200312e4e4dc3f67cf33dc90bf7ce585844",
      "tree": "4479f56efb160bc525120e1ef19f724eccf47e8c",
      "parents": [
        "3d4fe363b25293577faae3fddf85e6f73f76b0cd"
      ],
      "author": {
        "name": "Sandeep",
        "email": "sansid@google.com",
        "time": "Thu Jul 10 15:15:39 2014 -0700"
      },
      "committer": {
        "name": "Sandeep",
        "email": "sansid@google.com",
        "time": "Thu Jul 10 18:32:37 2014 -0700"
      },
      "message": "Always on hotword changes\n\nAdd model management API skeleton to VoiceInteractionManagerService\nAdd an \"interactor\" for all always-on APIs\n\n- The VoiceInteractionService will get an interactor for the given\n  keyphrase and locale.\n- It can then check the availability and call methods to start and\n  stop recognition on this interactor.\n\n- Add a common class to deal with SoundTrigger APIs\n\n- Cleanup the keyphrase representation:\n  We now have separate representations for the keyphrase metadata and\n  a keyphrase being used for recognition.\n  This\u0027ll also help us to handle custom keyphrases in the\n  future easily.\n  This also ensures that for use within the framework,\n  we rely on the ID of the KeyphraseInfo rather than comparing the\n  text everytime.\n\nAdd a callback for the AlwaysOnHotwordDetector\n\nThis callback should be passed in by the VoiceInteractionService and is used to notify it\nof recognition events.\n\nChange-Id: I26252298773024f53a10cdd2af4404a4e6d74aae\n"
    },
    {
      "commit": "b2e93efcac593f5f27722219b274bd0fa5c1b0fe",
      "tree": "b36611df2d01aedf0f00c43bb6badf1dffb59c06",
      "parents": [
        "5a4e01114361b7dad4fc5465b4da00fd444fc098"
      ],
      "author": {
        "name": "Erik Pasternak",
        "email": "roboerik@android.com",
        "time": "Thu Jul 10 22:51:34 2014 +0000"
      },
      "committer": {
        "name": "Erik Pasternak",
        "email": "roboerik@android.com",
        "time": "Thu Jul 10 22:51:34 2014 +0000"
      },
      "message": "Revert \"Make PlaybackState immutable with a builder\"\n\nWill resubmit tomorrow for Build Breakage Friday as this change needs new SDK prebuilts for unbundled app branches.\n\nThis reverts commit aa746b27610680a2c0fbdf7d81a6455c4597f05e.\n\nChange-Id: I28ba7e1b09234a5eb1b725aed043b9de98e1bc16\n"
    },
    {
      "commit": "5a4e01114361b7dad4fc5465b4da00fd444fc098",
      "tree": "e589eeb34eea78fa29c02cf2f0d3ca2ed93dd1a0",
      "parents": [
        "b3d91779cb8cbb78d703095e6c880a83ab20133e"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Jul 09 13:34:32 2014 -0700"
      },
      "committer": {
        "name": "Erik Pasternak",
        "email": "roboerik@android.com",
        "time": "Thu Jul 10 22:39:03 2014 +0000"
      },
      "message": "Make PlaybackState immutable with a builder\n\nbug:15862252\nChange-Id: I8944b7753cd6a36a74b0091f71a386f77040c4ab\n"
    },
    {
      "commit": "8d0d24f7a2b1a59060aa18926984491691d3c667",
      "tree": "67d3265ba6cf5c72f2ce50ee2810ccb8f8e18f3c",
      "parents": [
        "ef6a8cc008030885f01a39efce6c7aa6b58bbc07"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 09 10:49:44 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Jul 10 22:04:20 2014 +0000"
      },
      "message": "Fix the render order to follow the XML file order.\n\nSo we put path and group into a big list, then use reflectiont to handle them\ndifferently.\n\nbug:16162141\n\nChange-Id: I4c84dc952d5d9b49412301dcd6459395e21d3b31\n"
    },
    {
      "commit": "931a0e27e114aee8e8297f4d6499d4e1891f0591",
      "tree": "e687e2c27790c55281ca73cef51cd7c0d1fb751f",
      "parents": [
        "eeba0257a7d9bd10bf0d97d38828d52c035d2628",
        "34d4ac88f70c37cbe143ab01b40f343bcf02035f"
      ],
      "author": {
        "name": "Niels Egberts",
        "email": "nielse@google.com",
        "time": "Thu Jul 10 11:45:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 09 19:47:58 2014 +0000"
      },
      "message": "Merge \"Remove Markup and Utterance classes.\""
    },
    {
      "commit": "34d4ac88f70c37cbe143ab01b40f343bcf02035f",
      "tree": "63f666ed2dd0dc90f98effb6b59a68b157a5aa6b",
      "parents": [
        "4143bc5f09a0ff73ca92caf3b2012c0ffd780555"
      ],
      "author": {
        "name": "Niels Egberts",
        "email": "nielse@google.com",
        "time": "Tue Jul 08 13:45:14 2014 +0100"
      },
      "committer": {
        "name": "Niels Egberts",
        "email": "nielse@google.com",
        "time": "Tue Jul 08 14:53:35 2014 +0100"
      },
      "message": "Remove Markup and Utterance classes.\n\nMarkup is replaced by TtsSpan, and the Utterance class will be replaced\nby TtsSpanBuilder.\n\nChange-Id: I443786681f065ad8458fc05825de3ef182db8062\n"
    },
    {
      "commit": "a8c5badec4083e58e7fd9277a21f5c54f9843483",
      "tree": "9a9df40d7ad49db0dc2e19ac46c061a4ddea36df",
      "parents": [
        "5e6643c1376130e402d30da647fdfebd86b7f2fc",
        "0a160acf297b583e12a9710c929c4ba9a38f7353"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 09 01:02:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 08 22:56:18 2014 +0000"
      },
      "message": "Merge \"Camera2: Hide all the deprecated methods and interfaces\""
    },
    {
      "commit": "0a160acf297b583e12a9710c929c4ba9a38f7353",
      "tree": "33147e4171781db62bf31c42be1b3e4bf9ce2722",
      "parents": [
        "0c116e1573184f33883bc3722277ecc6560ebca9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 02 14:29:26 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Jul 06 17:31:14 2014 -0700"
      },
      "message": "Camera2: Hide all the deprecated methods and interfaces\n\nLeave them in for now until bundled clients complete updating\n\nChange-Id: Ibd0fc971258ce6b649000c48dd7a6716f1ab91d4\n"
    },
    {
      "commit": "2a0d4a1fffbd99e91bda19f3139625f9933035ca",
      "tree": "6be3f189566c43f45760834478a4bed2d1d6ee31",
      "parents": [
        "034b20c102ee2e7ec1da09e2b080f35be4a5cf54",
        "f456b1f078639a422f966ef2e9376cbd5ae3d274"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Jul 07 19:44:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 07 17:47:39 2014 +0000"
      },
      "message": "Merge \"Update AnimatedStateListDrawable to work with Animatable drawables\""
    },
    {
      "commit": "f456b1f078639a422f966ef2e9376cbd5ae3d274",
      "tree": "a1848ffd77785c40daeb286232ea12ba5f1d18e3",
      "parents": [
        "40d43b27b4f5fba75b040c24f95a170959811fd8"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Jul 03 19:03:21 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Jul 03 19:03:21 2014 -0700"
      },
      "message": "Update AnimatedStateListDrawable to work with Animatable drawables\n\nBUG: 16016730\nChange-Id: I6d02a1235c0aecd7e62f12226f3689372d043ddd\n"
    },
    {
      "commit": "ad6df74ada7c478257425b746588f22eeec199a6",
      "tree": "fa5675220d901f86dc3b5c264fefe45bffb6637c",
      "parents": [
        "96aacd2a2c04f5feeb58e025cacc3c83fc902339"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Tue Jul 01 17:04:25 2014 +0100"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Jul 04 11:28:06 2014 +0100"
      },
      "message": "Add support for voices in TTS API.\n\nVoices allow to expose multiple backends/voice packs for a single\nLocale. This is an attempt to port this feature from V2 API.\n\nBug: 15834470\nChange-Id: I0117de238cfcf028bcec5344b8d65c960b96b98c\n"
    },
    {
      "commit": "c0ffce5ddd6446f1d46a49cdfaeda4a2ce408e1d",
      "tree": "d35f14610cdd43912a963295aa6719ae596a1669",
      "parents": [
        "51cb97096814352127aed69e5ac97013e9172038"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 01 12:38:52 2014 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jul 02 16:31:46 2014 -0700"
      },
      "message": "Use cached thumbnails in Recent tasks.\n\nThe thumbnail returned from ActivityManager.getTaskThumbnail() now\ncontains either a Bitmap or a ParcelFileDescriptor that points to\na file containing a compressed Bitmap. The Recent tasks list is\nnow responsible for all thumbnail Bitmap caching as the activity\nmanager keeps only the most recent 5. This also permits low memory\ndevices to have many more tasks in the Recent tasks list.\n\nAs part of this CL the concept of subtasks is removed eliminating\ncode supporting the TaskAccessInfo and IThumbnailRetriever classes.\n\nFixes bug 15828934.\n\nChange-Id: I0fd0320a1a04e3c78d79357899b83a2fff97abf2\n"
    },
    {
      "commit": "0923be20e1e2abd9904219bf88f597d518422bd2",
      "tree": "4e5672fc14f5f4f263dbfcda85dfa045d1b6931c",
      "parents": [
        "cc32bd83e4d420c1adaeb3ea40f8986471e54590"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jul 01 13:49:47 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Jul 01 23:14:12 2014 +0000"
      },
      "message": "Test scaleType for both bitmap and vector drawables.\n\nChange-Id: I3c75963a624cd87a47a9eff68f9e113b8c147210\n"
    },
    {
      "commit": "2bd52dff6c96ace9c19e3e77068a45ea0d21c8fb",
      "tree": "6cb431134614eaa6c74352c877a58bcc4be9c8dc",
      "parents": [
        "5dfb86bb09a1c5eebd6522426c94b92c02154779",
        "3994371aa3bec727ee8dc5643bb4212c0525467f"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jul 01 16:45:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 01 14:50:43 2014 +0000"
      },
      "message": "Merge \"Draw overlapping rectangles with color modulated.\""
    },
    {
      "commit": "3994371aa3bec727ee8dc5643bb4212c0525467f",
      "tree": "0a820de44163f15ad575a43c4f8c35bbe2995694",
      "parents": [
        "b4dabadd89f8a6928b51e809eec6425a3df9b593"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 30 13:35:00 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 30 15:42:49 2014 -0700"
      },
      "message": "Draw overlapping rectangles with color modulated.\n\nTouch the screen to turn on / off depth test.\nDisalbe the vsync to get the real performance.\nDrawing 10 rectangles on N10 show almost 3x perf gain, in this setup.\n\nChange-Id: I97bb84f744e90c35febad8cb853ed877cda5e64f\n"
    },
    {
      "commit": "b4dabadd89f8a6928b51e809eec6425a3df9b593",
      "tree": "4f3d1e01490acc7a4091e7769caa0f1a00b7a106",
      "parents": [
        "9cb5b4c2d93acb9d6f5e14167e265c328c487d6b"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 30 13:04:47 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 30 13:11:40 2014 -0700"
      },
      "message": "Preparing the new GL depth test.\n\nRight now, the code is just copied from ApiDemos for the initial setup.\n\nChange-Id: I531f95faca744c7e91fadae189818af3d04a85ee\n"
    },
    {
      "commit": "9cb5b4c2d93acb9d6f5e14167e265c328c487d6b",
      "tree": "4c070cc42cdc6c4a438f4e870d00293429ed5533",
      "parents": [
        "66d3d8a09eb6a0238e3c189d8c3d598dc62dc0ab"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jun 27 12:06:48 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 30 12:43:52 2014 -0700"
      },
      "message": "Use AnimatedVectorDrawable for progress bar.\n\nChange-Id: I419197ef38a611757f27ca3192350ad4bd403875\n"
    },
    {
      "commit": "66d3d8a09eb6a0238e3c189d8c3d598dc62dc0ab",
      "tree": "ed5e3dd0d62c542f27e5258e1448aa22bc1873e6",
      "parents": [
        "1c1cda0c31c4a581da7649d0df2e70f2ca77f49f"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Jun 26 13:54:06 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jun 27 09:05:40 2014 -0700"
      },
      "message": "Add string support for valueFrom/valueTo\n\nb/15910407\n\nChange-Id: I557e855f7d16e2eb0452d43ca6a672acdcae2071\n"
    },
    {
      "commit": "1c1cda0c31c4a581da7649d0df2e70f2ca77f49f",
      "tree": "9b0780e8f08b4dcf26d5f4c4bd213f75c456b98f",
      "parents": [
        "8885ac9518b8821b90b8c1947469b6b9a37f0b7c"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Jun 26 12:22:58 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jun 27 09:05:40 2014 -0700"
      },
      "message": "Update the tests to show more animations from UX team\n\nChange-Id: I16d2ed29f40c85ec48c87b5a0355e2a262ed3af7\n"
    },
    {
      "commit": "dba34ba35cd2042d9a8fecfda56e2abe7a680bad",
      "tree": "c8dead04fe9fbdba409cfdbf11fcdbcbb9174f99",
      "parents": [
        "854157308e5426437277c9d31be64a2dedd57c7f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 24 20:46:03 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 30 16:05:25 2014 -0700"
      },
      "message": "Make MediaSessionToken an inner class of MediaSession.\n\nAlso add some missing AIDLs to the framework makefile to ensure\nthey are included in the SDK.\n\nChange-Id: If85a3091c7591e0b3bbe6cc4bb74aba2284b4f42\n"
    },
    {
      "commit": "eb034fbca40006c55db143047eb628c4b657730a",
      "tree": "cfb5b58e402b3187d5b37d2e2d428c2dce247cea",
      "parents": [
        "17e64ffd852f8fe23b8e2e2ff1b62ee742af17a6"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 09 13:14:19 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Jun 20 15:16:47 2014 -0700"
      },
      "message": "AVD now support path morphing.\n\nBasically extended the ValueAnimator to support a new type: pathType.\nAdd the PathDataEvaluator internally to interpolate path data.\nUpdate test to show the path morphing.\n\nChange-Id: I89db0199cbc12e3041790a6115f3f50b80213cdb\n"
    },
    {
      "commit": "cf4832f69c8786b098ce18c24319021f8cd6733a",
      "tree": "e8fd8df89d7ff6a9a6de5a4e9bd03ee9e88c7a8c",
      "parents": [
        "150bfcd73d53cd824b4ab20161a3d87710ce259b"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 17 09:54:45 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Jun 19 10:56:28 2014 -0700"
      },
      "message": "Add path support into xml files for PathInterpolator and ObjectAnimator.\n\nThe test case is showing that AnimatedVectorDrawable is able to use path to\ndefine time interpolator and object movement now.\n\nChange-Id: If3c0418265d0fd762c8f5f0bb8c39cce3ad34ef3\n"
    },
    {
      "commit": "e934fd21d04d3a8b9edd6b947845f1ceb57f4eb2",
      "tree": "f469e5772f2af2bcd07a15148b41746643efb14e",
      "parents": [
        "47d1206fb8d53d7aa556b97f5fcc7765b323cef0",
        "f7c4fddf44dd94162d26635bbd703ffeb392c675"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Thu Jun 19 01:54:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 18 18:28:24 2014 +0000"
      },
      "message": "Merge \"Flesh out job scheduler test app\""
    },
    {
      "commit": "f7c4fddf44dd94162d26635bbd703ffeb392c675",
      "tree": "161048a7ef65e6482b2bc13cee5a997f74124953",
      "parents": [
        "d7e16851285e19cb412fc14635a9f3f74bc07e0c"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Wed Jun 18 18:52:47 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Wed Jun 18 18:52:47 2014 -0700"
      },
      "message": "Flesh out job scheduler test app\n\nadds the rest of the constraints - charging, idle, and allows you\nto cancel all.\nChange-Id: I43b7cac94446f6860ca0387440b3c8f995a2c0f3\n"
    },
    {
      "commit": "16c1bd5db8f4f18e1eee8b19006bba5f06a88123",
      "tree": "2c4d15d0c4a80dcb10cc2df45e40ad30747e40dd",
      "parents": [
        "5adf8ee451085ed6106b7dbadc6d8dcd9d90722b"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 16 10:30:58 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Jun 18 12:55:22 2014 -0700"
      },
      "message": "Improve constant state for VectorDrawable\n\n    Now inflation will not cause duplicated constant states.\n    And update tests.\n\nChange-Id: I66861e5451c4c10d18756e8522546ea1cb938a55\n"
    },
    {
      "commit": "cf1a2f73fc102be2ac7060ac97d4682bb2565ca5",
      "tree": "f00e01d283dbf43199d2d3692d578b7e18e9326c",
      "parents": [
        "6b2df21ecacfa6826a85cabdf8d6fe0e81fe11d9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 16 15:51:39 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 17 12:14:45 2014 -0700"
      },
      "message": "Switch everything to scheduled jobs\n\nEverything that used the IdleMaintenance APIs/broadcasts gets to use the\nspiffy new JobScheduler instead.  Hooray!\n\nOn top of that, the now-obsolete \"idle maintenance\" APIs are now gone\nentirely.  Double hooray!\n\nBug 14993295\n\nChange-Id: I5fb67c296ca8cd0ba8a2c8760a0f0d9d962d813b\n"
    },
    {
      "commit": "e31ab2d8fcb7413e4775a7cfdd340636a9eea7e7",
      "tree": "29cb279ff1b39d7ed83e46a2d27f95fbd21a15db",
      "parents": [
        "53a1eaa7711af753a276290f9c9b812704dfd023",
        "1b5637ee32c5d4e5d857fa86a1b1c1db23d027b7"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Jun 13 12:04:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 11 15:57:38 2014 +0000"
      },
      "message": "Merge \"Expose \"default tts locale\" to the TTS V2 API.\""
    },
    {
      "commit": "1b5637ee32c5d4e5d857fa86a1b1c1db23d027b7",
      "tree": "4c857c995524f7763fb4ef3b3cd280d3a9af7d48",
      "parents": [
        "dad8f819a710510be28e9fdeee84f9b5b2ddacbf"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri May 30 11:00:17 2014 +0100"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Jun 11 13:49:48 2014 +0100"
      },
      "message": "Expose \"default tts locale\" to the TTS V2 API.\n\nThis change allows TTS V2 API client applications to honor the\n\"default TTS locale\" set by the user in the TTS settings.\n\nNote that the TTS V1 API uses 3 character country/language codes\nfor locale encoding. It\u0027s the only system component that does\nthat. TTS V2 uses the standard, valid Locale objects. The default\nTTS locale setting was stored as a 3 character locale string with\n\"-\" as the separator.\n\nThis change switches the TTS locale setting format to the output of\nLocale.toString() call (on a valid Locale object). Methods used for\nreading this value can interpret both forms and try to return a valid\nLocale object as an output.\n\nChange-Id: Ice2e6c25a43eb9dd6e17d371ee582c2dae3329c9\n"
    },
    {
      "commit": "e5e92602a41a4ddc7b42cd1c171a0edfbd09b8da",
      "tree": "d1ca259815244f1f51c59f5853f6b5bcfd0e0858",
      "parents": [
        "88b00784684d7b706c7b0c4e833b1d67d73358b9"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 14:02:10 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Jun 12 13:18:59 2014 -0700"
      },
      "message": "Add AnimatedVectorDrawable\n\nCurrently as a hidden class.\nIt can support many the animations now as far as ObjectAnimator and\nhierarchical group can support.\nAnd we don\u0027t have path morphing yet.\n\nAlso support the Animator / Interpolator inflation from Context and Resources.\n\nChange-Id: I948bbdf7373ad291171eed0b497959dce8c2edf3\n"
    },
    {
      "commit": "8d336682d47df82c9a61af89fe7fc3e0e9daf358",
      "tree": "14aed605c5334729824ffef748ee3fb3a5c01bc5",
      "parents": [
        "84ecb7e1aad92598cc675bf4dfb8516b70daa5e1",
        "b84fdffad40226ca642680c7d1eec7c7799f07aa"
      ],
      "author": {
        "name": "Sol Boucher",
        "email": "solb@google.com",
        "time": "Wed Jun 11 23:26:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 11 23:10:23 2014 +0000"
      },
      "message": "Merge \"Add CameraToo, a sample point-and-shoot camera app\""
    },
    {
      "commit": "b84fdffad40226ca642680c7d1eec7c7799f07aa",
      "tree": "ea519bbb49899fe2f77a65392a1952dc9bc1b399",
      "parents": [
        "0aad830d1b3006c75a66c02d29d3147c8765b815"
      ],
      "author": {
        "name": "Sol Boucher",
        "email": "solb@google.com",
        "time": "Wed Jun 04 16:05:55 2014 -0700"
      },
      "committer": {
        "name": "Solomon Boucher",
        "email": "solb@google.com",
        "time": "Wed Jun 11 21:47:49 2014 +0000"
      },
      "message": "Add CameraToo, a sample point-and-shoot camera app\n\nIt demonstrates basic use of the features of the new Camera2 API.\n\nChange-Id: I593bc682e5c6203754e9a3ee9a78efbd1b208513\n"
    },
    {
      "commit": "0188bee2c526270c178a0b1f918b2a09999de25f",
      "tree": "493dd8356757ef85b8dab61cd0de3329f2d8e38f",
      "parents": [
        "acdee873669860f9e7be77327274d1c60fb6b400",
        "e9ed3707b234c893622aec3ddecbf2f9d41d1454"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 11 17:02:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 11 17:02:18 2014 +0000"
      },
      "message": "am d8f71d34: Merge \"Out with the old; in with the new\" into lmp-preview-dev\n\n* commit \u0027d8f71d34c3c7fb161a1586de8edb52161c32d672\u0027:\n  Out with the old; in with the new\n"
    },
    {
      "commit": "297c2daabd73181c1871171eae23207297b11291",
      "tree": "785cc272397b990a3dc7a52a1ede4ecc54b7c0b1",
      "parents": [
        "4af3c7cf026db0236c4f1a66da846a60f2a96200",
        "22968950b814e66a6aa119ea92ae648884cbe0d9"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Wed Jun 11 22:48:38 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 11 21:23:31 2014 +0000"
      },
      "message": "Merge \"Activity for enrollment\""
    },
    {
      "commit": "22968950b814e66a6aa119ea92ae648884cbe0d9",
      "tree": "cc21b57d32cbc30c3b008893ce10be519168bcb9",
      "parents": [
        "e912ac012e7146e9b0e8589bd9d88790e55372e3"
      ],
      "author": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Tue Jun 10 12:32:53 2014 -0700"
      },
      "committer": {
        "name": "Sandeep Siddhartha",
        "email": "sansid@google.com",
        "time": "Wed Jun 11 15:34:39 2014 -0700"
      },
      "message": "Activity for enrollment\n\n- Make the enrollment attrs public\n- Add a dummy activity for enrollment\n\n- Manually tested that the meta-data is correctly read by the\n  VoiceInteractionService when the enrollment application is under\n  /system/priv-app\n\nChange-Id: I36676ed8ffc919109031c26bac047d0c51a77e13\n"
    },
    {
      "commit": "7060b04f6d92351b67222e636ab378a0273bf3e7",
      "tree": "82fce1e04dd58a5d79895d0869b3b0adeffbb417",
      "parents": [
        "6d7a25f317be60ae8a4d8806e517052be2398753"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 09 19:50:00 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 10 12:51:55 2014 -0700"
      },
      "message": "Out with the old; in with the new\n\nSwitch to the official \"JobScheduler\" etc naming.\n\nBug 14997851\n\nChange-Id: I73a61aaa9af0740c114d08188bd97c52f3ac86b7\n"
    },
    {
      "commit": "3f51a909f03a5d0a09c3702d793f5b2a878a1aad",
      "tree": "a405b6827d26331e0744df4ecd2375351765ab32",
      "parents": [
        "2f4bd692d367f349422c5d727b644e9d4bac9672",
        "508a8a0ab4c8172a8b28abf526a6cc331fa8e926"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Tue Jun 10 11:17:55 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 10 11:17:55 2014 +0000"
      },
      "message": "am a06fce7d: Merge \"Add test app for JobScheduler\" into lmp-preview-dev\n\n* commit \u0027a06fce7dea359571877ae8d9cd9cf720934083f5\u0027:\n  Add test app for JobScheduler\n"
    },
    {
      "commit": "13b0241248716b126a538457828a964e86109d58",
      "tree": "4a12c8e46bc8d1318bb2c0521ae5df961e2632d7",
      "parents": [
        "2f98a26bbf24fdc40ef53a653bb152c7f5a5d0dd"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Fri Jun 06 19:05:44 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Sat Jun 07 20:50:54 2014 -0700"
      },
      "message": "Add test app for JobScheduler\n\nSchedule either a delay/deadline task, or a task with\nconnectivity constraints\nChange-Id: Ie7ea731d0f6673b680cef79f894cb609a61b795d\n"
    },
    {
      "commit": "830960cce032a1b0dc0cf54bcc44ffa339388c21",
      "tree": "8729b267ce649cb0593202c30748cd94132a7f84",
      "parents": [
        "052027dc9068708e5d166853f434274188a48753"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Jun 06 15:48:55 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Jun 06 15:48:55 2014 -0700"
      },
      "message": "Material theme\n\nBUG: 15467097\nChange-Id: I15191362e104a902895418fc615892c21db64c35\n"
    },
    {
      "commit": "3cb07a462be293634e6a83ea6c82f3647cd17dad",
      "tree": "ad7f636d4921ee678c1933bc3eb7e197150f5429",
      "parents": [
        "f2dc2d145948d7dcec5a7c5c9cb7a839d5aa50b9"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Jun 06 14:19:53 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Jun 06 14:19:53 2014 -0700"
      },
      "message": "DO NOT MERGE Material theme\n\nBUG: 15467097\nChange-Id: I15191362e104a902895418fc615892c21db64c35\n"
    },
    {
      "commit": "7ac18b84459cf05a7fbc069d5e9900f411485992",
      "tree": "ca5a15ad7c6e46395caeda41b7a22847660408f1",
      "parents": [
        "4af26e7c98ccfe51c6c17ab292875441c6039131"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 14:02:10 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 14:26:29 2014 -0700"
      },
      "message": "Add AnimationDrawable test\n\nChange-Id: Ieabd1f628cdccd4939f733f92c0cbefbf8bc0446\n"
    },
    {
      "commit": "a8cb975aa7c91d0330ac6589884ea9adb3022bc1",
      "tree": "79f2b5381c41b96d2d420d7c6331f1c72686c9a8",
      "parents": [
        "b656270e8ede6b81020ea493fd3a8d8958bf8438",
        "2af745b56cf4bdfdd9c05d90a4ccc740bf77a4fe"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 18:07:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 03 18:07:31 2014 +0000"
      },
      "message": "Merge \"Handle the alpha in the group setting and fix the fill issue.\""
    },
    {
      "commit": "2af745b56cf4bdfdd9c05d90a4ccc740bf77a4fe",
      "tree": "464b2de55681ccbd1e79520dc4c89ca2bb96213a",
      "parents": [
        "4d24caf1dec2babf273b18c99638fe2a0635ced4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri May 30 16:23:47 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 10:54:14 2014 -0700"
      },
      "message": "Handle the alpha in the group setting and fix the fill issue.\n\nThe fill used to be dafault as \"none\".\nNow it is default to opaque black, which is consistent with svg now.\nSo it is better to always set the fill value.\n\nbug:15288554\n\nChange-Id: I07ac41c5adc77665e66e52f2c0220139586fb09b\n"
    },
    {
      "commit": "5e9a42588e986a7a2ab12de5d70adff5f2db9c5a",
      "tree": "0d259673341b988ad30e5c3c5c9022f6b59a210c",
      "parents": [
        "2808907362922f077fa48b97ece28bf9e18482a6",
        "4d24caf1dec2babf273b18c99638fe2a0635ced4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 16:03:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 03 16:03:37 2014 +0000"
      },
      "message": "Merge \"Add the tree hierarchy for the group\""
    },
    {
      "commit": "55ce00e7effbc4bf94079cbcc109cafc5280bbc4",
      "tree": "10bc63b196ca77f5fb62fbf583c7f5eadd95f678",
      "parents": [
        "7e3a7fc35f1972819e9e8dfabb8c8efb3667dc67"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 03 07:42:52 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 03 07:42:52 2014 -0700"
      },
      "message": "fix build\n\nChange-Id: I7fbe80ab0fbbc857c5785034a3c4129bccdec41c\n"
    },
    {
      "commit": "4d24caf1dec2babf273b18c99638fe2a0635ced4",
      "tree": "a91badbb5bd40b360737399eacec525c13262e0a",
      "parents": [
        "452f6ece7fe2fd1a85fca53f54e90bf041083b21"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed May 28 15:02:35 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 02 17:18:10 2014 -0700"
      },
      "message": "Add the tree hierarchy for the group\n\nbug:15288554\n\nChange-Id: I7caedb8466d078a0d9a6148e00d02eded4a4d234\n"
    }
  ],
  "next": "776512d4b6a7c1b1b7893cde5bec1f3d65c0ea94"
}
