)]}'
{
  "log": [
    {
      "commit": "726fb28248a2d0d13123ec808a1e28c813aa7fb5",
      "tree": "23ffc0ca7ebc3ae247d9e75084b0d966fb4583bb",
      "parents": [
        "066be66d6060c3dd23a84690a396d1df12c6404d"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Mar 31 12:56:11 2015 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Apr 01 11:49:54 2015 -0400"
      },
      "message": "Change carrier text to \u0027airplane mode\u0027 when on\n\nBug: 18833886\nChange-Id: Iae757cacb7770cbe7e3509a943c78d04ee0f99f4\n"
    },
    {
      "commit": "bba9a212a07ed95a14e86b5d6a18792a90b47f7b",
      "tree": "c55afc8b717ec904625503be7b9ab95f2bdba550",
      "parents": [
        "052591143bf9345c30dec5758f211667144dcf2a"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Jun 02 17:57:07 2014 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Jun 02 23:48:29 2014 +0200"
      },
      "message": "Remove now defunct touch analysis facility\n\nBug: 15381470\nChange-Id: I2ab252e4c0122d79c9a78b3df643bfd46a105cf0\n"
    },
    {
      "commit": "380ecb81db52a9d0197ca969951d07b91c20d2b9",
      "tree": "753915d98f530e97095dc9f3c95dba67d3fadfb5",
      "parents": [
        "ca4761661a41fc0750a2bc5e7c90481216e626c3"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Mar 14 17:25:20 2014 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Mar 28 22:35:03 2014 +0100"
      },
      "message": "Make Keyguard a library and make StatusBar the new Keyguard.\n\nThis change achieves a couple of things:\n- Let Keyguard be a library, so we can use it in SystemUI.\n- Introduce FLAG_KEYGUARD for windows and deprecate TYPE_KEYGUARD. Make\nall the TYPE_KEYGUARD behaviour dependant on the flag.\n- Implement a new KeyguardService in SystemUI, and bind that service\nfrom PhoneWindowManager.\n- Introduce BaseStatusBar.setKeyguardState and inflate\nKeyguardSimpleHostView there and use FLAG_KEYGUARD for the window, such\nthat the status bar window essentially gets the Keyguard.\n\nBug: 13635952\nChange-Id: I059d80d8b9b9818a778ab685f4672ea2694def63\n"
    },
    {
      "commit": "58b58fe68b5b675672b8c4ad84e720365013d412",
      "tree": "72665f84b1ec92434c30036a52b543cbb7f8738d",
      "parents": [
        "1cdd7dda61b30358c843e534394c32f24bc5271f"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Jan 31 16:00:39 2014 -0800"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Mar 03 17:09:27 2014 +0100"
      },
      "message": "Add session analytics to Keyguard.\n\nOn eng and userdebug builds, adds the possibility to track touch and sensor events on the Keyguard.\n\nChange-Id: I9ff9fe5545cb9b7e6833a6af0b5a97a6c204dbd2\n"
    },
    {
      "commit": "898c13df7b9b12ff10062f3542593e12fbe0c119",
      "tree": "323bc4d7da06b48af2079f44c5f8d346d265e956",
      "parents": [
        "df88d73092c62a1a3cd2b2056ca63ae2e70cc238"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 28 15:34:50 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 05 19:26:40 2014 +0000"
      },
      "message": "Check feature bits before loading optional services\n\nAt startup, we check with PackageManager whether a system service is\navailable before attempting to load it. A system service is available\nif its associated feature (similar to hardware features) is present.\nThis does not remove unavailable services from the compiled jar.\n\nChange-Id: I13571805083aa4e65519a74acb52efd17b9fb3d7"
    },
    {
      "commit": "ccbf84f44c9e6a5ed3c08673614826bb237afc54",
      "tree": "854e35665f7754b3b0d1b4aaadc7b4927c3ea9ce",
      "parents": [
        "4ffa23379f95771fcdc63a2e35586b7e2c0b23a5"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 08 15:25:41 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 17 12:47:35 2013 -0700"
      },
      "message": "Some system apps are more system than others\n\n\"signatureOrSystem\" permissions are no longer available to all apps\nresiding en the /system partition.  Instead, there is a new /system/priv-app\ndirectory, and only apps whose APKs are in that directory are allowed\nto use signatureOrSystem permissions without sharing the platform cert.\nThis will reduce the surface area for possible exploits of system-\nbundled applications to try to gain access to permission-guarded\noperations.\n\nThe ApplicationInfo.FLAG_SYSTEM flag continues to mean what it is\nsays in the documentation: it indicates that the application apk was\nbundled on the /system partition.  A new hidden flag FLAG_PRIVILEGED\nhas been introduced that reflects the actual right to access these\npermissions.\n\nAt some point the \"system\" permission category will be\nrenamed to \"privileged\".\n\nBug 8765951\n\nChange-Id: I6f0fd9cdb9170e076dfc66d83ecea76f8dd7335d\n"
    },
    {
      "commit": "c0b676dcc23baedb12946c3470d9fa9b02cb39e0",
      "tree": "a0050fe524ddbbdd56bd81ea7c67b3a7dd248c69",
      "parents": [
        "69fd7bd660a3a2d1b4c260eee9bbc6868b47d0c4"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Mar 22 16:11:08 2013 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Apr 26 14:34:21 2013 -0700"
      },
      "message": "Add keyguard background scrim and protection around keyguard APIs\n\nWith this change, the system process will put up a scrim in the\nevent keyguard crashes to protect underlying content.\n\nIt also adds permission checks to prevent unathorized access\nthrough the binder APIs.\n\nCleaned up KeyguardTestActivity to build separately.\n\nRemoved unused resources.\n\nChange-Id: I9e370c6bfb7dca68eae9eae304c815fb84a753d2\n"
    },
    {
      "commit": "195b551761773912196a10e6d84109027d470eb8",
      "tree": "7d8013ee182ccf8aa6cb107d8f1696137e7e21e6",
      "parents": [
        "1430193df4ea1b7e6a72c9a299dff3edcb880b0f"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 28 03:35:57 2013 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 28 13:40:49 2013 -0800"
      },
      "message": "Fix dependency between keyguard/dexopt/AccessibilityManagerService.\n\nThis fixes a bug on userdebug builds where dexopt hadn\u0027t completed\nbefore the service is needed.  The resulting crash prevented dexopt\nfrom completing, resulting in a reboot loop and perpetual issue starting\nthe service.\n\nThe solution is to hold off on creating keyguard until the system is ready.\n\nIt also moves the creation of the AccessibilityManagerService singleton back\ninto the system process.\n\nFixes bug 8287106\n\nChange-Id: I96e15c084d38c255fd8f6bca6f21a0785b82ec74\n"
    },
    {
      "commit": "5ecd81154fa039961f65bb4e36d18ac555b0d1d6",
      "tree": "ce0d9d0e4ade28d865fb5005fa03fed78ad9ff91",
      "parents": [
        "25a272a9f6323f6a3513bb522d45e839449878ce"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Jan 09 18:50:26 2013 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Feb 27 17:27:53 2013 -0800"
      },
      "message": "Move keyguard to its own process.\n\nThis is in preparation to moving keyguard into its own process.\n\nMoved keyguard source and resources into new .apk.\n\nGot basic test app working.  Still need to implement MockPatternUtils\nand means to pass it into KeyguardService with local binder interface.\n\nAdded new ACCESS_KEYGUARD_SECURE_STORAGE permission.\n\nTemporarily disabled USER_PRESENT broadcast.\n\nRemove unintentional whitespace changes in PhoneWindowManager, etc.\n\nCheckpoint basic working version.\n\nMove to systemui process.\n\nSynchronize with TOT.\n\nSync with recent user API changes.\n\nFix bug with returing interface instead of stub for IKeyguardResult.  Create KeyguardServiceDelegate to allow\nfor runtime-selectable local or remote interface.\n\nMore keyguard crash robustness.\n\nKeyguard crash recovery working.  Currently fails safe (locked).\n\nFix selector view which was still using frameworks resources.\n\nRemove more references to internal framework variables.  Use aliases for those we should move but\ncurrently have dependencies.\n\nAllow runtime switching between service and local mode.\n\nFix layout issue on tablets where orientation was reading the incorrect constant\nfrom the framework.  Remove more framework dependencies.\n\nFix PIN keyboard input.\n\nRemove unnecessary copy of orientation attrs.\n\nRemove unused user selector widget and attempt to get multi user working again.\n\nFix multi-user avatar icon by grabbing it from UserManager rather than directly since\nkeyguard can no longer read it.\n\nMerge with AppWidget userId changes in master.\n\nChange-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2\n"
    }
  ]
}
