)]}'
{
  "log": [
    {
      "commit": "399df701a16704b002475300a535683005d7af8b",
      "tree": "c6fa22c39b04b7d4a7d8137e2ca35659820504bc",
      "parents": [
        "e2be9f4a670198edbe9b1c42422d6d429b8a21f6"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Apr 13 11:07:44 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Mon Apr 18 13:03:29 2016 +0900"
      },
      "message": "Handle API review comments from the council.\n\n * MtpEvent: Remove public constructor since properties cannot be set\n   directly.\n * MtpEvent: Move event constants from MtpConstants to MtpEvent class.\n * getPartialObject64: the byte[] must have indices of Integer.MAX_VALUE\n   at most. Document as such.\n * sendObjectInfo: what happens if the transfer doesn’t succeed? How is\n   the app notified? If there is a reason for the failure communicated,\n   how does the app find this out? Add docs.\n * Add isOperationSupported(int) and isEventSupported(int) helpers.\n\nChange-Id: Ifd80016d2ddd3b66d5c45f6da76b6133f0c9a617\nFixes: 28146379\n"
    },
    {
      "commit": "e8abe8e5ad830bd130b258c6801d75f6542200b5",
      "tree": "762df770300d022ed1e5e90833cd392da1a52798",
      "parents": [
        "36712853a9d0b57702ee5b1fd936ff0b9f48c151"
      ],
      "author": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Fri Apr 01 10:32:05 2016 -0700"
      },
      "committer": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Wed Apr 06 17:54:35 2016 -0700"
      },
      "message": "Addressed API review comments and updated JavaDoc\n\nBug: 27274532\nBug: 27948390\nChange-Id: I0255d2511deab788dcab9815def9c1287a50b7f9\n"
    },
    {
      "commit": "0632d8ae71418bea092f9f2c7e62118213e7cc78",
      "tree": "b991deb7b5af038ffc80baf92f94e8da22a30715",
      "parents": [
        "ede7d958ab54a0701baa8ae8b494e8ea905c61c6"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Mar 18 07:42:04 2016 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Mar 30 13:25:45 2016 -0700"
      },
      "message": "TIF: Address comments on hardware manager related system APIs\n\nBug: 25726241\nChange-Id: I0a3e7e8cf494d897fc04528ba719faa4150b9207\n"
    },
    {
      "commit": "c02bfae73e139f2a1c56cc6b051bfc7877b8cf1d",
      "tree": "721b67f2313b76699aadb86e3509e9e5bfa4fc86",
      "parents": [
        "c9a40cd8448410316716e45ce051c9f1a3fc7054"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Mar 27 15:06:53 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Mar 27 15:06:57 2016 -0600"
      },
      "message": "Include \"invisible\" volumes in new storage API.\n\nThe purpose of the new StorageVolume API is to grant access to\nvolumes that aren\u0027t typically \"visible\" to a developer, so include\nthem in the returned results.\n\nAlso return the real mounted state instead of augmenting based on\nthe caller\u0027s storage permissions.  Clean up API naming slightly and\nreturn as List.\n\nBug: 27615770\nChange-Id: Ida921a4b91e5af81e418e76f672d9108f45a9781\n"
    },
    {
      "commit": "cf3f0a11a83e7a798e0586a78efdafc82a7f3d08",
      "tree": "110042262b4bf24707d23caf82d4484acbed0146",
      "parents": [
        "62b5ec7651ebda7a90682012e00307225201bbd9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Mar 17 19:57:58 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Mar 17 19:58:05 2016 -0600"
      },
      "message": "Update direct boot related documentation.\n\nAlso hide a few APIs as requested by council.  Add a method to\neasily determine if a given File would already be encrypted at rest\nby the OS.\n\nBug: 27531029\nChange-Id: Icad5f1cd56411ad3ac707db85fd7449acdcc4b94\n"
    },
    {
      "commit": "8a372a0a280127743ce9a7ce4b6198c7a02d2a4f",
      "tree": "f2446f9d00e6dc0be78885db357719b9b3830e48",
      "parents": [
        "58ae278294017abca0dffc95f006ae646c88db89"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Mar 16 16:25:45 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Mar 17 14:49:08 2016 -0600"
      },
      "message": "Refactoring FBE APIs based on council feedback.\n\nMostly consists of removing the word \"encryption\" from most APIs,\nsince we can\u0027t actually make promises about the data being encrypted.\n\nBug: 27531029\nChange-Id: Iace9d7c4e64716abf86ed11847c40f3947e1d625\n"
    },
    {
      "commit": "51e7805f14062df674f613fdaa830030aaaa4f8e",
      "tree": "1bb713ab589db59aa0f1cda47917059c155759d5",
      "parents": [
        "5781e61cb6a134cf897d8454a222687880ce639a"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 11 09:10:27 2016 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 11 09:10:27 2016 -0500"
      },
      "message": "Remove all non-porterduff xfermodes from the public API\n\nbug: 14650725\nChange-Id: I3c935c32849be8762281eb3d1c86481be3fa139f\n"
    },
    {
      "commit": "08713d2a0eed1b2badb656f01a7aa123a7df5ad1",
      "tree": "d59f355ed76208b68b0e4f2aa573e4f09b93358e",
      "parents": [
        "943dedaf97eb0557cee4f639f2ffc050e2499ee2",
        "e12d810e99da093d3cf38f89c81e3e8d1e75b404"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Mar 08 22:11:12 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 22:11:13 2016 +0000"
      },
      "message": "Merge \"TIF: Unhide TvView.setZOrderMediaOverlay/setZOrderOnTop/tune/unblockContent\" into nyc-dev"
    },
    {
      "commit": "e12d810e99da093d3cf38f89c81e3e8d1e75b404",
      "tree": "65622168e242a3df5b064515903d0285a06d6b89",
      "parents": [
        "8482826287ac2fdb2440213155cf134b7e713283"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Mar 04 16:45:39 2016 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Mar 08 10:53:09 2016 -0800"
      },
      "message": "TIF: Unhide TvView.setZOrderMediaOverlay/setZOrderOnTop/tune/unblockContent\n\nBug: 25726685\nChange-Id: If96d0b086488c931d20315ee1c29cf7374715d93\n"
    },
    {
      "commit": "1d6d16d6995099afa506ecac38019a5bb8eacd86",
      "tree": "8723dba30f83aff8c6069ca719fdcef9a0c5e707",
      "parents": [
        "9edd36a8ba6f4a55690c2e538d0ccc786da3497c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Mar 07 13:51:02 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 08 10:41:31 2016 -0500"
      },
      "message": "Condition cleanup.\n\nChange-Id: If978bebac52c0b1438e86339669f409b4b17c6fc\n"
    },
    {
      "commit": "50d1c044b5ce4b6fef532dc6e083cef903f554b2",
      "tree": "a939ccdb97eaea101b411732145882c5861bd100",
      "parents": [
        "331279b239a6f5f392372f34cd6923fa589f9987"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 29 16:34:46 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 29 16:46:09 2016 -0700"
      },
      "message": "Parcelable classes should always be final.\n\nAlso hide ConnectivityMetricsEvent which isn\u0027t being used yet.\n\nBug: 27415331\nChange-Id: Iacdccddda504f3f669185f807b4f35b8dc2b0212\n"
    },
    {
      "commit": "f398479e069c7accb1f96b06b32e086609342669",
      "tree": "5c88f5541a5bb832ff49a8a796335d4465818bae",
      "parents": [
        "4e34c4e53c21f004cb575c0d46c83565b33fed88",
        "27ee33482a2fdecbbbedbd33a137ceae3e93fa2a"
      ],
      "author": {
        "name": "Philipp Weiß",
        "email": "phweiss@google.com",
        "time": "Tue Feb 23 17:53:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 23 17:53:58 2016 +0000"
      },
      "message": "Merge \"Remove deprecated APIs DPM.createUser, createAndInitializeUser\" into nyc-dev"
    },
    {
      "commit": "5affc2b587323f55201d5db768b838505b5a4b72",
      "tree": "249b6eb058bb0050fcaf5ca62889d05faab18b2c",
      "parents": [
        "8e2602ea26fe8eeec36a994f84d9f8ed03ef9090"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 22 17:12:15 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 22 17:29:32 2016 -0800"
      },
      "message": "Make android.media.AudioFormat parcelable\n\nBug 22876530\n\nChange-Id: If027715aad32ce8796a7e223ba51c301a3dd1192\n"
    },
    {
      "commit": "27ee33482a2fdecbbbedbd33a137ceae3e93fa2a",
      "tree": "332e40527419f875dcd246ec88d50f300ab27094",
      "parents": [
        "fa272e5c9262bc974d68139a6300ecdbf94f0767"
      ],
      "author": {
        "name": "phweiss",
        "email": "phweiss@google.com",
        "time": "Mon Feb 08 16:40:45 2016 +0100"
      },
      "committer": {
        "name": "phweiss",
        "email": "phweiss@google.com",
        "time": "Mon Feb 22 14:04:14 2016 +0100"
      },
      "message": "Remove deprecated APIs DPM.createUser, createAndInitializeUser\n\nThey were deprecated in M and slated for removal in N.\n\nBug: 26974903\nChange-Id: I7ae4d60bcf226c1e1de42852b378ad1ff71a914b\n"
    },
    {
      "commit": "34a9d5271915fb82c22811e6d17691a34b6c52c1",
      "tree": "6802483692ad40985af08bf9887498949fed648a",
      "parents": [
        "04a5d40cf35fb2c2fca2c1bfd573e5916d804ef6"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 17 10:12:04 2016 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 17 14:38:25 2016 -0800"
      },
      "message": "Removed Intent.OPEN_EXTERNAL_DIRECTORY.\n\nSuch intent is now encapsulated by StorageVolume.createAccessIntent().\n\nBUG: 26742218\n\nChange-Id: I2e2bd71126ecd74981f77b0af7d069f51aaece74\n"
    },
    {
      "commit": "04a5d40cf35fb2c2fca2c1bfd573e5916d804ef6",
      "tree": "eb79e0a16bcdd263d4bd93dae09e74c38ebf6ebd",
      "parents": [
        "c47738d8c22ae09cd93096888def0cf33f39d285"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Feb 08 16:44:06 2016 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 17 13:14:39 2016 -0800"
      },
      "message": "Initial implementation of StorageManager.getVolumesList().\n\nThis change makes StorageManager.getVolumesList(),\nStorageManager.getPrimaryVolume(),  and StorageVolume public and adds a\nbuildAccessIntent() in the latter to automatically generate the\nACTION_OPEN_EXTERNAL_DIRECTORY intent, but it doesn\u0027t change the\nACTION_OPEN_EXTERNAL_DIRECTORY implementation yet (i.e., it still takes an URI with the physical path of the directory, instead of a StorageVolume and\na directorny name).\n\nBUG: 26742218\n\nChange-Id: I36c59c42b6579e125ec7f03c3af141260875a491\n"
    },
    {
      "commit": "a62496d8f7cb9048331451af07466b1edc568c7d",
      "tree": "05a5291ff6ed26e15d4d5b5dc5621747d10f0919",
      "parents": [
        "23b1de1122dfa737698decb45c3e6db5a0c359ac"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jan 29 15:29:16 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Feb 01 12:55:39 2016 -0500"
      },
      "message": "Re-SystemApi some fields/method that aren\u0027t in use.\n\nBug: 26816334\nChange-Id: Ib01e7856cd65e294c018017c600f8b3dce2be844\n"
    },
    {
      "commit": "b51617f4668ef8cf0e6d8d0fc3284eae51dbd8ca",
      "tree": "9e66ea505482770b09a33c338d008ab549357b91",
      "parents": [
        "d11c15d418d776d1db33f7664fad2671de0e6669"
      ],
      "author": {
        "name": "Stephan Linzner",
        "email": "slinzner@google.com",
        "time": "Wed Jan 27 18:09:50 2016 -0800"
      },
      "committer": {
        "name": "Stephan Linzner",
        "email": "slinzner@google.com",
        "time": "Wed Jan 27 18:09:58 2016 -0800"
      },
      "message": "Deprecated platform Android testing APIs\n\n- Deprecated most android.test.* APIs\n- Kept ProviderTestCase2 and LoaderTestCase since we don\u0027t have a\nreplacement yet\n- Deprecated android.test.suitebuilder\n- Added Javadoc to all deprecated APIs with links to corresponding\nAndroid Testing Support Library APIs\n- Removed all trailing whitespace\n\nBug: 22314304\nChange-Id: I1b1f0dd5132364110f1dfd4e3eb2dd044700d859\n"
    },
    {
      "commit": "e06b4d1d9f718b9fe02980fea794a36831a16db2",
      "tree": "cfef7d72c17fc71b008f0c9a8f08d49553a30e16",
      "parents": [
        "2a90f673f5819e05ea72f6aba3e75956e0f807dc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 06 14:51:50 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 06 15:21:06 2016 -0700"
      },
      "message": "Consistent naming for PackageManager methods.\n\nWhen hidden PackageManager methods take a userId argument, they\nshould be named explicitly with the \"AsUser\" suffix.  This fixes\nseveral lagging examples so that we can pave the way to safely\nstart passing flags to new methods without scary overloading.\n\nAlso fix spacing issues in various logging statements.\n\nChange-Id: I1e42f7f66427410275df713bea04f6e0445fba28\n"
    },
    {
      "commit": "e7ee54ee7f4985bc743053d38d21f33c70220f05",
      "tree": "e11771f287f3e9f5b197731414d0adc2e44a70d0",
      "parents": [
        "83fac6b062e049285d7df483a2c010eaf1660057"
      ],
      "author": {
        "name": "Craig Lafayette",
        "email": "craiglafa@google.com",
        "time": "Mon Sep 21 13:48:53 2015 -0400"
      },
      "committer": {
        "name": "Craig Lafayette",
        "email": "craiglafa@google.com",
        "time": "Fri Oct 02 13:11:57 2015 -0400"
      },
      "message": "Remove device initializer agent\n\nBug: 23216982\nChange-Id: I867c0b5f4165983d1ed2623a655f6a2a5e3770bb\n"
    },
    {
      "commit": "a36c07405280f93a11ad6398553da274e6daad83",
      "tree": "17c89314310e39859073f778e883ecb8534f8558",
      "parents": [
        "e827c2525a6b76c130d2b877fbcdcf62b0ce42eb"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 28 11:41:31 2015 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 28 11:41:31 2015 -0700"
      },
      "message": "Un-remove legacy ConnectivityManager API.\n\nThese were @removed too soon.  We need to keep them @deprecated until\nthe bulk of devices support the new API and then we can remove them.\n\nbug:22728205\nChange-Id: If1b46ff1878f1778517624112b195c461645ddd1\n"
    },
    {
      "commit": "749d66b82fcfa82649536d2a0739a1a84edc0400",
      "tree": "d83112da855d9e038d965969d2b363dc0d78ac46",
      "parents": [
        "cede20a7c273279a9bc51750bdd99c1383816e3e",
        "a05db3816b4e29790aed9de9ef1cf4b2d0b616c9"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Wed Jun 24 22:17:39 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 22:17:45 2015 +0000"
      },
      "message": "Merge \"remove setLatestEventInfo\" into mnc-dev"
    },
    {
      "commit": "a05db3816b4e29790aed9de9ef1cf4b2d0b616c9",
      "tree": "f6a535f81b8476e9226361d334723cfa48377ae0",
      "parents": [
        "f1b25bd43464b2603da98ce5f03f41d9819d2374"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Wed Jun 24 15:18:34 2015 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Wed Jun 24 15:18:34 2015 -0400"
      },
      "message": "remove setLatestEventInfo\n\nThis has been deprecated since API 11.\n\nBug: 18510449\nChange-Id: Ibd052572aa8c332daf5f6a604afe1925e8998a2b\n"
    },
    {
      "commit": "6d2c0e5ee2f717d4a5c00df08aca21c76eea8278",
      "tree": "d4ea2ebfbb76526bca06fcc88dbcd6b7bcada431",
      "parents": [
        "7cc40196132596a267b78d60f6e416be55251525"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 23 16:33:36 2015 +0000"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 23 23:03:55 2015 +0000"
      },
      "message": "Remove not needed contacts related permissions.\n\nThis reverts commit ed5ff51b2ca7c051e2719dfc8a8a083e6208848e.\n\nChange-Id: If2407e4e474a438d95e1b7ad1aa6f441bb3ace08\n"
    },
    {
      "commit": "ed5ff51b2ca7c051e2719dfc8a8a083e6208848e",
      "tree": "dbc4f089cb1b45a7405da654926049b525f57656",
      "parents": [
        "a2991da0d671adf511ccb884cf25bf1241303f92"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Tue Jun 23 06:16:25 2015 +0000"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Tue Jun 23 06:16:25 2015 +0000"
      },
      "message": "Revert \"Remove not needed contacts related perissions.\"\n\nBroke the build, reverting.\n\nThis reverts commit a2991da0d671adf511ccb884cf25bf1241303f92.\n\nChange-Id: I2bdfa70fbd8a6c03e48426f85eeb63896762d5da\n"
    },
    {
      "commit": "a2991da0d671adf511ccb884cf25bf1241303f92",
      "tree": "213eceb089e954e4a5e5d6d70feca7002f97ca23",
      "parents": [
        "3ac465a7d830a973096b4f69ef4531f09dcdf07c"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 22 11:13:04 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 22 13:20:55 2015 -0700"
      },
      "message": "Remove not needed contacts related perissions.\n\nRemoving the read/write profile/social stream permissions as they\nare not needed anymore. These permissions are for accessing data\nnested in the conacts provider which is already guaded by the\nread/write contacts runtime permissions. The removed permissions\nwould be in the contacts group which means they would not provide\nmore protection compated to read/write contacts. Also removing\nthe permissions voids the need for app op support for legacy apps.\n\nRemoved deprecated APIs for social streams as these were deprecated\nand will go away in the next release. We want apps targeting M to\nnot be able to compile if still suing these APIs to help with\nmigration.\n\nChange-Id: I26ed9055847af7f92c78eb0f4ac8f9f1aa616fcd\n"
    },
    {
      "commit": "dfdb52abe601bc9b7ba41684a35f7a030b93f707",
      "tree": "0aac101e725bbe3be78ec11f3a408bae5749dfb9",
      "parents": [
        "965097321df7fd57a35f63365b1de26ddcf35214"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Wed Jun 17 21:03:11 2015 +0000"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Wed Jun 17 21:03:11 2015 +0000"
      },
      "message": "Revert \"remove setLatestEventInfo\"\n\nThis reverts commit 965097321df7fd57a35f63365b1de26ddcf35214.\n\nChange-Id: I658bb2611fe8f983309e962d6772d1bd80ed586e\n"
    },
    {
      "commit": "965097321df7fd57a35f63365b1de26ddcf35214",
      "tree": "59a96e4f386d995524289d607e6450f4dc85e6ee",
      "parents": [
        "0463cad783e78381f390855d1cc9d7d8d803b634"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Fri Jun 12 10:03:01 2015 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Mon Jun 15 08:22:05 2015 -0400"
      },
      "message": "remove setLatestEventInfo\n\nBug: 18510449\nChange-Id: I2f950b92a9c13fc29bf5642d44fd2fcce79e65fd\n"
    },
    {
      "commit": "6d9778328a3c3c9da525870fff606af8ac5e9529",
      "tree": "349a1b9328b9591ce2c092e941a24d328f215e61",
      "parents": [
        "a5c852e03abb9372a6928271a930d7d79e4ec45e",
        "bfa216ac261dd3c5035ad38795650ce5f4ce6fb7"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 14 20:00:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 14 20:01:02 2015 +0000"
      },
      "message": "Merge \"Remove bookmarks provider and associated permissions - framework\" into mnc-dev"
    },
    {
      "commit": "bfa216ac261dd3c5035ad38795650ce5f4ce6fb7",
      "tree": "0c8d1cd3049a742fcc25836893b10f38f793b095",
      "parents": [
        "e545bd36a483b51ef681ea063f7bda9352adb4d4"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 05 14:20:50 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jun 11 18:59:25 2015 -0700"
      },
      "message": "Remove bookmarks provider and associated permissions - framework\n\nChange-Id: I7f5a2f14a12da473f05a5075d98e762f8f8ed970\n"
    },
    {
      "commit": "6eb73a577850a4b6ddb06fd746f09a6c1d124f34",
      "tree": "e4dfe011470ae9b7161257736514b5c79ba406df",
      "parents": [
        "00a34ab54c0e53461586c9596b4f43615319329f"
      ],
      "author": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Thu Jun 11 13:07:11 2015 -0700"
      },
      "committer": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Thu Jun 11 14:10:04 2015 -0700"
      },
      "message": "Revert \"Revert \"Permissions: Fix account related permissions.\"\"\n\nThis reverts commit dcddc476651deb72a27798de56eef584e5be5d32.\n\nChange-Id: Ie2402167fc7cd3d5e57bf2fba704fdf00cfcb4fe\n"
    },
    {
      "commit": "d6a213526251896b7f9928334a17ae0dd97669ba",
      "tree": "816f9e042fd3110fd8a02a3b79bc4e9c17725a91",
      "parents": [
        "dbf62ace0dcb671f5eaa97c0dfa75e39bc9c88be"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 12 10:13:45 2015 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu May 07 13:16:18 2015 +0000"
      },
      "message": "Remove FloatMath methods from the API\n\nAlso removing FloatMathTest. The tests are being\nmoved into a legacy CTS suite.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d36199\nChange-Id: I397fd6bcc4d988db6301245f9d47460bd6c28821\n"
    },
    {
      "commit": "0f94fc6f1df4ef03e639190a138d650bc6cf8adf",
      "tree": "8580002985f4232511a64e1ac4b133725ae38251",
      "parents": [
        "4b57e74bb3bea794f804655435e881d0ce756f57",
        "70e21e61ac728c3e02d6d54a52b53199b4ebf9df"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Apr 25 20:16:09 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 25 20:16:12 2015 +0000"
      },
      "message": "Merge \"Frameworks/base: Fix a constructor\""
    },
    {
      "commit": "e285b434f4cc0f719e189e472bb3f83865b58b7b",
      "tree": "7da4f318b1b441c103a795663db4a6ab09290d19",
      "parents": [
        "f443bfc25e80ef46aedd616d4ecb4c95abd7be7a"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Apr 23 15:32:42 2015 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Apr 23 17:44:05 2015 +0900"
      },
      "message": "@removed requestRouteToHost and {start,stop}UsingNetworkFeature\n\nBug: 20482461\nChange-Id: Ic59fc1271e664d85102dc7945c0c2ea82c0d6f6b\n"
    },
    {
      "commit": "1441fc73e87fed4d5df84e5e19c14c2a4307b23b",
      "tree": "2778a47c819cabc0bd15744a9eb0f2b200ee57e8",
      "parents": [
        "317918e206b89f4a49bfa35af57607764f322347"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 14 12:32:47 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 14 12:37:04 2015 -0700"
      },
      "message": "Mark the SUBSCRIBED_FEEDS_READ/WRITE permissions removed.\n\nThese permissions are definded by the platform to protect the\nsubscribed feeds provider which is not in the system, neither\nis its contract specified in the system. Both the contract and\nthe implementation of the provider are in GmsCore. Hence, this\npermissions shuld be declared by GmsCore, not the system. Until\nGmsCore adds the permissions we have to keep this as removed\nbut present in the implementation to keep apps that use the\nprovider working.\n\nbug:20192150\n\nChange-Id: I3f38b01a159bb430c30948b14de7cdaf5cb50772\n"
    },
    {
      "commit": "8faab36fdd2d7dd038885a5073eeb8354d8996d4",
      "tree": "d24b171826d1b5d1e93a9328bfec5efc104ed8ad",
      "parents": [
        "4670513e70f8d55e40a359941e7c216604daae19"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 09 18:52:52 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 09 19:48:10 2015 -0700"
      },
      "message": "Clean up AbstractCursor API.\n\nDeprecated three protected fields that should not have been\nexposed in the API.\n\nBug: 6353797\nChange-Id: Ic6710f880a452dd1508abf0613907a1d2b1fb557\n"
    },
    {
      "commit": "c6d1c345f41cf817bf2c07c97b97107d94296064",
      "tree": "4bb0bac510ae49524f25a71e3f9e73f5f78cf36f",
      "parents": [
        "3910eb551c7736015708c627dcabaa75c66d9ec3"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 26 14:44:43 2015 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Mon Mar 23 18:50:35 2015 -0700"
      },
      "message": "Runtime permissions: per user permission tracking.\n\nBefore all permissions were granted at install time at once, so the user\nwas persented with an all or nothing choice. In the new runtime permissions\nmodel all dangarous permissions (nomal are always granted and signature\none are granted if signatures match) are not granted at install time and\nthe app can request them as necessary at runtime.\n\nBefore, all granted permission to an app were identical for all users as\ngranting is performed at install time. However, the new runtime model\nallows the same app running under two different users to have different\nruntime permission grants. This change refactors the permissions book\nkeeping in the package manager to enable per user permission tracking.\n\nThe change also adds the app facing APIs for requesting runtime permissions.\n\nChange-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5\n"
    },
    {
      "commit": "70e21e61ac728c3e02d6d54a52b53199b4ebf9df",
      "tree": "c33580a6093e3b41a5127a580a3928ff1df782f0",
      "parents": [
        "3756b40992b4940101eb84604b9283167bee9a34"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 18 16:13:33 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 19 15:27:13 2015 -0700"
      },
      "message": "Frameworks/base: Fix a constructor\n\nThe constructor of RecoverySystem was accidentally made public\nbefore. @Removed it.\n\nBug: 19797138\nChange-Id: I4c7bba99695a3aeb56da9c126125c3e9075c0181\n"
    },
    {
      "commit": "dbbeeb3f44793798f129f25eb3e62f4cfe709d26",
      "tree": "297e13e6bfa7a52bbf3f4518317a4c66e2b43780",
      "parents": [
        "5ca961673355622209fad00e75734ed861ecbce5"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 18 19:16:25 2015 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Mar 10 19:53:12 2015 +0000"
      },
      "message": "Remove unused settings constants from the SDK (framework).\n\nThe settings constants for various volumes do nothing and are\nused by nothing since API version 2. These are however backed\nup in the cloud which is a waste of resource. This change\nremoves these constants from the SDK while keeping them hidden\nto avoid breaking released apps and also prevents unnecessary\nbackup.\n\nChange-Id: I2e91863115f5a4b997a14f8d0f57b4dc9689cfab\n"
    },
    {
      "commit": "6e53931f49f49245deef8622eb8e7dc6ccf04536",
      "tree": "0b7101049fca594901d09a089ba1f9588053cd1e",
      "parents": [
        "ddd30928a7d8f410d7d13d5706da44ba20bac440"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Feb 24 18:53:21 2015 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Feb 25 17:04:13 2015 -0800"
      },
      "message": "Add Context.getSystemService(Class\u003c?\u003e).\n\nAdded an overload of getSystemService() that takes a class instead of a\nservice name to eliminate the extra cast and provide more type safety.\n\nCleaned up docs.\n\nRemoved the default constructor of BatteryManager which should not have\nexisted.\n\nChange-Id: I9da46b20641fc83ecd3342560e5b94cb721f289c\n"
    },
    {
      "commit": "406e1ed9883010928cfb42246cfd2710ebf3da74",
      "tree": "4ecf899952a5caf87f659ed58436257bd2072d4d",
      "parents": [
        "46a9721aebb3be64ec6f6941414b3f54131d2954"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Dec 10 18:55:12 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Feb 04 09:50:46 2015 +0000"
      },
      "message": "Remove apache specific socket factory API.\n\nNote that this change also includes another (non-breaking) update from\nanother of my changes from a month ago. I guess nobody has updated API on\nmaster in a very long time..\n\nbug: 18027885\nChange-Id: I1fb1bcdaac07131c3bc43b13ad21cacd12a2e7c8\n"
    },
    {
      "commit": "9d68b3c839046d6a0ef505ab020fc4219ea36170",
      "tree": "d4d83151fb33678066c01e89dc6b5db6f1eb8792",
      "parents": [
        "27be7b3586dcf87da4badd55693de4fc1c0bfaa7"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Oct 22 12:55:58 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Nov 03 16:01:32 2014 +0000"
      },
      "message": "Remove deprecated DateFormat APIs.\n\nbug: 18074066\nChange-Id: I99cef45105c9f25075c596cf4f52ec5573565596\n"
    },
    {
      "commit": "3fadee479107f0494e1e190aba2a1eea12cb0a75",
      "tree": "1e1c7316b17d5181278d18f5ae0a095187d465ec",
      "parents": [
        "68ab6cf0ea4dce600728a433323ab73a956ec900"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Sep 09 06:11:15 2014 +0900"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Fri Sep 12 11:32:31 2014 +0900"
      },
      "message": "API Review: Clean up removed APIs\n\nThis CL removes old API signatures marked as @removed\nin the follow CLs.\n- Ic8c6fab58c01206872a34e7ee604cdda1581364d\n- Ia8cbb9f6b41cd9509fc0147fd68763dfde593ffc\n- I772c48ff18918e48a81e807b48ff907614485c09\n\nThis is just a clean-up CL. No behavior change is intended.\n\nBUG: 17200900\nBUG: 17320996\nBUG: 17365414\nChange-Id: Ibfbd5cc1cdebb8851c73477cff55c9b2d631fdea\n"
    },
    {
      "commit": "e461d549bf571fcca7698d1b5e7da71310e0998d",
      "tree": "a8f68a7f4c10f68bfe37dabc3a987aba8fd1e25e",
      "parents": [
        "e9939c110ecfe5d26950e3aab940504a054cfa40",
        "5171dee2152758f307c9a1d70396fa79a921aef5"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 12 01:30:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 01:30:35 2014 +0000"
      },
      "message": "Merge \"Remove unsafe methods that take TypedArray\" into lmp-dev"
    },
    {
      "commit": "5171dee2152758f307c9a1d70396fa79a921aef5",
      "tree": "7858e43f7fd4273ed99b6c6c90abaedd6a5e6034",
      "parents": [
        "d6adcef917aac893fd82e7628781145693d6187f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Sep 11 16:33:01 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Sep 11 16:33:01 2014 -0700"
      },
      "message": "Remove unsafe methods that take TypedArray\n\nBUG: 15782973\nChange-Id: Ief4ff69c90c16b0e8c93316af9d46ae9639648fa\n"
    },
    {
      "commit": "5eb3ffc24cbcce7e0c2995d0d4be62844fef4999",
      "tree": "163760a00801179b9e63371ff88e4afc9f223640",
      "parents": [
        "f35423bb4e74f6cdc5e4cfc5302e659457e30f5d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Sep 11 15:38:55 2014 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Sep 11 15:38:55 2014 -0700"
      },
      "message": "Remove View methods that can\u0027t be used safely from the SDK\n\nView methods that previously accepted a TypedArray to initialize\nparameters parsed from xml cannot be used correctly by apps. The\nTypedArray passed must always be obtained from a context using the\nfilter array com.android.internal.R.styleable.View, which is not\nvisible to the SDK.\n\nA previous change already made this safe for existing apps already\nusing it so that they don\u0027t crash, this change removes these methods\nfrom the SDK entirely.\n\nChange-Id: I62099087ad6fd5bf8363e863b04fd0434b8cdfca\n"
    },
    {
      "commit": "704dd61f5be9266b3cfdfeb407b6fc4822bac7af",
      "tree": "b841c9123fd31c6989611b33c67f55e1093bec3e",
      "parents": [
        "a41c4bcc3dcac9e808c9d524e24454d132790e9a"
      ],
      "author": {
        "name": "Christoph Studer",
        "email": "chstuder@google.com",
        "time": "Tue Sep 09 11:31:43 2014 +0200"
      },
      "committer": {
        "name": "Christoph Studer",
        "email": "chstuder@google.com",
        "time": "Tue Sep 09 11:31:43 2014 +0200"
      },
      "message": "NoLiService: Delete @removed meetsInterruptionFilter\n\nThis should not break any apps as this API has been marked\n@removed more than a week ago.\n\nBug: 17425123\nChange-Id: I19d7e933a3f2a59e1b406a9f87d272f058a13e0d\n"
    },
    {
      "commit": "5f183f0671dfa1d87ca6d741deb457170c432493",
      "tree": "bbe26c8efa6ac5b36856227c2f58b437321aee9f",
      "parents": [
        "a3ca5a31a5db14e7c4597de074f01c1af6161872"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Sep 02 14:18:40 2014 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Mon Sep 08 02:17:54 2014 +0000"
      },
      "message": "L API proposal: Introduce IS_RTL flag\n\nThis CL introduces CursorAnchorInfo.FLAG_IS_RTL for better\nRTL support. This CL also renames *CharacterRect() with\n*CharacterBounds() so that they can look more consistent\nwith other existing APIs.\n\nRationale:\n\nCursorAnchorInfo.FLAG_IS_RTL addresses following issues.\n1. There is no way to associate the RTL information with\n   the insertion marker.\n2. Returning mirrored (right \u003c left) RectF for RTL in\n   CursorAnchorInfo#getCharacterRect() is turned out\n   to be bug-prone. Such usage of RectF is not fully\n   supported. For example, RectF#isEmpty() always returns\n   false when right \u003c left.\n3. There is no reliable to provide the RTL information\n   when CursorAnchorInfo#getCharacterRect() returns an\n   empty (right \u003d\u003d left) RectF. Perhaps we could use +0.0\n   and -0.0, but I\u0027m afraid that it is also bug-prone.\n\nBUG: 17365414\nBUG: 17335734\nChange-Id: Ic8c6fab58c01206872a34e7ee604cdda1581364d\n"
    },
    {
      "commit": "a4e102ee580282dc7abeb22f4a025813e53b9431",
      "tree": "879e7632cbe83220696694dbcac3f39e587cd039",
      "parents": [
        "b75dd5cedd5eb83d1f9b86ad4a09a5e6ec3df537"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 04 22:52:27 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 05 18:43:43 2014 -0700"
      },
      "message": "Work on issue #17357238: Recents is often slow if not used in a while\n\nAdd a new activity attribute, resumeWhilePausing, that allows an\nactivity specifying it to immediately start running without waiting\nfor the previous activity to pause.  The recents activity is updated\nto use this.\n\nThe implementation of this is ultimately fairly simple -- if we are\nin the path of resuming such an activity, and find that we first need\nto pause the existing activity, then within the activity manager we\ndo the regular pause flow but act like it has immediately finished\npausing right then so that we can immediately go on to the resume.\nTo make this clean, we tell the activity when asking it to pause that\nit should not come back and tell us it is done, because we aren\u0027t in\nany way waiting for it.\n\nOne potentially important change I needed to make here is the pause\ncallback no longer provides the saved persistent state, because we\nnow can\u0027t count on that callback happening.  I don\u0027t think there was\nreally any utility in this anyway -- all modern apps will have their\nsave state flow happen as part of stopping, not pausing, so we\u0027ll\nonly capture that saved state when the stop is reported back anyway.\nAnd since we do send the saved state back when stopping, it would\nalways blow away whatever we had gotten at the pause.\n\nFinally, update the documentation for AppTask.startActivity(), and\nfix the implementation handling that to be cleaner -- we need to\ndeal with inTask first before getting in to \"oh noes add NEW_TASK\nif this isn\u0027t coming from a calling activity\" flow.\n\nChange-Id: Ia1da0fac90d7bdbaafdda2e34850d795ce17a39f\n"
    },
    {
      "commit": "2f2ebcd688ad3995df9860a6e02c8282b240516d",
      "tree": "6be41116103c41b12917db68357fcc66dc1d58b1",
      "parents": [
        "8eca9e0f0b7bee0d11dc410ba7be3b4c0eb8ffa8"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Aug 26 20:11:05 2014 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Sep 05 12:11:48 2014 -0700"
      },
      "message": "Cleanup - Change name of confirm credentials method after API review\n\nFixes bug 17288988\n\nChange-Id: I3d69b52e7ffc9f0268fb4dc9647f8704453668b7\n"
    },
    {
      "commit": "c7d62f02b8acfd0a6b31f8544ec2c07e780fe4bb",
      "tree": "532c46292dac958aed9b688138a828f2e8da58ec",
      "parents": [
        "d3cc74cac29c0534762228accf72ea8c6f5bebde"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 04 15:39:54 2014 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Sep 05 10:07:02 2014 -0700"
      },
      "message": "Addressing API council comments for UserManager.\n\nbug:17390424\n\nChange-Id: I498d2541289915cb7db16e5c3249ccc7a7dc5ee6\n"
    },
    {
      "commit": "d8636ea7ca78df83d6b04088eab7853f15f3e999",
      "tree": "e6c5d59eb963d63d8e26b58572a3631c68eadcf5",
      "parents": [
        "f0e57e10edb0f76d1675285d352bba69838d407c"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Sep 02 22:03:30 2014 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Sep 02 22:39:08 2014 -0700"
      },
      "message": "API Review: InputConnection\n\nThis CL does nothing but rename some L API candidates\nin InputConnection class, as per requested.\n\n- requestUpdateCursorAnchorInfo()\n  -\u003e requestCursorUpdates()\n- REQUEST_UPDATE_CURSOR_ANCHOR_INFO_IMMEDIATE\n  -\u003e CURSOR_UPDATE_IMMEDIATE\n- REQUEST_UPDATE_CURSOR_ANCHOR_INFO_MONITOR\n  -\u003e CURSOR_UPDATE_MONITOR\n\nBUG: 17320996\nChange-Id: I772c48ff18918e48a81e807b48ff907614485c09\n"
    },
    {
      "commit": "cc24e2b6a2a429d70b75c6810a5cfd8816ce03ad",
      "tree": "19454aa0f828327c6fb4f65f5d186dcb843202d6",
      "parents": [
        "e93e6c81f2ec2588ca3a2878ac2b53776aa4845f"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Fri Aug 29 20:21:10 2014 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Sep 02 14:08:39 2014 -0700"
      },
      "message": "API Review: CursorAnchorInfo\n\nThis CL introduces following combinable flags as a replacement\nof CHARACTER_RECT_TYPE_* constants.\n- CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION\n- CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION\n\nThis CL also replaces #isInsertionMarkerClipped() with\nflags.\n\nRationale:\ngetCharacterRectFlags() should return a set of flags, rather\nthan enum-like types.\n\ngetInsertionMarkerFlags() is more consistent with\ngetCharacterRectFlags() than isInsertionMarkerClipped().\nIt is also open for future extension.\n\nBUG: 17200900\nChange-Id: Ia8cbb9f6b41cd9509fc0147fd68763dfde593ffc\n"
    },
    {
      "commit": "9c165d6e9a2f085fbdc87b9221f2d52d851b2652",
      "tree": "5d32884cb07c54d3bdee63cb06f6ff23d802d7d8",
      "parents": [
        "d576bf310b96b61105a6fd4d63b39545349698a5"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Mon Aug 25 14:39:26 2014 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Wed Aug 27 21:52:07 2014 -0700"
      },
      "message": "TIF: Enable applications to register custom content rating systems\n\nA recent change that moved the string resource for the system supported\ncontent ratings from the framework to the TV app led to a need for\nallowing the TV app to publish its own content rating systems. This\nchange added an intent action and a metadata key to be used by the TV\ninput manager service for querying available content rating systems,\nsimilarly to the way InputManager defined ACTION_QUERY_KEYBOARD_LAYOUTS\nand META_DATA_KEYBOARD_LAYOUTS for custom keyboard layouts. Applications\nnow can register their own rating systems simply by declaring a\nbroadcast receiver in their manifests.\n\nBug: 17167287, Bug: 17114406\nChange-Id: I1808c624014b603ea709714737c2a880714bdc0a\n"
    },
    {
      "commit": "bde3d18dd5748bd24e527c653504346ad012c2dc",
      "tree": "40ae0c594d73d0de5ec35eb37c8ae86c62c6efde",
      "parents": [
        "e30735c7dc574ac6b40d871d2bee99eb8ecd3000"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Aug 26 19:53:17 2014 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Aug 26 19:53:17 2014 -0700"
      },
      "message": "Change name of confirm credentials method after API review\n\nChanged from getConfirmDeviceCredentialIntent to createConfirmDeviceCredentialIntent\n\nFixes bug 17288988\n\nChange-Id: Iae9a997d9ea49ce23bdbbe38ad7b0763779b8f59\n"
    },
    {
      "commit": "ce7d6d292b2309eff95d4206b09858f13fff5213",
      "tree": "861eb3b4a385439b7ba166645c587816457d69b8",
      "parents": [
        "5369d7a9317a137ca0b7ad43c889203a7669626f"
      ],
      "author": {
        "name": "Christoph Studer",
        "email": "chstuder@google.com",
        "time": "Tue Aug 26 19:21:31 2014 +0200"
      },
      "committer": {
        "name": "Christoph Studer",
        "email": "chstuder@google.com",
        "time": "Tue Aug 26 19:32:29 2014 +0200"
      },
      "message": "NoListener: meetsInterruptionFilter -\u003e matchesInterruptionFilter\n\nRename Ranking.meetsInterruptionFilter() to matchesInterruptionFilter()\nas suggested by API council.\n\nMarking the old version @removed for now, will remove once prebuilds had\nthe chance to update.\n\nBug: 17255109\nChange-Id: Iaee094df2dddf82029e127c194ea88581d1a48bb\n"
    },
    {
      "commit": "7d82751530db56841f7e767fe752abe5faa06e0c",
      "tree": "70a68608df98ce7ad0a32f612ffdcba26fc8303d",
      "parents": [
        "0a571123544058578b4ef1558c276a4050519652"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 21 21:56:02 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 21 22:43:25 2014 -0700"
      },
      "message": "Hide PowerManager methods that third-party apps can\u0027t use.\n\nChange-Id: I9c4dbdef913f68939eb29f2c250c5fe3afc67399\n"
    },
    {
      "commit": "e411fdfa4c131cfd1cac14e9e1be1ae9e40cc2a5",
      "tree": "5f230324a7358fbf2ec7db5d40f3883c650bcf7a",
      "parents": [
        "e37e43d0bdf0b865d117d8087d4ebc71072aa5c1"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jul 28 23:00:44 2014 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 29 14:43:03 2014 +0200"
      },
      "message": "Remove WindowManager.LayoutParams.TYPE_KEYGUARD (1/2)\n\nChange-Id: I5d234dc4383bbf205bde1a0e7f1e8266fc37d13a\n"
    },
    {
      "commit": "1aa74e4bc24cbe014f0c4217761a9d5e082111c6",
      "tree": "e09e407447486e595337e182b4c2d241ae3da2a7",
      "parents": [
        "6b7b34849a19aff673690f368b85b0c394b31b53"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 19 10:11:19 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 22 17:13:06 2014 -0700"
      },
      "message": "Remove android.media.AudioFormat default constructor\n\nChange-Id: I2fe65ee7a8087151b44da3b84af357ea8bee80c4\n"
    },
    {
      "commit": "d20aa6c5315b817f053a84f86e5c3e44049399d7",
      "tree": "f2181006c8cd9f10ab6fc3dc7dca8fad8b0e62d1",
      "parents": [
        "5d4c35d1eabd4b8b58d606099b6664d2611c6fc0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat May 10 01:51:27 2014 +0000"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat May 10 01:51:27 2014 +0000"
      },
      "message": "Revert \"Remove the View#initializeScrollbars API\"\n\nLooks like there are some bugs in the API checker for @removed.\n\nThis reverts commit 172c26e20fd71a2b4489a80b96ea5f6292db6430.\n\nChange-Id: Ia4e610f71af19c5521fc019b9a6c26d0c11f23f1\n"
    },
    {
      "commit": "5d4c35d1eabd4b8b58d606099b6664d2611c6fc0",
      "tree": "da2e913d6efac5d7e70e5e68010e1b030b6bb742",
      "parents": [
        "2322ae82e9bbd0683eb86ae0f70050e76e44a30d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri May 09 17:32:38 2014 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri May 09 17:32:38 2014 -0700"
      },
      "message": "Remove the View#initializeScrollbars API\n\nThis was never a safe API for apps to call since the TypedArray\nparameter must have been obtained by filtering on\nandroid.R.styleable.View, which is not public. Any behavior in the\nwild has therefore been undefined.\n\nChange-Id: Id19f571c92748ef2a8c036072fd83a417527f779\n"
    },
    {
      "commit": "06d37f716f3afb58ed691e749781b76881d5877f",
      "tree": "b60b9bddef48f42a9c2c85de4abce4d5fd3f4c5d",
      "parents": [
        "e6415f50b10fe455df2cbe568a90bc762cce3cf7"
      ],
      "author": {
        "name": "Hui Shu",
        "email": "hush@google.com",
        "time": "Fri Feb 21 14:13:00 2014 -0800"
      },
      "committer": {
        "name": "Hui Shu",
        "email": "hush@google.com",
        "time": "Fri Feb 21 17:24:03 2014 -0800"
      },
      "message": "Add removeApi commandline option for doclava and an empty removed.txt\n\nBUG: b/11293324\nChange-Id: Ief41ae23f3d6364260ce34ee9f3211130a6a83d7\n"
    }
  ]
}
