)]}'
{
  "log": [
    {
      "commit": "1a8a213b77a9fbddd170d865e82f6cc590725d92",
      "tree": "ca508323d8bbf64414914291cecca6dc8b9c6c7e",
      "parents": [
        "ddc0f7eedc14881cfa4286272f258179e84249a8"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Jul 24 15:20:26 2018 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Jul 24 15:20:26 2018 -0700"
      },
      "message": "Fix use-after-free: release the animation after we\u0027re done with it\n\nBug: 64504131\nChange-Id: Ibddbc37d96957eeec63035d7f045a8982fb04254\n"
    },
    {
      "commit": "81121bd0acc6e6a43213a25fa90d89f392a6b37a",
      "tree": "75cc450cf73248dc0c678fb71df8083dc9c3fddf",
      "parents": [
        "aa035cf77bad6db95221680654f0cf32c95fd3b9"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Tue May 29 17:43:22 2018 -0700"
      },
      "committer": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Wed Jun 20 10:37:54 2018 -0700"
      },
      "message": "BootParameters: Use proto for disk io.\n\nUse proto for disk usage.\n\nBug: 79932027\nTest: Ran through the following scenarios-\n- RebootActivity parses previous boot parameters; sets next as expected.\n- Push old parameters to device and ensured bootanimations reads it and\nsaves new format (serialized proto) that can be read in userspace\n(RebootActivity).\n- Unit tests pass.\n\nChange-Id: I98aefb7a832c985d5061ee80ab85a4523f067641\n"
    },
    {
      "commit": "33f4b7d63b511b145e3ce72580a52f3551358a61",
      "tree": "3231e0a33be92e7758f9e6b11b33172c3e89288e",
      "parents": [
        "3bb9562f198bbbdf2bf949203936b092903803f1"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Tue Apr 10 13:39:09 2018 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Thu May 31 11:50:47 2018 -0700"
      },
      "message": "Refactor audio code out of bootanimation_main.\n\nSo it can be shared with the iot/ variant I refactored it into the\naudioplay.h file. This keeps all of the audio code local, we could hide\nthe functions and only expose the callback but that would make testing\nharder.\n\nTest: Ran a bootanimation.zip with audio.wav on Marlin, works as expected.\nBug: 67051984\nChange-Id: Ie31dc5f2cfaad5bb23134ef81be712afa6b3cd6f\n"
    },
    {
      "commit": "47d2c027db6476108a01a2584aa7a8c981da6747",
      "tree": "5a8d00b21ee954097fdfbe078049858244e547a4",
      "parents": [
        "1ffcc5eed1515ed90cb552cce5a89a6c496ddd6a"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Mon Apr 30 11:39:30 2018 -0700"
      },
      "committer": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Fri May 18 12:37:50 2018 -0700"
      },
      "message": "BootParameters: Support silent boot.\n\n* If it\u0027s a silent boot, call boot_action_silent_boot from lib.\n* Otherwise, boot normally (e.g. with callbacks).\n\nBug: 78525346\nTest: Master (sdk_google_iot_x86) builds and validated on oc-mr1-iot-dev,\n* With no boot parameters, the boot is not silent,\n* With normal parameters, the boot is not silent.\n* With silent parameters, the boot is silent.\n* With test bootactions lib, verify lib is loaded and non-silent boot\nfollows expected sequence and a silent boot calls\nboot_action_silent_boot.\n\nIn all cases above, sample parameters are preserved.\n\nChange-Id: I74bc9b5262fc4a181339da50726b415c3e4d3398\n"
    },
    {
      "commit": "1ffcc5eed1515ed90cb552cce5a89a6c496ddd6a",
      "tree": "bc75bdfc9ba51285952367973459b1281d403a74",
      "parents": [
        "9a5b458eb3da1d4ee78861626f255c8fcc0686e5"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Mon May 07 09:42:19 2018 -0700"
      },
      "committer": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Mon May 07 09:47:47 2018 -0700"
      },
      "message": "BootParameters: Support new API.\n\nSupport new parameters based on new API.\n\nBug: 78525209\nTest: Builds and unit tests pass on oc-mr1-iot-dev. Able to push json\nto \u0027next_boot.json\u0027 and verify it is moved to \u0027last_boot.json.\u0027 Builds\non master with target sdk_google_iot_x86.\n\nChange-Id: I01d34b7695176e80468b5ddc7ccff50168093017\n"
    },
    {
      "commit": "dfaa9c5e5c719dfd81aed83f12d398b2983eda52",
      "tree": "c75b79995025cb5b136291e701b02e8449fc7ebb",
      "parents": [
        "953f1093cd037f5a8a5050bc951e2cc197bc71e1"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Thu Apr 26 15:05:25 2018 -0700"
      },
      "committer": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Wed May 02 14:56:52 2018 -0700"
      },
      "message": "BootParameters: Use new JSON reader\n\n* Update JSON blob that BootParameters reads from.\n* Change JSON reader to allow custom keys.\n\nBug: 78524407\nTest: Builds. Unit tests pass. End to end flow with RebootActivity\npasses values as expected.\n\nChange-Id: I2966f560de4aaf045125946c7fbe1becd47354be\n"
    },
    {
      "commit": "953f1093cd037f5a8a5050bc951e2cc197bc71e1",
      "tree": "02146f705e40d495ac9a1c0409df54ad03a4426d",
      "parents": [
        "71df621252e732a957e5e0357442fe082350b61d"
      ],
      "author": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Thu Apr 26 11:06:06 2018 -0700"
      },
      "committer": {
        "name": "Mickey Keeley",
        "email": "mickeykeeley@google.com",
        "time": "Fri Apr 27 10:44:42 2018 -0700"
      },
      "message": "Add BootParameters tests.\n\nBug: 78577334\nTest: Builds on master (aosp_x86-userdebug),\nunit tests pass on oc-mr1 (on iot target).\n\nChange-Id: I3584a285f1be914cc3e940469d7dea142d4a4231\n"
    },
    {
      "commit": "a9dab511de8ca3a8d74f0791a16ad1b66e15419d",
      "tree": "b382b992ea78a2258388c5dac95fffa0020177a6",
      "parents": [
        "01e314882749d51c35cf0c446dc6c5d5a6a884f9"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Mon Mar 26 13:12:24 2018 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Mon Mar 26 15:32:32 2018 -0700"
      },
      "message": "Fix check for null at wrong level of indirection.\n\nBug: 76146267\nTest: builds\nChange-Id: I6f7a7c209585e24c3e7bde964b902c3a1567936a\n"
    },
    {
      "commit": "df7675f1cb184f09b2a304d1aa8a25112d6b340f",
      "tree": "b0b2e7f23e976ba854c7403360da3ea0d681eacf",
      "parents": [
        "efab39ff7f06323568f6b1a401209f06521486d3",
        "0f4ca4a5c086899f4ab842ae70eb4c9474d2547a"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 28 14:13:52 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 28 14:13:52 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use cutils/Atomic.h\" am: 07735797a2 am: a272d540d8\nam: 0f4ca4a5c0\n\nChange-Id: I4b9798b39d890537f888415b5ac283227970e4de\n"
    },
    {
      "commit": "fb7952f57e07c68cc66a3ec69f86694057f89def",
      "tree": "9f8aaf91b41c21ac0cffcd189e4892da573cab23",
      "parents": [
        "c65d52ff78ec8e5e4752be16c7c6d1bc31ca9593"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 23 14:58:50 2018 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 23 15:02:42 2018 -0800"
      },
      "message": "Don\u0027t use cutils/Atomic.h\n\nTest: builds\nChange-Id: I74485a5cbecb8710714f7bf3e54da61dd787838f\n"
    },
    {
      "commit": "c521bb33acf9312192785469f56ae9ad718fb602",
      "tree": "325b8348f9a571344cd278d5b14c9ab9f0f44d9e",
      "parents": [
        "8a972cf38091f36e98a522743216998c4915d24e"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Tue Jan 30 11:52:47 2018 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Tue Jan 30 12:03:42 2018 +0900"
      },
      "message": "Load bootanimation from /product partition\n\nBug: 72667033\nTest: tested loading /product/media/bootanimation.zip after moving it\nfrom from /system/media to /product/media on sailfish\n\nChange-Id: I10612dd77da7c2c67b02b00b7f0eb2b28e49cc98\n"
    },
    {
      "commit": "b90bf1e2acc2927d4e257b763cf2406715270430",
      "tree": "10b87b9c80275a4c9f3c2ce6b252f3d33de83613",
      "parents": [
        "aecd38757b64e838069bc7fda3bfd400064f0639"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed Jan 24 19:31:23 2018 -0800"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed Jan 24 19:31:23 2018 -0800"
      },
      "message": "Update documentation for the clock parameters\n\nChange-Id: I1de48f7c8ba0f417ee7bd302bfbaed1d45877739\n"
    },
    {
      "commit": "e175aaa98c9e3d6baaa102c4830dbedc8029e98f",
      "tree": "474385c9688fd78084fbed79d77aaaceec6d3b7b",
      "parents": [
        "fadfd6e15cdcf69c7d50c612a31a0c510a388cd5"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Wed Dec 13 23:20:38 2017 +0900"
      },
      "committer": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Wed Dec 13 23:22:36 2017 +0900"
      },
      "message": "Use vector instead of deprecated ScopedVector\n\nScopedVector has been deprecated so vector should be used.\n\nBug: 70598154\nTest: build\nChange-Id: Ifff33bd03ffed3a0fd48bbf086b7fdad0b69b599\n"
    },
    {
      "commit": "53966760d7271fd975a73ffa2d2a4d54cfe3e377",
      "tree": "b713cac2bbd6caa1ee0896eed7b2fdece48b2fbd",
      "parents": [
        "60d548786e5521d819c9eadeaa34fcffe36c45ff",
        "e13b58e15b561b1b85788800e0c3af48fa80463e"
      ],
      "author": {
        "name": "Rob Carr",
        "email": "racarr@google.com",
        "time": "Thu Oct 12 22:08:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 12 22:08:03 2017 +0000"
      },
      "message": "Merge \"Use new SurfaceFlinger transaction API.\""
    },
    {
      "commit": "be09c954cbfa7a7591a0d4c539d30a2bbf2d0c93",
      "tree": "603753ba3d6dffd5ce2a6fd06a273397cd26b1e3",
      "parents": [
        "32f38bde730a338017363e5afd275e1d888ae048"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Tue Oct 10 14:43:04 2017 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Tue Oct 10 16:51:01 2017 -0700"
      },
      "message": "iot bootaction: provide default lib name\n\nWe want to provide a sane default for the bootaction library name so\nthat the developer isn\u0027t required to mess with read-only properties to\nget this working.\n\nAlso small cleanup to remove duplicate and unused libs from Android.mk.\n\nBug: 67644323\nTest: builds (master)\nTest: properly loads default lib (nyc-iot-dev)\nTest: logs and exits when lib doesn\u0027t exist (nyc-iot-dev)\nChange-Id: I865a45f43b3594c99419e7e27c9798ee944d0db2\n"
    },
    {
      "commit": "e13b58e15b561b1b85788800e0c3af48fa80463e",
      "tree": "eef8b2e786148143625a85685057099ec270bd1b",
      "parents": [
        "34e83d28f03432f2447928241886c9c668299061"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Aug 31 14:50:44 2017 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Mon Oct 09 16:52:48 2017 -0700"
      },
      "message": "Use new SurfaceFlinger transaction API.\n\nFor now we reimplement global transactions in the Java side\nJNI layer.\n\nBug: 64815723\nBug: 64816140\nBug: 64815766\nTest: Existing tests pass. go/wm-smoke\nChange-Id: I6c0a7b5e65b1b6cc844ac61f3269629af60a4244\n"
    },
    {
      "commit": "54a8fe4bbe446bdc394ef87e52252fcc1c031db1",
      "tree": "95eec4159f4e5f93f586fc3560d6d8dc624f142d",
      "parents": [
        "47944a00cd87701abec1a187f626e59b55ec2b12"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Sep 29 16:05:26 2017 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Mon Oct 02 17:52:24 2017 -0700"
      },
      "message": "iot: extract boot parameter logic.\n\nCurrently the boot parameters are tied pretty tightly to the bootaction\nfunctionality, but volume and brightness need to be set on the\nbootanimation regardless of whether there\u0027s a bootaction or not.\n\nExtract boot parameters into a separate class to make it easier to apply\nvolume/brightness in a future CL.\n\nBug: 65462981\nTest: Manual test, can succesfully read params on boot.\nChange-Id: I32daad64cb8aab39fcd0ca17503218e0605ccd27\n(cherry picked from commit f78561e7bbe580d0f0dbca7a615c575973ef6ce4)\n"
    },
    {
      "commit": "1ecfdbda28af814194eb0c15cd67c1c80794c337",
      "tree": "c5216ac1b5d78c1beb81f41eaaf540eda0352263",
      "parents": [
        "ef623e606c6d68532118afc894752cc63e25a919"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Wed Sep 27 14:15:21 2017 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Wed Sep 27 16:24:44 2017 -0700"
      },
      "message": "iot bootaction: use libandroidthings types.\n\nWe now provide some parameters that can be set on reboot and passed into\nthe bootaction library. This becomes part of the public libandroidthings\nnative API, so we need to use the public type.\n\nBug: 65462981\nTest: `mma` builds successfully\nTest: Test bootaction.so can receive boot params (tested on nyc-iot-dev)\nChange-Id: Ibf6548730e0bac023f6a0a3aef925b0938418a10\n"
    },
    {
      "commit": "9e0b54848dda963f82a58554d1543477ae7359e4",
      "tree": "1c4f1dff8953e40ecfa3eb99ca58ca3b4b26e530",
      "parents": [
        "68c04c024db0196d1116c35eef0f3b10125edd1f",
        "aa599b90f79db61c843a6bb08a03a4e2a6fa1a20"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 26 23:47:07 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 26 23:47:07 2017 +0000"
      },
      "message": "Merge \"Delay bootanimation exit until told to shutdown.\""
    },
    {
      "commit": "aa599b90f79db61c843a6bb08a03a4e2a6fa1a20",
      "tree": "0bc76c64c6e94eaa2524e73fd3210084edcf7776",
      "parents": [
        "f2ebc4028659ff153e0cf56043f75c7b90eeb4b8"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Tue Sep 26 13:19:04 2017 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Tue Sep 26 14:28:08 2017 -0700"
      },
      "message": "Delay bootanimation exit until told to shutdown.\n\nWe delay shutting down the animation if there is a boot action present\nuntil we are told by the system to shutdown.\n\nThis addresses an issue we are seeing where we switched to a very short\nbootanimation (bootanimation_mini.zip) to save CPU but this kills the\nboot action prematurely.\n\nBug: 37992717\nTest: Ran locally against imx7d.\nChange-Id: I23556b21128b80d08cc55eaa761439a570b8eebe\n"
    },
    {
      "commit": "6dd64f3a1a6ef90f12797574f23bd4fe49b36c68",
      "tree": "c623030c54fa10ac8270572e600e66696b849ffc",
      "parents": [
        "c2840f9f9f64de6b3fb4dd78ac493fa3776e662e"
      ],
      "author": {
        "name": "Braden Kell",
        "email": "bradenkell@google.com",
        "time": "Mon Sep 25 17:30:28 2017 -0700"
      },
      "committer": {
        "name": "Braden Kell",
        "email": "bradenkell@google.com",
        "time": "Mon Sep 25 17:53:52 2017 -0700"
      },
      "message": "Pass saved parameters to boot action\n\nBug: http://b/65462981\nTest: Parameters in next_boot.json are passed to\n      boot action; next_boot.json is moved to\n      last_boot.json to allow reading by\n      DeviceManagementService.\n\nChange-Id: Ie290711ea48a3a221cfad2e9266215b76631ecbd\n"
    },
    {
      "commit": "71b36912e0e641aefaeaab54084eaba3ef30b456",
      "tree": "8036bb5743d05092f8f638320c4c75f454ead09e",
      "parents": [
        "7ace43b538cb74687704d059b8ed12a5c7beff68",
        "d938e5a2e2d89dda6a3562c530d28a353e8198ce"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Sep 25 15:45:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 25 15:45:34 2017 +0000"
      },
      "message": "Merge \"Reduce overhead by combining libskia and libhwui into a single library.\""
    },
    {
      "commit": "428ed51fce5a3d5fc5c1b547e86d229b4c9ac2ae",
      "tree": "87699905a2ed2954273f9c068dadcbba12efad04",
      "parents": [
        "b0a22a168c9f0f7e342296943728722b15312589"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Mon Aug 14 15:10:06 2017 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Tue Aug 15 15:04:14 2017 -0700"
      },
      "message": "Change BootActions to use oem.props.\n\nUse /oem/oem.props to configure what the library name for the boot\naction\nwill be, expect that library to be found in /oem/lib\n\nBug: 62090281\nTest: Ran locally against an imx7d, reads oem.props, finds, and loads\nlibrary.\n\nChange-Id: I13c161e140747091595efa36f76297ba92cdfa4d\n"
    },
    {
      "commit": "d938e5a2e2d89dda6a3562c530d28a353e8198ce",
      "tree": "2f61709ea8928c625219e3d3d124fbe319706921",
      "parents": [
        "9c308e6a369fcf760cc0944c713e11903ebbef91"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jul 24 09:42:07 2017 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jul 24 09:42:07 2017 -0400"
      },
      "message": "Reduce overhead by combining libskia and libhwui into a single library.\n\nThis is a multiproject change as we need to both the libraries\nthemselves as well as those that had dependencies on libskia.so\n\nBug: 31971097\nTest: compile only\nChange-Id: Ie6ff1f4682d03289205f4d6048cde9f95c61a90f\n"
    },
    {
      "commit": "88efa56e1b7993e5ea32028c962ecd517c15ed3d",
      "tree": "cb2d47b423ac4697ee7c7f287300e47a33275d58",
      "parents": [
        "803007fd816b3776a056b094ade3224343bf11cc"
      ],
      "author": {
        "name": "Kalle Raita",
        "email": "kraita@google.com",
        "time": "Fri Jul 14 16:18:16 2017 -0700"
      },
      "committer": {
        "name": "Kalle Raita",
        "email": "kraita@google.com",
        "time": "Fri Jul 14 16:18:16 2017 -0700"
      },
      "message": "Fix nobootanimation toggle\n\nThe sf.debug.nobootanimation was apparently broken in a recent\nrefactoring. Flipping the boolean in the utils fixes the issue.\n\nLeft some additional logging behind.\n\nTest: marlin-eng boots\nTest: my test can prevent the boot animation\nTest: shell stop start shows boot animation\nChange-Id: I815708a2f16a3a8688cf1a53695e5a8d43194575\n"
    },
    {
      "commit": "7464ac9bd7fe89061e47617e4b6004b88c91d636",
      "tree": "7466478571007709d256f4876cb12cd1ce0aea53",
      "parents": [
        "2cb3f59668d9cbb91785feee312fff6945425281"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Thu Jun 08 12:26:48 2017 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Mon Jun 19 17:27:08 2017 -0700"
      },
      "message": "Allow IO During boot process, BootActions.\n\nNOTE: this is only compiled into products with PRODUCT_IOT\u003dtrue.\n\nIntroduce BootActions that a developer can provide to manipulate IO\nbefore the android framework comes up on boot.\n\nWe will look for a configuration file at /oem/app/etc/boot_action.conf and\nexpect it to tell us the name of a shared library. We will then fetch\nthis library from /oem/app/lib/${arch}/ and load it. We expect it to export\nboot_action_init(), boot_action_shutdown(), and optionally\nboot_action_start_part(int partNumber, int playNumber).\n\nWe will then call boot_action_init() during boot after PeripheralManager\nis up and call boot_action_shutdown() when the android framework is up\nand we are going to start loading APKs.\n\nWe will also call boot_action_start_part(*) when each part of the boot\nanimation is started, use this if you want to synchronize the boot\naction and the boot animation.\n\nBoot actions run in a restricted environment and in general can only\nmake calls to PeripheralManager.\n\nBug: 37992717\nTest: Pushed to local imx7d to test boot actions, pushed to bullhead test that animation+sound still works.\nChange-Id: I9e53a17567f8028ea84486d637e1d231ee1125e1\n"
    },
    {
      "commit": "2c9e94aa3e9614f0d202ee008c08a9011fa7f75f",
      "tree": "ccc7e6d62479007774b6d58effcff4994298d987",
      "parents": [
        "0ed316b7f147401d158bd07f188ed2e598b337ba"
      ],
      "author": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Wed May 31 10:08:28 2017 -0700"
      },
      "committer": {
        "name": "Ed Coyne",
        "email": "edcoyne@google.com",
        "time": "Wed May 31 10:24:52 2017 -0700"
      },
      "message": "Refactor bootanimation into a shared lib.\n\nWe would like to reuse the animation parts of it in Android things.\nThis refactors the audio part into the _main and gets callbacks from\nthe BootAnimation class at interesting times. This will be the same\napproach we take to integrate with it.\n\nBUG: 37992717\nTest: Built locally and pushed to a bullhead, works with sound.\nChange-Id: I5eaca07c25eeb5edeab07d7ae7a29945e0e2cd37\n"
    },
    {
      "commit": "04f7fafdeb3d9b80a257f9d6dd461ae1724760b6",
      "tree": "2b7d72304c38448db7b8f3d4e0ae48046586e563",
      "parents": [
        "af8c2571da2c42b2df009c16a8fdc6f52f533447",
        "dcc539f6ceb6940e937a29a82bdced9090249121"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Wed May 24 17:50:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 17:50:15 2017 +0000"
      },
      "message": "Merge \"reduce flunctuation in boot animation start / stopping time\" into oc-dev am: 06fe82293e\nam: dcc539f6ce\n\nChange-Id: I634fb90882b73e7a0bfaebd34f619f0476af16ca\n"
    },
    {
      "commit": "721c9dc1253db9a713063674d196d57b83536d6a",
      "tree": "6188bdbd9a8a5efe4f4163f31f2250582de08797",
      "parents": [
        "1ba237d237830bf97b97b1cf1d7bd205b2c4fc90"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Fri May 19 17:13:04 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue May 23 09:34:24 2017 -0700"
      },
      "message": "reduce flunctuation in boot animation start / stopping time\n\n- Add separate 100ms interval polling for SurfaceFlinger. Otherwise,\n  it can be blocked with 1 sec polling and cause 1 sec of additional\n  delay frequently.\n\nbug: 38450031\nbug: 35253872\nTest: many reboots and check time to finish boot animation, python packages/services/Car/tools/bootanalyze/bootanalyze.py -r -c packages/services/Car/tools/bootanalyze/config.yaml -n 100 -f -e 15 -w 30 -v\n\nChange-Id: I353ca04183cbe59b82da99dc3fecfce63314cd2f\n"
    },
    {
      "commit": "7c0ae0f58b9f258560088b670d3a4cb3ec5d832a",
      "tree": "dcbf7f79e0d6ad941c77cfc0e70299295678c76a",
      "parents": [
        "8e3b1a63f9cd76a71ecbfc8c6a0c68b4cbecab90"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Apr 17 17:05:48 2017 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Apr 18 10:22:42 2017 -0400"
      },
      "message": "bitmaps and pixelrefs no longer need lock/unlock\n\nTest: covered by CtsGraphicsTestCases and hwui_unit_tests\n\nChange-Id: I42a25961a2eb3755d2fd22a617aa21a24ec0994f\n"
    },
    {
      "commit": "d1794cdbb4183774ac68e9d445ca87835fbe6461",
      "tree": "9d6b930c88fceab8792cadec7e6ea6dc58b116da",
      "parents": [
        "7a7e415967ace2d554cedb4ceb76123324c0ef94"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Apr 04 12:21:19 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Tue Apr 04 22:21:32 2017 +0000"
      },
      "message": "show different timing log for shutdown animation\n\nbug: 36873098\nTest: reboot and check log\nChange-Id: Ic3adaba383cc29dba039a7fb5adcb01d4c0c963b\n"
    },
    {
      "commit": "b593842063770f9e75c623a4bc7bb41b4c1830c6",
      "tree": "25c843fbdf41d802f73265c700e6574b60508b85",
      "parents": [
        "3f2bbcbe92cd2500746153ed2378278c1b2a53e2"
      ],
      "author": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Thu Mar 23 13:46:24 2017 -0700"
      },
      "committer": {
        "name": "Keun-young Park",
        "email": "keunyoung@google.com",
        "time": "Mon Apr 03 14:43:14 2017 -0700"
      },
      "message": "support shutdown animation from bootanim\n\n- init will set sys.powerctl property and run bootanim.\n- Use /oem/media/shutdownanimation.zip or\n  /system/media/shutdownanimation.zip for animation file.\n  If none of them exist, android animation will be used.\n- Disable audio playing for shutdown animation.\n- Disable TimeCheckThread for shutdown animation. It\n  accesses /data partition and can block umount.\n\nbug: 36526187\nTest: many reboots\n\nChange-Id: If02c73cda2015317d88d056cd45201208da49946\n"
    },
    {
      "commit": "dbdda2b60ec440f2b140343e08aeff2d9c6cbcc5",
      "tree": "0193bdb46799da0a8686df09e843d45eaaa39079",
      "parents": [
        "cbfae3e15c5863dc6e8ed2294c54ecbfaf55d412"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Feb 07 18:59:58 2017 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Feb 07 18:59:58 2017 -0800"
      },
      "message": "BootAnimation: change log format when animation starts\n\nBug: 34499826\nTest: on marlin\nChange-Id: I719485d399406abc08360620c09d90f4b87934a6\n"
    },
    {
      "commit": "a90c54c90e1cb668cd74f218370f868763bbd009",
      "tree": "514c887267cf35b61d0401cf7f3f139719aab641",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 02 11:35:21 2017 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Feb 02 20:17:54 2017 -0800"
      },
      "message": "BootAnimation: Add log when animation starts\n\nBug: 34499826\nTest: on marlin\nChange-Id: I04e4663daf4b30e2ab3c1ddda215127cf7faef9f\n"
    },
    {
      "commit": "a917353da0ed6079d45487a8c96b892c5d754637",
      "tree": "fc1514cfdd649543301b3b1ead2690a03d5b7a39",
      "parents": [
        "45250aca6d55988a58fdcb4ba0e8a58d36b1f34b"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 19 14:56:39 2016 -0400"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Jan 31 15:49:06 2017 -0800"
      },
      "message": "Initialize bootanimation sound on separate thread\n\nBlocks when it\u0027s time to play the first sound.\nBug: 30189706\nTest: on marlin\nChange-Id: Ib3666fbfb5f109c633ed59edad4a283b8ada8ae2\n"
    },
    {
      "commit": "190495a690124f3f1ef196421c11c83cdcb88951",
      "tree": "051f836b5f35e9ccdc20b4d1e7a3756c942de0e4",
      "parents": [
        "7a5ad2640625862533ed8cb7855fbe94fecc33b0",
        "a8d2c6457fe339acaae256510afbe63e39147d62"
      ],
      "author": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Mon Dec 12 21:37:29 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 21:37:33 2016 +0000"
      },
      "message": "Merge \"Adding \"quiescent\" reboot mechanism to support STB operators\""
    },
    {
      "commit": "a8d2c6457fe339acaae256510afbe63e39147d62",
      "tree": "75b34c4dbbdd7d50e962e806cddedfe35f53a174",
      "parents": [
        "05bcd469515e48650c71b09472b84b692388f40b"
      ],
      "author": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Thu Dec 08 10:49:24 2016 -0800"
      },
      "committer": {
        "name": "Dmitri Plotnikov",
        "email": "dplotnikov@google.com",
        "time": "Thu Dec 08 10:49:24 2016 -0800"
      },
      "message": "Adding \"quiescent\" reboot mechanism to support STB operators\n\nBug: 31681185\nChange-Id: Iada4dd4624f0221e5b59440da2718da980742720\nTest: with SampleLeanbackDeviceAdmin.  CTS test forthcoming\n"
    },
    {
      "commit": "53dd8b80a501f9bdb2d5db113417a3fede4e9db7",
      "tree": "a042718c24778c4a7923296fa2cf15ee31d4b253",
      "parents": [
        "48829f90d6b60bb08a14d3b2aa12d8422f3aafce",
        "e2ca6b465eb20a9a4c39bfa9906295c5508309b1"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Dec 06 18:47:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 06 18:47:46 2016 +0000"
      },
      "message": "Centre clock text on visible characters instead of : character am: 45a7644004 am: 04f17be3e6\nam: e2ca6b465e\n\nChange-Id: If3edabead7835e9949f1d1601cbe7cb59c0bbc4c\n"
    },
    {
      "commit": "04f17be3e6a6b8594a05d9e4828a40fbb20cda75",
      "tree": "8957e10a9131e832d4d783a1df126a8675e04b71",
      "parents": [
        "99db203f2942381b8c7765679bb0d44dbe0ec952",
        "45a764400485fb6fb9b0d3566e24feac446e616c"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Dec 06 18:32:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 06 18:32:48 2016 +0000"
      },
      "message": "Centre clock text on visible characters instead of : character\nam: 45a7644004\n\nChange-Id: Ibb152f2217297ab0b0aa1ec622e59ae8ae815d59\n"
    },
    {
      "commit": "45a764400485fb6fb9b0d3566e24feac446e616c",
      "tree": "c90524dbb24e28ed361d4d2ec5cd1d3ebfb92283",
      "parents": [
        "5b64f51a1c5ddf809f504028944aff823ea6f114"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Mon Dec 05 18:02:18 2016 -0800"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Mon Dec 05 18:02:18 2016 -0800"
      },
      "message": "Centre clock text on visible characters instead of : character\n\nBug: 33340845\nChange-Id: I235ad7c6aafc62daa55242f81df2d076f27c56df\n"
    },
    {
      "commit": "b1df48d32632d0ba5a2389fb9fad2943dcb55562",
      "tree": "7a1135a5911de2bbaa7bb6a4954fbcca71b71632",
      "parents": [
        "201cf4fb27a42237cc70fba44f05195e6a38e4cb",
        "466bb400bbc7a249f6598d8dc24ac685a43df74d"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 22 17:19:45 2016 -0800"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 22 17:19:45 2016 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/cw-f-dev\u0027 into fix_merger\n\nBug: 32849428\n\n* goog/cw-f-dev: (98 commits)\n  Revert \"Catch KeyStoreException for setting profile lock\"\n  Fix createConfirmDeviceCredentialIntent for wear for CTS.\n  Fix default dialog background colour for watch devices.\n  Catch KeyStoreException for setting profile lock\n  Add cross-links between FINE and COARSE location permissions. bug: 25371600\n  Fixed a bug with the emergency affordance in multi user\n  Zygote: Additional whitelists for runtime overlay / other static resources.\n  Import translations. DO NOT MERGE\n  Import translations. DO NOT MERGE\n  Import translations. DO NOT MERGE\n  Import translations. DO NOT MERGE\n  Import translations. DO NOT MERGE\n  Import translations. DO NOT MERGE\n  Import translations. DO NOT MERGE\n  Zygote : Block SIGCHLD during fork.\n  colors: add missing accent_material_{700,50} resources.\n  Import translations. DO NOT MERGE\n  Import translations. DO NOT MERGE\n  Zygote : Block SIGCHLD during fork.\n  DO NOT MERGE ANYWHERE Revert \"DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous\"\n  ...\n\nChange-Id: I63468da5bfa21ed9ac5985bbdbf3a61d4c389aa0\n"
    },
    {
      "commit": "f5970785adc7300a764212e8e84223489100f17c",
      "tree": "eebccf3102d59db21ec62db87f14575ea16fe067",
      "parents": [
        "5d6a31e7c85cc08efda0a1d4cf573e8cba53ddce",
        "bb2e8993f03121297f8c7e5a8445ba5f350e7de8"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Nov 01 01:56:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 01 01:56:55 2016 +0000"
      },
      "message": "Allow boot clock to be toggled between 12 and 24 hour format am: 9071db1d37 am: 3400dffcad\nam: bb2e8993f0\n\nChange-Id: I8f4ccc9e82e5539c615a8388a002d5ab196f77f9\n"
    },
    {
      "commit": "bb2e8993f03121297f8c7e5a8445ba5f350e7de8",
      "tree": "cc63be3374191f88f6511d6f35978eb61051b8be",
      "parents": [
        "9a9274186e8d88ec3e5f62c2bafc56f202c174e5",
        "3400dffcad667839ed8af0410a9296dcd059e239"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Nov 01 01:52:09 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 01 01:52:09 2016 +0000"
      },
      "message": "Allow boot clock to be toggled between 12 and 24 hour format am: 9071db1d37\nam: 3400dffcad\n\nChange-Id: Ic4df64d163845547416ef1280ae2ba2f1b41efda\n"
    },
    {
      "commit": "9071db1d370573bad80f127898e34066f56c4e64",
      "tree": "896bf13aa091dc6142ede8d76dfe507497dcda72",
      "parents": [
        "6affbde5560921b0d4a83c30d98fdca208fea7ef"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Fri Oct 28 17:38:22 2016 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Fri Oct 28 18:04:48 2016 -0700"
      },
      "message": "Allow boot clock to be toggled between 12 and 24 hour format\n\nBug: 32461548\nChange-Id: I414192e6d9f3ae44267f4a360e35647f18c420b4\n"
    },
    {
      "commit": "264599f10d6101d437d0917758a5b98f5bc446d5",
      "tree": "03b0dfc6ad6171b51fa3217ab560680af4cc9efe",
      "parents": [
        "12f365bab43b432a5defcf90214a9482494bda8f",
        "57374aa7353262e186933d4d96198468c4edfc2b"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Sep 14 19:23:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 14 19:23:05 2016 +0000"
      },
      "message": "Support multichannel sounds in bootanim am: db90897b5f am: 023a9185a4\nam: 57374aa735\n\nChange-Id: If5af3c4c2e2746637399edfa4739efd19499fc42\n"
    },
    {
      "commit": "57374aa7353262e186933d4d96198468c4edfc2b",
      "tree": "3bc213bf7e0dd546ff4a3a71a5e1e0d52740e857",
      "parents": [
        "6ef430163109d3febb05ea970bf0b5b4f1ec6621",
        "023a9185a403f5c163baaab343f6fa789051c1f2"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Sep 13 16:35:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 13 16:35:26 2016 +0000"
      },
      "message": "Support multichannel sounds in bootanim am: db90897b5f\nam: 023a9185a4\n\nChange-Id: I5543cefe87ec93f6c319337e0a2c692d28ec893a\n"
    },
    {
      "commit": "023a9185a403f5c163baaab343f6fa789051c1f2",
      "tree": "72e4eef39cd165370100782573247d78892736f9",
      "parents": [
        "d3c15ecb803c606d9536695354424a330b06ae58",
        "db90897b5fa23aa46ce50494e0fb4808948f4524"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Sep 13 16:27:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 13 16:27:14 2016 +0000"
      },
      "message": "Support multichannel sounds in bootanim\nam: db90897b5f\n\nChange-Id: Ied6b429e05d5d77c76e9bbf34a7f13104be8bb8e\n"
    },
    {
      "commit": "f67b317c102db72182046ec2a2cffe2331017709",
      "tree": "0608a2c987c8a0305c732977971fd9a50fd75479",
      "parents": [
        "f098c262b1afcdb576d721361de3db3ef2f96fe1",
        "6574d9ca46bcdc1db970309baf4ad49532370542"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed Sep 07 20:17:14 2016 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed Sep 07 20:17:14 2016 -0700"
      },
      "message": "resolve merge conflicts of 6574d9c to master\n\nChange-Id: I9b97396a03f80507d71a52d281f88f686712b129\n"
    },
    {
      "commit": "6574d9ca46bcdc1db970309baf4ad49532370542",
      "tree": "e7b22bb21aae93e23f2c6d341eed037db7e5a8a8",
      "parents": [
        "17ecfdec717bcaa4a31051f293029e8ff53dd165",
        "0e3d2ab6d2988a1ae70d13d6d77a0f8109eb66e1"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Thu Sep 08 02:19:57 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 08 02:19:57 2016 +0000"
      },
      "message": "Allow custom fonts in the boot animaiton zip file\nam: 0e3d2ab6d2\n\nChange-Id: I13d1e6a707ad941a267b89483e6dc029398a2d82\n"
    },
    {
      "commit": "0e3d2ab6d2988a1ae70d13d6d77a0f8109eb66e1",
      "tree": "48dad4babbef6b742c0932b958ea4274aa63e446",
      "parents": [
        "9925ae6e3875f2d88c82f6de4c2aeebfe983d152"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Mon Aug 29 04:11:19 2016 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Mon Sep 05 04:51:45 2016 -0700"
      },
      "message": "Allow custom fonts in the boot animaiton zip file\n\nChange the font format to be a 16x6 grid of characters\n\nBug: 29580875\nChange-Id: Ia468307cb9770436e8ae865c91acda23a71bde05\n"
    },
    {
      "commit": "db90897b5fa23aa46ce50494e0fb4808948f4524",
      "tree": "19edb488dd6fc2e0c8625d45e6cf54c6866092c6",
      "parents": [
        "edaaef304aa7e72ac3f8a0b586b5513fd4df0267"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Aug 24 14:35:09 2016 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Aug 24 16:59:16 2016 -0400"
      },
      "message": "Support multichannel sounds in bootanim\n\nManually handle the 1-2 channel cases to avoid the warning\nlog when 0 is passed as the channelMask.\n\nBug: 30820152\nChange-Id: I4d2c8736ff442fae9a4c5eb16061646fb53151b6\n"
    },
    {
      "commit": "fa88d564641bb10710b2123db883697cbfa5937b",
      "tree": "51d849527d761719d6eeef9cfce2e67ac37f7b27",
      "parents": [
        "a6916dc04106eb8eff8c1a07778f259a7ffbe271",
        "9e7b3f657f4f25a5ad65d028b7b100e36f2162c8"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Thu Aug 11 13:22:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 11 13:22:28 2016 +0000"
      },
      "message": "Suppress Boot sound for non-standard scenarios. am: 290c4350ed am: 854f8cecf7\nam: 9e7b3f657f\n\nChange-Id: Id7d1cb29fa1e1a416d56b4b16a73576a458216c4\n"
    },
    {
      "commit": "9e7b3f657f4f25a5ad65d028b7b100e36f2162c8",
      "tree": "e5ab6a8cb9b93a5cb56b8d66474bf3ac33430c5b",
      "parents": [
        "647ebe7572df11d41dd533469b7286a6e8009ca4",
        "854f8cecf7d9510f271d0d362a064212d7291664"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Thu Aug 11 13:13:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 11 13:13:04 2016 +0000"
      },
      "message": "Suppress Boot sound for non-standard scenarios. am: 290c4350ed\nam: 854f8cecf7\n\nChange-Id: I182a77ce9fec2ae3f900a544ac4af8064240a06b\n"
    },
    {
      "commit": "290c4350edc66de5663e27c54e694c8ee8cf0e0e",
      "tree": "97961acbf248ba0f5bdfd7e1336fea4101cb8b17",
      "parents": [
        "3025e6be7fae8d7fa3eebf583c7d866a38a56432"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Aug 09 14:35:10 2016 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Aug 10 10:52:48 2016 -0400"
      },
      "message": "Suppress Boot sound for non-standard scenarios.\n\nBlacklisted bootreasons will not play a sound (e.g. \"kernel_panic\")\nIf boot has already completed, assume this is a runtime restart and\nskip the sound.\n\nBug: 30654343\nChange-Id: I41b1829a93c0d9a63c69aea2d1614eaa18b72230\n"
    },
    {
      "commit": "d6536e4d22b910864431c2f4999230b15df9620d",
      "tree": "35bee2c1326762006324e15963e83ae91511f5eb",
      "parents": [
        "a88fdbb46b640cfb37c002bf58ef135c19725295",
        "5e8bb86e8cca04a810806d650f544908726b6c50"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Aug 09 17:31:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 17:31:06 2016 +0000"
      },
      "message": "BootAnimation system property to play sound. am: 305087991d am: 8e4b8a988f\nam: 5e8bb86e8c\n\nChange-Id: Ibcf73b3245b63492c1feaa1494271c181c86c59e\n"
    },
    {
      "commit": "5e8bb86e8cca04a810806d650f544908726b6c50",
      "tree": "8e7d315d59ff1a945056fd53708f1356546dc874",
      "parents": [
        "cfc82ac0748d5d2ad760315ca2a31266b9bc89ee",
        "8e4b8a988f43b54ebf7ae828f8915c05aaa73f1b"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Aug 09 17:22:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 17:22:51 2016 +0000"
      },
      "message": "BootAnimation system property to play sound. am: 305087991d\nam: 8e4b8a988f\n\nChange-Id: Icd062a5b3eb9da9d9c7bd3c5d7dd4e40f75c3a1e\n"
    },
    {
      "commit": "305087991d1b88d98c5e5e03fcf5a6a6e93ad356",
      "tree": "caa4d7bc52eb5fabc2896cbe37d5eb0978d4f4fd",
      "parents": [
        "aa1e49c168321b6ca5eff7fa2c45c5751bea4724"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Fri Jul 22 17:04:21 2016 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Mon Aug 08 16:18:21 2016 -0400"
      },
      "message": "BootAnimation system property to play sound.\n\nOptional system property \"persist.sys.bootanim.play_sound\"\nIf nonexistent, default behavior plays the sound.\n\nBug: 30690353\nChange-Id: Ie5ed456d891632be5ec8be255ac7c1193753c741\n"
    },
    {
      "commit": "b5f8fe16296e5bb4541833a04dee499ac94c496c",
      "tree": "7d8a32439db1f178d43523767b251aa8befd3f3f",
      "parents": [
        "25a8ff7ca3ba378c04e344feb52c49394fe70f89",
        "af2a8a9ca6d08f673205140c2ae114aa0373b79a"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Jul 25 04:05:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 25 04:05:30 2016 +0000"
      },
      "message": "Merge \\\\\\\\\"bootanimation: Call eglReleaseThread in threadLoop\\\\\\\\\" am: 189bbd9f6d am: 9495872add am: 41ebe86049\nam: af2a8a9ca6\n\nChange-Id: Ic03306aadf473d0c5cf6954288c57b759186c807\n"
    },
    {
      "commit": "af2a8a9ca6d08f673205140c2ae114aa0373b79a",
      "tree": "77d23d3a57023b42e514010c045bf85904bece75",
      "parents": [
        "d71f222400c4d58458152bdd5d01ac0c02ef25e9",
        "41ebe86049172063ec0e000ccc631b3dcb835148"
      ],
      "author": {
        "name": "Sai Kiran Korwar",
        "email": "skirank@nvidia.com",
        "time": "Mon Jul 25 03:57:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 25 03:57:18 2016 +0000"
      },
      "message": "Merge \\\\\\\"bootanimation: Call eglReleaseThread in threadLoop\\\\\\\" am: 189bbd9f6d am: 9495872add\nam: 41ebe86049\n\nChange-Id: I7927f23aa76cc17221e557d7f36b95bc23696a1b\n"
    },
    {
      "commit": "9495872addfe27a68500b39deb9fab6e2b1d3eff",
      "tree": "582661f5da205ffd6486a0cee7c7bb73ab3b376a",
      "parents": [
        "05160d70d14180fef3782a63dff2e822b51c3cf5",
        "189bbd9f6d4e1871da1639c96f5eb65ed3a30f2c"
      ],
      "author": {
        "name": "Sai Kiran Korwar",
        "email": "skirank@nvidia.com",
        "time": "Mon Jul 25 03:46:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 25 03:46:44 2016 +0000"
      },
      "message": "Merge \\\"bootanimation: Call eglReleaseThread in threadLoop\\\"\nam: 189bbd9f6d\n\nChange-Id: Iaa5b3e60548ee2cce19cb4c31a6274d0ad877189\n"
    },
    {
      "commit": "877ed1521f57082af2636c8076ff35462773c9f2",
      "tree": "0412895c903307392c700d5b14f4c22534ac013e",
      "parents": [
        "ede77dc2bbb1ef43bc72c30b64a66bf6a2a8b3d3",
        "88e23db1ee4a9a96dfe66305cac957b28f567335"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 22 20:42:32 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 22 20:42:32 2016 +0000"
      },
      "message": "bootanimation: fix glitchy playback am: 197e47979a\nam: 88e23db1ee\n\nChange-Id: Id402ff19c495e0813dd32cb4897033760daead0e\n"
    },
    {
      "commit": "197e47979a5c76d817d40039678afdd4f68c2a27",
      "tree": "eb4a7470dbd59317e87701b32b014370a1f8811a",
      "parents": [
        "e86da3bc62e2ec650d69477ab7655aa7255be473"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 21 18:17:15 2016 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 22 11:31:25 2016 -0700"
      },
      "message": "bootanimation: fix glitchy playback\n\nDo not use low latency playback mode to be more\nrobust against scheduling problems during boot phase.\n\nAlso:\n- remove unused reverb on output mix\n- fix WAV file parser.\n\nBug: 30277818\nChange-Id: I1e15d3003a25c93d4995006885b32a754d17343f\n"
    },
    {
      "commit": "559e3bce852215572ca2d66865a02ed31dc52e5c",
      "tree": "199bebb9a220219404308f56fa953a2d2a1da4f3",
      "parents": [
        "b20f4f0efb179598783e62117b1f9f5b111250ba",
        "bbb9d56a0e1e00cf04a702a46965ea778a7d5366"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 19 19:17:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 19 19:17:37 2016 +0000"
      },
      "message": "Merge \\\\\"Play boot sound on the System stream.\\\\\" into nyc-mr1-dev am: 7d2f4cc750\nam: bbb9d56a0e\n\nChange-Id: I7286ca72cb20fa4f0339caff22ca50cd7564d43e\n"
    },
    {
      "commit": "163c97a8ea0682e91fdccf1c3137ee43b9e00135",
      "tree": "f02a2a6080f319f18621d40de27592272f21e200",
      "parents": [
        "4e750e822fd2310fb44b56b624eb5b3965b37044",
        "79ad7bedcfaec8ccce22589eb62b342fd0de05af"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jul 18 12:07:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 12:07:44 2016 +0000"
      },
      "message": "Merge changes from topic \u0027skia_merge\u0027\n\n* changes:\n  Fix include to match Skia filename change\n  Remove references to SkImageDecoder (part 2)\n  Update SkiaCanvasProxy with SkSurface API change\n  Return DNG mimeType for the case kDNG_SkEncodedFormat\n  Remove use of SkFixed. Update code to use SkGlyph.fAdvance[XY] after https://codereview.chromium.org/1737693006.\n  skia SkDocument - new MakePDF API, fix leak\n"
    },
    {
      "commit": "5613313533e28c1c95e91b52e9997d657bf2a479",
      "tree": "bf92d96dea56b3de6d1aaa2a15a8ba877b5a659a",
      "parents": [
        "965a70628206f605b19cfd8732c4b7cf2f40a399"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Fri Jul 15 10:50:04 2016 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Fri Jul 15 10:50:04 2016 -0400"
      },
      "message": "Play boot sound on the System stream.\n\nTurning down the ring volume will also turn down boot sound.\n\nBUG:30132711\nChange-Id: I902e56b20f105c27209dd47f054e98085647ee85\n"
    },
    {
      "commit": "8898c16987831db47542a92151ed7209e22268aa",
      "tree": "30a189a6fe5a2c31a411b9003458af2a1c8e6673",
      "parents": [
        "79fc3b1f1675364dbb739ffa511a68ed5a80f357"
      ],
      "author": {
        "name": "Matt Sarett",
        "email": "msarett@google.com",
        "time": "Thu Mar 24 16:11:01 2016 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 15 08:19:12 2016 -0400"
      },
      "message": "Remove references to SkImageDecoder (part 2)\n\nAs of this CL, SkImageDecoder is no longer used in Android and\nwill be deleted by Skia.\n\n(cherry picked from commit 097a6ea4b65046df3e3cbf93d1acfc4e6833e02f)\n\nChange-Id: Ic754ab0dde7ad1b65ccf3b2bc23fcbc5ef44ed08\n"
    },
    {
      "commit": "a91a2d737586ebd0040129333055d8093899751b",
      "tree": "0ca3a04b3397357204fc39d968a3d6968aaf52f1",
      "parents": [
        "f6d766020f9b4d082ee38c38e6496655e1e56c61"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 12 14:46:19 2016 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Jul 13 15:51:24 2016 -0400"
      },
      "message": "Fixes delay when playing first sound in BootAnimation\n\naudioplay is initialized with an example of the type of clip it\nwill play.\nAlso remove asserts and debug compile settings from BootAnimation.\n\nBUG:24800792\nChange-Id: Icb78489417aee0549c340c746b25e57ccdb3427e\n"
    },
    {
      "commit": "4786f6d958908dc668d677e0260bbe821dd61298",
      "tree": "22793dfae0e91a0550eb85b15a89de897b685d58",
      "parents": [
        "6441738f4541850e7b55de1a6e42e2e8bd585ddd",
        "9676281c4f0b34707e34cf9d2f5a866f1979c405"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed Jul 13 00:40:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 00:40:07 2016 +0000"
      },
      "message": "Merge \"Don\u0027t show times before 2000-01-01\" into nyc-mr1-dev"
    },
    {
      "commit": "9676281c4f0b34707e34cf9d2f5a866f1979c405",
      "tree": "4ca969501dcd742a8f0b25be38254d76a339f999",
      "parents": [
        "e7d21d847ed1d5337d8b8e69968c941750e0799c"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Jul 12 15:53:40 2016 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Jul 12 16:03:37 2016 -0700"
      },
      "message": "Don\u0027t show times before 2000-01-01\n\nBUG\u003d27802041\n\nChange-Id: Iaa826e029c3b887e2bda6d12bc7c372d862ed320\n"
    },
    {
      "commit": "859029ff7b87087e5e70a087a75bac5836f41a22",
      "tree": "2fd046e76c40949500346ccee9d7c32cebe119ce",
      "parents": [
        "50752f7391a4fd299da1f1b3af1fe58dd4381426",
        "d6d9a1d0b9cf6fa740d9fe410015b094475c5a4c"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jul 12 17:29:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 17:29:56 2016 +0000"
      },
      "message": "Merge \"OpenSL-based audio support for BootAnimation\" into nyc-mr1-dev"
    },
    {
      "commit": "b646ec13e182e71744361e18d17e57b1571dcd66",
      "tree": "e3bf3366623b65b3ee69eb430e4e6b88642c387e",
      "parents": [
        "3e15a43732e85a6f02512f50ae18e7349ad5d97f",
        "5c52691a486ad8f952d8e4c13e027ed15c008c68"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Jul 11 20:29:38 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 20:29:40 2016 +0000"
      },
      "message": "Merge changes from topic \u0027stune\u0027 into nyc-mr1-dev\n\n* changes:\n  Put bootanimation in top-app stune group.\n  Sets android.ui to be in the fg stune group.\n"
    },
    {
      "commit": "143d48927e0fa2a8680168c0ea076bb71775d712",
      "tree": "3e28584c236ccceaa5b410b20f26bd9af93a2433",
      "parents": [
        "f1439105f82e65891047713576f14cad8b73f497",
        "271674930a1f9020a291827a8ecb6ab68782c4fa"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Mon Jul 11 20:12:38 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 20:12:40 2016 +0000"
      },
      "message": "Merge \"BootAnimation: Use npot textures\" into nyc-mr1-dev"
    },
    {
      "commit": "5c52691a486ad8f952d8e4c13e027ed15c008c68",
      "tree": "06543b189525caaa148d9117642946454ac96da8",
      "parents": [
        "4074ad01e898605c64a80a8cb14c10bdbedf1bdb"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Jul 11 11:41:52 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Jul 11 11:41:52 2016 -0700"
      },
      "message": "Put bootanimation in top-app stune group.\n\nbug 29512132\n\nChange-Id: Id39650177b1f3b1ca24edb72b2809ee4ded396a1\n"
    },
    {
      "commit": "2fb30fb68e9acb121a3e0dae0cd2790b3a7cc17d",
      "tree": "d0084aac05f9b89c607b3f46ab2540e27b3212b1",
      "parents": [
        "3cc6935719323a3d8dc31fcfba59f5e3a8abfa32"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Jul 06 16:16:20 2016 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Mon Jul 11 13:02:41 2016 -0400"
      },
      "message": "Wait until end of BootAnimation to free looping textures\n\nglDeleteTextures causes a noticeable framerate hitch when switching to\nthe outro.  By the time looping is finished, the system has finished\nbooting, so freeing the textures immediately is less beneficial.\n\nBug: 29878551\nBug: 30040263\nChange-Id: I5a404a6e18cd2cf64d6c94343f82fa5db8dfbab3\n"
    },
    {
      "commit": "271674930a1f9020a291827a8ecb6ab68782c4fa",
      "tree": "3c714a394ffaa2133707a495542465deba3d5309",
      "parents": [
        "3cc6935719323a3d8dc31fcfba59f5e3a8abfa32"
      ],
      "author": {
        "name": "Sai Kiran Korwar",
        "email": "skirank@nvidia.com",
        "time": "Tue Jul 07 20:00:06 2015 +0530"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Mon Jul 11 12:54:22 2016 -0400"
      },
      "message": "BootAnimation: Use npot textures\n\nIf non power of two textures are supported, then use\nnpot texture for specifying the images supplied by vendor.\nThis will reduce the memory footprint of the app by a considerable\namount.\n\nBug: 28865582\nBug: 30040263\nChange-Id: I5cef98fb013318d60d8a648041c9665da68c0ff3\n"
    },
    {
      "commit": "d6d9a1d0b9cf6fa740d9fe410015b094475c5a4c",
      "tree": "1acd21e2daca47872bca249e76f18110886b8fd1",
      "parents": [
        "58ef88927d5e28318920a135bba8edf5409115fe"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Jun 08 00:38:58 2016 -0700"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Jul 06 11:13:48 2016 -0400"
      },
      "message": "OpenSL-based audio support for BootAnimation\n\nRespects dnd settings for sound playback.\nBasic implementation uses in-memory wavs as buffers.\naudioplay::playClip should not be called before previous clip ends.\nUpdated FORMAT.md to reflect no more audio_conf.txt\n\nBug: 29055299\nChange-Id: Ifc358d7c85f11b8b54ae6446c40643b87bc567f2\n"
    },
    {
      "commit": "dd214a796f8b97070645226d6a61f8651f9e13a0",
      "tree": "f71f1440203bdf1c2c98c13f08c462d3175f4549",
      "parents": [
        "0e792f567ac1b37a75e94e1ff1017f2f152494ef"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Mon Jun 27 17:14:30 2016 -0400"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Wed Jun 29 09:35:21 2016 -0400"
      },
      "message": "Support trimmed images in BootAnimation\n\nEach frame directory may optionally contain a `trim.txt` to specify\nhow the image was trimmed relative to the animation\u0027s full size.\nSee FORMAT.md for more details.\n\nBug: 29055299\nChange-Id: I7a291e9a52b4bbe50a29c519f6a4d0e2cc0389d7\n"
    },
    {
      "commit": "3eee9fbb6df1dbbcefe1f0dfdf1295c95ddf3279",
      "tree": "285d1151279eacfcacf01400e0ec580d6895855d",
      "parents": [
        "f1f13f98b58467b69c0ac9d4ba43d3f083525966"
      ],
      "author": {
        "name": "Sai Kiran Korwar",
        "email": "skirank@nvidia.com",
        "time": "Tue Jun 16 17:13:35 2015 +0530"
      },
      "committer": {
        "name": "Robert Tray",
        "email": "rtray@gpartner-nvidia.com",
        "time": "Thu May 26 09:38:50 2016 -0600"
      },
      "message": "bootanimation: Call eglReleaseThread in threadLoop\n\nAdd eglReleaseThread call in the threadLoop function to\nensure that the thread properly cleans up its resources\nbefore exiting.\n\nChange-Id: I90dff47370e7acaecc046c43f0bb274214a29f77\n"
    },
    {
      "commit": "9748086fe267e21d243a49df1775905094a28dd9",
      "tree": "e8e42b4b282f9ad5297ee44c925fa6e18763f06f",
      "parents": [
        "085933cc8fa0b06d28161ddc001c20282012f263"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Mar 29 14:55:55 2016 -0700"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Thu May 12 17:01:59 2016 -0700"
      },
      "message": "Check clock accuracy before attempting to display clock\n\nThe RTC may not be set yet, may have been reset, or may have drifted\nsignificantly if the device time hasn\u0027t been updated in a long time.\n\nUsing the the last_time_change file to determine if the time is known to\nbe accurate and only display the clock when that is the case.\n\nBug: 27802041\nChange-Id: I845cf9c74fcb4009504f1bab853e04146fa19e1d\n"
    },
    {
      "commit": "815e51d76cc284f3ca59534d9f9372d3dd50f574",
      "tree": "1531cffeabba74e25580b8d42785554ddeb89865",
      "parents": [
        "7b7c0a4e45af093e1487519703c7d41ec0c45060",
        "0c7535bb4fbf2306df7039a3358c1216de34cd8f"
      ],
      "author": {
        "name": "Andriy Naborskyy",
        "email": "andriyn@google.com",
        "time": "Thu Mar 24 16:43:34 2016 -0700"
      },
      "committer": {
        "name": "Andriy Naborskyy",
        "email": "andriyn@google.com",
        "time": "Thu Mar 24 17:14:52 2016 -0700"
      },
      "message": "resolve merge conflicts of 0c7535b to nyc-dev\n\nChange-Id: I49fa42e0d78aeaa8127cefc5cc5122cf37fce878\n"
    },
    {
      "commit": "39218ba26d5bb8646f04273f2c3731598721c1da",
      "tree": "5a9f92f0589635df70a85ec8a8ef8c5bbb966b1b",
      "parents": [
        "54c3808802e643785cc76b29067d1119e9c78af4"
      ],
      "author": {
        "name": "Andriy Naborskyy",
        "email": "andriyn@google.com",
        "time": "Sun Aug 16 21:32:50 2015 -0700"
      },
      "committer": {
        "name": "Andriy Naborskyy",
        "email": "andriyn@google.com",
        "time": "Tue Mar 22 20:18:11 2016 -0700"
      },
      "message": "bootanimation: implement split packaging of animation\n\nAnimation package zip can be separated into OEM and SYSTEM\nOEM desc.txt can use new command \"$SYSTEM\" to invoke animation\nfrom SYSTEM package\n\nChanges to animation structure:\n1. animation can refer other animation\n2. animation contains zip file reference\n3. BootAnimation has name of root of animation Zip; processing desc.txt we\nneed filename of container zip and we can\u0027t access it from ZipFileRO instance\n\nmovie() changes:\n1. Split movie() into loading Zip and playing part\n2. load parses desc.txt and if needed referred Zip\n3. play can descend animations tree\n\nChange-Id: I600d02c84d537df7b3e32a84f84a294b26e319e0\nSigned-off-by: Andriy Naborskyy \u003candriyn@google.com\u003e\n"
    },
    {
      "commit": "a704b7d3444d218fe3b3f977fd242d2cd626058e",
      "tree": "33359e1798c4801be6471db575bd1f70ce6b70fb",
      "parents": [
        "569edb85125e6754de8f8e60f993afad42eed490"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Tue Feb 16 16:55:49 2016 -0800"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Mon Mar 07 16:15:31 2016 -0800"
      },
      "message": "Draw a clock on top of the Android boot animation\n\nDon\u0027t draw on top of vendor specific animations/logos since we can\u0027t\nmake it look good.\n\nBug: 27209004\nChange-Id: If4791b861ff476c23b37787ba896a3ef8d9df4fd\n"
    },
    {
      "commit": "fe0fcf5cad75c6ba717a3d0a4ddb7c6bc656135d",
      "tree": "a4dd9b15c4df6f92936364327d6d6711ce80f648",
      "parents": [
        "f18cbd760142e627ab6c9672e4aca3a29d05d9ee",
        "b9ac485a8e49a4db080bab8ea684a9b262215563"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Aug 21 18:24:35 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 21 18:24:35 2015 +0000"
      },
      "message": "am b9ac485a: am 49948146: Merge \"bundle init.rc contents with its service\"\n\n* commit \u0027b9ac485a8e49a4db080bab8ea684a9b262215563\u0027:\n  bundle init.rc contents with its service\n"
    },
    {
      "commit": "c2de7a7e878f7926cfea7efa71cab1613f95dc33",
      "tree": "9b757b7777851a9e960ccce6c675e7d43d8d4458",
      "parents": [
        "9bcb0fcc217e35f8290ee5f283fae86a6306ab25"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Aug 14 13:01:13 2015 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Aug 19 17:24:47 2015 -0700"
      },
      "message": "bundle init.rc contents with its service\n\nBug: 23186545\nChange-Id: I080e73d6a124873c2ddd0fba85315d7082faf3f5\n"
    },
    {
      "commit": "358fcc795ea567ba086a460c587de427507fefdd",
      "tree": "50b63b979def79d569bbc767c734705cdd14a7d1",
      "parents": [
        "33a5c80773b7b2913c92fec170787499a453d184"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Aug 11 20:23:56 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Aug 18 20:26:47 2015 +0000"
      },
      "message": "Do not start with a black frame in bootanimation\n\nBug: 23128307\nChange-Id: I0ec044f983c1c30960be046e43a882c63205dc5f\n"
    },
    {
      "commit": "407753c456c1eb2c8556ae7891b6bef43b044e76",
      "tree": "8dcc64a1dd532071a5a626821bc4d54abd6a3b4d",
      "parents": [
        "dc22cfed5d3a65dcd3979113dbce468ad8ec2868"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jun 16 12:02:57 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 13:13:16 2015 +0000"
      },
      "message": "ZipFileRO: Use precise widths for zip file types.\n\ngetEntryInfo crashes on 64-bit devices because \"long\" types\nwere being passed int pointers (that pointed to a stack frame)\nthat were reinterpret_cast\u0027ed to long* (sigh.). To fix this issue\nonce and for all, use types with explicitly defined widths.\n\nThis change also removes some dead invariant checking from\nAsset.cpp instead of cleaning it up.\n\nNote that we\u0027ve introduced a wart in NativeLibraryHelper, where\nwe need to deal with zlib\u0027s uLong type, which is \"at least 32 bits\nwide\".\n\nbug: 21622286\n\n(cherry picked from commit 4600dd053dbdbd4b95f3b11057a1cc55b99f9c77)\n\nChange-Id: I7886cb37a229cc27c625699c80e6a6a6117d2203\n"
    },
    {
      "commit": "4600dd053dbdbd4b95f3b11057a1cc55b99f9c77",
      "tree": "c4bb116de6b55b054a73083165c9512fbf21c164",
      "parents": [
        "5e063b1da52cca1b93b19bdf7be694aabf95d336"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jun 16 12:02:57 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jun 17 08:40:25 2015 +0000"
      },
      "message": "ZipFileRO: Use precise widths for zip file types.\n\ngetEntryInfo crashes on 64-bit devices because \"long\" types\nwere being passed int pointers (that pointed to a stack frame)\nthat were reinterpret_cast\u0027ed to long* (sigh.). To fix this issue\nonce and for all, use types with explicitly defined widths.\n\nThis change also removes some dead invariant checking from\nAsset.cpp instead of cleaning it up.\n\nNote that we\u0027ve introduced a wart in NativeLibraryHelper, where\nwe need to deal with zlib\u0027s uLong type, which is \"at least 32 bits\nwide\".\n\nbug: 21622286\n\nChange-Id: Iae675a9601db7aae03a8b80b40321d2cc1d97f50\n"
    },
    {
      "commit": "b65b66ccc251371c817abe75176a73f84565410e",
      "tree": "000e3ae2151dc5c85e23a5b9e3b7096ffd3f3f24",
      "parents": [
        "b53420d02def4277cf5b8a04da289b4291a9f24a",
        "2224eac30375a731f4ad38d6930dbc37b0855a0d"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 07 17:06:47 2015 +0000"
      },
      "message": "am 2224eac3: Merge \"bootanimation: fix garbage line issue when screen height is odd.\" into lmp-mr1-modular-dev\n\n* commit \u00272224eac30375a731f4ad38d6930dbc37b0855a0d\u0027:\n  bootanimation: fix garbage line issue when screen height is odd.\n"
    },
    {
      "commit": "d13d504e4b7548f0ce4f9c4f0eee5c1ac2ce6794",
      "tree": "6686b4699d67f62045f51ed88b1dddcc1b9fdd46",
      "parents": [
        "d3de33e9dfaee6c0336a51e774632813b3344fca"
      ],
      "author": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Mon May 04 15:24:12 2015 -0700"
      },
      "committer": {
        "name": "Chris Elliott",
        "email": "chriselliott@google.com",
        "time": "Tue May 05 13:21:27 2015 -0700"
      },
      "message": "bootanimation: fix garbage line issue when screen height is odd.\n\nbug:20032072\n\nChange-Id: I784fb6f815b22c37dcd7354729aca346726196d9\n"
    },
    {
      "commit": "688ff4cf0f93d1a886437884f23874e5595d59a3",
      "tree": "b8ef91775dfc3dff86d05aa5638b17dee597ca91",
      "parents": [
        "adb52ef7034d4d3e0eee58cedae2a343d29771b9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "message": "Track removal of refcounts from FileMap.\n\nUse delete instead of release.\n\nChange-Id: I25c841b368aa9d51e9259399b94cafa2bbb7a076\n"
    },
    {
      "commit": "1610486d371b867c0a842ede38e64774c18ba5d9",
      "tree": "0c48396116094b6642fbc86973c3939d800ca7d3",
      "parents": [
        "82a1a2c63959adc0c7e3208c6ffa6985a346ae57"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 19:43:58 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 22:32:38 2015 -0800"
      },
      "message": "kill HAVE_PTHREADS.\n\nBug: 19083585\nChange-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564\n"
    },
    {
      "commit": "99d61edfda1f80d13f1f1c96fbec41278f3da709",
      "tree": "14233c90399e45c1f6dfc4aebd75d3b117384948",
      "parents": [
        "613d20668a28f9dc970949c9efd2ca7f61bed6f4"
      ],
      "author": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Nov 17 21:15:30 2014 +0100"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 24 16:18:15 2014 -0800"
      },
      "message": "Fix class vs. struct mismatch\n\nDon\u0027t refer to classes as structs and view versa -- causes warnings in\nclang (in code built with -Werror)\n\nChange-Id: I4d7f461bcf6fe4e43a14ad2f28ee0e0ddea95abc\nSigned-off-by: Bernhard Rosenkränzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "09993f768bcb6dd9ed76b5c655da2ad9d0ad8396",
      "tree": "fd10f5ffc634e0d574f269f7fd2f18b742f6e1d1",
      "parents": [
        "8e357bf54173c3f83584c10983392f0d87e0b2b3"
      ],
      "author": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Nov 17 20:25:28 2014 +0100"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Nov 20 15:24:46 2014 -0800"
      },
      "message": "Fix format strings mismatching the parameters passed to them\n\nChange-Id: Ia0d33aec9edadac60508fb422e0821e6d8f28afa\nSigned-off-by: Bernhard Rosenkränzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "cfedceb8c180a2e176154d461659e0c3569dc931",
      "tree": "00de5f6ee61e72713c3b141f5a308f33f312bf53",
      "parents": [
        "59701b9ba5c453e327bc0e6873a9f6ff87a10391"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 30 21:48:18 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 14:33:51 2014 -0800"
      },
      "message": "Frameworks/base: Turn on -Wall -Werror in cmds\n\nFix small warnings, turn on -Wall -Werror.\n\nChange-Id: Iab1f01a7c7ebd6ba832b75067c5e395f380a1b8b\n"
    },
    {
      "commit": "5a71f83227f0340a265f34b226d8fe01d4dd9773",
      "tree": "9e74435ad8e21fe6ace6a1c49ca2f596c60ced34",
      "parents": [
        "52656916e35b08013bf776b3603d6cecba287a1e",
        "a0d07d49b8b0aae71beb48ec31b43f6923530d00"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 09:00:49 2014 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 22 09:00:49 2014 -0700"
      },
      "message": "Merge lmp-dev-plus-aosp-without-vendor into stage-aosp-master\n\nChange-Id: I7063b7b52e9c09a57eb6bf3b4ffa3716d58ebf43\n"
    },
    {
      "commit": "bb94f3107ea567ddf67bed4617c3bcbd602538df",
      "tree": "3526a7f6b2598fef61d4e03d93cf414e505b71ad",
      "parents": [
        "e40974d92873462c4f1b100c7d03b3f41756c807"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 10:41:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 21 10:41:33 2014 -0700"
      },
      "message": "Include \u003ctime.h\u003e for clock_nanosleep.\n\nChange-Id: If3098fa03003bce5d06d60e9129c10cce3c850bb\n"
    },
    {
      "commit": "28138587ef4ec3da71c5275ac60ffae03ca69fce",
      "tree": "9415c44728f407aaf58bbb74c43e2883acabad1c",
      "parents": [
        "41bb3455e44dc8fde4569bbfd56fa20c6da8a27d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Oct 07 14:47:26 2014 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Oct 07 14:47:26 2014 -0700"
      },
      "message": "bootanimation: Tweak parameters for pcm_open for playing boot sounds.\n\nSet start_threshold and avail_min to 1/4th period size and stop_threshold to INT_MAX\n\nChange-Id: I0a3aac18533709daa86a024cdd6a32086410723a\n"
    },
    {
      "commit": "ebf9a0d8a888042c16ec0cb6dd8419f18038663f",
      "tree": "e364c8e39ff0795a22da5a5d1e32472bc22dcebb",
      "parents": [
        "76716c5a180aa471c6973ca7aa03c7f2da677823"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Oct 02 16:08:47 2014 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Oct 03 15:38:15 2014 -0700"
      },
      "message": "Add support for playing audio during bootanimation\n\nThe bootanimation daemon will play 16 bit WAV files contained in bootanimation.zip\nFor this to work, the bootanimation.zip must contain an audio_conf.txt file,\nwhich contains parameters to be used for the tinyalsa pcm_open call\nas well as mixer parameters to set before attempting to play the sound.\n\nIf the bootanimation finds an audio_conf.txt file, then it will look for a file named\n\"audio.wav\" in each of the part subdirectories. If audio.wav is found, it will play that\nWAV file starting at the beginning of that part.\n\nThe code for this is based on the tinyplay utility in tinyalsa.\n\nThe audio_conf.txt and must begin with the following header:\n\ncard\u003d\u003cALSA card number\u003e\ndevice\u003d\u003cALSA device number\u003e\nperiod_size\u003d\u003cperiod size\u003e\nperiod_count\u003d\u003cperiod count\u003e\n\nThis header is followed by zero or more mixer settings, each with the format:\nmixer \"\u003cname\u003e\" \u003d \u003cvalue list\u003e\nSince mixer names can contain spaces, the name must be enclosed in double quotes.\nThe values in the value list can be integers, booleans (represented by 0 or 1)\nor strings for enum values.\n\nFinally I should mention that this change is not the right approach.\nInstead of going straight to ALSA we should be using the mediaserver instead.\nBut mediaserver isn\u0027t ready in time due to interactions with the system server, and there\nisn\u0027t time to fix this for the current release. We need to fix that for the next one.\n\nBug: 17674304\n\nChange-Id: Ic391ade61c941d0a24f4d64fe005ac9375a23fa9\n"
    },
    {
      "commit": "083b84cf8880bb7f0d2c2dc1b45c7d610656dbd1",
      "tree": "2c83dce383d221eeb4bba0069b2d047424c7a350",
      "parents": [
        "471157821f7b0933c55081ef4625c78f8e798de7"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Sep 22 10:51:09 2014 -0700"
      },
      "committer": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Sep 25 23:37:12 2014 +0000"
      },
      "message": "bootanimation: allow animation to specify background color\n\nSome OEMs want to have a bootanimation (or parts of it) displayed on a\ncolor other than black. They currently just use full-screen frames for\nthat, which wastes lots of memory and bandwidth. This change allows\neach part of the animation to specify a background color that will be\napplied outside of the frame images; if unspecified the background\nwill be black as it is now.\n\nBug: 16635599\nChange-Id: Ibf008fc75c5aad891c86ba9e4ec0879b7a61b8bd\n"
    },
    {
      "commit": "42a1d08df7d417fd4e67eabc91ff05ee77fd9995",
      "tree": "7bfa7e66b153087c56b19c6dd8b340e0ea2ddb42",
      "parents": [
        "95f621a1a4a0891075f1f9daf8e0323aab488793"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 18:06:18 2014 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 18:11:24 2014 -0400"
      },
      "message": "SkBitmap::Config is deprecated, use SkColorType\n\nChange-Id: Ida181d2aac760072cf2d01409edac37699dea216\n"
    }
  ],
  "next": "52adfdaafd464348628d9257101f24a67d7c8bbb"
}
