)]}'
{
  "log": [
    {
      "commit": "979ccb2e6f3f1f7f00a448eb440a85daf033dc9e",
      "tree": "fd2e294460c4832e1a450ed333b80a545cfdfc7e",
      "parents": [
        "e5b386d2bbfa0fdf6439850191a24dfc17ee50c3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 11 10:42:19 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 11 10:42:19 2016 -0800"
      },
      "message": "AAPT2: Warn when positional arguments exist and --legacy is on\n\nThis is normally an error, but old AAPT didn\u0027t check for it correctly,\nso many projects violate this. With --legacy, this becomes a warning.\n\nChange-Id: I23647e029930e11b719591cd38609e1b43247e20\n"
    },
    {
      "commit": "7751afc796842bbb24bfbb19bd0fee4a7b7c8a4e",
      "tree": "fad12506e9f244038a186dd8dbe31e87f6bafafe",
      "parents": [
        "198ce1a5e6fbe2cb84263e427032e9715e27379f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 15:45:28 2016 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 16:18:40 2016 -0800"
      },
      "message": "AAPT2: Fix product support\n\nPreviously the default product wasn\u0027t tried if \u0027default\u0027 wasn\u0027t specified on the command line.\nAlso adds support for multiple products.\n\nChange-Id: I1e4872b34bb8d609b6444841a4e7e4dbb3bbb76b\n"
    },
    {
      "commit": "198ce1a5e6fbe2cb84263e427032e9715e27379f",
      "tree": "79ee0d9b3f968f2c0b58ff08ef4a75cd5415f563",
      "parents": [
        "f68f066cdfbd9df6fcab30ed034640c7a81d2cfe",
        "393b5f0d6130d3848dd82075986a5cf40c09ce44"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 23:55:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 06 23:55:06 2016 +0000"
      },
      "message": "Merge \"AAPT2: Port AAPT pseudolocalization to AAPT2\""
    },
    {
      "commit": "f68f066cdfbd9df6fcab30ed034640c7a81d2cfe",
      "tree": "73c55847c9107378ce9edf9b514184a7415aa398",
      "parents": [
        "457a7e74bebac65cfb1b0c01677116074a7cafac",
        "24b8ff0faf7c59323d0171cdd825ca09e712aa1e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 23:50:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 06 23:50:50 2016 +0000"
      },
      "message": "Merge \"AAPT2: Fix references to private parent\""
    },
    {
      "commit": "457a7e74bebac65cfb1b0c01677116074a7cafac",
      "tree": "d2ac2b13c806355189ee46c89c069e4981c08f08",
      "parents": [
        "5ea212c9a0fb004d0944f8ba70dec55203a732d3",
        "7ff3ee19f4b831a526baf4b928d1ac172d070d82"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 23:50:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 06 23:50:10 2016 +0000"
      },
      "message": "Merge \"AAPT2: Respect format attribute of \u003citem\u003e tag\""
    },
    {
      "commit": "e06b4d1d9f718b9fe02980fea794a36831a16db2",
      "tree": "cfef7d72c17fc71b008f0c9a8f08d49553a30e16",
      "parents": [
        "2a90f673f5819e05ea72f6aba3e75956e0f807dc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 06 14:51:50 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 06 15:21:06 2016 -0700"
      },
      "message": "Consistent naming for PackageManager methods.\n\nWhen hidden PackageManager methods take a userId argument, they\nshould be named explicitly with the \"AsUser\" suffix.  This fixes\nseveral lagging examples so that we can pave the way to safely\nstart passing flags to new methods without scary overloading.\n\nAlso fix spacing issues in various logging statements.\n\nChange-Id: I1e42f7f66427410275df713bea04f6e0445fba28\n"
    },
    {
      "commit": "393b5f0d6130d3848dd82075986a5cf40c09ce44",
      "tree": "5643311ac74ad383b2efa37fee2f3d21878cf6d8",
      "parents": [
        "24b8ff0faf7c59323d0171cdd825ca09e712aa1e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 17 13:03:11 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 06 12:05:41 2016 -0800"
      },
      "message": "AAPT2: Port AAPT pseudolocalization to AAPT2\n\nPseudolocalization happens at the compile phase. Pseudolocalized\nvalues are weak, such that manually specified values will take precedence.\n\nChange-Id: I5e064ce0d270c9f4f9022f75aecedab9d45bc980\n"
    },
    {
      "commit": "4f6d400b0fa4c94e0f785a7b15ffb30126e6759d",
      "tree": "2f85230444fb27a1cc6d1e2ea8164b9a9c7585bc",
      "parents": [
        "4c6604865945723ecb4300f720d03ddd30bc5527",
        "31ffb442414bd9cf6c0225799d7d0c5409f3769d"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Jan 05 21:19:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 05 21:19:41 2016 +0000"
      },
      "message": "Merge \"No need to pass digest of AndroidManifest.xml around.\""
    },
    {
      "commit": "2a37455a285c831dbe4e367bdb632f687f3d3f5d",
      "tree": "013d62b6051f5a67709c683f9fb81623353e8310",
      "parents": [
        "a65ebea1ad62526633933205929a65a6e90f1f9f"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 05 15:25:24 2016 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 05 14:31:50 2016 +0000"
      },
      "message": "Fix build\n\nChange-Id: Ifd69818ca6d5dbf129f6c956c1a7dfae760e30d6\n"
    },
    {
      "commit": "a65ebea1ad62526633933205929a65a6e90f1f9f",
      "tree": "c665d4568d06d54a6d48e1321c141502bb4beeca",
      "parents": [
        "514b2cf0f8ddd11a4176412cb3584ab96fbb763a",
        "968ee5368b7d626e7ac64b0befd212a04e9533cf"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Tue Jan 05 14:21:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 05 14:21:04 2016 +0000"
      },
      "message": "Create new Navigation Bar for the Theme Editor Preview am: 3b90b74cf9\nam: 968ee5368b\n\n* commit \u0027968ee5368b7d626e7ac64b0befd212a04e9533cf\u0027:\n  Create new Navigation Bar for the Theme Editor Preview\n"
    },
    {
      "commit": "66d2dd686e14ff8cbdf4544cac7ecacbcaac469c",
      "tree": "75358eeaedc61bbee8bb46f221c5e1e7ae011abc",
      "parents": [
        "3a39664b077f5f1d17b56f140f705ec8eecfa145"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Jan 04 17:54:26 2016 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Jan 04 17:54:26 2016 -0800"
      },
      "message": "Fix build breakage.\n\nChange-Id: I694a885e705d2543e671fd2809bbb518176c3804\n"
    },
    {
      "commit": "31ffb442414bd9cf6c0225799d7d0c5409f3769d",
      "tree": "5e163c32b628b53a36c7c5252e8e7ffb27d6cb11",
      "parents": [
        "8464831bf27cfe27980d0d86b96ba1c348792020"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Mon Dec 21 11:32:53 2015 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Mon Jan 04 12:31:29 2016 -0800"
      },
      "message": "No need to pass digest of AndroidManifest.xml around.\n\nWhen an APK is being installed, the full path to the file is\noccasionally passed between processes. To detect changes to the file\nduring these handovers, the digest of the AndroidManifest.xml entry\ncould be passed around as well.\n\nThis security feature is no longer used and is no longer needed. APKs\nshould be installed using the modern Package Installer API\n(android.content.pm.PackageInstaller).\n\nBug: 24542768\nChange-Id: I2762634c85448e7adcd47ffc9a5294c021e127bd\n"
    },
    {
      "commit": "3b90b74cf96c88267e20a410b639b68de84c3323",
      "tree": "71d5293116305a3df596b50356a7ee435956906d",
      "parents": [
        "4b0fe7f14bb36769ef30c59c407bd6ed5b3d5cf7"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Fri Dec 18 18:13:39 2015 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Mon Jan 04 15:38:12 2016 +0000"
      },
      "message": "Create new Navigation Bar for the Theme Editor Preview\n\nThe standard navigation bar was not working well in the Theme Editor preview\nwhen in a wide configuration. The bar then did not fit entirely inside the display.\nSo we created a new Navigation Bar to use in the Theme Editor preview, that fixes\nthe size problem.\n\nBug: http://b.android.com/198179\nChange-Id: Ifb1fa7b8f399f17392934de89078696337eca3e1\n"
    },
    {
      "commit": "1b1f1b14eef5f73a82c1bb7cefd63ded5a9f6ebb",
      "tree": "b4678b62f31f924565d2abbca193452a8db5e7ba",
      "parents": [
        "c1f9e7c4875e791e108c79382508aab8d171f25f"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Dec 22 13:01:05 2015 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Dec 22 13:44:56 2015 -0800"
      },
      "message": "AAPT2: Fix compiler error in 32-bit host test\n\nWe now default host native tests to build both 32-bit and 64-bit\nversions.\n\nThe 32-bit version of libaapt2_test was broken because it was comparing\nan unsigned int to the result from std::count(std::vector), which is a\nsigned int. The 64-bit version compiled fine, since\nstd::count(std::vector) returns a long.\n\nChange-Id: I786fcd8a54d9f78b76b19ef82ab8dda6f5c42197\n"
    },
    {
      "commit": "24b8ff0faf7c59323d0171cdd825ca09e712aa1e",
      "tree": "f1350009e8e3aa03ab93b088619635991aeb989a",
      "parents": [
        "7ff3ee19f4b831a526baf4b928d1ac172d070d82"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 16 14:01:57 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 17 11:01:55 2015 -0800"
      },
      "message": "AAPT2: Fix references to private parent\n\nChange-Id: Id4697551b6c8cb6167f562de593006ae3c6158c0\n"
    },
    {
      "commit": "7ff3ee19f4b831a526baf4b928d1ac172d070d82",
      "tree": "6b80cd676d4d9d3e98f4382090011834be106228",
      "parents": [
        "36a832dd128c18628783cc629b89b2ae399db4f8"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 14 16:08:50 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 17 11:01:55 2015 -0800"
      },
      "message": "AAPT2: Respect format attribute of \u003citem\u003e tag\n\nAn \u003citem\u003e is a general tag that can override certain behavior. For\ninstance, this is allowed:\n\n    \u003citem name\u003d\"foo\" type\u003d\"integer\" format\u003d\"float\"\u003e0.4\u003c/item\u003e\n\nEven though without the format attribute, this would be illegal.\n\nChange-Id: I8133ce59e14719a70d7476a1464c3f564c435289\n"
    },
    {
      "commit": "1e2839188fb49575b86646d3aadb355c81ef9cc5",
      "tree": "7d891672e43cb5162b7e7c99a3a68e91f8431227",
      "parents": [
        "53129f1c21fc1e404f8e1d5772954710e6442dd8"
      ],
      "author": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Thu Nov 26 15:26:28 2015 +0000"
      },
      "committer": {
        "name": "Andrei Stingaceanu",
        "email": "stg@google.com",
        "time": "Wed Dec 16 18:14:14 2015 +0000"
      },
      "message": "Wire call to suspend a package\n\nAdds APIs in DevicePolicyManager and PackageManager for allowing\na device admin to suspend a package. PackageManagerService sets\nor unsets a new PackageUserState \u0027suspended\u0027 setting. Terminal\ncommand to suspend/unsuspend has been added via\nPackageManagerShellCommand (as root).\n\nNext steps:\n* use the new \u0027suspended\u0027 setting for denying access to start app\n(probably in ActivityStackSupervisor)\n* broadcast a PACKAGE_(UN)SUSPENDED intent for launchers to pick up\n* remove app from recents (go further and kill it if it is running)\n* erase existing notifications for this app\n\nBug: 22776576\nChange-Id: I718b3498f6a53cc0c6fdfb6d15031e53ddca4353\n"
    },
    {
      "commit": "48748c5d5b84920c95156ef711ccffe852b6b7ff",
      "tree": "11e2c7ccda20fcc12abfe0143480a54cf300607f",
      "parents": [
        "3e81d0905676f791fd0d30a78115106e2ece0112",
        "e298bcf7552d95475ab3ca9195e12bc14768fdb5"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Fri Dec 11 07:52:27 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 11 07:52:27 2015 -0800"
      },
      "message": "Use RenderDrawable to render mipmaps am: 4b0fe7f14b\nam: e298bcf755\n\n* commit \u0027e298bcf7552d95475ab3ca9195e12bc14768fdb5\u0027:\n  Use RenderDrawable to render mipmaps\n"
    },
    {
      "commit": "4b0fe7f14bb36769ef30c59c407bd6ed5b3d5cf7",
      "tree": "bd374b19e8adc13f498ed039528f91996a6db297",
      "parents": [
        "8e6fc083fe33543fa3ffd3bbfd25fa937f4ec7bf"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Fri Dec 11 15:05:46 2015 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Fri Dec 11 15:05:46 2015 +0000"
      },
      "message": "Use RenderDrawable to render mipmaps\n\nBug: http://b.android.com/179714\nChange-Id: If05e71b33ee3a95590eb892f4fffbff4cfca1867\n"
    },
    {
      "commit": "a6fe345be955368a13aea76aefb4db821aad11df",
      "tree": "c5385f798a6e1fb674f6f13c0f323726258618ca",
      "parents": [
        "01655232371d7c7ea5b58ccf66ad99917072018a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 09 15:20:52 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 10 16:24:15 2015 -0800"
      },
      "message": "AAPT2: Fix overlay support\n\nSupports the \u003cadd-resource\u003e tag and mimics old AAPT behavior of\nnot allowing new resources defined unless \u003cadd-resource\u003e was used\nor --auto-add-overlay was specified.\n\nChange-Id: I9b461137357617ade37fd7045b418b8e6450b9c4\n"
    },
    {
      "commit": "01655232371d7c7ea5b58ccf66ad99917072018a",
      "tree": "a5c1da30fe83efb5694155e3841b77c767668887",
      "parents": [
        "58862c9f6f33a9aa3602ca4a7ce49ac2a1fdc7c6",
        "5f3b2ecb3e9d27e77bd59c7b9006a6239b773944"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 10 22:36:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 22:36:29 2015 +0000"
      },
      "message": "Merge \"AAPT: Dump uses-permission-sdk-23\""
    },
    {
      "commit": "5f3b2ecb3e9d27e77bd59c7b9006a6239b773944",
      "tree": "add4f060388f1edc21912a03910c898cf15b145c",
      "parents": [
        "caceb021f19015af89f138941e9665442ff6aa6a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 02 15:40:19 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 10 14:17:52 2015 -0800"
      },
      "message": "AAPT: Dump uses-permission-sdk-23\n\nInclude \u003cuses-permission-sdk-23\u003e permissions in dump badging and dump permissions.\n\nThis will also add implied features for that permission, marked as -sdk-23 features.\n\nEx:\n\nuses-permission: name\u003d\u0027android.permission.ACCESS_FINE_LOCATION\u0027\nuses-permission-sdk-23: name\u003d\u0027android.permission.CAMERA\u0027\n\nfeature-group: label\u003d\u0027\u0027\n  uses-feature: name\u003d\u0027android.hardware.location\u0027\n  uses-implied-feature: name\u003d\u0027android.hardware.location\u0027 reason\u003d\u0027...\u0027\n  uses-feature-sdk-23: name\u003d\u0027android.hardware.camera\u0027\n  uses-implied-feature-sdk-23: name\u003d\u0027android.hardware.camera\u0027 reason\u003d\u0027...\u0027\n\nBug:24939655\nChange-Id: Ifb374696ed4760b0ba2f1cc3516f3bf08e6cb6a3\n"
    },
    {
      "commit": "0c6cc308cfd26ae102a1a3deb258e675da2c1eb0",
      "tree": "1cae39c64e8f239fb491b0a478b73716cf7ad324",
      "parents": [
        "6ec3e4c56b4539e59b932137030e3e745cfdec00",
        "e0e413e2b17a0164e15c77f4ab51b3166f9111d2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 10 20:13:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 20:13:29 2015 +0000"
      },
      "message": "Merge \"Add new target SDK filtering feature to BroadcastOptions.\""
    },
    {
      "commit": "e0e413e2b17a0164e15c77f4ab51b3166f9111d2",
      "tree": "74aa91f46362c7cb351aa6f505f7c8eab790bdf5",
      "parents": [
        "27cf982641e5e84669565634bbb45940f6b1209a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 09 17:22:26 2015 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 10 12:12:00 2015 -0800"
      },
      "message": "Add new target SDK filtering feature to BroadcastOptions.\n\nYou can now control the range of target SDKs that receivers\nwill be need to have in order to receive your broadcast.\n\nUse this for CONNECTIVITY_ACTION to not allow N+ applications\nto receive these broadcasts through their manifest.\n\nAlso tweak the broadcast debug output code to now include the\ndisposition of each receiver in the list.  This is becoming\nimportant as skipping receivers is becoming a more common\nthing to have happen.\n\nChange-Id: I251daf68575c07cbb447536286ab4e68b7015148\n"
    },
    {
      "commit": "98cb23dccfb65ddd2802c49d8714979f7dbae1df",
      "tree": "5159f138d37965c9b3bd695b7bfe16f1f6f915a1",
      "parents": [
        "863cf1572ebf12cb6ef3a8e5424b1348c4734b0a",
        "e13529a4adb60e5a18c2e36ce6c5bf8f2d1db78f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Dec 09 22:51:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 22:51:43 2015 +0000"
      },
      "message": "Merge \"Slight API renaming, better behavior.\""
    },
    {
      "commit": "e13529a4adb60e5a18c2e36ce6c5bf8f2d1db78f",
      "tree": "210d70d496483b2cf99b55350d55dc37c6514ebb",
      "parents": [
        "7a30a30ebece75f4a73fa604d4c7721d28eecc16"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 09 14:15:27 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 09 15:22:54 2015 -0700"
      },
      "message": "Slight API renaming, better behavior.\n\nRename APIs to reflect that they\u0027re storage-related.  Also move\ncredential-storage APIs to be system API.\n\nReturn a null Context when device-encrypted storage isn\u0027t\nsupported.  This is the easiest way to keep legacy apps working when\nupgrading from M to N.\n\nReduce strictness of path checking so we don\u0027t crash when working\nwith special packages like \"android\".\n\nBug: 22358539, 26104027\nChange-Id: I38c24fc003488186210a6ae3b64270f86e1efe56\n"
    },
    {
      "commit": "103d61b9f79de4d7b907227a7925e809e3e183c2",
      "tree": "e8c3cbd3b9474dc6b69a92b2dd0de295a951e2d6",
      "parents": [
        "15c4bbddfa2b8597498c2fb960038952f22c3775",
        "7a30a30ebece75f4a73fa604d4c7721d28eecc16"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Dec 08 22:29:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 22:29:52 2015 +0000"
      },
      "message": "Merge \"Shift around encryption public APIs.\""
    },
    {
      "commit": "7a30a30ebece75f4a73fa604d4c7721d28eecc16",
      "tree": "ff6f65eb8291e9e07a83f7ae6cc7363ee3e0cc3c",
      "parents": [
        "6a6cdafaec56fcd793214678c7fcc52f0b860cfc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 08 14:20:06 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 08 15:24:29 2015 -0700"
      },
      "message": "Shift around encryption public APIs.\n\nThere are far too many Context APIs with special directory paths\nto replicate device-encryption versions of them all.  Instead, add\nmethods to clone a Context that explicitly stores its data in either\ncredential- or device-encrypted storage.\n\nMethods to test the behavior of a given Context.\n\nBug: 22358539\nChange-Id: I6a6290a9b282605ce9a1f82742fc2c4c50536754\n"
    },
    {
      "commit": "2acf063da08dfff69f184c9a6a90a7a5fe60d818",
      "tree": "57da22759eccdbe0400d1916febec19de0732b9b",
      "parents": [
        "4f5ab5ffbe3d624fd4218e0ccf67a29a0150e102"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Nov 24 19:10:59 2015 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Dec 08 19:17:15 2015 +0000"
      },
      "message": "Ephemeral cookie API\n\nAdd APIs for an ephemeral app to set a cookie which is a small\npeice of data cached longer than the app itself. This is useful\nfor avoiding the user to login every time they use the ephemeral\napp. The cookie is stored after an ephemeral app is uninstalled.\nNormal apps or ephemeral apps upgraded to full apps can also use\nthese APIs with the difference that once they are uninstalled\nthe cookie is deleted.\n\nThe cookie size defaults to 16KB and is configurable by a global\nsettings which can be adjusted via gservices. Also eviction policy\nis time based with a default of one month and is configurable by\na global setting which can be adjusted via gservices. If the cert\nof the app cahnges (when ephemeral is installed, uninstalled and\ninstalled again) the cooke is wiped to prevent data leaks.\n\nThis cahange also adds an API for apps to know whether they run in\nan ephemeral mode since it this mode some APIs will not be available.\nAnother API exposed by this change is private for the system and\nexposes all ephemeral apps - installed and uninstalled. Only the\nsystem can call this API. When an ephemeral app is uninstalled the\nsystem stores its name, icon, and permissions. When the app is\nreinstalled or a full version is installed the permissions are\npropagated.\n\nChange-Id: Id4a73a7750bfbabda0bfcb9bf9018d2062e94367\n"
    },
    {
      "commit": "62b8dfd270df798a53e680c40177a82be5520efa",
      "tree": "e07862148a0b600a6284620ff64bf0f90b669d0a",
      "parents": [
        "fbc65644b9bda216699f5f1f883d6dfa2668e545",
        "e7d2cc308e5f53f244cc05473e1c51127ef057d9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 08 16:57:57 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 16:57:57 2015 +0000"
      },
      "message": "Merge \"Track rename of base/ to android-base/.\""
    },
    {
      "commit": "e7d2cc308e5f53f244cc05473e1c51127ef057d9",
      "tree": "6b0dd58fc4b446b792e64913f5ff0cea36b83a88",
      "parents": [
        "f4b4bf633d6a2a79c4804ac3395d5578d08e65f4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 08 08:57:14 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 08 08:57:14 2015 -0800"
      },
      "message": "Track rename of base/ to android-base/.\n\nChange-Id: If08a94025fc12433f7e248b7787cee3c14843097\n"
    },
    {
      "commit": "6b8e8500f8e02081d1e3540cdcdfdefe15de9c40",
      "tree": "976e0eb35b42c768b253e962a216d90973ad1506",
      "parents": [
        "4cbc315305379b0892cc4fb347d7050f3058f81e",
        "6a6cdafaec56fcd793214678c7fcc52f0b860cfc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Dec 08 02:27:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 02:27:07 2015 +0000"
      },
      "message": "Merge \"APIs to obtain SharedPreferences paths.\""
    },
    {
      "commit": "6a6cdafaec56fcd793214678c7fcc52f0b860cfc",
      "tree": "8875835dd240914d9bf7344dc5f2c0c35dc77b40",
      "parents": [
        "ce14cd01411c384b3b979a9f662bf3cd5f9e7183"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 07 19:25:19 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 07 19:25:25 2015 -0700"
      },
      "message": "APIs to obtain SharedPreferences paths.\n\nNeeded for apps that want to migrate SharedPreferences from CE to DE\nstorage.  Note that a device will only ever enter a CE mode with a\nfactory reset, so apps should only be using these APIs when they\nwant to migrate files to a consistent location on non-FBE devices\nfor simplicity.\n\nBug: 25503089\nChange-Id: Ic846215da1617d116a048e036415ac7ad523b770\n"
    },
    {
      "commit": "78713998f94a2cc2562aa0ae7761bbc563d8eafa",
      "tree": "753a994b7373774fafa2c4258cc9c53afa845c29",
      "parents": [
        "5f986095bed776c119d2f5452e0afeac3a437ea2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 07 14:02:15 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Dec 07 14:52:53 2015 -0800"
      },
      "message": "Specify private resource package in Android.mk\n\nPrivate resource package shouldn\u0027t be buried in some resource file.\nIt can now be specified on the command line via the Android.mk file.\n\nChange-Id: I9e3cb0bf54830d6b021077af271913306c024701\n"
    },
    {
      "commit": "43aecc85e85c46f457764eea22cca42b7ee912d1",
      "tree": "3d5d7fe73ae493f2d3f002b4f01199cf10c24fee",
      "parents": [
        "d351e29b8e0c3d723abcff21ab96ceb684cb5bb5",
        "7e7047ea0aba2099408fba70937a758a91cebbca"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 17:51:41 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 04 17:51:41 2015 -0800"
      },
      "message": "Merge \"Track rename from base/ to android-base/.\" am: 9f6a2ae67c am: 8aa8fe2c64\nam: 7e7047ea0a\n\n* commit \u00277e7047ea0aba2099408fba70937a758a91cebbca\u0027:\n  Track rename from base/ to android-base/.\n"
    },
    {
      "commit": "7e7047ea0aba2099408fba70937a758a91cebbca",
      "tree": "1cebda6093ea71f515aed2eec0b6e078b7f9b4bb",
      "parents": [
        "dd00ed1554113d52c8b07ee36d5b0b912d74a268",
        "8aa8fe2c64cf4611ba68d90992e54858a35aae58"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 05 01:44:41 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 05 01:44:41 2015 +0000"
      },
      "message": "Merge \"Track rename from base/ to android-base/.\" am: 9f6a2ae67c\nam: 8aa8fe2c64\n\n* commit \u00278aa8fe2c64cf4611ba68d90992e54858a35aae58\u0027:\n  Track rename from base/ to android-base/.\n"
    },
    {
      "commit": "8aa8fe2c64cf4611ba68d90992e54858a35aae58",
      "tree": "a518ac39d2b8feebe4eabfb29dfb1bfa6943d86f",
      "parents": [
        "ec719f1509807765dac661286000c7e411ec9662",
        "9f6a2ae67c70085d550962829e6bfe76706907d8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 05 01:36:53 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 05 01:36:53 2015 +0000"
      },
      "message": "Merge \"Track rename from base/ to android-base/.\"\nam: 9f6a2ae67c\n\n* commit \u00279f6a2ae67c70085d550962829e6bfe76706907d8\u0027:\n  Track rename from base/ to android-base/.\n"
    },
    {
      "commit": "be5474da4bfc961419feaee5046162e8524f08c1",
      "tree": "7622c9aff4b780948452dd397f9a3e8a051e99dd",
      "parents": [
        "1c9bdfd0294cd1b13470ae6443bfa2ad425bd7dd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 15:33:35 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 15:33:35 2015 -0800"
      },
      "message": "Track rename from base/ to android-base/.\n\nChange-Id: I31be831de812052d1c0d4c0781178d0756124bcf\n"
    },
    {
      "commit": "2998eef694f6e3bb348df98a6127890e71427381",
      "tree": "61a050d25d9a52699ec54801d2c6c7493fcfbdab",
      "parents": [
        "10ad84a17d7248488c1653bacc9f20d3a7193999"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Dec 02 19:46:29 2015 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Dec 03 10:20:16 2015 -0800"
      },
      "message": "Set proper stack in WM when activity is moved to stack in AM\n\nWhen an activity is moved to a stack using the\nActivityStack#moveActivityToStack API a new task is created to\nhold the activity in the stack. However, when the new task is\ncreated in the window manager side it uses the stack id of the\nprevious stack the activity was in. We now pass the stack to use\nfrom activity manager to window manager.\n\nBug: 25987309\nBug: 25961636\nChange-Id: Iecc71f6d9b3e70a8d88e134b42f7532ba5327bad\n"
    },
    {
      "commit": "7c4420bd04f8f56f6044f88e34616d8c5d96c7e9",
      "tree": "0106c27bf8be69200e11d560837161a157875a0e",
      "parents": [
        "cbb1ba7f493116882b79578ec68646366f29cde4"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Dec 01 21:55:58 2015 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Dec 01 21:58:29 2015 -0800"
      },
      "message": "Revert \"Revert \"Add support for Choreographer animations\"\"\n\nThis reverts commit 8390b2ac85765e768d4b685077a96e6395d208b4.\n\nThe build break should now be fixed by\ncbb1ba7f493116882b79578ec68646366f29cde4\n\nChange-Id: I9bf21cc6dbdb5d515a665384dc6dfa464c3e6e2e\n"
    },
    {
      "commit": "cbb1ba7f493116882b79578ec68646366f29cde4",
      "tree": "720f70c91d0bd7bb72d58679a61f5781ead7b571",
      "parents": [
        "9c165d76010d9f79f5cd71978742a335b6b8d1b4"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Dec 01 21:44:56 2015 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Dec 01 21:49:12 2015 -0800"
      },
      "message": "Add ability to promote fields.\n\nThis adds the ability to promote private fields to public ones to\nenable layoutlib to access them. This was first added in change\nb556decf75b2b084e1aed54ac7fa23a141eedb7f, but reverted in\n847b0d3ad22a47e0bca3d8bc8168fea7a0ba2f80. This is essentially a revert\nof the change again, but without the SimpleMonthView related stuff.\n\nAlso, promote the Choreographer\u0027s field as is needed to support\nanimations.\n\nChange-Id: Iee45a465c7a1cadd362c1841385941e6232e4900\n"
    },
    {
      "commit": "8390b2ac85765e768d4b685077a96e6395d208b4",
      "tree": "ad8b5226ea8f73213da89fd4b8e92cd4d19a99ab",
      "parents": [
        "56e086f5da39e64240464cad2a260f3e9389d939"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Dec 02 04:10:22 2015 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Dec 02 04:10:22 2015 +0000"
      },
      "message": "Revert \"Add support for Choreographer animations\"\n\nThis reverts commit 29ed07524ce0fc2e5950f5340d306247145d0efa.\n"
    },
    {
      "commit": "e03d5e4973baa122d329bc24dc0a6b8b779c0223",
      "tree": "27d0183e56a991f92aecb0207656e8748cf22536",
      "parents": [
        "eaf95c36437dd3be48d7edaef9f2a9bccc102d4d",
        "90d5052bd71b4b58069fd830834daf8dad339ef0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 02 03:01:21 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 02 03:01:21 2015 +0000"
      },
      "message": "Merge \"Don\u0027t try to compress .webm resources\""
    },
    {
      "commit": "2ee825f507bec9c01667787ce11ddb5d8786d863",
      "tree": "218cbe57259aeba72b02f90dce816a6a7e1196b3",
      "parents": [
        "d76acc80932f954ebda58b18e9639410fa4e27d2",
        "956cad887014fae52d10f5371856173088b4ad30"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Dec 02 00:04:08 2015 +0000"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Dec 02 00:04:08 2015 +0000"
      },
      "message": "resolve merge conflicts of 956cad8870 to master.\n\nChange-Id: Iebad149b2768bcd7a52ee2c7c8c260a9279d1742\n"
    },
    {
      "commit": "90d5052bd71b4b58069fd830834daf8dad339ef0",
      "tree": "179b5cdfa02be50323c1b11968c8ea88296b35e7",
      "parents": [
        "32363a023a693f78ca584f06e7780354c300d59a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 01 10:34:37 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 01 18:37:12 2015 +0000"
      },
      "message": "Don\u0027t try to compress .webm resources\n\nBug: 25822610\nChange-Id: I40a93c9daac258a8e9a41668c0040353e44ed5bb\n"
    },
    {
      "commit": "29ed07524ce0fc2e5950f5340d306247145d0efa",
      "tree": "c08278be73f5cf5c4056435b747ac416bf0c7184",
      "parents": [
        "1bd58bfd5bab7f517de41ec17342d0710c64ad9a"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Oct 14 14:20:26 2015 +0100"
      },
      "committer": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Dec 01 10:14:52 2015 +0000"
      },
      "message": "Add support for Choreographer animations\n\nFirst step to add support for Choreographer based animations. The\nChoreographer_Delegate avoid using a handler so the animation callbacks\ncan be called on-demand (by using doFrame). This allows things like\nframe by frame animation or selecting a specific frame, and doesn\u0027t need\na separate thread to run.\n\nThe CL also changes the System and SystemClock implementations to allow\nto set specific times. Because animations heavily rely on the system\ntime, this allows controlling it. It can also be useful to ensure that\nthe rendering produces a deterministic result when using controls like\nthe Calendar widget.\n\nChange-Id: Iff221d2698a82075cafbb60f341be01741f7aa13\n"
    },
    {
      "commit": "18201f89ee0d098efc6ffa5e74443947fd24b74d",
      "tree": "a18f057e4d1d84c4612c9ee27149d3c0462a1186",
      "parents": [
        "96b2da271ffa18f1ecc7da57e6469ac01e0c2041",
        "8fc29cf1052fd951a3a0828b65506db30df89ece"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Dec 01 01:03:39 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 01 01:03:39 2015 +0000"
      },
      "message": "Merge \"API to create SharedPreferences from File.\""
    },
    {
      "commit": "8fc29cf1052fd951a3a0828b65506db30df89ece",
      "tree": "dccb83793bc843e60e57d3c477517ab3adfc65b4",
      "parents": [
        "8924e8759f9a8cffb5ad538ca40a7826793aac07"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 30 17:51:00 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 30 18:01:20 2015 -0700"
      },
      "message": "API to create SharedPreferences from File.\n\nNeeded to support storage of SharedPreferences on both credential-\nencrypted and device-encrypted storage paths.\n\nBug: 22358539\nChange-Id: I576b696951b2a9de817d5be63d31b06f7e166a19\n"
    },
    {
      "commit": "9a3f84ced75249be19fe3d771cc4e59ffdc3a7cd",
      "tree": "e84728d9e5c03b261c96db972313a8e38e219bd6",
      "parents": [
        "1f3341de8bf85f934d0ab9ba2ce1b5df80509d5a",
        "64cdc1458bcf0d09781463a6e421b9b870b09687"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Mon Nov 30 23:37:02 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 30 23:37:02 2015 +0000"
      },
      "message": "Merge \"Remove dock divider surface when it\u0027s not visible.\""
    },
    {
      "commit": "64cdc1458bcf0d09781463a6e421b9b870b09687",
      "tree": "b72eb4fc479e14affd4f29f43c5199f8498b4889",
      "parents": [
        "7fc7f48a898a68f4bfdf8fec83aafe32f8137f11"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Sun Nov 29 21:10:07 2015 -0800"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Mon Nov 30 15:21:48 2015 -0800"
      },
      "message": "Remove dock divider surface when it\u0027s not visible.\n\nWe achieve the removal by notifying System UI about the visibility of\nthe dock divider. This way System UI can change visibility of the root\nview, which in turn will cause the WMS to destroy or create the surface\nas necessary.\n\nBug: 25844096\nBug: 25683717\n\nChange-Id: Idbc33368db697a059af49106dfadb80c3d7d06c1\n"
    },
    {
      "commit": "07dfd2d8642f8a3630ca6429f740865a0c0bfdf7",
      "tree": "28a4aa59b021ddbf0f7bcf9890c98994fd16ade8",
      "parents": [
        "14ed6cf3e7bada4932314969000d384bed6d3f92"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 28 15:44:27 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 14:43:43 2015 -0800"
      },
      "message": "Implement AAPT Bundle format\n\nAAPT will scan XML files looking for the \u003caapt:attr\u003e XML tag.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView xmlns:aapt\u003d\"http://schemas.android.com/aapt\"\u003e\n  \u003caapt:attr name\u003d\"android:src\"\u003e\n    \u003cvector android:pathData\u003d\"...\" ...\u003e\n    \u003c/vector\u003e\n  \u003c/aapt:attr\u003e\n\u003c/ImageView\u003e\n\nThe SINGLE child element of the \u003caapt:attr\u003e tag is extracted into its own top\nlevel resource. It is given a generated name.\n\nThe parent element of \u003caapt:attr\u003e is then given the resource attribute that was assigned\nto the `name\u0027 attribute. The value is set to a reference to the generated resource.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView android:src\u003d\"@drawable/bundle_1.xml\"\u003e\n\u003c/ImageView\u003e\n\n\u003c!-- @layout/bundle_1.xml --\u003e\n\u003cvector android:pathData\u003d\"...\" ...\u003e\n\u003c/vector\u003e\n\nBug:22627686\nChange-Id: I8575fc4f739011402662fbf6b3db96df0012f598\n"
    },
    {
      "commit": "ebb3a763962bec8fdcd1c7c63ae910f865fd5972",
      "tree": "16c7a570923444eb37a341a2c048a4fa0ecc9707",
      "parents": [
        "f9b40659e6df5e4efd759448d4ca7ecb57b8edac",
        "5b9847ca3fbcd0bb2528dd2b4c0b789e2d501684"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 21:08:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 30 21:08:00 2015 +0000"
      },
      "message": "Merge \"Revert \"Implement AAPT Bundle format\"\""
    },
    {
      "commit": "5b9847ca3fbcd0bb2528dd2b4c0b789e2d501684",
      "tree": "4d232086253525a00977075cf4aede5a42089287",
      "parents": [
        "9d0f7d44d5cc5322415f52f7ce03cc37a478b350"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 21:07:44 2015 +0000"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 21:07:44 2015 +0000"
      },
      "message": "Revert \"Implement AAPT Bundle format\"\n\nThis reverts commit 9d0f7d44d5cc5322415f52f7ce03cc37a478b350.\n\nCaused a build breakage when parsing some attributes.\n\nChange-Id: I89ca958b2f2e820d353648df8aadd90bbe8d8339\n"
    },
    {
      "commit": "be107f46cf4ed7437e773fb79a2ef5c5edaa49de",
      "tree": "c49fa325a060d10a773a00ae36b972ae8ebf49a0",
      "parents": [
        "2a0dd0e1e302a9e12769d854f5617111a0135f22",
        "9d0f7d44d5cc5322415f52f7ce03cc37a478b350"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 19:51:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 30 19:51:53 2015 +0000"
      },
      "message": "Merge \"Implement AAPT Bundle format\""
    },
    {
      "commit": "2a0dd0e1e302a9e12769d854f5617111a0135f22",
      "tree": "c04f3fe5f1244ff18bfe141d74f321170206745f",
      "parents": [
        "842ec9c407f781f520540db69f92105e9025dc7c",
        "a40e972fdaa68fc486ff90a319195515819068b2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 19:30:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 30 19:30:48 2015 +0000"
      },
      "message": "Merge \"AAPT2: Support compiling a res/ directory and output to zip\""
    },
    {
      "commit": "a40e972fdaa68fc486ff90a319195515819068b2",
      "tree": "38b228d8517f63faf67bcb1a6710d2533788a6d6",
      "parents": [
        "1cffc196610891f6669c33404f3ff5b0232b7059"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 24 19:11:46 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 30 11:14:01 2015 -0800"
      },
      "message": "AAPT2: Support compiling a res/ directory and output to zip\n\nThis allows us to compile an entire directory and output to a single\nfile. This is important to support generated resources in the make\nbuild, since we may not know what resources get generated.\n\nThe link step will accept the zip and read the contents of it as if they\nwere passed in on the command line.\n\nChange-Id: If1a51b0abe772350c24074353eb4989953c2e0cb\n"
    },
    {
      "commit": "c428d4742d51440012c08174630b5ae28c20c15f",
      "tree": "489affcff16bb757992e5710e7507a3c211d140c",
      "parents": [
        "befb4d7c18db8a3c5fb9b37c1a0010d4e0b6f8d1"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Nov 25 14:21:01 2015 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Nov 25 14:21:01 2015 -0800"
      },
      "message": "Fix build breakage in BridgeIInputMethodManager.\n\nThis is a follow up CL for 35d3f37bd51268cc99d81a3f537ac364d178e851 [1],\nwhich changed some method signatures of IInputMethodManager.\n\n  [1]: Ia1fe120af7d71495c5f3a4fc0ec6390efb8240ca\n\nWe need to update BridgeIInputMethodManager.java every time when we\nchange IInputMethodManager.\n\nBug: 25373872\nChange-Id: I126dc4234f921039a9d29010ea411a0a7d2ef6c6\n"
    },
    {
      "commit": "9d0f7d44d5cc5322415f52f7ce03cc37a478b350",
      "tree": "1882cbfd2f9867e865444c95da0d79028d79ae60",
      "parents": [
        "1cffc196610891f6669c33404f3ff5b0232b7059"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Oct 28 15:44:27 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 24 15:38:40 2015 -0800"
      },
      "message": "Implement AAPT Bundle format\n\nAAPT will scan XML files looking for the \u003caapt:attr\u003e XML tag.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView xmlns:aapt\u003d\"http://schemas.android.com/aapt\"\u003e\n  \u003caapt:attr name\u003d\"android:src\"\u003e\n    \u003cvector android:pathData\u003d\"...\" ...\u003e\n    \u003c/vector\u003e\n  \u003c/aapt:attr\u003e\n\u003c/ImageView\u003e\n\nThe SINGLE child element of the \u003caapt:attr\u003e tag is extracted into its own top\nlevel resource. It is given a generated name.\n\nThe parent element of \u003caapt:attr\u003e is then given the resource attribute that was assigned\nto the `name\u0027 attribute. The value is set to a reference to the generated resource.\n\n\u003c!-- @layout/bundle.xml --\u003e\n\u003cImageView android:src\u003d\"@drawable/bundle_1.xml\"\u003e\n\u003c/ImageView\u003e\n\n\u003c!-- @layout/bundle_1.xml --\u003e\n\u003cvector android:pathData\u003d\"...\" ...\u003e\n\u003c/vector\u003e\n\nBug:22627686\nChange-Id: I31bc96aae30d38bfd0b16508d0f585de5fd88a07\n"
    },
    {
      "commit": "47ef9c1a825911bda15572080b0c3908912d65ff",
      "tree": "1a0b114ae93346717392b8354fc08148682ff654",
      "parents": [
        "8f0e3a68cdd3b2403ff8a1677f90b998f4175f40",
        "28cacf091ad2b1c2749e77f590e9523e58735252"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 24 01:17:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 24 01:17:08 2015 +0000"
      },
      "message": "Merge \"AAPT2: Record source/comments for compound values\u0027 children\""
    },
    {
      "commit": "1ad32cacccc325de99100295ba2049318a39a77e",
      "tree": "ff7e214619df3868298e10c95c3438304e51d59e",
      "parents": [
        "805578d8483a53c50896a808b0aec1bf152e5216",
        "a587065721053ad54e34f484868142407d59512d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Nov 24 00:53:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 24 00:53:44 2015 +0000"
      },
      "message": "Merge \"AAPT2: Verify min/max attr fields\""
    },
    {
      "commit": "8b1871d74137d7e36ba0fed5608772f51f62015b",
      "tree": "8c738bb194fff45445b692a6769ebd94c4b48787",
      "parents": [
        "4993c2f17ec16ed16d3659f0fe7903d2f37e5295"
      ],
      "author": {
        "name": "Winson",
        "email": "winsonc@google.com",
        "time": "Fri Nov 20 09:56:20 2015 -0800"
      },
      "committer": {
        "name": "Winson",
        "email": "winsonc@google.com",
        "time": "Mon Nov 23 15:55:52 2015 -0800"
      },
      "message": "Adding tuner params for paging and full screen thumbnails.\n\n- Adding “focused” stack state to support paging\n- Changing the paging to match UX spec (only auto-page after the first\n  tap)\n- Removing old header focus animation\n\nChange-Id: Id72825b8a1b1c0a2238ee184a6695b13c1d8cb1c"
    },
    {
      "commit": "28cacf091ad2b1c2749e77f590e9523e58735252",
      "tree": "6ff85383ec5688074e54fb5fcd4df6c75694b038",
      "parents": [
        "a587065721053ad54e34f484868142407d59512d"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 23 14:22:47 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 23 14:22:47 2015 -0800"
      },
      "message": "AAPT2: Record source/comments for compound values\u0027 children\n\nValues like styles or arrays have children which need to have\ntheir source and comments preserved.\n\nChange-Id: I6fc713ba36627e6d66c7930b4080cc1403bac207\n"
    },
    {
      "commit": "a587065721053ad54e34f484868142407d59512d",
      "tree": "57efbb55d03b5e68610802da8e469d5d48a29078",
      "parents": [
        "78de1bcbbdad03d893d0b1df5372732cf6d0d934"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Nov 20 15:32:30 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 23 12:01:15 2015 -0800"
      },
      "message": "AAPT2: Verify min/max attr fields\n\nIntegers are now checked to see if they fall in the range\nof min/max for the attribute they are assigned.\n\nChange-Id: I42c435b15fd3f0bd23691c83efccce4ad5973276\n"
    },
    {
      "commit": "82063913ae6d3b158cb0c599141e473b691363a8",
      "tree": "f09abf159e333bcd61c2fa84f6b303c80e5a9a05",
      "parents": [
        "3fac65d9600aa826af17bd2c497be6eda34c8642"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Fri Nov 20 14:20:13 2015 -0800"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Fri Nov 20 15:22:36 2015 -0800"
      },
      "message": "Implement View.cancelDragAndDrop\n\nView.cancelDragAndDrop cancels a drag operation initiated by\nView.startDragAndDrop.\n\nIt has to be called on a View in the same window (under the\nsame ViewRootImpl) that the view which started the drag.\n\nBug: 24415683\nChange-Id: If9a265fd8cc4d26b207d582d0d02d5c9ae78eba1\n"
    },
    {
      "commit": "cfa292e1dad184648bf673167f3f35b4fb34fc93",
      "tree": "7a6515d840e908fe36e23b674e0fc11299055057",
      "parents": [
        "4133dee9ec5338816e462650afcd039002eb289c"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Tue Feb 17 16:58:52 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 20 14:06:55 2015 +0000"
      },
      "message": "Add core-oj to the list of core library jars.\n\nWith some core classes moved to separate core-oj jar\nwe need to use the new jar.\n\n(cherry-picked from f898cda2f499b14f92bc7fb75f44110cdec7654f)\n\nChange-Id: Ica148f11bcc77f57d22944ff78c501611a293167\n"
    },
    {
      "commit": "17dc40e642904e6842df546530fd4a519a0f8eb1",
      "tree": "ad5bc88b93d82588185267727df99386ece9266e",
      "parents": [
        "760a2141684d02a694d657f73975ad203cf30b80",
        "adca23bb4c59b1514b5d86f1ab8100c400d7a71e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Nov 20 03:55:07 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 20 03:55:07 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\" into mnc-ub-dev am: 35f7562495 am: 2d887558df am: 0627cd0c40\nam: adca23bb4c\n\n* commit \u0027adca23bb4c59b1514b5d86f1ab8100c400d7a71e\u0027:\n  Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\n"
    },
    {
      "commit": "760a2141684d02a694d657f73975ad203cf30b80",
      "tree": "f4d91cbe95ba08481ea021ec653a97a934f304af",
      "parents": [
        "cbc49d0841bff6f6dfe1035b46dc24b3f9de690d",
        "138a901db492989ae7db53d664cac698cc5bfdc7"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Nov 20 03:53:45 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 20 03:53:45 2015 +0000"
      },
      "message": "Merge \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\" into mnc-ub-dev am: 8c971ae5a0 am: 867c370465 am: 4d9df358ec\nam: 138a901db4\n\n* commit \u0027138a901db492989ae7db53d664cac698cc5bfdc7\u0027:\n  Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\n"
    },
    {
      "commit": "adca23bb4c59b1514b5d86f1ab8100c400d7a71e",
      "tree": "319020a7313c9fdace8a7db14353d9cce42f0125",
      "parents": [
        "138a901db492989ae7db53d664cac698cc5bfdc7",
        "0627cd0c404838a0251ee359ed75041f430fa83b"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Nov 20 01:55:01 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 20 01:55:01 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\" into mnc-ub-dev am: 35f7562495 am: 2d887558df\nam: 0627cd0c40\n\n* commit \u00270627cd0c404838a0251ee359ed75041f430fa83b\u0027:\n  Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\n"
    },
    {
      "commit": "138a901db492989ae7db53d664cac698cc5bfdc7",
      "tree": "6b794f6c907ea14da289dd8c1b4e3b42ce71f013",
      "parents": [
        "9ebdd271422cb4a091f3b467899506cebb0fa944",
        "4d9df358ec847262872c09962105537be350f8fd"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Nov 20 01:53:43 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 20 01:53:43 2015 +0000"
      },
      "message": "Merge \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\" into mnc-ub-dev am: 8c971ae5a0 am: 867c370465\nam: 4d9df358ec\n\n* commit \u00274d9df358ec847262872c09962105537be350f8fd\u0027:\n  Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\n"
    },
    {
      "commit": "78de1bcbbdad03d893d0b1df5372732cf6d0d934",
      "tree": "e02392641099139a1bb1b5b95cb0d774a21f465f",
      "parents": [
        "7c149b529595a158b8954f338554a2b0a5f9ad91",
        "467f171315f9c2037fcd3eb5edcfabc40671bf7b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 19 23:43:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 19 23:43:08 2015 +0000"
      },
      "message": "Merge \"AAPT2: Fail compiling when private symbols are referenced\""
    },
    {
      "commit": "dd311b259823951288bf3b0a28bbe2416fdbcc89",
      "tree": "cd29d8c704cab9ac769c0e17d58534dc418c0288",
      "parents": [
        "db6bb294195cac7a7274bb3d98235de6a687047b",
        "4a13b870929e1461fba626559db69226ccbeac89"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Thu Nov 19 22:50:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 19 22:50:49 2015 +0000"
      },
      "message": "Merge \"Revert \"Fix broken build\"\""
    },
    {
      "commit": "4a13b870929e1461fba626559db69226ccbeac89",
      "tree": "f022fc9e6fda3a5f788bc925c05897df004f476b",
      "parents": [
        "88d753291c834c41ad6c9229082146be72cf8014"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Thu Nov 19 22:50:33 2015 +0000"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Thu Nov 19 22:50:33 2015 +0000"
      },
      "message": "Revert \"Fix broken build\"\n\nThis reverts commit 88d753291c834c41ad6c9229082146be72cf8014.\n\nRevert required because the base class change\nhas been reverted in http://ag/816441\n\nChange-Id: Iee8a8272bda0a92aed8ae46af8439910d8f1ecdc\n"
    },
    {
      "commit": "467f171315f9c2037fcd3eb5edcfabc40671bf7b",
      "tree": "3b14762e3d9e42a660479d0d5722883b391f835b",
      "parents": [
        "abf83cbe4f63cd76043aab89cd0e08525560fea2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 16 17:35:44 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 19 14:46:53 2015 -0800"
      },
      "message": "AAPT2: Fail compiling when private symbols are referenced\n\nAlso moved some XML specific stuff into its own directory,\nand refactored ReferenceLinker a bit.\n\nChange-Id: I912247a82023c1bbf72dc191fbdaf62858cbec0c\n"
    },
    {
      "commit": "0627cd0c404838a0251ee359ed75041f430fa83b",
      "tree": "a7e583ab767375b0f4b0f062bc4bab9b06a110f8",
      "parents": [
        "4d9df358ec847262872c09962105537be350f8fd",
        "2d887558dfa0b46fde5663fb494e2230febeaccc"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 21:10:57 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 19 21:10:57 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\" into mnc-ub-dev am: 35f7562495\nam: 2d887558df\n\n* commit \u00272d887558dfa0b46fde5663fb494e2230febeaccc\u0027:\n  Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\n"
    },
    {
      "commit": "4d9df358ec847262872c09962105537be350f8fd",
      "tree": "16959ae28644344b78bd3c0bd76feda595b76bbc",
      "parents": [
        "38a3b2154c7ee5d75b5670abaa4c154edd3c36eb",
        "867c3704652d40118b47e9c97149e7fd9567a16b"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 21:09:24 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 19 21:09:24 2015 +0000"
      },
      "message": "Merge \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\" into mnc-ub-dev am: 8c971ae5a0\nam: 867c370465\n\n* commit \u0027867c3704652d40118b47e9c97149e7fd9567a16b\u0027:\n  Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\n"
    },
    {
      "commit": "35f75624958bc061764c7cc71843ca7ea60c0666",
      "tree": "5037cf08cb4ca9fff2c8c921fc6766ebd9332af5",
      "parents": [
        "8c971ae5a0d294175481426d4543e23dc8d4a349",
        "66098964e240e76e6136b4dec3f9cc6234012695"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 20:49:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 19 20:49:55 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\" into mnc-ub-dev"
    },
    {
      "commit": "66098964e240e76e6136b4dec3f9cc6234012695",
      "tree": "2d55064c6f8fa6aadc8c5b19088758937568da53",
      "parents": [
        "65a834980cdbb9407a3f27e48cd0a8c472182cd6"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 20:49:35 2015 +0000"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 20:49:35 2015 +0000"
      },
      "message": "Revert \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\"\n\nThis reverts commit 65a834980cdbb9407a3f27e48cd0a8c472182cd6.\n\n\nThe original revert was only for cherry-pick to release\nbranch.\n\nChange-Id: Ib78f9a06ce49681c767f65b262058f18a670e38e\n"
    },
    {
      "commit": "8c971ae5a0d294175481426d4543e23dc8d4a349",
      "tree": "9c0fa73418bdb6fdbc591ab7a10cbbf22201a1e1",
      "parents": [
        "5d41bd8d1acd894cef1aff9018614194df6f95ab",
        "65a834980cdbb9407a3f27e48cd0a8c472182cd6"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 20:48:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 19 20:48:52 2015 +0000"
      },
      "message": "Merge \"Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\" into mnc-ub-dev"
    },
    {
      "commit": "65a834980cdbb9407a3f27e48cd0a8c472182cd6",
      "tree": "2e6a99e0469c585168bc78389fb513718cc9aa60",
      "parents": [
        "631c2ffd6ff1bfa7463d29a39a7ee74be019b3f9"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 20:47:26 2015 +0000"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu Nov 19 20:47:26 2015 +0000"
      },
      "message": "Revert \"Update StaticLayout_Delegate to use new nLoadHyphenator\"\n\nThis reverts commit 631c2ffd6ff1bfa7463d29a39a7ee74be019b3f9.\n\nThe revert is only for cherry-pick back to mnc-sdk-release.\n\nChange-Id: I42cb392528b7890b58d689c732f90c3b9ba5f74c\n"
    },
    {
      "commit": "865ad592fe01301a1d623e7b6e4bb5f693d48ab2",
      "tree": "3aec70a1d83d4609f202021ebbf042d971b32905",
      "parents": [
        "cae4f1222f012da554c5376ee327af66068a7a96",
        "f9281b6dfe94f1df0fac3ddbad846012b0a6fb7d"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Thu Nov 19 03:19:00 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 19 03:19:00 2015 +0000"
      },
      "message": "Merge \"Fix delegation of methods within inner static classes\" into mnc-ub-dev am: 603544d4c4 am: 14a826380d am: 0b76d094c6\nam: f9281b6dfe\n\n* commit \u0027f9281b6dfe94f1df0fac3ddbad846012b0a6fb7d\u0027:\n  Fix delegation of methods within inner static classes\n"
    },
    {
      "commit": "88d753291c834c41ad6c9229082146be72cf8014",
      "tree": "9c112618f496c5daf79757aba8891ba6b988cf5f",
      "parents": [
        "f91e74d9a945f59cdb714a80a2a87953d72dbd99"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Nov 18 12:53:45 2015 -0800"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Nov 18 12:53:45 2015 -0800"
      },
      "message": "Fix broken build\n\nFollowup to ag/808050\n\nChange-Id: I9912eae6a8c09b90685e19b3a9080b2d557c857b\n"
    },
    {
      "commit": "8d31b089040dafefee16033176a884d43e259804",
      "tree": "c1e7727c34ac3de9fefde9b6476c99e8bba4bddb",
      "parents": [
        "0b76d094c6e121f21135d851e4ee6ce8b6ee625f",
        "e5c5d995e424e17c8f5b60581374dee6881268f0"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Nov 18 16:39:09 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 18 16:39:09 2015 +0000"
      },
      "message": "Merge \"Remove the aidl tool\" into mnc-dr2-dev"
    },
    {
      "commit": "f9281b6dfe94f1df0fac3ddbad846012b0a6fb7d",
      "tree": "94552403dfa033ec71ad3310a09dd5ceaff64145",
      "parents": [
        "01186abc81c721c84a5d588bb7183d811d77f99c",
        "0b76d094c6e121f21135d851e4ee6ce8b6ee625f"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Wed Nov 18 00:13:20 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 18 00:13:20 2015 +0000"
      },
      "message": "Merge \"Fix delegation of methods within inner static classes\" into mnc-ub-dev am: 603544d4c4 am: 14a826380d\nam: 0b76d094c6\n\n* commit \u00270b76d094c6e121f21135d851e4ee6ce8b6ee625f\u0027:\n  Fix delegation of methods within inner static classes\n"
    },
    {
      "commit": "ae03bc0be3357b4a11861f211d2c1d3a3a4e52d8",
      "tree": "842233029396d7e5dc28b50875cd1a40908278db",
      "parents": [
        "71daca031e5ecf65969479f8b416c43394187926",
        "377cc4887d3557377f63bfe9d179623985c9484e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 23:34:24 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 23:34:24 2015 +0000"
      },
      "message": "Revert \"LayoutLib: Fix true transparency in status bar.\" am: 4ea74d2960\nam: 377cc4887d\n\n* commit \u0027377cc4887d3557377f63bfe9d179623985c9484e\u0027:\n  Revert \"LayoutLib: Fix true transparency in status bar.\"\n"
    },
    {
      "commit": "71daca031e5ecf65969479f8b416c43394187926",
      "tree": "598c42602bc2587ed83987b8f77976179f618401",
      "parents": [
        "488b4b5872f64c2e9df932c84593d5baf9155ee1",
        "dd97829cf2b8599058f0410ea45bc84cd86e839b"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 23:33:02 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 23:33:02 2015 +0000"
      },
      "message": "Merge \"AppCompatActionBar: use findClass to test presence\" into mnc-ub-dev am: 42a893b50b\nam: dd97829cf2\n\n* commit \u0027dd97829cf2b8599058f0410ea45bc84cd86e839b\u0027:\n  AppCompatActionBar: use findClass to test presence\n"
    },
    {
      "commit": "603544d4c42cd8e0cc46da04f28a8fead64665e3",
      "tree": "5037cf08cb4ca9fff2c8c921fc6766ebd9332af5",
      "parents": [
        "f7aceb60e3e0d6ec611b3fa2dd64e6e4e1196f4c",
        "6777f54fa44341dd4b23456c97d97c6e4ffe915f"
      ],
      "author": {
        "name": "Diego Perez",
        "email": "diegoperez@google.com",
        "time": "Tue Nov 17 22:34:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 17 22:34:08 2015 +0000"
      },
      "message": "Merge \"Fix delegation of methods within inner static classes\" into mnc-ub-dev"
    },
    {
      "commit": "377cc4887d3557377f63bfe9d179623985c9484e",
      "tree": "73c12b0062f82676449027d0e7d577a3dee12ea9",
      "parents": [
        "dd97829cf2b8599058f0410ea45bc84cd86e839b",
        "4ea74d2960688db6aa13452765dd5f2d07a40189"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 20:50:07 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 20:50:07 2015 +0000"
      },
      "message": "Revert \"LayoutLib: Fix true transparency in status bar.\"\nam: 4ea74d2960\n\n* commit \u00274ea74d2960688db6aa13452765dd5f2d07a40189\u0027:\n  Revert \"LayoutLib: Fix true transparency in status bar.\"\n"
    },
    {
      "commit": "e4826981f250e24e057f81c9a38bae92dd891631",
      "tree": "7cb328895424da891d4b666bc11f0436f70e8dac",
      "parents": [
        "fe882edc12af5cbf67092e92fbce21935c996576",
        "606e5a0c562a461919e90ddf1e41036d926c9716"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 20:43:02 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 20:43:02 2015 +0000"
      },
      "message": "LayoutLib: IntelliJ changed project files. am: 22931224d9 am: 66840955d8 am: e45abdb126\nam: 606e5a0c56\n\n* commit \u0027606e5a0c562a461919e90ddf1e41036d926c9716\u0027:\n  LayoutLib: IntelliJ changed project files.\n"
    },
    {
      "commit": "dd97829cf2b8599058f0410ea45bc84cd86e839b",
      "tree": "5646875236049cba772bbf81d4c7495c7999e40c",
      "parents": [
        "9bf367030c24e93c711d2ba9ca5594e70a652596",
        "42a893b50b2763d7a2a3da4006c9433afaf86cfd"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 20:32:31 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 20:32:31 2015 +0000"
      },
      "message": "Merge \"AppCompatActionBar: use findClass to test presence\" into mnc-ub-dev\nam: 42a893b50b\n\n* commit \u002742a893b50b2763d7a2a3da4006c9433afaf86cfd\u0027:\n  AppCompatActionBar: use findClass to test presence\n"
    },
    {
      "commit": "4ea74d2960688db6aa13452765dd5f2d07a40189",
      "tree": "d0a4aa4b669512bedf3229da386ea04470d3c89c",
      "parents": [
        "42a893b50b2763d7a2a3da4006c9433afaf86cfd"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 11:42:42 2015 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 12:25:25 2015 -0800"
      },
      "message": "Revert \"LayoutLib: Fix true transparency in status bar.\"\n\nThis reverts commit 4eb298a941c3f465944b63f1a06518e911681c89.\n\nEven though this is techinically closer to what the framework does, the\nfix is not complete. As a result, it looks worse when using AppCompat\nthemes. Revert the change for the release.\n\nChange-Id: I67c1002ea17dee7234d78e2d13aab876467bd70f\n"
    },
    {
      "commit": "42a893b50b2763d7a2a3da4006c9433afaf86cfd",
      "tree": "82663e3616293bdb21d8118f92236e35cb504ff1",
      "parents": [
        "22931224d9a9845d316a9ea30e56557bec0b2e45",
        "99b54b364b6d4e0689933393a9b584e542fc2c54"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 20:22:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 17 20:22:43 2015 +0000"
      },
      "message": "Merge \"AppCompatActionBar: use findClass to test presence\" into mnc-ub-dev"
    },
    {
      "commit": "ab45fc1a4f9726630322b7579168835d84711bdf",
      "tree": "953c5264a3647bd018fd6303241e7ce7b23a106a",
      "parents": [
        "46f92eafe669f3ae29299860bf79378ffa111898",
        "22931224d9a9845d316a9ea30e56557bec0b2e45"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 19:54:06 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 19:54:06 2015 +0000"
      },
      "message": "LayoutLib: IntelliJ changed project files.\nam: 22931224d9\n\n* commit \u002722931224d9a9845d316a9ea30e56557bec0b2e45\u0027:\n  LayoutLib: IntelliJ changed project files.\n"
    },
    {
      "commit": "22931224d9a9845d316a9ea30e56557bec0b2e45",
      "tree": "3a533b4506eaa5469be0b0baacaa0cdba60c0d84",
      "parents": [
        "053f241cc7cc23f41fde42c6a0c9ecf2f8cd2830"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 11:37:35 2015 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 11:37:35 2015 -0800"
      },
      "message": "LayoutLib: IntelliJ changed project files.\n\nChange-Id: I1f99ab678067c26ba2e9938c9dce40c99a6725c3\n"
    },
    {
      "commit": "99b54b364b6d4e0689933393a9b584e542fc2c54",
      "tree": "805e6afcf466ad34d82f0ab93e20e61a8c852ab3",
      "parents": [
        "053f241cc7cc23f41fde42c6a0c9ecf2f8cd2830"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 11:34:32 2015 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 11:34:32 2015 -0800"
      },
      "message": "AppCompatActionBar: use findClass to test presence\n\nTo test the presence of WindowDecorActionBar class, use findClass()\ninstead of loadClass() which logs warnings.\n\nChange-Id: Ice8a5a6badd764c7f75b5a64a07c48f0a7cfef98\n"
    },
    {
      "commit": "e5c5d995e424e17c8f5b60581374dee6881268f0",
      "tree": "bfa97a39cff3c765bcdbc6c34b122dcfb859e6b3",
      "parents": [
        "9cb81aa210419ea14ff396fb533ad500094b00f2"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri Sep 11 14:24:24 2015 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Nov 17 14:52:31 2015 +0000"
      },
      "message": "Remove the aidl tool\n\nThis has been moved into its own repository at\n\n//system/tools/aidl\n\nTest: Built aosp_arm-eng from scratch.\nBug: 23691099\n\n(cherry-pick of commit 73ea1230fc2a4007973efe3730d482d7bc6cf87a)\n\nChange-Id: I993f2f08ed476e1cce6f39b58fed8eca2f2ce979\n"
    },
    {
      "commit": "efc90e4f60af2058670d6e287184a33e63e6f7c5",
      "tree": "e12503d4df6e75a69fca22d2ca7b7c2669ff6dc5",
      "parents": [
        "5aac37c114c16e336709e3373abf87711063b201",
        "d00380a560dff6a2237086f2f4c96313785ce93f"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 03:59:41 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 03:59:41 2015 +0000"
      },
      "message": "Merge \"WindowDecorActionBar name change fix.\" into mnc-ub-dev am: 62302bd72a am: 80bd5e6fd7 am: 9f275ec3fd\nam: d00380a560\n\n* commit \u0027d00380a560dff6a2237086f2f4c96313785ce93f\u0027:\n  WindowDecorActionBar name change fix.\n"
    },
    {
      "commit": "ce400cd75e1e1a90c0b4da4de90d7314fd21dca8",
      "tree": "63618702ee1b759e93d799e71487a2903a6b503a",
      "parents": [
        "6881185307c4f582996fb3a7792453b06857bebb",
        "62302bd72aaa6b0f934257447e8dcd636799180e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 17 01:17:27 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 17 01:17:27 2015 +0000"
      },
      "message": "Merge \"WindowDecorActionBar name change fix.\" into mnc-ub-dev\nam: 62302bd72a\n\n* commit \u002762302bd72aaa6b0f934257447e8dcd636799180e\u0027:\n  WindowDecorActionBar name change fix.\n"
    },
    {
      "commit": "abf83cbe4f63cd76043aab89cd0e08525560fea2",
      "tree": "1fbe581590f001d5af1c63ae8126aad1e9ea6d77",
      "parents": [
        "cf95a580149ec03588b1c75f036c924730f83615"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 16 15:59:10 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 16 15:59:10 2015 -0800"
      },
      "message": "AAPT2: Prevent duplicate enums/flags\n\nChange-Id: I998cba12ac194000e9c778cb620ed7ab33003e7d\n"
    },
    {
      "commit": "2b0551175d57ce0f063566eea7670442b8b624fc",
      "tree": "4d10e93f78b0d76b48e610419f215aceae1503c5",
      "parents": [
        "20ba5c919bb97bb922919a34b3a081ea26b25000"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon Nov 16 15:46:12 2015 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon Nov 16 15:46:12 2015 -0800"
      },
      "message": "WindowDecorActionBar name change fix.\n\nIn change id I7582e242c7564c32feeb044fc9eff6bfb5c56536,\nWindowDecorActionBar\u0027s package name was changed. This breaks layoutlib.\nFix the issue by checking both package names when loading the class.\n\nChange-Id: I5723a97f0f164d61c56061fef6cff18e3cdafaee\n"
    },
    {
      "commit": "cf95a580149ec03588b1c75f036c924730f83615",
      "tree": "c96454c3cd4f6cda78d00c6c7367e07c7161f738",
      "parents": [
        "fc9570e6b0a6304abe6e6c52613516e93cf9251f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 16 15:37:30 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 16 15:44:08 2015 -0800"
      },
      "message": "AAPT2: Fix tokenizer to deal with the separator as last char\n\nWhen the separator was the last character, the tokenizer would skip\nthe empty string, which is wrong.\n\nChange-Id: I64ceb4e8d4ac48ee41d40781ab5785a3bc61b24d\n"
    }
  ],
  "next": "fc9570e6b0a6304abe6e6c52613516e93cf9251f"
}
