)]}'
{
  "log": [
    {
      "commit": "34581f44cde67960fbac3ba1f191a2c063ea5145",
      "tree": "9c89d859f2c9cd1c622355a767e3a7c57c658e8a",
      "parents": [
        "9dd4a2ddd7caf8cbe50d8a76e0ec3e0274d2bce6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 29 16:00:28 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 02 11:54:44 2014 -0700"
      },
      "message": "Use CharacterEncodingDetector in metadataretriever\n\ninstead of media scanner. This way the java MediaMetadataRetriever API\nwill give the same result as the media scanner.\nAlso apply some tweaks to the encoding detector to improve handling of\nISO-8859-1 tags.\n\nBug: 16302581, 17205395\n\nChange-Id: I1682a7a6a8bf04cffaa455044ba72dd7fd152d49\n"
    },
    {
      "commit": "0d1004ad38955dffcb911656fc191eb29af9b4d5",
      "tree": "4b744dc8b06e59e8ba82e8ddd71e0622926ccd8d",
      "parents": [
        "b2a1f034be222274c48fa62e0d092c38932940e8",
        "6bf02664bbe4955d4818fe308b00ce0d97f38c8f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 13 15:38:03 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 13 15:38:03 2014 +0000"
      },
      "message": "am 6bf02664: am ccaffa8d: Merge \"Use char x[] rather than char x[0].\"\n\n* commit \u00276bf02664bbe4955d4818fe308b00ce0d97f38c8f\u0027:\n  Use char x[] rather than char x[0].\n"
    },
    {
      "commit": "4177a19769d43980bdb803bce33f9cacc1e4e1f8",
      "tree": "3abab3a024b60df6511530bb9df4acb3ed50ff3c",
      "parents": [
        "c323737dd46d724b4c1ec230b283f26ae2a22b4f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 18:17:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 18:17:11 2014 -0700"
      },
      "message": "Use char x[] rather than char x[0].\n\nBug: 15514223\nChange-Id: I895ea8ef7e391fd14cdf8976e048385e01c90f8f\n"
    },
    {
      "commit": "7903bb2b3065d58cc75637900922b434f50024d9",
      "tree": "33e825d96a3c1ca8a7778d50068e738d0cfa7272",
      "parents": [
        "14c403fbab456a4a63586a767fbae498f5f8c260",
        "2a8270e6944fb3addfcba87f6885aaad196b8b88"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 00:15:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 12 00:15:39 2014 +0000"
      },
      "message": "am 2a8270e6: am c323737d: Merge \"Offer a type-safe album art interface.\"\n\n* commit \u00272a8270e6944fb3addfcba87f6885aaad196b8b88\u0027:\n  Offer a type-safe album art interface.\n"
    },
    {
      "commit": "f3e80dddd7376aa9deeb27de25e1d50030a2ad98",
      "tree": "a3ebf2e96fa0bb9b0375281692adf48333bca468",
      "parents": [
        "d3af4265dca4c8ebcead5376f1c73a5dafc34778"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 10 16:55:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 11 14:45:27 2014 -0700"
      },
      "message": "Offer a type-safe album art interface.\n\nBug: 15514223\nChange-Id: Iddfc33a00e6cd3779ca09c01a55f62b151f6ec95\n"
    },
    {
      "commit": "544ad2be674423238c47650d2c8588ba7dfc9ed2",
      "tree": "1167d14b0e345cd7ad6c2a415a7134c915507b86",
      "parents": [
        "35a9e7d49ff5ff99fedb0bf2a35c39f7ea5a2f9e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 13 14:18:21 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 11 10:28:44 2013 -0800"
      },
      "message": "Better character set encoding detection\n\nId3 tags are supposed to be ISO-8859-1 or unicode, but often aren\u0027t.\nTo better detect the real encoding we now use ICU to detect possible\nencodings for a given byte sequence, then apply additional heuristics\nto determine the most likely one.\nb/5564857\n\nChange-Id: I53bc83b006433da5c2f2ccfcd770ddb3a26b64d0\n"
    },
    {
      "commit": "fb6f03425a791dcc4188462c860becf6ca6be4ea",
      "tree": "e21afb360622f19748a874f609d8c09a3804d809",
      "parents": [
        "618b58c4237359328b06371d9d6e855d2e6ac42c"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Sep 07 23:55:27 2011 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Sep 09 15:36:42 2011 -0700"
      },
      "message": "Make MediaScanner skip certain directories\n\nThe list of directories to skip are configurable via setprop.\nThe main motivation is that some test data folder takes long time\nto scan, and media scanner may compete for CPU time against perf\ntests therefore skewing the results.\n\nBug: 5263115\nChange-Id: I568213e2a4babf6033021c1d336ef0347c0e3315\n"
    },
    {
      "commit": "7188e55f54a43c55fd6b96454720c447f1dc454e",
      "tree": "ce77a06ad12fc66ce180fdbf882c011393d472d9",
      "parents": [
        "50d42da58a88dcdb082cff079766af71c0871470"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 20 16:38:43 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 20 17:33:13 2011 -0700"
      },
      "message": "Untangle MediaScanner error handling.\nBug: 5056917\n\nChange-Id: I1a7a73579e3ba4e9709459329fc1901a28b0f4b1\n"
    },
    {
      "commit": "c5182e31b23dc381d21ef43b7f7d682ffc54bd79",
      "tree": "ab36b201a453458e64f75f53b4d5dc2bfb4888df",
      "parents": [
        "7c1bc4cb2260f666a2fba9e64bb9de95121f0b22"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 11:15:09 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 25 09:21:54 2011 -0700"
      },
      "message": "MediaScanner: reimplement the \".nomedia\" feature for hiding files from the media provider\n\nPreviously we ignored any files and directories that had name started with \u0027.\u0027\nand ignored any directories that contained a \".nomedia\" file.\nNow to support transferring any file via MTP, we now add these previously ignored files\nto the media database, but will not mark them as audio, video, image or playlist files.\nThat way they will be included in the files table but will be hidden from the\naudio, video, images and playlist views that are used by apps like Music and Gallery.\n\nBug: 3405327\n\nChange-Id: I2d7285bd32e06c1a5c4ef6a8a15f8f8b2c33b39b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3e9f9f1596d4225ddd9288b4f7b24a15221374dc",
      "tree": "1c88af9da88152b3d499d6a0a92f1a0349bddff9",
      "parents": [
        "5a7f242cfc0bd3b5208c21c27c0f5f348e98a0dc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 12:54:24 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 15:35:36 2010 -0800"
      },
      "message": "MediaScanner: Add support for scanning empty directories\n\nCurrently the media scanner does not create database entries for directories\nunless they contain a file that is scanned.\nFixing this so we provide a consistent view of the world to MTP.\n\nChange-Id: Ia776acfeae23192183e7192d63cdc34d830ea889\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c59ad085c9737e8d56328732be6864de302acae9",
      "tree": "b16037bb38c65f41fa3b9e69d1860ecb68103b97",
      "parents": [
        "5441abc147d97f722d35fe71e7fbf41ce48a4944"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 10 14:47:36 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Sep 12 23:21:44 2010 -0400"
      },
      "message": "Media scanner support for tracking files of arbitrary type.\n\nThe native media scanner no longer filters files based on file extension.\nAudio, video, image and playlist files are handled as before, but non-media\nfiles are now inserted into the \"files\" table, which was originally added\nto support MTP.\n\nChange-Id: I9053218fb6d2671a3bb181405c34442b94678afc\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "413f523afe96aff02d2b0a7459127b8f67b2b43c",
      "tree": "395251a728a780bf6d46e4ef4a721e0cf4a77f3a",
      "parents": [
        "8908d616cc9d74f9fe2c17f1d8d9335ee28c290d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 11:31:19 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 13:21:54 2009 -0800"
      },
      "message": "Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.\n"
    },
    {
      "commit": "f482a41c86cf1c28acdd8e0f127b4a628b36535e",
      "tree": "e45938d7ba31b22d552289c7a10e084eb5e62ca5",
      "parents": [
        "bc327427531dddd3de2e55c093641207c013f0dd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 03 10:49:55 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Sep 03 11:22:28 2009 -0700"
      },
      "message": "When encountering a .nomedia file, notify the MediaScannerClient,\nso that it can erase the data column for entries that are in the\nfolder containing the .nomedia file. This prevents us from\ndeleting (via a delete trigger) files when somebody adds a\n.nomedia file after the fact.\n"
    },
    {
      "commit": "273d098cc72a88c797d01c7dff0c1350f315f05f",
      "tree": "09649a3bad715a7881d8e64ade1493a07c9df1d9",
      "parents": [
        "489d60ec36c3927c9ee0bc14a44c1c77b74c09f6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 19:13:00 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 19:13:00 2009 -0700"
      },
      "message": "get rid of utils.h\n"
    },
    {
      "commit": "89fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5",
      "tree": "28d26f7b71e943e25c7da6e8043d79b7b8d9cf7b",
      "parents": [
        "15f767b960b38059a74a42a33e16d8df2aec8bc1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "15f767b960b38059a74a42a33e16d8df2aec8bc1",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "ad04d9201452001dbaac4349f084cc9316190b89"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "7b5eb023f8d87cca6d830ae6c11c6aadbe02aca8",
      "tree": "d9838a098f868ee2fcffc20627a8c9a33cb23377",
      "parents": [
        "2729ea9262ca60d93047e984739887cfc89e82eb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "2729ea9262ca60d93047e984739887cfc89e82eb",
      "tree": "25962a3f1c5f70586af45c926c037e03c643857f",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
