)]}'
{
  "log": [
    {
      "commit": "ef9f6f957d897ea0ed82114185b8fa3fefd4917b",
      "tree": "4aff42f3d54f4454e598f27829c4983ba808afa7",
      "parents": [
        "4b5c2d3cfc8aec4ab90097734a3556a0d0c0e68d"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Sep 12 22:16:17 2014 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Sep 12 22:16:17 2014 -0700"
      },
      "message": "Renaming Telecomm to Telecom.\n\n- Changing package from android.telecomm to android.telecom\n- Changing package from com.android.telecomm to\ncom.android.server.telecomm.\n- Renaming TelecommManager to TelecomManager.\n\nBug: 17364651\nChange-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638\n"
    },
    {
      "commit": "dabae759ceeb17580b431b1bd1af69f33db412a3",
      "tree": "d29b4bc17fc6d0bb82d0287eb66e3b0effd0861f",
      "parents": [
        "c54a76cbcd1e4bc7f27de2010c1c1fd4ed6f845a"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Aug 21 16:34:43 2014 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Aug 21 23:36:29 2014 +0000"
      },
      "message": "Clean up RsFountainFbo_intermediates.\n\nChange-Id: I5c041bac357466d918d3dd209f36b505fd000852\n"
    },
    {
      "commit": "101717fc9dca0a90423ffeee309d9ed1ccd90981",
      "tree": "20053554b11d6495174ec332d64b56b96c3e8a7e",
      "parents": [
        "833dcd4bea5cadccaa55f9a06942bb36d01d73ac"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Aug 19 13:16:47 2014 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Aug 20 21:09:41 2014 +0000"
      },
      "message": "Add cleanspec for inputflinger removal\n\nChange-Id: I4fe5ca7f8024d3a8d68eea6070d8c508501da280\n"
    },
    {
      "commit": "29564cd24589867f653cd22cabbaac6493cfc530",
      "tree": "c5ee0b88f293d292d95012844097acd172a7a72a",
      "parents": [
        "bdc78678dedc6b66b9584948b908cd8cf77c6b30"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Aug 07 10:57:40 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 15 13:37:03 2014 +0100"
      },
      "message": "Remove system_server classes from the boot image.\n\nWe set the system_server classpath in the environment\n(like we do with BOOTCLASSPATH). After the zygote forks\nthe system_server, we dexopt the classpath (if needed)\nand then launch the system server with the correct\nPathClassLoader. This needed several small / medium\nrefactorings :\n\n- The logic for connecting to installd is now in a separate\n  class and belongs in the system_server.\n- SystemService / SystemServiceManager have now moved to\n  classes.jar. They are only used from there, and since they\n  use Class.forName, we want them to be loaded by the\n  system_server classloader, and not the bootclassloader.\n- BootReceiver now moves to frameworks.jar, because it is\n  used by ActivityThread and friends.\n\nbug: 16555230\n\nChange-Id: Ic84f0b2baf611eeedff6d123cb7191bb0259e600\n"
    },
    {
      "commit": "609a324c7c463bcb104ad04de62ac559a13a2c79",
      "tree": "079a8ce8b215c452895fdba53fee18c5183b7713",
      "parents": [
        "65e2685dbd06cf151686132f64a9c50e07c77998"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 06 09:24:34 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 06 09:28:58 2014 -0700"
      },
      "message": "CleanSpec!\n\nChange-Id: I0f2375c281ed24615604abf41aad6e976a5d5427\n"
    },
    {
      "commit": "aa4e23bbb36994708ba72c5f4c83255025d99e07",
      "tree": "ba6776a3c108a1a31351c212abfb1ba800f34a15",
      "parents": [
        "b214efbb9170a9f6a4991684a63ca59680074cc7"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Jul 24 18:35:11 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri Jul 25 16:22:59 2014 -0700"
      },
      "message": "Add getPackageName to MediaController\n\nThis removes the MediaSessionInfo class and adds a method on the\ncontroller to get the package name. This also converts code that\ndepended on the session\u0027s UUID to use the token for comparison or\nthe Tag in the case of test code that needs a string identifier.\n\nChange-Id: Icb8dc76c70e23e897da8fd07651c524b96372bf9\n"
    },
    {
      "commit": "2726e0a6eb6443f832a356c638d1831c3cbe2182",
      "tree": "1369ac302b4394916c48d165dd28d0babc3aec4d",
      "parents": [
        "4758b4134aed6b067413d4e5ba228f27aa184dbc"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri Jul 25 13:29:59 2014 -0700"
      },
      "committer": {
        "name": "Erik Pasternak",
        "email": "roboerik@android.com",
        "time": "Fri Jul 25 20:36:50 2014 +0000"
      },
      "message": "Add clean step to remove old framework intermediates\n\nThe framework intermediates path moved. Failing to notice this will\ncause your classpath to be wrong and you\u0027ll get red on new aidl methods.\nThis removes the old path which makes it more obvious that it\u0027s moved.\n\nChange-Id: If1a36fefc703b7899e09687e2de598c3830fa72e\n"
    },
    {
      "commit": "88e199045bbe10296124203837b24dea116bf108",
      "tree": "025a6733eaa53585970f3abcb6ac9a1e1ccacedc",
      "parents": [
        "e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Jul 21 14:40:42 2014 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Jul 21 15:23:14 2014 -0700"
      },
      "message": "Build framework.jar with multidex support.\n\nWe don\u0027t need the framework/framework2 split now with the multidex\nsupport.\n\nChange-Id: I30ee5c7e24df87b2c54e854f17fbf0b5adef4c60\n"
    },
    {
      "commit": "2a46b90222e5c9c73de012382a604a71f9c0c30c",
      "tree": "b350a21f6551c2f7640d8b2f2eb587f6b60a0b9a",
      "parents": [
        "7f87e8acbbe02cb28af35f9f6dde09e700d7c5d2"
      ],
      "author": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Fri Jul 04 17:21:07 2014 -0700"
      },
      "committer": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Tue Jul 08 04:15:55 2014 +0000"
      },
      "message": "Move ICallService.aidl to IConnectionService.aidl\n\nChange-Id: I5a082e50dafea0104174cb97d3ae8af168944fc3\n"
    },
    {
      "commit": "6ee242a58c659738a58986a1c7573eb019a42ad5",
      "tree": "282260dc496a85d183d7cc11dddf9ccafcf8a898",
      "parents": [
        "d04fc42ab0dd4ce4dd8a551cada73637a33104a3"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 02 18:36:07 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 02 18:37:09 2014 -0700"
      },
      "message": "CleanSpec to fix build.\n\nChange-Id: I3995214498d22fa1bdb82eb44cda2e5ca6ba02a4\n"
    },
    {
      "commit": "c0ffce5ddd6446f1d46a49cdfaeda4a2ce408e1d",
      "tree": "d35f14610cdd43912a963295aa6719ae596a1669",
      "parents": [
        "51cb97096814352127aed69e5ac97013e9172038"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jul 01 12:38:52 2014 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jul 02 16:31:46 2014 -0700"
      },
      "message": "Use cached thumbnails in Recent tasks.\n\nThe thumbnail returned from ActivityManager.getTaskThumbnail() now\ncontains either a Bitmap or a ParcelFileDescriptor that points to\na file containing a compressed Bitmap. The Recent tasks list is\nnow responsible for all thumbnail Bitmap caching as the activity\nmanager keeps only the most recent 5. This also permits low memory\ndevices to have many more tasks in the Recent tasks list.\n\nAs part of this CL the concept of subtasks is removed eliminating\ncode supporting the TaskAccessInfo and IThumbnailRetriever classes.\n\nFixes bug 15828934.\n\nChange-Id: I0fd0320a1a04e3c78d79357899b83a2fff97abf2\n"
    },
    {
      "commit": "f8458ff9d97f8961d67c41ee107129ecba873f36",
      "tree": "b77a1aa833ceea56d849fe2a1142c0e4fc81bdd0",
      "parents": [
        "226a51958d645a8e2be3e40a6b6daaca558b4913"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jun 25 16:08:02 2014 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jun 26 02:37:08 2014 +0000"
      },
      "message": "Fix lpdk build.\n\nMove aidl files from frameworks/opt/net/ims to frameworks/base so lpdk\ncompiles. The reason is lpdk doesn\u0027t have frameworks/base sources so\nreferences to Pending and Bundle in aidl files breaks the pdk build.\n\nI had to move all of them and the ims/*java files for dependency reasons.\n\nChange-Id: I92452562591b157cecdfc01bcd892c4f35f5965c\n"
    },
    {
      "commit": "67e0789cd3870af2fbbdefbff28f6fde9095a015",
      "tree": "337d96d1cc412a20d7f16b8b809390f5c6a33b26",
      "parents": [
        "d09692de9cb3cd26927c6d992b03c61a9885cd01"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jun 18 16:43:14 2014 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sun Jun 22 14:41:22 2014 +0000"
      },
      "message": "Mobile_radio in battery history is not accurate\n\nInvoke TelephonyManager#listen to connect mPhoneStateListener to receive\nthe notifications.\n\nBug: 15568103\nChange-Id: I5a3fa6347704e96ceb34289f74ba6e3157bbb333\n"
    },
    {
      "commit": "cf1a2f73fc102be2ac7060ac97d4682bb2565ca5",
      "tree": "f00e01d283dbf43199d2d3692d578b7e18e9326c",
      "parents": [
        "6b2df21ecacfa6826a85cabdf8d6fe0e81fe11d9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 16 15:51:39 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 17 12:14:45 2014 -0700"
      },
      "message": "Switch everything to scheduled jobs\n\nEverything that used the IdleMaintenance APIs/broadcasts gets to use the\nspiffy new JobScheduler instead.  Hooray!\n\nOn top of that, the now-obsolete \"idle maintenance\" APIs are now gone\nentirely.  Double hooray!\n\nBug 14993295\n\nChange-Id: I5fb67c296ca8cd0ba8a2c8760a0f0d9d962d813b\n"
    },
    {
      "commit": "fb40dd4d00bd3361b2535bc866e6c21eadc52558",
      "tree": "01786f3e2bc9c803801f43fb8bc942e55a06e859",
      "parents": [
        "6dfa6e2a9be08a3a0f152a7b772efc8ce2469bce"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jun 12 17:02:31 2014 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Jun 13 13:30:57 2014 +0000"
      },
      "message": "Merge kwd to master\n\nAdd initial IMS and MSIM support from klp-wireless-dev-mirror\n\nChange-Id: Idb607c0aa32f80fe4fe1539aedea7a221e9e7f04\n"
    },
    {
      "commit": "7060b04f6d92351b67222e636ab378a0273bf3e7",
      "tree": "82fce1e04dd58a5d79895d0869b3b0adeffbb417",
      "parents": [
        "6d7a25f317be60ae8a4d8806e517052be2398753"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 09 19:50:00 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 10 12:51:55 2014 -0700"
      },
      "message": "Out with the old; in with the new\n\nSwitch to the official \"JobScheduler\" etc naming.\n\nBug 14997851\n\nChange-Id: I73a61aaa9af0740c114d08188bd97c52f3ac86b7\n"
    },
    {
      "commit": "d5cc4a281e7ce29d1e8687ff3394b57a3a549260",
      "tree": "a54c168980e6a2fc805892d1653236f7da6ebe5c",
      "parents": [
        "e205192c722e4fa1b37ee1b31dced21cf89ffbb4"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Fri May 30 16:57:43 2014 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Mon Jun 02 11:02:52 2014 -0700"
      },
      "message": "Put TV Input Framework under android.media.tv, including TvContract\n\nBug: 15345342\nChange-Id: I665ca23f0f074ce29cb2e047109b209178532107\n"
    },
    {
      "commit": "fe7dbba52623a6049d72b0a47dfbc65dce27c870",
      "tree": "1ae184099a92158635cc251371f2c132b61e126c",
      "parents": [
        "61a9e8635f04e5bae5f4ee81579beb9d5baf56d0"
      ],
      "author": {
        "name": "Griff Hazen",
        "email": "griff@google.com",
        "time": "Sun May 25 18:55:02 2014 -0700"
      },
      "committer": {
        "name": "Griff Hazen",
        "email": "griff@google.com",
        "time": "Sun May 25 19:37:39 2014 -0700"
      },
      "message": "DO NOT MERGE Cherry-pick: Fix build: CheckBuild line for removed wearable package\n\nChange-Id: I26e39dc11add182e07bcc13456a166c86c911210\n"
    },
    {
      "commit": "09233289624a85093b1d99e4a6a149bf09059d8d",
      "tree": "ced7eefedc4db60d4134aee3616e9b043cd950d7",
      "parents": [
        "201a24f652745c4bcbe7e26f0ffea973bcb615b3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 30 11:33:59 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 11:51:26 2014 -0700"
      },
      "message": "Make GET_TASKS signature|system.\n\nNormal apps can\u0027t hold it now.  If they try to use\ngetRecentTasks() or getRunningTasks() without the permission,\nthey will only see their own tasks and home in the list.\n\nAlso took this opportunity to eradicate all of the old pending\nthumbnail stuff.\n\nChange-Id: I6dc52a06221c78097162e4a8b482027b798bf3ee\n"
    },
    {
      "commit": "5b517bbac6caa60ae002737770e6349634c276f7",
      "tree": "582a4968168e15986637027812285d98fdce4248",
      "parents": [
        "53ad398074bd9a0c54baab3d66d5842edb0733f8"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri Apr 18 14:48:24 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri Apr 18 14:48:24 2014 -0700"
      },
      "message": "Add cleanspec for media Session apis.\n\nChange-Id: I58b0acda2a91b3afe6febc3bc00e26fbe27dd431\n"
    },
    {
      "commit": "3957091ba8f08c02b5e781098cb955a5f697a1ff",
      "tree": "c8739c677c87e62ea6c1e8bc45de027d1e65d87c",
      "parents": [
        "53c2cf799fddfae7f6fc9ca1840ea345308b79ee"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Thu Feb 20 18:23:25 2014 -0800"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Tue Apr 08 13:35:21 2014 -0700"
      },
      "message": "Initial round of Television Input Framework\n\nThis provides APIs to control and create individual television inputs on\nthe system which will later be hosted by television applications.\n\nChange-Id: I6866d28e78175a1bff2c32a85c5d77e94d0cd60c\n"
    },
    {
      "commit": "8e3feb15c5aec2c72b0ef120a1da325e1e8f0dda",
      "tree": "424ee490ecedaed22da440cbaf4eb34411649bac",
      "parents": [
        "17cb58137949420e83d29aeec4f933c35565027c"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Feb 24 13:46:47 2014 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 20 16:52:59 2014 +0000"
      },
      "message": "Added accessibility APIs for introspecting interactive windows.\n\n1. The old introspection model was allowing querying only the active window\n   which is the one the user is touching or the focused one if no window is\n   touched. This was limiting as auto completion drop downs were not inspectable,\n   there was not way to know when the IME toggles, non-focusable windows were\n   not inspectable if the user taps them as until a screen-reader starts\n   introspecting the users finger is up, accessibility focus was limited to\n   only one window and the user couldn\u0027t use gestures to visit the whole UI,\n   and other things I can\u0027t remember right now.\n\n   The new APIs allow getting all interactive windows, i.e. ones that a\n   sighted user can interact with. This prevents an accessibility service\n   from interacting with content a sighter user cannot. The list of windows\n   can be obtained from an accessibility service or the host window from an\n   accessibility node info. Introspecting windows obey the same rules for\n   introspecting node, i.e. the service has to declare this capability\n   in its manifest.\n\n   When some windows change accessibility services receive a new type\n   of event. Initially the types of windows is very limited. We provide\n   the bounds in screen, layer, and some other properties which are\n   enough for a client to determined the spacial and hierarchical\n   relationship of the windows.\n\n2. Update the documentation in AccessibilityService for newer event types.\n\n3. LongArray was not removing elements properly.\n\n4. Composite accessibility node ids were not properly constructed as they\n   are composed of two ints, each taking 32 bits. However, the values for\n   undefined were -1 so composing a 64 long from -1, -1 prevents from getting\n   back these values when unpacking.\n\n5. Some apps were generating inconsistent AccessibilityNodeInfo tree. Added\n   a check that enforces such trees to be well formed on dev builds.\n\n6. Removed an necessary code for piping the touch exploration state to\n   the policy as it should just use the AccessibilityManager from context.\n\n7. When view\u0027s visibility changed it was not firing an event to notify\n   clients it disappeared/appeared. Also ViewGroup was sending accessibility\n   events for changes if the view is included for accessibility but this is\n   wrong as there may be a service that want all nodes, hence events from them.\n   The accessibility manager service takes care of delivering events from\n   not important for accessibility nodes only to services that want such.\n\n8. Several places were asking for prefetching of sibling but not predecessor\n   nodes which resulted in prefetching of unconnected subtrees.\n\n9. The local AccessibilityManager implementation was relying on the backing\n   service being ready when it is created but it can be fetched from a context\n   before that. If that happens the local manager was in a broken state forever.\n   Now it is more robust and starts working properly once the backing service\n   is up. Several places were lacking locking.\n\nbug:13331285\n\nChange-Id: Ie51166d4875d5f3def8d29d77973da4b9251f5c8\n"
    },
    {
      "commit": "2f5b057da7d05d5d699a272aa24fd7c97cdda820",
      "tree": "c11d78d206773981c7057110a54d186ed02cdcc5",
      "parents": [
        "503923220cca802f6dfc12f902ab0f6d1a12434f"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri Feb 21 10:30:38 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Feb 25 16:01:55 2014 -0800"
      },
      "message": "Move Session apis to android.media.session\n\nThis is to make it easier to distinguish the new apis from the old\nones.\n\nChange-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7\n"
    },
    {
      "commit": "49782e46c0eb85a25ae2abcf80880c48dbab5aea",
      "tree": "9fab2a40c41004d78b7001dc766d85f61d24f582",
      "parents": [
        "4dace6f66d498c2d119adf265776aa83b28452af",
        "9158825f9c41869689d6b1786d7c7aa8bdd524ce"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Dec 19 23:30:35 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 19 23:30:35 2013 +0000"
      },
      "message": "am 9158825f: Move some system services to separate directories\n\n* commit \u00279158825f9c41869689d6b1786d7c7aa8bdd524ce\u0027:\n  Move some system services to separate directories\n"
    },
    {
      "commit": "9158825f9c41869689d6b1786d7c7aa8bdd524ce",
      "tree": "f41944461539f0c70030668b4558296469c307d3",
      "parents": [
        "30d032928a294fbb6f385e9d0367a75b7bf2649b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 22 08:25:26 2013 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Dec 19 15:25:37 2013 -0800"
      },
      "message": "Move some system services to separate directories\n\nRefactored the directory structure so that services can be optionally\nexcluded. This is step 1. Will be followed by another change that makes\nit possible to remove services from the build.\n\nChange-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85\n"
    },
    {
      "commit": "a1f9936c6ba5ab6761e0bd9de894997ae6ba9ba6",
      "tree": "9eff96dc818c816cdf1693a8149a5f58fd028849",
      "parents": [
        "6c9138f48554136ef80696152067da7bd877d84b",
        "5c880d0d1551603dcc4366406ec9ee3b812a8fc4"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 11 10:11:05 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 11 10:11:05 2013 -0700"
      },
      "message": "am 5c880d0d: am 6f688e87: am 8f34715b: Merge \"Refactor how the print dialog activity is started.\" into klp-dev\n\n* commit \u00275c880d0d1551603dcc4366406ec9ee3b812a8fc4\u0027:\n  Refactor how the print dialog activity is started.\n"
    },
    {
      "commit": "7bfbbcb04bf4ba8f3069b2df136f708c9849bacf",
      "tree": "da453e5f618eacb7cf63de3ef1344507feeecb0a",
      "parents": [
        "1db8cf12a985425a73d24875d9d308c14c0b4359"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Oct 10 13:36:23 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 11 09:11:24 2013 -0700"
      },
      "message": "Refactor how the print dialog activity is started.\n\n1. Before the print job activity was started asyncronously with\n   respect to the print call on to the print manager. This was\n   creating a situation where the starting activity may finish\n   before the print dialog appears which may lead to an orphaned\n   print document adapter with no data to print (as the UI is\n   is gone), or strange behaviors where the print dialog starts\n   on as a separate task.\n\n   To address this the pending intent for starting the print\n   dialog is not started by the print spooler since we cannot\n   call into it synchronously as we have to start its process\n   and bind to the spooler service which leads to jankyness in\n   the client app. Now the pending intent is created by the\n   print manager service in the synchronous print call so\n   from an app\u0027s perspective calling print starts the activity.\n\n   The side effect of this design is that the print dialog\n   activity may start before the system is bound to the spooler\n   service. In such a case the print activity cannot start\n   poking the print spooler state as the system registers\n   callback to observe the spooler state. To address this\n   the print spooler activity disables the UI and also binds\n   to the spooler service which happenes immediately after it\n   is started. As soon as the print dialog binds to the\n   service it starts the UI.\n\n2. Fixed an bug in the printer adapter of the print dialog that\n   was leading to a crash if the only item in the adater is the\n   all pritners option and it is selected.\n\n3. Piping the package name that started the printing so we can\n   pass it to the storage UI as a hint to open the last location\n   the app used.\n\nbug:11127269\n\nChange-Id: Ia93820bdae0b0e7600a0930b1f10d9708bd86b68\n"
    },
    {
      "commit": "632d0381817c43dd7f1ad1720ed0ffd166d43926",
      "tree": "6434b1a40c4544e02536938aa2e7995c9f1be875",
      "parents": [
        "eddb9dc0a4011d48ace2b9f0e4f57295bf16ee1b",
        "66c8aa7413f6bbd4ecd14048ea03267cd5d96fba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 10 11:55:15 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 10 11:55:15 2013 -0700"
      },
      "message": "am 66c8aa74: am c9a4349a: am 8a9b694d: Merge \"Revert \"Headphones volume warning disabled by default\"\" into klp-dev\n\n* commit \u002766c8aa7413f6bbd4ecd14048ea03267cd5d96fba\u0027:\n  Revert \"Headphones volume warning disabled by default\"\n"
    },
    {
      "commit": "f971b1eec5f30b3ba2ed3dfc2737d51807cf0e4d",
      "tree": "0752e0c689747ec6f067a3dfffcc6a6ecac166b7",
      "parents": [
        "5bd70c5eb3ccb5d1eed3f1f7e924a4fb96b0a053"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 10 10:43:13 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 10 10:43:13 2013 -0700"
      },
      "message": "Revert \"Headphones volume warning disabled by default\"\n\nThis reverts commit 7cf06209dcdbadd41fabd7e4e7229832aa8ffff2.\n\nBug: 10297243.\nChange-Id: I95b9b34bb38550af493f9a585b6940c4e18e39cc\n"
    },
    {
      "commit": "806fa829b4d8cb1dc6520872f0d500c41d7eca17",
      "tree": "a7af477c6595361681efe29e5e87c2b26cbfcf76",
      "parents": [
        "bbfd7e3ca23aee588941e380d46a6d9d36b1f71d",
        "0cc9298320fa6f018f0a2b7292057be46964c15c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 20 11:21:56 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 20 11:21:56 2013 -0700"
      },
      "message": "am 0cc92983: am 4e6f752f: Put soundpooled sounds in the right place.\n\n* commit \u00270cc9298320fa6f018f0a2b7292057be46964c15c\u0027:\n  Put soundpooled sounds in the right place.\n"
    },
    {
      "commit": "4e6f752f237ac5c3d96d45d1fc60ec66e10ad63e",
      "tree": "22b6adaae763c54935bd7d7e6a8270d35a93063a",
      "parents": [
        "3855b99ff088abe5c25b35e0dc000644eb2d5fcb"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 20 00:26:29 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 20 00:27:01 2013 -0400"
      },
      "message": "Put soundpooled sounds in the right place.\n\nBug: 10846839\nChange-Id: I5318c2d54ea0e25fa74bbafc35fb4f7a2883b351\n"
    },
    {
      "commit": "c9a48989ec5d92b87332bdff97e53e3cfe300d76",
      "tree": "a0b1f253432172c7290d5aaa6084687f8713a1fe",
      "parents": [
        "0bb53db2fa9fd065448939d330e3e071629422f3",
        "5bb7cefa6f4e068057065c9090a4bb09972487f0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Sep 19 08:00:28 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 19 08:00:28 2013 -0700"
      },
      "message": "am 5bb7cefa: am 1816375f: Merge \"New sounds for K.\" into klp-dev\n\n* commit \u00275bb7cefa6f4e068057065c9090a4bb09972487f0\u0027:\n  New sounds for K.\n"
    },
    {
      "commit": "dcbdd3b420254ce39d9793c6fde6dd05436704ff",
      "tree": "f3ccad6bfd8d702971b670682b85a8e0355d961f",
      "parents": [
        "138685d9db005cbd62ede45eb066a2e672db9588"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 13 11:16:13 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Sep 18 23:09:58 2013 -0400"
      },
      "message": "New sounds for K.\n\nAudioPackage12 uses the new sounds (specifically the default\nversions at 44.1kHz); device-specific makefiles can elect to\nuse the 48k versions instead by including\nAudioPackage12_48.mk.\n\nBug: 9454760\nChange-Id: If714fc4b98f6700163f08c92a6376f28f9616382\n"
    },
    {
      "commit": "c8b9ea3d027ebc2cf951f090cbcf114c6c0fca6d",
      "tree": "73f3836610ae0a2ae31642cc271954dc94dc23e1",
      "parents": [
        "6cc372b16a9e836aee751ebe31b28307e17e8422",
        "edc538a7936925edb9767148dee39f3e78b9ef08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 13 17:30:57 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 13 17:30:57 2013 -0700"
      },
      "message": "am edc538a7: am 0f3e1487: Merge \"Remove obsolete assets from target /system/media/video/\" into klp-dev\n\n* commit \u0027edc538a7936925edb9767148dee39f3e78b9ef08\u0027:\n  Remove obsolete assets from target /system/media/video/\n"
    },
    {
      "commit": "db8c1655ea4af060967cdaef9c1bc74a1003cdc8",
      "tree": "6e9cae349b71505ebf85b6803835d9f1f19e2245",
      "parents": [
        "b25cfdf1ece9163292e2b4c86910fe07b14c0afa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 13 10:16:12 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 13 10:27:40 2013 -0700"
      },
      "message": "Remove obsolete assets from target /system/media/video/\n\nThese were previously used for background replacement effect, but it seems\nlike they aren\u0027t needed any more and just take up space in filesystem.\n\nChange-Id: I0782ac0c8f109e4f28e9f43c20d30dc6ccd82ef7\n"
    },
    {
      "commit": "f8d80233eeabc3a4eb47b8c2f2980e828a35a96e",
      "tree": "98ce629e1f62194e1cb521413a68c762efcac3c9",
      "parents": [
        "28d8be4a45e153cd7cf22716bf9af82ecb80ab29",
        "add9898c7258563888dfda98e5de0faaaf32a201"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 05 15:36:38 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 05 15:36:38 2013 -0700"
      },
      "message": "am add9898c: am 7314eb08: Merge \"Fix broken copy of kl/kcm/idc files to system image\" into klp-dev\n\n* commit \u0027add9898c7258563888dfda98e5de0faaaf32a201\u0027:\n  Fix broken copy of kl/kcm/idc files to system image\n"
    },
    {
      "commit": "37ad207edc2b83ce23a35d1f0f4b7f3409151acc",
      "tree": "5126770ac3fbb28f019044dd779f644c7aa064e3",
      "parents": [
        "56960fbd39706278dbcb9d6ee95e16fa6eff6c6e"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 05 15:10:20 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 05 15:27:32 2013 -0700"
      },
      "message": "Fix broken copy of kl/kcm/idc files to system image\n\nBug: 10633915\nChange-Id: I244b85dc92d50bf8bdcfdf0fe32556eff8c5d279\n"
    },
    {
      "commit": "4918e7ad667eef019d231a9952cb9fda95ea927e",
      "tree": "85cfe3523494c82f3bbb86dfda47ad20055dd1fc",
      "parents": [
        "79a5feff954b496de5c156a2f228b9cdda43cfa8",
        "09ed0720288c8d4b97cfd182c630f142077854e9"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Sep 04 17:19:44 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Sep 04 17:19:44 2013 -0700"
      },
      "message": "resolved conflicts for merge of 09ed0720 to master\n\nChange-Id: I1ce1b48a9fb954caf4fd15237f2f608ac9c478fe\n"
    },
    {
      "commit": "d82c8ac4db7091d2e976af4c89a1734465d20cd2",
      "tree": "a3ccb4d7a4325582dfe028030e4ca2d38ba4c2be",
      "parents": [
        "2a59f3f24076d96cbb10e1c00c3264dec43f19b1"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Aug 26 14:20:16 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Sep 04 14:46:38 2013 -0700"
      },
      "message": "Transition API changes from API council recommendations\n\nIssue #10460684 KLP API Review: android.view.transition and android.animation\nIssue #10570740 Transitions: inflate transition targets from xml\n\nChange-Id: I7a3f6d3aece2fcafc5efd555d033f79e86635c98\n"
    },
    {
      "commit": "24f129f2bad08aaaf4af29d76f5420b2eb029f42",
      "tree": "b3dcbbf96e2cc8b837dec6474c0c95c29a9e3cfe",
      "parents": [
        "b27776a451333fb301e4fec3cc21b81ef0650411",
        "5d73148d4269dce9ce716f022df3a69fc9813195"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Aug 23 10:20:31 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 23 10:20:31 2013 -0700"
      },
      "message": "am 5d73148d: am c78f39d8: Merge \"Add cleanspec for bitmap jni issue\" into klp-dev\n\n* commit \u00275d73148d4269dce9ce716f022df3a69fc9813195\u0027:\n  Add cleanspec for bitmap jni issue\n"
    },
    {
      "commit": "23bf0e579064900efc5f18049b031f46fa61f7da",
      "tree": "59cc2017179402c550c03ce809de205abf8f8232",
      "parents": [
        "5bc1ea4e4ae0133d4d5eaa4ac98cf4719effd032"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 22 22:02:48 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Aug 22 22:15:25 2013 -0700"
      },
      "message": "Add cleanspec for bitmap jni issue\n\nChange-Id: I0b270a8c1edd28a305e014ad7b0039f56787b25a\n"
    },
    {
      "commit": "5e1aa8ab8d7f706675f5726d1b8ff8037da80789",
      "tree": "1d08624d9182216323defd432364b5c5a5ddb20e",
      "parents": [
        "cd3f03d4449933b23620a750eaad2646b5e86e13",
        "8a57aac9ad63e97b507b2fd2e4c4b0b62ddf11a1"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Aug 22 05:05:18 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 22 05:05:18 2013 -0700"
      },
      "message": "am 8a57aac9: am 490ca9c7: Fix incremental builds.\n\n* commit \u00278a57aac9ad63e97b507b2fd2e4c4b0b62ddf11a1\u0027:\n  Fix incremental builds.\n"
    },
    {
      "commit": "490ca9c785d4e635c4cea49f04e671c0c8c0ad6c",
      "tree": "92d25da6d519208d953d1f0a4d7379336189f6b7",
      "parents": [
        "39c9c63295ad972a82076676a6cdaf34d9508f62"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Aug 22 12:13:44 2013 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Aug 22 12:13:44 2013 +0100"
      },
      "message": "Fix incremental builds.\n\nAdd a cleanspec step.\n\nChange-Id: I449fb89334e73037087865e886d7108e7f60ffce\n"
    },
    {
      "commit": "605775c4edc6888e377d3f423c3b358b7b26565f",
      "tree": "b0f87dbdab27b74216aaf6b15040e7251982fb8a",
      "parents": [
        "6fd5e5503b6a7e557503b837c0d9a3967bcb1abf",
        "ba35cf7a888931d2f53a7ffd767918579af5d334"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 20 18:18:14 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 20 18:18:14 2013 -0700"
      },
      "message": "resolved conflicts for merge of ba35cf7a to master\n\nChange-Id: Id9e6fa12056fc6cef7b77c70c73591dfc82e70a9\n"
    },
    {
      "commit": "b4f6a01d51612b9e50dffd95905e9c9add79b5d8",
      "tree": "dc551e921bfbdc96a90943ad1701712cabde4adf",
      "parents": [
        "a37e2346f8856e541cd1f4aa3546b5ac2fa5262b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 20 16:56:46 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 20 17:59:01 2013 -0700"
      },
      "message": "Adding a clean spec step for removed aidl files\n\nChange-Id: I350bf6c0dfae116898b13c9f2570c7263eff1814\n"
    },
    {
      "commit": "d6f46a206ad5dec6ae0544576b411c792f48a525",
      "tree": "84212a00296b468ddf0ade4ec09d6475e24cde34",
      "parents": [
        "f95609b9af50d4dc3dc5aa9e68aee77e5677d5f8"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Tue Aug 20 17:55:08 2013 -0700"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Tue Aug 20 17:55:08 2013 -0700"
      },
      "message": "Fix build break in master/chromium-dev\n\nA cleanspec is needed in frameworks/base. Add it.\n\nChange-Id: I205cbab5e52db0a5f4841c4f072479972907f0ca\n"
    },
    {
      "commit": "9ced3cd9d6ea414523051ec872fffc68f5fdbf08",
      "tree": "22d49c8bde1a17da9c9ff1588a3af3e176d0173a",
      "parents": [
        "58514937628dfcf3b2949e4cbc45d5526ecb8019"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Aug 12 16:42:38 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Aug 20 17:36:39 2013 -0400"
      },
      "message": "Change PacProcessor to Android Service\n\nThis switches the PacProcessor over to an Android Service.  The service\nis bound and unbound by the PacManager, which also adds it to the\nServiceManager, allowing for Context-Free access by the PacProxySelector\nin all DVMs.\n\nbug:10182711\nChange-Id: Id1ff7660be56e8976cdcccd76e041feb47a17a61\n"
    },
    {
      "commit": "ed735c9aeb34c42c4de95485385246d84c1727c2",
      "tree": "7eee89918e3fafa0f79a6ca254473e43cfbcf3d6",
      "parents": [
        "998cfa2c63c54a73d0c51d062408d370ed0b3107"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Mon Aug 12 09:33:38 2013 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Mon Aug 12 09:33:38 2013 +0100"
      },
      "message": "Add missing cleanspec\n\nChange-Id: I92d6329e3c404249876e707048f6808f35fb019b\n"
    },
    {
      "commit": "798bed6cc7d273e72b0253288605db9cd2b57740",
      "tree": "b4278847c40cf910b69773c6205395ada02543ed",
      "parents": [
        "5893a97cbf398ca3e1bff5444454343d94e25a4c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 11 12:29:39 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 11 14:40:05 2013 -0700"
      },
      "message": "Refinement of the print service APIs.\n\n1. Factored out the printer discovery APIs of a print service in a\n   dedicated session object that is created by the print service on\n   demand. This ensures that added/removed/updated printers from\n   one session do not interfere with another session.\n\n2. Updated the app facing APIs to pass in a document info along\n   with a printed file. Also exposed the print file adapter so\n   apps that create a temporary file for printing can intercept\n   when it is read by the system so the file can be deleted.\n\n3. Updated the print service documentation.\n\nChange-Id: I3473d586c26d8bda1cf7e2bdacb441aa9df982ed\n"
    },
    {
      "commit": "5839d17223e30335179e82d2a7c55d5dc39c0119",
      "tree": "40e806e084b65a0df071e35e324733a15162f251",
      "parents": [
        "5b537bf320f22e892da1d827d54b77f558909a69"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Jul 31 10:44:01 2013 +0100"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Jul 31 10:44:01 2013 +0100"
      },
      "message": "Add missing cleanspec.\n\nChange-Id: Ida9f3c7335a84b126f67535ff658b056a59247a9\n"
    },
    {
      "commit": "35d2e33136b607b94230b9e77da29878a530decb",
      "tree": "3ee06699936c394b9383fdc2e07108845baa3f52",
      "parents": [
        "cb9accefb19ba6ae6fd449dc9ab62e972b51335c"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Tue Jul 30 16:31:12 2013 -0700"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Tue Jul 30 16:31:12 2013 -0700"
      },
      "message": "Update cleanspec\n\nFix build break in master-chromium branch due to a forgotten cleanspec.\n\nChange-Id: If377c53bf3a82bff775f968ad8eb270e3c666837\n"
    },
    {
      "commit": "223cc8181553224e8ceaeca83d5a33fff497d6fe",
      "tree": "5e6557ef5c1327d5be1762f1afdb987f61ebbef0",
      "parents": [
        "8cf4e13e466bf7a9dc9a3bee73c8a74f3fc4bb85"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jul 25 08:23:20 2013 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jul 25 08:30:25 2013 -0700"
      },
      "message": "Use correct variables for the directories in CleanSpec\n\nThe comments in the file say what vars to use.\n\"out\" can change and should be replaced with $(OUT_DIR)\n\nBug: 7183057\nChange-Id: I3355d0e044f86709eee12873f47d7491b3f359b6\n"
    },
    {
      "commit": "0d6e7315eb302b5402535dca87ac2c4dad4709b8",
      "tree": "5cfe7ff4c350d85d457e1d2bfc054a018d7893fb",
      "parents": [
        "e58bb044701d0b092fb09103f14d9406a497c65b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 23 17:31:18 2013 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 23 18:04:24 2013 -0700"
      },
      "message": "add static dependency on liblog\n\nChange-Id: I8056aa744b37ef0c31229329a0de79c58c5955ea\n"
    },
    {
      "commit": "023140919545a4d7e559908d84fcc05493d8ee05",
      "tree": "b41828a0ff1eaf9b083d898e69c176d781fe4905",
      "parents": [
        "a8c7e3f86ab205a557c7b8cc1e8c6a61cec06f41"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 16 13:49:44 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 16 13:49:44 2013 -0700"
      },
      "message": "Add a clean spec rule due to renamed *.aidl\n\nChange-Id: I87bfd02b8c4f3ceb43594a91ac8f501a867ccfe6\n"
    },
    {
      "commit": "7cf06209dcdbadd41fabd7e4e7229832aa8ffff2",
      "tree": "c7ac7c3bd22aef5dfd7db7b2cb1bab0f1277e50f",
      "parents": [
        "db3c19fd406c9bb9688cb041856114cb54dbaeb3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 04 16:48:41 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 03 17:59:03 2013 -0700"
      },
      "message": "Headphones volume warning disabled by default\n\nEnable headphone volume limitation explicitely for\ncountries where EN60950 is applicable.\n\nBug: 8877359.\n\nChange-Id: Ida9e6678ee451350b826492f0085726003f0d39d\n"
    },
    {
      "commit": "59076243120d1b5fd0c0ac84497da040c6cb186f",
      "tree": "6a5568baf9cf2b9cf707c4ea7be945ce2c35c6d4",
      "parents": [
        "44bd61efbfefb352ec2138915169eb63ff6724e5"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Mon Jun 24 14:48:03 2013 -0700"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Mon Jun 24 14:48:03 2013 -0700"
      },
      "message": "Update cleanspec.\n\nUpdate cleanspec to handle rename in I0df438e45ef540cc42c9ee5baafc816ebafa1c7b.\n\nChange-Id: Ifc5abe794017d1dbc4a49c645751b71e3b08c0ef\n"
    },
    {
      "commit": "45ac9645da0ceafbae8c00b0dd0a09800fdcefdf",
      "tree": "3bade83f348662e8a6e361a4f8088fdcf5b5776b",
      "parents": [
        "56cd646abeae51e806791f82ab0995fe047b1fe4"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jun 10 10:10:42 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jun 10 10:10:42 2013 -0700"
      },
      "message": "Allow carrier provisioning to turn toggle radio power.\n\nPreviously CarrierProvisioning toggle airplane mode, but now that\u0027s\navailable only by the system.\n\nBug: 9356811\nChange-Id: I5167f8614c07bafb688983a360a008f76403b2b8\n"
    },
    {
      "commit": "5feceebb892d4cb5777cea3c6174b206705d456b",
      "tree": "58feee1605f35b07e70887f4ec017d80b5687436",
      "parents": [
        "bab9687e6473072d6ff4f7ea5a7b21bcfbf95744"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Mar 22 18:29:23 2013 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 19:54:44 2013 +0000"
      },
      "message": "New NotificationListenerService.\n\nThis is the best and only way for apps to listen for\nnotifications: create a NotificationListenerService, wait\nfor the NoMan to bind to you (as a result of the user\nchecking a box somewhere in Settings and agreeing to a\nscary dialog box), and you\u0027ll start receiving notification\nposted and dismissed callbacks. Your service, while enabled,\nwill also be able to clear one or all notifications.\n\nUse this power wisely.\n\nThis change moves StatusBarNotification out of\ncom.android.internal into android.service.notification.\n[Internal customers, including System UI and early users of\nthe system-only listener binder API, will need to be\nupdated.]\n\nBug: 8199624\nChange-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2\n"
    },
    {
      "commit": "c28867a1d67121ce5963de135e3ae2b1dbd9a33d",
      "tree": "95da9070093882f0b95ee197f45f5b4a5e348d96",
      "parents": [
        "37f180b4a52e4c1d0b6a7b400b6579b7ff25f307"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 26 15:42:39 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 26 15:42:39 2013 -0700"
      },
      "message": "Use input transport for communications between app and IME.\n\nThe input method manager service now supplies an input channel for\ncommunication while creating an IME session on behalf of the\napplication.\n\nThis change significanly reduces the overhead of IME event dispatch\nby using a standard input channel to send input events rather than\nusing binder.  This results in fewer thread context switches\nand fewer object allocations.\n\nWhat\u0027s more, the IME may perform additional batching of the motion\nevents that it receives which may help it catch up if it is\ngetting behind while processing them.\n\nBug: 7984576\nBug: 8473020\nChange-Id: Ibe26311edd0060cdcae80194f1753482e635786f\n"
    },
    {
      "commit": "52a53526265c801b70eaf6dab1acf5c3f628f8a6",
      "tree": "37e128cc5a301edb375a4c106a28634b7f8d69a1",
      "parents": [
        "95ae9429ee3555f4a1f396da423413ba496bdf33"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Mar 14 10:59:38 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Mar 21 17:47:40 2013 -0700"
      },
      "message": "Separate sessionCreated and finishedEvents callbacks\n\nBug: 8276952\nChange-Id: If7051086c060fcce5d1e958ebbddec0784c851da\n"
    },
    {
      "commit": "5a72553ef991d4821fcab4feaa3c1b23faca8724",
      "tree": "f97e7fbbe3777c306d531573144cfbb17e52bba2",
      "parents": [
        "484f3bdcd663d4ddc9521e788c45338b34a1691d"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Feb 07 17:03:05 2013 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Feb 07 17:03:05 2013 -0800"
      },
      "message": "Move a few files from frameworks/opt/telephony to frameworks/base.\n\nBecause ISms.aidl imports PendingIntent we couldn\u0027t easily\nmake opt/telephony part of the PDK. So this change moves\nISms.aidl and SmsRawData.*, which ISms.aidl also imports,\nback to frameworks/base.\n\nChange-Id: Ia64c6e771d5a292d9bfebb413a43f3745df55c85\n"
    },
    {
      "commit": "d906a6cfff4c078c1fd4520e995cd8f835369cce",
      "tree": "3ae9a5416c4b3e99cf95fae89e4779cbea7908f9",
      "parents": [
        "923bd98f67d36cbafa58941fce5952fafd09de4b"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sun Feb 03 08:29:53 2013 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sun Feb 03 08:29:53 2013 -0800"
      },
      "message": "Cleanstep for SmsRawData.\n\nChange-Id: Ic3ae3a501a733508808866494b3bca0fcc819f3e\n"
    },
    {
      "commit": "cbb2a2a207796a68eff26be001af2797594d3b3c",
      "tree": "ae7d166136064ba408035fa741bb944441fddb47",
      "parents": [
        "29e4aa7abe6b0c62f31fb23b8572cd5b91f08f5c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jan 28 15:27:47 2013 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Jan 28 15:27:47 2013 -0800"
      },
      "message": "Delete frameworks/base/voip use voip-common from frameworks/opt/net/voip\n\nChange-Id: Ieaba759a0f69b45c4b8839cbed1fe757cdf190c5\n"
    },
    {
      "commit": "545252f4fde6fbb70b07e97a120c7d1405758017",
      "tree": "e3238e5262e77cd91751c2302c30d828c539c55c",
      "parents": [
        "224333c03f1a9e14fce09207dc15d06365bf917b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 10 18:29:24 2012 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Dec 14 16:27:27 2012 -0800"
      },
      "message": "Refactoring of the screen magnification feature.\n\n1. This patch takes care of the case where a magnified window is covering an unmagnigied\n   one. One example is a dialog that covers the IME window.\n\nbug:7634430\n\n2. Ensuring that the UI automator tool can connect and correctly dump the screen.\n\nbug:7694696\n\n3. Removed the partial implementation for multi display magnification. It adds\n   unnecessary complexity since it cannot be implemented without support for\n   input from multiple screens. We will revisit when necessary.\n\n4. Moved the magnified border window as a surface in the window manager.\n\n5. Moved the mediator APIs on the window manager and the policy methods on the\n   WindowManagerPolicy.\n\n6. Implemented batch event processing for the accessibility input filter.\n\nChange-Id: I4ebf68b94fb07201e124794f69611ece388ec116\n"
    },
    {
      "commit": "152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891",
      "tree": "8e955c6db3279776dc6795e125513c4f2877ea44",
      "parents": [
        "4d58730ff587645778636e87312b1b17846fcac9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 12 20:15:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 03 10:38:48 2012 -0800"
      },
      "message": "Refactoring of the screen magnification feature.\n\n1. The screen magnification feature was implemented entirely as a part of the accessibility\n   manager. To achieve that the window manager had to implement a bunch of hooks for an\n   external client to observe its internal state. This was problematic since it dilutes\n   the window manager interface and allows code that is deeply coupled with the window\n   manager to reside outside of it. Also the observer callbacks were IPCs which cannot\n   be called with the window manager\u0027s lock held. To avoid that the window manager had\n   to post messages requesting notification of interested parties which makes the code\n   consuming the callbacks to run asynchronously of the window manager. This causes timing\n   issues and adds unnecessary complexity.\n\n   Now the magnification logic is split in two halves. The first half that is responsible\n   to track the magnified portion of the screen and serve as a policy which windows can be\n   magnified and it is a part of the window manager. This part exposes higher level APIs\n   allowing interested parties with the right permissions to control the magnification\n   of a given display. The APIs also allow a client to be registered for callbacks on\n   interesting changes such as resize of the magnified region, etc. This part servers\n   as a mediator between magnification controllers and the window manager.\n\n   The second half is a controller that is responsible to drive the magnification\n   state based on touch interactions. It also presents a highlight when magnified to\n   suggest the magnified potion of the screen. The controller is responsible for auto\n   zooming out in case the user context changes - rotation, new actitivity. The controller\n   also auto pans if a dialog appears and it does not interesect the magnified frame.\n\nbug:7410464\n\n2. By design screen magnification and touch exploration work separately and together. If\n   magnification is enabled the user sees a larger version of the widgets and a sub section\n   of the screen content. Accessibility services use the introspection APIs to \"see\" what\n   is on the screen so they can speak it, navigate to the next item in response to a\n   gesture, etc. Hence, the information returned to accessibility services has to reflect\n   what a sighted user would see on the screen. Therefore, if the screen is magnified\n   we need to adjust the bounds and position of the infos describing views in a magnified\n   window such that the info bounds are equivalent to what the user sees.\n\n   To improve performance we keep accessibility node info caches in the client process.\n   However, when magnification state changes we have to clear these caches since the\n   bounds of the cached infos no longer reflect the screen content which just got smaller\n   or larger.\n\n   This patch propagates not only the window scale as before but also the X/Y pan and the\n   bounds of the magnified portion of the screen to the introspected app. This information\n   is used to adjust the bounds of the node infos coming from this window such that the\n   reported bounds are the same as the user sees not as the app thinks they are. Note that\n   if magnification is enabled we zoom the content and pan it along the X and Y axis. Also\n   recomputed is the isVisibleToUser property of the reported info since in a magnified\n   state the user sees a subset of the window content and the views not in the magnified\n   viewport should be reported as not visible to the user.\n\nbug:7344059\n\nChange-Id: I6f7832c7a6a65c5368b390eb1f1518d0c7afd7d2\n"
    },
    {
      "commit": "131549dd7b264e138562e8268ac45d6b0ef919e2",
      "tree": "f274e3e789b072b4fa8c9484ad46f3ebd9fabaf8",
      "parents": [
        "c1d1ececd83104c3de889928175b9f4fdcbbb131",
        "98a09c64d52aa1166a09ab071049bc3536def1cd"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Fri Nov 30 13:26:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 13:26:03 2012 -0800"
      },
      "message": "am 98a09c64: am 43174b7d: am 718fb9f1: Fix sample code issues\n\n* commit \u002798a09c64d52aa1166a09ab071049bc3536def1cd\u0027:\n  Fix sample code issues\n"
    },
    {
      "commit": "718fb9f12e31d92e8a81b08f0f2d818dd3654b9c",
      "tree": "e802e5a64382adbd73c139e869b4b913aa88e0f9",
      "parents": [
        "b1a01ab01c2aa5136f7781c3a6ec682590e38ac4"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Nov 29 19:02:18 2012 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Fri Nov 30 12:32:36 2012 -0800"
      },
      "message": "Fix sample code issues\n\nCorrect min SDK.\nCorrect file extension on mandelbrot\n\nChange-Id: I508c22c382f1a930b27d8c5f4414cac3a990a332\n"
    },
    {
      "commit": "aeb3751559dc6a8ed71a9463700941303cf44ba0",
      "tree": "23b68899cfdf803e673339edf166775223df250f",
      "parents": [
        "38ddedc8adfc4d58f4bebe4a51149e4768d42f70",
        "9cd8c711a7ed0690e268fc930e6f8d0d594c17e5"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Nov 30 10:05:20 2012 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Nov 30 10:05:20 2012 -0800"
      },
      "message": "resolved conflicts for merge of 9cd8c711 to master\n\nChange-Id: I5e2d13c44f6a0589648e5934c8c36790da85e828\n"
    },
    {
      "commit": "1b86d75d312996133bc0c74fcb1f2c9f2a83fba0",
      "tree": "2ca0db119fb2d3644a919ac66642cba8f775a71f",
      "parents": [
        "71175f727bc1e094e72a410aca62392badffbf11"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Nov 29 11:05:42 2012 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Nov 29 12:52:51 2012 -0800"
      },
      "message": "Remove unused IExtendedNetworkService\n\nIt was used in the cupcake era for docomo.  Is not used anymore.\n\nBug 7633569\n\nChange-Id: I2ec826fc9a70d261a340957a937ed4c9f8e67c5c\n"
    },
    {
      "commit": "ee5668cf50dbd49f1ee25fd0a767d711eb5ab69d",
      "tree": "844c3c0d69e315019324febab1ddca04fb006ad6",
      "parents": [
        "16a5ad8345f2518947bbd47f072a02fd97dd1c67"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 23 10:33:15 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 23 16:34:21 2012 -0700"
      },
      "message": "Audio assets at 48000 Hz\n\nBug: 7397767\nChange-Id: If62c2219adf61f0c1b2115a83b7394d76829c028\n"
    },
    {
      "commit": "d3d6570df4f39af697ba090fa8069aef6acfbcf4",
      "tree": "e802efda60607e84735a1af232f2bf942ea81cc7",
      "parents": [
        "6b77a76d3f8f04a4faf53c95acdbaeccafe3cf72"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Oct 11 16:12:46 2012 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Oct 12 14:50:49 2012 -0700"
      },
      "message": "Port ImageProcessing to Filterscript.\n\nThis enables testing of the Filterscript front-end for llvm-rs-cc.\n\nBug: 7166741\nChange-Id: I90bda9d2710c6652336a8c112b5654c5da3d14e4\n"
    },
    {
      "commit": "b2ae7a1a18ab278f6aed8d2b16576aa8361b358e",
      "tree": "b45cbf1dbbfc4a5e6ce5befad8551281fe83d9c7",
      "parents": [
        "fa5bc081593891959c143e0de9e59dd076a47b42"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Oct 10 18:17:53 2012 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Oct 10 18:17:53 2012 -0700"
      },
      "message": "Update compatibility library tests\n\nbug 7327728\n\nChange-Id: If3f85fb8944d7217a4d5c035f522d1ecc7af3a07\n"
    },
    {
      "commit": "1dd273a7df89214c60a2e1ad87db224331f877c6",
      "tree": "9458e5c2733a57ebe45acb99ce9f2eb2ee202ae7",
      "parents": [
        "97e9ee2ea894a6946f3d6346b5d258ed1ca9eae8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Sep 20 09:12:43 2012 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Sep 20 09:12:43 2012 -0700"
      },
      "message": "add cleanspec.\n\nChange-Id: I5aa58efa7c48809d1f05c8ad48332508597b9869\n"
    },
    {
      "commit": "92bd5f95ca078a795db7c2efd30e85d4260561de",
      "tree": "4396db49005a0df2562512acbe09ba16f8e680f3",
      "parents": [
        "7914fdbfa6bf49b1b346c40e1f234b2a8ed7bc63"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jul 12 10:31:06 2012 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jul 12 10:31:06 2012 -0700"
      },
      "message": "Update cleanspec\n\nmms and telephony have been moved remove the framework_intermediates.\n\nChange-Id: I49c2128ebaddfdae6cfa91913b739900d0f8d91b\n"
    },
    {
      "commit": "708e6bc6526990f447326d13702e79d5630303b8",
      "tree": "e573c6e5c869490b8ee4a4a4411011250df052e3",
      "parents": [
        "4323d6ea5143a3f2c419b3db28f956755652d78a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 13 15:17:58 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jun 13 15:34:38 2012 -0700"
      },
      "message": "Remove Disco video from builds.\n\nBug: 6294985\nChange-Id: Idde6148b94a55a27740f3b4f82c2038272f06628\n"
    },
    {
      "commit": "7b1e0c7046abefc0b40884b36197c8a803d9cf6d",
      "tree": "65033ef86abd0146f183b8ed423081c057fa8a17",
      "parents": [
        "8d8176d41b8b8f08435e727f03e43e27a542dcc2"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 11:57:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 12:39:51 2012 -0700"
      },
      "message": "Removing default accessibility gesture handling.\n\n1. The initial design was to have some accessibility gestures\n   being handled by the system if the gesture handling access\n   service does not consume the gesture. However, we are not\n   sure what a good default is and once we add a default handler\n   we cannot remove it since people may rely on it. Thus, we\n   take the simples approach and let the accessibility service\n   handle the gestures. If no gestures are handled the system\n   will work in explore by touch as before.\n\nbug:5932640\n\nChange-Id: I865a83549fa03b0141d27ce9713e9b7bb45a57b4\n"
    },
    {
      "commit": "8e638dc335900c2e886dc4ee9c2c28c010ab8f4d",
      "tree": "168dbfea77761e97ccfd977607de94ef5b8b510d",
      "parents": [
        "4e1cb3b7942d3ca05918604358b4ef83815ce448"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 11:27:11 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 11:27:11 2012 -0700"
      },
      "message": "Add missing clean steps.\n\nChange-Id: Iecb3ff4d6658e581e51414bdfc397953189e66cb\n"
    },
    {
      "commit": "b43a1e5ddf274eb5e01dc8e450bd15b640bebe9f",
      "tree": "bf9d1b5d92ef8f65afd8c51016a5da7130bc6d3e",
      "parents": [
        "f9c1f9935b349fe1a3f27be4462026dd212f8b78"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 28 14:18:15 2012 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 28 14:18:15 2012 -0700"
      },
      "message": "Moving libRS\n\nChange-Id: I1e42204e862585b9c2f7818b615890c60f08faf6\n"
    },
    {
      "commit": "4c1241df8f8b7fd5ec3dff6c7e0f66271248e76e",
      "tree": "36df1bce8fe7295d0ab778ca519232a291a3294f",
      "parents": [
        "8ca8a69d5801ad4b809e7b9dbf53bd728820924b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 02 17:05:00 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 02 18:02:16 2012 -0800"
      },
      "message": "Rename CancellationSignal using preferred spelling.\n\nBug: 5943637\nChange-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265\n"
    },
    {
      "commit": "882ed3747145ca68b3acb26636be7a39755b5548",
      "tree": "b19e69a0d5055b0bf4c001f0b43c47bbd3be230f",
      "parents": [
        "2cba116c27f52fa7545d5131ff9e18294d87e81a",
        "83cf0313075d41b602fdbd808cd06a6efd40a43a"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 16:46:35 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 16:46:35 2011 -0700"
      },
      "message": "Resolved conflicts for merge of 83cf0313 to master\n\nChange-Id: Ib66ee7e34d0c4d845004bce635ee1ef300d3b344\n"
    },
    {
      "commit": "62dce9b57477a02f53c8038d8f2c60480509eabe",
      "tree": "8a84c461b6c7995062a34522d720af7706551e29",
      "parents": [
        "9e7caa0b270f8cea1fd2a61c5bffcf0df1037970"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 15:05:49 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 10 15:57:41 2011 -0700"
      },
      "message": "Ensuring previous sounds are named correctly\nBug: 5416299\n\nChange-Id: I0f2cd229be02908553368d6ff19977a0ebd3e613\n"
    },
    {
      "commit": "8e359817da14f6a4ffcf3bf4f7a59bc4fef8c211",
      "tree": "20579ef86aa311879c2fde554c076b4f41a967f4",
      "parents": [
        "ad9c5718daa556fb6907c3f600ea505c1ec3aca0"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Oct 06 11:14:13 2011 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Oct 06 16:00:58 2011 -0700"
      },
      "message": "Make symlinks for DroidSans.ttf and DroidSans-Bold.ttf\n\nBug: 5420351\n\nMake the following symlinks:\n/system/fonts/DroidSans.ttf -\u003e Roboto-Regular.ttf\n/system/fonts/DroidSans-Bold.ttf -\u003e Roboto-Bold.ttf\n\nChange-Id: If9a74ef4ac2386cdb46d125fed8ce5771e872310\n"
    },
    {
      "commit": "d5b9b26081b09ecd1a9701e3320bf969ae481f66",
      "tree": "527a2e21938f9f673396817281dc3114307afb6b",
      "parents": [
        "7c2d205298efcc81f6c48ee1605eae12f7d0f7fe",
        "121e805af449ccee802ae0001f4d8eaf531e6b2d"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 17:06:26 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 17:06:26 2011 -0700"
      },
      "message": "Resolve conflicts for merge 121e805a to master\n\nConflicts:\n\tCleanSpec.mk\n\nChange-Id: I750218dbd78e15c1ae3324b3bcfbcd28a4da2676\n"
    },
    {
      "commit": "18f3656eb58627fac4c788c75c9638968378d1d8",
      "tree": "c2929e19de7c0909f04d14352d71732bd43f08f7",
      "parents": [
        "8b42fcef5ac33d94b76e3002861d4ea4081a6a4f"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 15:37:43 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Oct 03 16:06:09 2011 -0700"
      },
      "message": "Adding additional variety to sound set 7\n\nChange-Id: I3f8c806258e47dc3b78ce81fd582722753573b54\n"
    },
    {
      "commit": "46b20e7f41ded340596b732aaf08cc2d05a8e842",
      "tree": "7966ffcd11def5209293717779060fffda88687a",
      "parents": [
        "2d56123b110ff20dd849875be328f1712d128dee"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Sep 29 18:07:41 2011 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Sep 29 20:02:05 2011 -0700"
      },
      "message": "Correction the use of SMALLER_FONT_FOOTPRINT\n\nSMALLER_FONT_FOOTPRINT is a BoardConfig variable that\u0027s only available\nin Android.mks but not product config makefiles.\n\nChange-Id: I1784b6e8c744ffcca1538e76d338f5800f150e72\n"
    },
    {
      "commit": "48704d4962f2120c62726eaa8bc6ec2d8a71071d",
      "tree": "788af0bb7d0cd1f189f14bfe8e599bbcd3c0fbad",
      "parents": [
        "a6ccaa736d18d1ee375162e9df9d2aad8db869e5"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Sep 22 16:05:43 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Sep 26 09:47:18 2011 -0700"
      },
      "message": "Updated key and effect sounds\n\nChange-Id: Ia7c771ed59bf1803ed7ff25d338a412906cf59c0\n"
    },
    {
      "commit": "9d8c7e82424ae2a8256157e288deb37d51509f13",
      "tree": "b82a758887bc814839f6cba9a5b9985b9d14c556",
      "parents": [
        "b20d378cec09da18301eb9c33bc88251beb81042"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Fri Sep 23 14:57:32 2011 -0700"
      },
      "committer": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Fri Sep 23 15:09:52 2011 -0700"
      },
      "message": "Replaced Lohit_Hindi with Lohit-Devanagari\n\nLohit-Devanagari is now provided by external/lohit-fonts, replacing\nLohit_Hindi from here. Removed font from fonts.mk and renamed in\nfallback_fonts.xml.\n\nBug: 5364436\nChange-Id: I0b8f65dbfdbec1802fba526209d7f88d2cf64fc4\n"
    },
    {
      "commit": "cd3f83a55455c85fe8822e58024063d52a6d0e1c",
      "tree": "7268468ee435eb11023d0533dc62ced988d3e76f",
      "parents": [
        "88b18eb8c2034e9de35482cc737ef8d608d55867"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Tue Sep 20 17:50:39 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Tue Sep 20 17:50:39 2011 -0700"
      },
      "message": "Adding missing cleanspec for audio file cleanup\n\nChange-Id: I469601a2112994c466281a4959806a4179ffe245\n"
    },
    {
      "commit": "651cdfcbac6245f570475991588ddc2d30265e8d",
      "tree": "0d7292e4a1a9a8bd12d964054200ccdac5622277",
      "parents": [
        "e0946eb270e669ac470467dbda033a443ee5d1cc"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Sep 07 00:31:20 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 13 16:04:00 2011 -0700"
      },
      "message": "Unhide wifi p2p API\n\nBug: 5247957\nChange-Id: Id93e30c0cb60f361ba13a840de8f843415777336\n"
    },
    {
      "commit": "489a9d81fd1458940e1ec01ba0cef36843732479",
      "tree": "870e643bc1ab71a5f82f02a74f9d9f40169c8eca",
      "parents": [
        "dff28d5293c16ac75f6db7a1c3b78fbaad1f2f6a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 06 22:17:50 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 06 22:32:58 2011 -0700"
      },
      "message": "Rename WpsConfiguration to Wps\n\nFor the purpose of exposing the class as a storage for Wps\ninfo with p2p, it is better to just call it Wps\n\nBug: 5247957\nChange-Id: Iaebef958dd8f08fdbeb4b9d7fa5ad5527400710d\n"
    },
    {
      "commit": "c84c89a6cacaf16c1ba41f57cc1aecdb150e85f9",
      "tree": "f3521ac470b3f5785500797fe12af193ab320ced",
      "parents": [
        "359ef7985316397564a6a999d77f6cc1edab7373"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Aug 22 22:27:11 2011 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Aug 26 17:28:45 2011 -0700"
      },
      "message": "Improve NDEF push API\n\nIntroduce\n  setNdefPushMessage()\n  setNdefPushMessageCallback()\n  setNdefPushCompleteCallback()\n\nDeprecate public API\n  enableForegroundNdefPush()\n  disableForegroundNdefPush()\n\nHide \u0026 Deprecate staged (public but never released) API\n  enableForegroundNdefPushCallback()\n\nThe new API\u0027s do not require the application to explicitly call\nenable()/disable() in onPause()/onResume(), we use a Fragment behind\nthe scenes to manager this automatically.\n\nNDEF Push can be disabled by using a null parameter, so each\nenable()/disable() pair is collapsed to a single set() call.\n\nApplication code should now look something like:\n\n    public void onCreate() {\n        NfcAdapter adapter \u003d NfcAdapter.getDefaultAdapter(this);\n        if (adapter !\u003d null) {  // check that NFC is available on this device\n            adapter.setNdefPushMessage(myNdefMessage, this);\n        }\n    }\n\nAnd that\u0027s it - no need to explicitly hook into onPause() and onResume() events.\n\nAlso - introduce a generic NfcEvent class that is provided as a parameter on\nall NFC callbacks. Right now it just provides the NfcAdapter, but using\nthe wrapper classes allows us to add more fields later without changing\nthe callback signature. (i\u0027m thinking Bluetooth).\n\nChange-Id: I371dcb026b535b8199225c1262eca64ce644458a\n"
    },
    {
      "commit": "8370ba9e20d1108c12764747362f98bfa1686b62",
      "tree": "9ee360eda74749c301f0746941ae5e54f301db3d",
      "parents": [
        "09d569a57e7c8f3d8d6a5f2204643988ae36e07c"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Tue Aug 23 14:40:41 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Wed Aug 24 09:40:25 2011 -0700"
      },
      "message": "Updated phone sounds\n\nChange-Id: I88df6ad7ca8e96f163d968540420fd1cde410008\n"
    },
    {
      "commit": "4426e42ac6107bf6b09f7c4cdad39eb161d8b9ca",
      "tree": "27528bb34ea1b83f0c798ac975fd27c38f5869c1",
      "parents": [
        "0197d825f15844e51b91a0006d411ecb06350641"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Aug 18 19:16:47 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 23 11:23:22 2011 -0700"
      },
      "message": "Bug 5045498 New implementation of remote control API\n\nRemote control displays expose an IRemoteControlDisplay interface\n which they register through AudioManager.\nRemote control clients create a RemoteControlClient object, which\n implicitely exposes an IRemoteControlClient interface registered\n in AudioService through AudioManager.\nAudioService tells all clients and displays when a new client\n is the one that should be displayed.\nA client\u0027s data gets sent to the display when it is valid, or\n it sets new data (while being valid).\n\nThe implementation for setting metadata and album art is temporary,\n and will migrate to the MetadataEditor API in future CLs.\n\nChange-Id: Ibab6ea1d94c68f32482c760c6ae269541f885548\n"
    },
    {
      "commit": "178889eff7fa3361a5cb08d6d43846a1baf5216b",
      "tree": "e4ae523d0c72f27366cbb7b63f8043bb694eb56c",
      "parents": [
        "ed2d658af0856fb800631b9dfbced0ff2b9ca037"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 15 17:17:52 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Aug 17 09:53:12 2011 -0700"
      },
      "message": "Bug 5045498 RemoteControlClient interface\n\nDefine a RemoteControlClient interface that applications must\n implement and register to be displayed on the lockscreen.\n\nChange-Id: I67276ae653f203e76727432231f1d76535c31942\n"
    },
    {
      "commit": "b12c6b8e21165655f19ab7fd1ed944bf50b0b722",
      "tree": "a4cd8753bd6c25e27698648c0f3a5604f0d9b96a",
      "parents": [
        "2e347429dfcd03b0827c7506ba6305ab0d1f4951"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 12 11:45:43 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 12 11:45:43 2011 -0400"
      },
      "message": "Fixed cleanspec.\n\nChange-Id: I3125487d2ffbe389f141537f5a974366e7ce5a91\n"
    },
    {
      "commit": "2e347429dfcd03b0827c7506ba6305ab0d1f4951",
      "tree": "7468ee42f99379f3c6cc59d80ee09f8d34516ae2",
      "parents": [
        "b858ec559e8c6a13f6d2212a11f3f952e43259f6"
      ],
      "author": {
        "name": "Christian Robertson",
        "email": "robertsonc@google.com",
        "time": "Thu Aug 11 14:01:04 2011 -0700"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 12 10:15:31 2011 -0400"
      },
      "message": "New RSSI cluster in status bar.\n\nBug: 5147463\n"
    },
    {
      "commit": "c3afd39c6722cd57307fd90aee405179aea77f6b",
      "tree": "e6dade096f021ce59a32f2c728ba0c8f39237972",
      "parents": [
        "33e6ad6eed598e4a8f328613d22ef439404373dd"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Jun 29 22:02:42 2011 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Tue Aug 02 15:30:26 2011 -0500"
      },
      "message": "Remove the binder interface for LLCP.\n\nChange-Id: Idc9631cdbcac1435e285c656948a37315e32515d\n"
    },
    {
      "commit": "972d92f47c3606fee7e47e6f9833d55eaf051ace",
      "tree": "9c0fd41bab065c2397b3a9ca65ffb71fdcff2c9c",
      "parents": [
        "34e7813e962de99df9813014678ef5901227c5f1"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Jul 03 17:01:12 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Jul 03 17:01:12 2011 -0700"
      },
      "message": "Add CleanSpec.mk for change If98e456e779f8e97f562d99c57d909b1f5d9db55.\n\nChange-Id: I0aeb6355ab856bdfaafba0d2ab13801c73a9cf44\n"
    },
    {
      "commit": "93201f545b67da15cb69830a5988810aef52c0b2",
      "tree": "1386ffcba41a1e94de13ea6920cf11a296b8b9c6",
      "parents": [
        "e1a255a89f64730272a66b93f82ec348989a0899"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 09 15:05:35 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 09 21:11:06 2011 -0700"
      },
      "message": "KeyChain API refinements\n\nChange-Id: I177ab4642e6cd1aa13526c14f0a707175fd79655\n"
    },
    {
      "commit": "75279904202357565cf5a1cb11148d01f42b4569",
      "tree": "db3b40af4fdfda1d46d1d4c9e471bf4630656036",
      "parents": [
        "77c1cc0aa4d088f54c3b36a05a19acfa5295c4da"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 24 18:39:45 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:44:52 2011 -0700"
      },
      "message": "Collect historical network stats.\n\nPeriodically records delta network traffic into historical buckets to\nsupport other services, such NetworkPolicyManager and Settings UI.\n\nIntroduces NetworkStatsHistory structure which contains sparse, uniform\nbuckets of data usage defined by timestamps.  Service periodically\npolls NetworkStats and records changes into buckets.  It only persists\nto disk when substantial changes have occured.  Current parameters\ncreate 4 buckets each day, and persist for 90 days, resulting in about\n8kB of data per network.\n\nOnly records stats for \"well known\" network interfaces that have been\nclaimed by Telephony or Wi-Fi subsystems.  Historical stats are also\nkeyed off identity (such as IMSI) to support SIM swapping.\n\nChange-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a\n"
    }
  ],
  "next": "93c612e2e74c587e2056bab1826ea28c82a61c51"
}
