)]}'
{
  "log": [
    {
      "commit": "7ce033d797e5df5e2131e2ed459fba181eaf4658",
      "tree": "c4bf9fd7d74260b800b75786a2adbca04d2f71be",
      "parents": [
        "48134b78d53eca2a0a71799b0901aba5997f2eba"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 18 14:14:24 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 18 14:20:07 2009 -0700"
      },
      "message": "Cleanup of object destruction.  No need to have a per-class destruction function.  This was a legacy of the distant past when the classes did not have a common base.\n"
    },
    {
      "commit": "948ee251276e1ce7f5c5517b24bf88a75e99f160",
      "tree": "0d6699322a2ff51836fa7b797f837832a45ec40e",
      "parents": [
        "e5a07e65c5f0bf8a4374934f6a3d85713cb6161b",
        "4f7136c6595ba862be49a660180f084dad17325b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 20:00:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 20:00:32 2009 -0700"
      },
      "message": "Merge change 21660 into eclair\n\n* changes:\n  Optimized Galaxy\n"
    },
    {
      "commit": "4f7136c6595ba862be49a660180f084dad17325b",
      "tree": "37f89f34b72c1ed3d9730406b2f1189e10fbd9ef",
      "parents": [
        "01f750d6fa03f16ef93802618a6ccf8b353ae8e2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Aug 17 19:59:27 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Aug 17 19:59:27 2009 -0700"
      },
      "message": "Optimized Galaxy\n"
    },
    {
      "commit": "5fe1afe9cc24969d25496d57d911e8aae8b3ba7a",
      "tree": "8727a22837ba59fef6ef50391cfbf8ce328f9d98",
      "parents": [
        "01f750d6fa03f16ef93802618a6ccf8b353ae8e2",
        "46407d831ef31c0935e6d069198ffb275c840d83"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 15:25:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 15:25:23 2009 -0700"
      },
      "message": "Merge change 21603 into eclair\n\n* changes:\n  Fix infinite recursion.\n"
    },
    {
      "commit": "46407d831ef31c0935e6d069198ffb275c840d83",
      "tree": "51020ec412ec6456642a700b3cfff6d5026460e6",
      "parents": [
        "5e787c42f2a6b3afc8ec8320a08d51b2d44b8614"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 17 15:22:29 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 17 15:22:29 2009 -0700"
      },
      "message": "Fix infinite recursion.\n"
    },
    {
      "commit": "334ea0c98f051b5a6b85bc616c93304651854298",
      "tree": "b3d87acd4f6285446fdc166d0ec9bb5330f42c21",
      "parents": [
        "0ef135d5c79ff5b443b43f8743250044700a8bb5"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Aug 17 13:56:09 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Aug 17 13:56:09 2009 -0700"
      },
      "message": "Update fountain and add writable flag to script slots.\n"
    },
    {
      "commit": "7341d7a104b47996445d069a695e155a07184606",
      "tree": "1be8efee3847179fbb0ed4d556be029ad23f5832",
      "parents": [
        "56e7ba2928bce62283a62ad1c9d9f1ec7b54c24c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 14 11:37:52 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 17 10:42:59 2009 -0700"
      },
      "message": "More work on wallpapers.\n\n- Do better about figuring out when to stop them and other related window\n  management.\n- Fix problem where we were not redrawing the surface when the orientation\n  changed.  This was the cause of the device hang.\n"
    },
    {
      "commit": "81e4640d18d451992cb504b356ff4d2dc1b7f297",
      "tree": "b87b5375c9cba8702b08655f1965e77ea40af405",
      "parents": [
        "872242948184d7b6fed8b127d8ba8386487dc826"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Aug 14 18:58:33 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Aug 16 23:22:44 2009 -0700"
      },
      "message": "Add Galaxy wallpaper\n"
    },
    {
      "commit": "e14e70a1b0bce377d90183e53c67688ce7067c0e",
      "tree": "c4b3b1fa6cbf61ff7a844340f8707a318afed48c",
      "parents": [
        "a8dfe24da014b52d7ae93c3fbd7a8b88ec336572"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Aug 14 15:34:36 2009 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Aug 14 15:34:36 2009 -0400"
      },
      "message": "fix documentation\n"
    },
    {
      "commit": "317a6280cc109e873646e4652be1582d870eedfd",
      "tree": "3b6d41d465282970f498e172b81ed0ee83e3183e",
      "parents": [
        "81655243a6a373cfde1e689970eeb62af19622d1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 13 17:29:02 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 13 18:19:32 2009 -0700"
      },
      "message": "Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.\n\nthis also ripples into the window manager API by making some constant there deprecated as well.\n"
    },
    {
      "commit": "fbf0b9ecda03fbdbd4ebabfd18da09a789686249",
      "tree": "6c321ebb1d011aae9961ed7c046645028b05da86",
      "parents": [
        "1b52aae4d908fcf749e9a8d86bb0a33c70728c56"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Aug 13 12:59:04 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Aug 13 12:59:04 2009 -0700"
      },
      "message": "Implement named slots and convert script.addType to script.setType to remove ordering restrictions.\n"
    },
    {
      "commit": "1b52aae4d908fcf749e9a8d86bb0a33c70728c56",
      "tree": "4fb558002d5984c428955067e92eff4aa1558ed0",
      "parents": [
        "43ee06857bb7f99446d1d84f8789016c5d105558"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Aug 12 18:50:44 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Aug 12 18:50:44 2009 -0700"
      },
      "message": "Fix build break.\n"
    },
    {
      "commit": "43ee06857bb7f99446d1d84f8789016c5d105558",
      "tree": "cc88d57d27c7ea1c1d0a9e21a49f3fc16908e1cc",
      "parents": [
        "a9f1dd021f8f6ee777bc4d27913bd40c42e753af"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Aug 12 17:54:11 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Aug 12 17:54:11 2009 -0700"
      },
      "message": "Implement reflecting Java objects into the ACC enviroment.\n"
    },
    {
      "commit": "b3c61e7decf4b9fb00ac18937c756208d9ffb717",
      "tree": "0f52690e7b628f4c623761b53ff3b0dc3de1a49c",
      "parents": [
        "c5ea43920919eeaec4ec0686de9fa3d034d82337"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Aug 11 17:49:01 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Aug 11 17:49:01 2009 -0700"
      },
      "message": "Fix the build\n"
    },
    {
      "commit": "f415cf2d78cb214b0a661e0f03905b4279656ea8",
      "tree": "8cc217b5a86b589b87e34215098c1c9c86a01842",
      "parents": [
        "5d3b13150d126e6d7f04978f4b142900311758ed"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Aug 10 15:15:52 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Aug 10 15:15:52 2009 -0700"
      },
      "message": "Add two addDefines methods to ScriptC.Builder.  They add #defines from the fileds on a class or object that you pass in.\n"
    },
    {
      "commit": "5d3b13150d126e6d7f04978f4b142900311758ed",
      "tree": "52ac2340841994f970378e36f15be5acfa0c0917",
      "parents": [
        "1f9ef9a2ccb5e2f11dc644c34710e70afe994fac",
        "1010ac9b7c52b1e2a64e8e1f4dcdb4d79f4d32cc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 10 15:12:04 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 10 15:12:04 2009 -0700"
      },
      "message": "Merge change 20657\n\n* changes:\n  Fix possible NPE when mutating a DrawableContainer\n"
    },
    {
      "commit": "1010ac9b7c52b1e2a64e8e1f4dcdb4d79f4d32cc",
      "tree": "aed61339ba03a7e98e18f6cd9f2f189d262818e9",
      "parents": [
        "07cbacc11705f1f05a1150083aad000c53942dea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Aug 10 15:11:06 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Aug 10 15:11:06 2009 -0700"
      },
      "message": "Fix possible NPE when mutating a DrawableContainer\n"
    },
    {
      "commit": "40a29e8e28772b37ab0f9fe9708ecdcba24abb84",
      "tree": "ddc7de5fe342a6bded733e8341b1953a49e0a2d0",
      "parents": [
        "c028d09409c3cd290949974258264903106a3346"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Aug 10 14:55:26 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Aug 10 14:55:26 2009 -0700"
      },
      "message": "Implement basic allocation readback.  Add Get height, width to ScriptC_Lib.\n"
    },
    {
      "commit": "d7b3774da62d3c70cc7e8cf549967a1c823501e6",
      "tree": "42fa1d36c3a0d2d07850352758bfc22650d60308",
      "parents": [
        "3370ec9e54c373ccca3c4f545b4c96f9419a081d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun Aug 09 22:57:44 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun Aug 09 22:58:20 2009 -0700"
      },
      "message": "Let java put #defines into renderscript\n"
    },
    {
      "commit": "1bada8cd6e4f340de93cff4a2439835fc3b1456c",
      "tree": "bdc1ed59f9b9ef531bca7220550a025a89ca4173",
      "parents": [
        "467f3df13dc9324b35c139bd6d291265015ba4d3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Aug 09 17:01:55 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Sun Aug 09 17:05:13 2009 -0700"
      },
      "message": "Begin implementing SimpleMesh and fix some bugs with refcounting and java object destruction tracking.\n"
    },
    {
      "commit": "9bee51c42eb8c3daffe7d6fa483edbb1689b94d2",
      "tree": "ed0f12b149a98299f205173a5563c42599426fe3",
      "parents": [
        "9d1a3149f35b716caeda89dad53c0d8c45c6ca4b"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Aug 05 13:57:03 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Aug 05 13:57:03 2009 -0700"
      },
      "message": "Remove useless slot from ProgramVertex.  Optimize GL state setup.\n"
    },
    {
      "commit": "110195fe9ff96255242bfa4df1d15c6a56b140d6",
      "tree": "0f1b3db3be79b4b4037432f978a940a01a96b4c4",
      "parents": [
        "a2136d6b18a26ff34f2e5cd3f6c9413f0c96a5ba"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 04 18:47:46 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 04 19:00:00 2009 -0700"
      },
      "message": "Seperate ProgramVertex from RenderScript.java and merge ProgramVertexAlloc into the ProgramVertex class.\n"
    },
    {
      "commit": "0835d42be9b215f845e30db03211c86670cfa12a",
      "tree": "cde00723e8788f56f00c69ca334f88e988146625",
      "parents": [
        "22534176fb5c1257130ef4ee589739ca42766a32"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 04 17:58:23 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 04 17:58:23 2009 -0700"
      },
      "message": "Seperate Light and Sampler from RenderScript.java\n"
    },
    {
      "commit": "22534176fb5c1257130ef4ee589739ca42766a32",
      "tree": "d7efb4494b65e4769203b9a879646c7407d63cc9",
      "parents": [
        "959b7bd96b18f84510e8af72d7a439140edb5169"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 04 16:58:20 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 04 17:05:43 2009 -0700"
      },
      "message": "Split ProgramFragment and ProgramStore from RenderScript.java.  Update Element and Type to new cached builder for easier app developement.\n"
    },
    {
      "commit": "69f0d31e576c0110c2cbbafc3b9bd46e73fc1afc",
      "tree": "e78e408b2d7bdf7aabce0ff671273dc6f94a3bbe",
      "parents": [
        "6dabc95687eab2ee2b3fb8831ecf395da7e9149d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Aug 03 18:11:17 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Aug 04 12:29:40 2009 -0700"
      },
      "message": "Split ScriptC from RenderScript.java.  Implement state caching in the Builder objects.\n"
    },
    {
      "commit": "9df76c7c2f94cf3a66a61b28432b7c5d68869255",
      "tree": "4f5fc5985c51bfccaad47108027055ffc0c83eef",
      "parents": [
        "8a173f7632c517965f2f482a5a01c514907a076e",
        "bd1c3ad0cdf8e60b849a009cdc0b36764cc1dacb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 16:23:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 16:23:07 2009 -0700"
      },
      "message": "Merge change 9551\n\n* changes:\n  Implement the jni bindings for Adapter2D.  Fix a refcount bug in the native adapter implementation.  Use adapters in Film to border the mipmaps.\n"
    },
    {
      "commit": "bd1c3ad0cdf8e60b849a009cdc0b36764cc1dacb",
      "tree": "fa3ac33695695699563507abb0dad5691058596e",
      "parents": [
        "b8c5a84e7c23746a3fc26013e0880d3d95ca6588"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Aug 03 16:03:08 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Aug 03 16:03:08 2009 -0700"
      },
      "message": "Implement the jni bindings for Adapter2D.  Fix a refcount bug in the native adapter implementation.  Use adapters in Film to border the mipmaps.\n"
    },
    {
      "commit": "a32d100b34d048cf0c765d8f31d87b81ab88d1eb",
      "tree": "d0393450dfb3abcbe2aa44aca5b3e289360b19b2",
      "parents": [
        "4aa38681c6daa932fc1642dbf27dc2f938771147"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 31 15:33:59 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 31 21:36:18 2009 -0700"
      },
      "message": "Add new utility methods to rsScriptC_Lib, android.util.MathUtil and android.graphics.Color.\nFixes RS compilation.\n"
    },
    {
      "commit": "b8c5a84e7c23746a3fc26013e0880d3d95ca6588",
      "tree": "4adbe6b553ab125207544418aaa19a9bb22105df",
      "parents": [
        "3161d6dc2e1141bff233e8238d29c68b21c216cc"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 31 20:40:47 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 31 20:40:47 2009 -0700"
      },
      "message": "Split RenderScript Type and Allocation into seperate classes.\n"
    },
    {
      "commit": "36e612a488511940b61f09803b270aa1c61b68e0",
      "tree": "d127d889ee21474d6fb845a190c87fb12eab2eca",
      "parents": [
        "b5a57ad94388ebcd3717a6970a12449055eadabe"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 31 16:26:13 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 31 16:26:13 2009 -0700"
      },
      "message": "Begin splitting up RenderScript.java into seperate classes.  First piece split off Element.\n"
    },
    {
      "commit": "584a375df68ed7d62b38389078c6804edf228f9c",
      "tree": "62120c578d718d04a940c8b76389e1d8d7717ba0",
      "parents": [
        "1a20bae18ce05a5a141810492549d351a82f6490"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jul 30 18:45:01 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Jul 30 19:11:51 2009 -0700"
      },
      "message": "First pass at implementing the Grass live wallpaper in RenderScript.\n\nThis change also adds second(), minute() and hour() to the RS library.\n"
    },
    {
      "commit": "afcf686cb070313ae5ce6c54ac381a3a86a60ed2",
      "tree": "4a7c1fa186ad4b1a7d37ea4d97aa0b0411b50d85",
      "parents": [
        "8845ea0592e3bffc726febb66de48646b0398e70",
        "25dff70f153529b87f5ad4a92f4de21e8950b1de"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 30 16:05:27 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 30 16:05:27 2009 -0700"
      },
      "message": "am 25dff70f: Merge change 9039 into donut\n\nMerge commit \u002725dff70f153529b87f5ad4a92f4de21e8950b1de\u0027\n\n* commit \u002725dff70f153529b87f5ad4a92f4de21e8950b1de\u0027:\n  Fix #2018814: System cannot correctly render assets with \"wrap_content\" attribute in QVGA\n"
    },
    {
      "commit": "dba3ba5b5bf6026abceced921b1b0d231b0faefd",
      "tree": "3752b20f66c4b307af8cd632f6df8afa86c247be",
      "parents": [
        "0ea8c8a7c060873ef94e8aa8a637bc90852777d1"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 30 14:56:12 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 30 14:56:12 2009 -0700"
      },
      "message": "Implement bitmap resource loaders for utility.  cleanup rolloRS and checkin maps.png which was missing.\n"
    },
    {
      "commit": "0d221012ff5fd314711c00ed30e9b807b9c454c1",
      "tree": "328d42900c9765e3bde9ad98a936a9122c679e5e",
      "parents": [
        "c6eb5ac988518f41938c4f021003d6c202d84819"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 15:41:19 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 19:44:01 2009 -0700"
      },
      "message": "Fix #2018814: System cannot correctly render assets with \"wrap_content\" attribute in QVGA\n\nIt turns out we were not returning the density for anything retrieved from a\nTypedArray...  which basically means any bitmap references from a layout or style...!!!\n\nThis is now fixed.\n\nAlso fiddle with the density compatibility mode to turn on smoothing in certain situations,\nhelping the look of things when they need to scale and we couldn\u0027t do the scaling at\nload time.\n"
    },
    {
      "commit": "a590434559a15b70693acb1767d06635706fcc9c",
      "tree": "096ba646f426a672f4a991afb19ed4f57d65a42f",
      "parents": [
        "5e7d68223a1061b296871cd157b4d9e81a1777ec",
        "b0ec1b46d6f5b5612e33fe43a828abea79b87a00"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 28 12:03:46 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 28 12:03:46 2009 -0700"
      },
      "message": "Merge change 8835\n\n* changes:\n  Add \"boxed\" bitmap uploads which simply place a non-pow2 bitmap into the smallest larger pow texture.  The added space is filled black.\n"
    },
    {
      "commit": "b0ec1b46d6f5b5612e33fe43a828abea79b87a00",
      "tree": "3bf6193634273ec0cbf2e6a024f8afb315fb2f61",
      "parents": [
        "8af858e9b6577d074c5427e601b6418d288fdb9d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jul 28 12:02:16 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jul 28 12:02:16 2009 -0700"
      },
      "message": "Add \"boxed\" bitmap uploads which simply place a non-pow2 bitmap into the smallest larger pow texture.  The added space is filled black.\n"
    },
    {
      "commit": "2c3fc83ac5b267d6a551deb36b30064a2e617944",
      "tree": "2e47d6095e72bbcee19cbfa2a93eef311e944ef9",
      "parents": [
        "a9e3e7254446670b4649239f9ee6453e2e083b80",
        "ef9fd18d90829ecbd37769cc05a8d5288aff821c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 27 12:05:44 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 27 12:05:44 2009 -0700"
      },
      "message": "am ef9fd18d: Merge change 8616 into donut\n\nMerge commit \u0027ef9fd18d90829ecbd37769cc05a8d5288aff821c\u0027\n\n* commit \u0027ef9fd18d90829ecbd37769cc05a8d5288aff821c\u0027:\n  Fiddle with default densities to try to sanitize the API.\n"
    },
    {
      "commit": "96e240f25a97c10bba863df328ed73a82c34ff61",
      "tree": "a1784b60cb1fd8f7e70ea95eeb3a0a76f473740b",
      "parents": [
        "11ea33471e1a14a8594f0b2cd012d86340dd3bd8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jul 26 17:42:30 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jul 26 17:42:30 2009 -0700"
      },
      "message": "Fiddle with default densities to try to sanitize the API.\n\nAn issue with the density API is that bitmaps assumed the old default density,\nso new programs would have to explicitly set the correct density for every bitmap\nthey create.\n\nThis is an attempt to fix that situation, by define the default density of bitmaps\nto be the main screen\u0027s density, except for old apps where it is the original default\ndensity.\n\nActually implementing this is not so great, though, because the Bitmap constructors\ncan\u0027t really know anything about who is calling them to know which density to use.\nSo at this level the compatibility mode is defined per-process -- meaning the initial\npackage loaded into a process defines the default bitmap density, and everyone else\nloaded in later on has to live with that.\n\nIn practice this shouldn\u0027t be much of a problem, there shouldn\u0027t be much mixing of\nold vs. new apps in a process.  It does mean that, going forward, if a developer is\ngoing to use shared user IDs for this, they will need to make sure either that all of\ntheir apps are in the same compatibility mode, or that their code explicitly sets the\ndensity of bitmaps it receives.  This isn\u0027t all that great, but I think it is worth\nthe benefit of allowing people who write modern apps to not have to deal with bitmap\ndensities.\n\nThis change also does some cleanup of the density management (making sure to always\ncopy over bitmap densities, etc) and adds java docs to explain the various ways\ndensity is set and used by the system.\n"
    },
    {
      "commit": "e2dba02441b42afbae725109ac779877a4b72aa0",
      "tree": "d9a81dc7e16f48b164c1507d135c2436a73b3954",
      "parents": [
        "2470a7b4a82f9d1afc3c6b278aa313334f6412ab",
        "11ea33471e1a14a8594f0b2cd012d86340dd3bd8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 24 16:08:56 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 24 16:08:56 2009 -0700"
      },
      "message": "am 11ea3347: Allow for screen density drawables in compatibility mode.\n\nMerge commit \u002711ea33471e1a14a8594f0b2cd012d86340dd3bd8\u0027\n\n* commit \u002711ea33471e1a14a8594f0b2cd012d86340dd3bd8\u0027:\n  Allow for screen density drawables in compatibility mode.\n"
    },
    {
      "commit": "11ea33471e1a14a8594f0b2cd012d86340dd3bd8",
      "tree": "bb73c079d8bb21c19fa913b8fd9c587a9089ea84",
      "parents": [
        "3b99e64e5899030b5d6f8201cb56cd149c80b24d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 22 21:48:55 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 24 10:47:15 2009 -0700"
      },
      "message": "Allow for screen density drawables in compatibility mode.\n\nThis change allows us to use drawables that match the current screen\ndensity even when being loaded in compatibility mode.  In this case,\nthe bitmap is loaded in the screen density, and the bitmap and\nnine-patch drawables take care of accounting for the density difference.\n\nThis should be safe for existing applications, for the most part, since\nthey shouldn\u0027t really be pulling the bitmap out of the drawable.  For\nthe small rare chance of them breaking, it worth getting the correct\ngraphics.  Also this will only happen when there is actually a resource\nof the matching density, and no existing apps should have resources for\nanything besides the default density (though of course all of the\nframework resources will be available in the native density).\n\nAs part of this, the bitmap density API has been changed to a single\ninteger provider the DPI unit density.\n"
    },
    {
      "commit": "bc512021ee967bf106561e58af946814bff02da1",
      "tree": "a06f4c5270a2c86bc392b2355458c7d9e0b4a714",
      "parents": [
        "b3167dc3e1f9c6d80863cee4a6808fd853f15ee2",
        "e29d471e5ca9781d8772d445ec7832e94856fd14"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 23 15:25:13 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 23 15:25:13 2009 -0700"
      },
      "message": "Merge change 8279\n\n* changes:\n  Move the java and jni renderscript files to the proper location.\n"
    },
    {
      "commit": "e29d471e5ca9781d8772d445ec7832e94856fd14",
      "tree": "512cea998a80925d09b25f1e5da26df2f3341c45",
      "parents": [
        "ee41112e1539de95596600fd2c6dada5d275217f"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 23 15:19:03 2009 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 23 15:19:03 2009 -0700"
      },
      "message": "Move the java and jni renderscript files to the proper location.\n"
    },
    {
      "commit": "8aea2f5f749e48ef0fe3532ab2fc258922c3239b",
      "tree": "47d92700ae13ce12965c90b50da71824b1d65af7",
      "parents": [
        "5a2572d5384cdb411638a3271d0a1a75b31547a2",
        "59c25cbaf0dd690e503b881392510127441d9074"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 22 11:51:34 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 22 11:51:34 2009 -0700"
      },
      "message": "am 59c25cba: Merge change 8218 into donut\n\nMerge commit \u002759c25cbaf0dd690e503b881392510127441d9074\u0027\n\n* commit \u002759c25cbaf0dd690e503b881392510127441d9074\u0027:\n  DrawableContainer was not respecting the value returned by Drawable.getPadding(Rect).\n"
    },
    {
      "commit": "5140141c2637b89ad0d86c3b715459a1e7b92729",
      "tree": "acfa1415168711e15013edd1b522f8c9f02030e0",
      "parents": [
        "113eaa59c1dfafd548a13919e48c0346c0c925ac"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jul 22 11:35:49 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jul 22 11:35:49 2009 -0700"
      },
      "message": "DrawableContainer was not respecting the value returned by Drawable.getPadding(Rect).\n\nBefore this change, DrawableContainer would always return true from getPadding(Rect)\neven if all of its children were returning false from getPadding(Rect). This change\nmodifies this behavior to respect getPadding(Rect): mConstantPadding is kept null\nwhen getPadding(Rect) returns false for all of the children and a flag is set\nto avoid recomputing that value every time getConstantPadding() is invoked.\n"
    },
    {
      "commit": "fead9b8ad0c6e64066fb73f4285b088ab68f452b",
      "tree": "3cc732a33ba6ee7292c369a3bd041a48eba33521",
      "parents": [
        "55616f95af2263f879475885a30b37d397340c02",
        "fe6f45c81463d2d28e11ac6083f2653e1286c5ef"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 21 17:41:10 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 21 17:41:10 2009 -0700"
      },
      "message": "am fe6f45c8: Merge change 8098 into donut\n\nMerge commit \u0027fe6f45c81463d2d28e11ac6083f2653e1286c5ef\u0027\n\n* commit \u0027fe6f45c81463d2d28e11ac6083f2653e1286c5ef\u0027:\n  cast is floor. Use round instead.\n"
    },
    {
      "commit": "61324e58c549670c015010d0be14c6af76e3e9f7",
      "tree": "27dce7a73eb374a3b568637b6fc403b6f99717c8",
      "parents": [
        "db7db69a2162439bf722d0f1f65429ca3ca19dcd"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Tue Jul 21 15:40:36 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Tue Jul 21 16:42:41 2009 -0700"
      },
      "message": "cast is floor. Use round instead.\n This fixes a few layout issues (that was due to smaller widnow size)\n"
    },
    {
      "commit": "bec99bffeecacb1af603966391014895f9a16025",
      "tree": "698db3ee01626f7e4f8db3ba3dce56f44aa45d74",
      "parents": [
        "79b7c68d5a1979a67d1d5ec6b9229aaab79cad3e",
        "5c536e9162721c460699a041959a0d67de1d20db"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 19 21:14:48 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jul 19 21:14:48 2009 -0700"
      },
      "message": "am 5c536e91: Merge change 7840 into donut\n\nMerge commit \u00275c536e9162721c460699a041959a0d67de1d20db\u0027\n\n* commit \u00275c536e9162721c460699a041959a0d67de1d20db\u0027:\n  Fix issue where scaled bitmap sizes could be wrong.\n"
    },
    {
      "commit": "469b4c67adc77a87eb2c9ed9217edf1778002828",
      "tree": "f6ca01c85c85a27ecd6f54ae1193f30e1cc67501",
      "parents": [
        "b933dc7f47ec9a9609d0775fc469849f066bfcd7",
        "aad0fcc9619eb72c18a6afff48ebc9d4011f0f54"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 19 20:28:49 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jul 19 20:28:49 2009 -0700"
      },
      "message": "am aad0fcc9: Merge change 7783 into donut\n\nMerge commit \u0027aad0fcc9619eb72c18a6afff48ebc9d4011f0f54\u0027\n\n* commit \u0027aad0fcc9619eb72c18a6afff48ebc9d4011f0f54\u0027:\n  Add \"nodpi\" density, and expose a bunch of density-related APIs.\n"
    },
    {
      "commit": "2784ff0af88128f66ae690b73d48fb7e4a211e68",
      "tree": "2e43aaa6e2a67a0924449af42d969b91de2f995d",
      "parents": [
        "a53b828635fce8b6b2d3e3377d74d72070056623"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 18 17:13:29 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 18 17:13:29 2009 -0700"
      },
      "message": "Fix issue where scaled bitmap sizes could be wrong.\n\nThe Bitmap functions to get the scaled width/height couldn\u0027t actually\ndo the right thing because they didn\u0027t know the destination they would\nbe drawing to.  Now there are two forms of them, taking an explicit\nparameter specifying the destination.\n"
    },
    {
      "commit": "a53b828635fce8b6b2d3e3377d74d72070056623",
      "tree": "42f4ba9bbf7d8656a4761d6fe5dcd4976cf19369",
      "parents": [
        "09a903ab5b8d940605783ae4ee591c0f090a31d1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 17 11:13:48 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 17 16:59:08 2009 -0700"
      },
      "message": "Add \"nodpi\" density, and expose a bunch of density-related APIs.\n\nAlso update the DpiTest app to use nodpi images, and try to have a mode\nwhere it turns off compatibility though it\u0027s not quite working.\n"
    },
    {
      "commit": "c634fdd8035cc06c34663b77ab199d29697273b4",
      "tree": "8fea9f6990f1673e4068c38bf292209a717ded6b",
      "parents": [
        "8c376555fb9c63d57b19d83edafb6b28fb0d0328",
        "09a903ab5b8d940605783ae4ee591c0f090a31d1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 15:43:14 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 17 15:43:14 2009 -0700"
      },
      "message": "am 09a903ab: Merge change 7696 into donut\n\nMerge commit \u002709a903ab5b8d940605783ae4ee591c0f090a31d1\u0027\n\n* commit \u002709a903ab5b8d940605783ae4ee591c0f090a31d1\u0027:\n  add hidden Options field for native allocations\n"
    },
    {
      "commit": "1b22b979256cf163ab9bbfd4fcfa16a8ce862ed1",
      "tree": "d4e4aa2f8ebdfebb3d11fa6e46ad4224f96cab49",
      "parents": [
        "8e3c3f6461b53dc587ba92b3fe8cfbeb985f8514"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jul 17 11:21:47 2009 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jul 17 11:21:47 2009 -0400"
      },
      "message": "add hidden Options field for native allocations\n"
    },
    {
      "commit": "eabdb7c252d7e245932891482458486e67ab93d2",
      "tree": "0455bbd761380d9b20108ea1125056e8647182e1",
      "parents": [
        "286dda8d36d9762e6ca7a5404af282476845efff",
        "6b5328006ff9e844713eb26b40621d72bee0bdd1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 08 10:45:52 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 08 10:45:52 2009 -0700"
      },
      "message": "am 6b532800: Merge change 6478 into donut\n\nMerge commit \u00276b5328006ff9e844713eb26b40621d72bee0bdd1\u0027\n\n* commit \u00276b5328006ff9e844713eb26b40621d72bee0bdd1\u0027:\n  Fix ShapeDrawable.inflateTag() to accept proper dimension specs for padding\n"
    },
    {
      "commit": "90cfa9df3f3b586eae49ee2d2533a05238d391a4",
      "tree": "1f37854e8ed63d59692b4f969eca97e8e235f20b",
      "parents": [
        "0d725f7d5a7efd9dc63f6ddb67a619d659bb4428"
      ],
      "author": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Wed Jul 08 09:43:49 2009 -0700"
      },
      "committer": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Wed Jul 08 09:43:49 2009 -0700"
      },
      "message": "Fix ShapeDrawable.inflateTag() to accept proper dimension specs for padding\n\nShapeDrawable.inflateTag() handles the \u0027padding\u0027 tag with the standard\nattributes android:left, etc.  The attribute values for these standard\nattributes should be dimension specifications, e.g. \u00274dp\u0027.\nShapeDrawable.inflateTag() was wrongly parsing the attribute values as plain\nintegers.\n"
    },
    {
      "commit": "0f07b2c850ee1462ca4cf3137a954a9fc4bdf773",
      "tree": "9fdeace7cec8671d97b95b1817baf2dce7892d82",
      "parents": [
        "17d53ff98b4c131d1a0ffdb152bc293c92083583"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "brad@danga.com",
        "time": "Mon Apr 27 10:51:06 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jul 07 12:38:50 2009 -0700"
      },
      "message": "Lazily allocate the mBounds Rect in Drawable.\n\nFor background, see:\nhttp://kohlerm.blogspot.com/2009/04/analyzing-memory-usage-off-your-android.html\n\nThanks, Markus!\n"
    },
    {
      "commit": "fbc7c1a784b3e9b003feaa9bd39d4283b316308e",
      "tree": "1ded28b570cdf5980e2c03dc5106caae07cf6a6a",
      "parents": [
        "7605bf35568998d5094c68407cd72265409c1a3d",
        "9848f11fd8788b985330183aeb83cc589b8b14ae"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 17:27:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 17:27:46 2009 -0700"
      },
      "message": "am 9848f11f: Merge change 5826 into donut\n\nMerge commit \u00279848f11fd8788b985330183aeb83cc589b8b14ae\u0027\n\n* commit \u00279848f11fd8788b985330183aeb83cc589b8b14ae\u0027:\n  Fix NullPointerException in NinePatch constructor\n"
    },
    {
      "commit": "0901c82336c79ca3e3d67b1df8a5cb7ee45ec13e",
      "tree": "483d47532562125fe502d91724b8055c651dc1ad",
      "parents": [
        "f888bc4dfe75c990874a8ca793a6217d38ef2757",
        "91c91b74df12e40c31a50ecb807ac60bed2ccb58"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 16:01:40 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 16:01:40 2009 -0700"
      },
      "message": "am 91c91b74: Merge change 5817 into donut\n\nMerge commit \u002791c91b74df12e40c31a50ecb807ac60bed2ccb58\u0027\n\n* commit \u002791c91b74df12e40c31a50ecb807ac60bed2ccb58\u0027:\n  Replace indeterminate progress animated asset with new ones\n"
    },
    {
      "commit": "91a546d4a9b63e590cd2b56f1195981c50334e54",
      "tree": "3a535c8c77b4f21d7f205e6aba837b4bb12ccc06",
      "parents": [
        "71b62d29ce5d590d72e55dc000961d1776359336",
        "083928fefde7060eb69f7f45cd8e2180efa9bfe1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 11:19:32 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 11:19:32 2009 -0700"
      },
      "message": "am 083928fe: Merge change 5718 into donut\n\nMerge commit \u0027083928fefde7060eb69f7f45cd8e2180efa9bfe1\u0027\n\n* commit \u0027083928fefde7060eb69f7f45cd8e2180efa9bfe1\u0027:\n  Fix NullPointerException in DrawableContainer.mutate()\n"
    },
    {
      "commit": "54285f2cbfb6e307d594ca264f7230b4e1e3cdce",
      "tree": "c8041a76c8a31c76916dc27085a87be207292cae",
      "parents": [
        "72d19aa51e90d45c7895629db78e548da2f6d469"
      ],
      "author": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Mon Jun 29 20:34:13 2009 -0700"
      },
      "committer": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Tue Jun 30 13:19:48 2009 -0700"
      },
      "message": "Fix NullPointerException in NinePatch constructor\n\nNinePatch.mPaint may be null and most methods in this class handle\nthat case properly. However, the constructor which derives a new\nNinePatch from an existing instance assumes that mPaint is non-null.\nThis results in an unexpected NullPointerException, for example when\nattempting to call NinePatchDrawable.mutate() on an instance that was\ncreated from a resource.\n\nSmall unrelated fix in same file: Remove unused private mRect member.\n"
    },
    {
      "commit": "b5537c452271634b6ff3981b0624fa65384abd5b",
      "tree": "66159c3caed7ad21c6afb61974b77278d32097aa",
      "parents": [
        "2f8d58b7ae2b9dc60eed83e5dddc8c28223e1ede"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "message": " Replace indeterminate progress animated asset with new ones\n"
    },
    {
      "commit": "4658e8ece61f5f1eb8734850f18eb6438e4ebc80",
      "tree": "6402f6b33387fd7878a6243fea4898b91f5bb787",
      "parents": [
        "548b9920a8d2eeaf98016e9a9eab15578d6e641f",
        "05ebcb5172679a6c196cbf23d7174c04dd9f6ae0"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 20:20:11 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 29 20:20:11 2009 -0700"
      },
      "message": "am 05ebcb51: Merge change 5609 into donut\n\nMerge commit \u002705ebcb5172679a6c196cbf23d7174c04dd9f6ae0\u0027\n\n* commit \u002705ebcb5172679a6c196cbf23d7174c04dd9f6ae0\u0027:\n  Update spinner\u0027s drawables. Clean up resources, pave the way for new animation.\n"
    },
    {
      "commit": "6be507cc66863a08f08d6c0675e5bc11e5a45d32",
      "tree": "dbafeff8aa6a5215cb02a026933bc46971d40c56",
      "parents": [
        "66c2942a112b65eec93c25263684a8c79cb21318"
      ],
      "author": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Mon Jun 29 16:57:46 2009 -0700"
      },
      "committer": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Mon Jun 29 18:31:17 2009 -0700"
      },
      "message": "Fix NullPointerException in DrawableContainer.mutate()\n\nDrawableContainerState.mDrawables is an array which may be only partially\nfilled, as can be seen in the constructor and the addChild() method.\n\nDrawableContainer.mutate() wrongly assumed that the array does not contain\nnull references.\n"
    },
    {
      "commit": "f4f7046183f0daedd17703fa16cf9026442bdaee",
      "tree": "087091380d36069f9be408222ac96844dac0e64a",
      "parents": [
        "fbd8f69a84163ef1cf52b07966320caf448c2bc9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 16:55:54 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 26 19:21:54 2009 -0700"
      },
      "message": "Update spinner\u0027s drawables. Clean up resources, pave the way for new animation.\n"
    },
    {
      "commit": "82c88fc3a7a38af75e9064a4a73940da7c49e6ab",
      "tree": "7eaaac0db71dcca22f259be0e26be4263e35bf8f",
      "parents": [
        "e5b3607a0a7f3eebac82595624efe8d5b07f0a61",
        "a2a60a215030ca2171bc59aaeeac4179816f0796"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 15:33:29 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 15:33:29 2009 -0700"
      },
      "message": "am a2a60a21: Merge change 5142 into donut\n\nMerge commit \u0027a2a60a215030ca2171bc59aaeeac4179816f0796\u0027\n\n* commit \u0027a2a60a215030ca2171bc59aaeeac4179816f0796\u0027:\n  Fix NPE in GradientDrawable constructor\n"
    },
    {
      "commit": "562bf17c6c7c5226b2220e27a1543d4a43543d6c",
      "tree": "ab5680ea262c8cfe81a1e3cc298398e81c657e2e",
      "parents": [
        "61ab270c17094ef1373f54d8fb9ade6d287c3a60"
      ],
      "author": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Tue Jun 23 15:41:00 2009 -0700"
      },
      "committer": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Tue Jun 23 15:46:31 2009 -0700"
      },
      "message": "Fix NPE in GradientDrawable constructor\n\nThe mColors member can be null, as can be seen in\nGradientDrawable.setSolidColor() or the plain constructor. In that case, an NPE\nwill be thrown on attempts to derive a new GradientDrawable from the instance\nusing the private constructor GradientDrawable(GradientDrawable).\n\nThe problem also occurs when inflating a GradientDrawable from XML without\ndefining the start, center and end colors and then calling mutate() on the\ninstance.\n"
    },
    {
      "commit": "ce1311a3a0806d39dc675a3c702eebbfe741dec8",
      "tree": "3f5911506bc57dc80033ba10a47e0b191e1c7dc0",
      "parents": [
        "a44e01d46b2373a8358e66fa877ab6780e507fd7",
        "766d7236c84f636b816d71189e309e67db1f593a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 03:50:23 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 03:50:23 2009 -0700"
      },
      "message": "am 766d7236: Merge change 4737 into donut\n\nMerge commit \u0027766d7236c84f636b816d71189e309e67db1f593a\u0027\n\n* commit \u0027766d7236c84f636b816d71189e309e67db1f593a\u0027:\n  Add prepareToDraw() to Bitmap for fixing http://b/issue?id\u003d1907995.\n"
    },
    {
      "commit": "8cdcb12752b716d0407733fecefcf1d9e926310a",
      "tree": "dd250fe1a38b1e6df4397a87a586a9dffb394bcb",
      "parents": [
        "3e3324bae45ff21615c07507e6918ad21681a6a2"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 18 19:14:38 2009 +0800"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Mon Jun 22 18:01:47 2009 +0800"
      },
      "message": "Add prepareToDraw() to Bitmap for fixing http://b/issue?id\u003d1907995.\n\nThe function is used to rebuild any caches associated with the bitmap.\nIn the case of purgeable bitmaps, this call ensures that the pixels\nare decoded for drawing, and therefore prefetching techniques\nimplemented by callers can be leveraged.\n"
    },
    {
      "commit": "903ccf479f7c06cd17f581b6633f2575d7dc7a60",
      "tree": "54e669b919d99766a2bbbd6015cea243af1eeb64",
      "parents": [
        "1e3fc65b1f86bc97f4f375ae747658b555978ca7",
        "2b1aed1021fb472de83c4c0143f2c4452244a0af"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 10:09:00 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 19 10:09:00 2009 -0700"
      },
      "message": "am 2b1aed10: Merge change 4527 into donut\n\nMerge commit \u00272b1aed1021fb472de83c4c0143f2c4452244a0af\u0027\n\n* commit \u00272b1aed1021fb472de83c4c0143f2c4452244a0af\u0027:\n  Fix Canvas.finalize() for the case where the constructor throws an exception\n"
    },
    {
      "commit": "4566b79736f236c0f605c57130d1fa954f4642d6",
      "tree": "38640c9b8dc0cbdc958350d6023bd7df64ec90d0",
      "parents": [
        "3f4263fac6bcc68b3c7fff8e6ac9ad2d97b2ad4c"
      ],
      "author": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Wed Jun 17 15:27:42 2009 -0700"
      },
      "committer": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Wed Jun 17 18:26:32 2009 -0700"
      },
      "message": "Fix Canvas.finalize() for the case where the constructor throws an exception\nbefore the native canvas instance was created.\n\nIf the canvas constructors throw an exception (because the bitmap passed in is\nimmutable or already recycled), the constructor terminates early without\nallocating the native canvas instance. For the most part, that\u0027s okay, since\nthe Canvas instance will never be returned to the application.  However, the GC\nwill still call finalize() on the half-initialized Canvas.\n\nThe native methods for Canvas all assume that the canvas pointer passed down is\nnot null.\n"
    },
    {
      "commit": "984b5df3830fe26a45bee39c7e8dd86714c99ed0",
      "tree": "4bba363edf33de0fe50d60c84e78b071b0c60efa",
      "parents": [
        "9d044514f7777cd42776b7c5251ea83dc4e97931"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 17 14:06:15 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 17 14:07:53 2009 -0700"
      },
      "message": "Add support to BitmapFactory for decoding a bitmap from a MemoryFile FileDescriptor.\n"
    },
    {
      "commit": "683f3bed89d15c673b9fd391dc258c088e9316ae",
      "tree": "2722c54001768a5275120852bd39339412c54559",
      "parents": [
        "a41962065a93b63e7161cffd662b564e01a9e189"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "message": "Unhide inInputShareable in BitmapFactory.Options.\n\nThe variable works together with inPurgeable, which has been unhidden in\nhttps://android-git.corp.google.com/g/Gerrit#change,2870.\n"
    },
    {
      "commit": "eb949674fd3b83b706f795fc6b16ab1c66250c93",
      "tree": "4c58350eef523e46bcd26423a15aaa109779988f",
      "parents": [
        "30b70cec05190c8fcfa5aeb175a37bf81ed3966d"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Mon Jun 01 15:49:32 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Tue Jun 02 11:01:43 2009 -0700"
      },
      "message": "Unhide inPurgeable in BitmapFactory.Options.\n\nThe correctness and effectiveness of the usage of the parameter are evaluated in:\nhttps://android-git.corp.google.com/g/Gerrit#change,2768\n"
    },
    {
      "commit": "60b88edea7132ddce90f2dced07c6706f1502270",
      "tree": "cac67b3b2503772e7add28719106ae57529185b0",
      "parents": [
        "c4cdc7d8a1a42f0ce6e28c39f70cfceeee29a781"
      ],
      "author": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Wed May 13 17:47:31 2009 -0700"
      },
      "committer": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Wed May 13 17:51:37 2009 -0700"
      },
      "message": "Fix typos.\n"
    },
    {
      "commit": "33a31b314f571ddcbef003e8a399c20ddeff6905",
      "tree": "8dbf80c96af1459c6ef48dabeb1cd26449f0cff5",
      "parents": [
        "6347c322b36cdf6a30a35e80d205d00d40368e61"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Tue May 12 14:10:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue May 12 18:47:45 2009 -0700"
      },
      "message": "AI 148752: Fix description of breakText() param.\n  BUG\u003d1790234\n\nAutomated import of CL 148752\n"
    },
    {
      "commit": "807f23b2d8c7148cf6fc95bb88cfc2f78e4be66a",
      "tree": "a4ef7681cf3331f1f873bb8276f2aa867d841879",
      "parents": [
        "2bb3ea162a58c0f1dddccdbe68b64e02456f11f9",
        "b10f138e125b5656e810901d14c5f956ff5d9b64"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 12 15:45:25 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 12 15:45:25 2009 -0700"
      },
      "message": "Merge change 1057 into donut\n\n* changes:\n  * Add regoin scaling for transparent support\n"
    },
    {
      "commit": "b10f138e125b5656e810901d14c5f956ff5d9b64",
      "tree": "4ae9530582c5cff92909e0ff8dcd66e8637a94f6",
      "parents": [
        "7e3e04c144182c6807c66646b3f988beaba1720e"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Mon May 11 17:11:37 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Tue May 12 15:40:07 2009 -0700"
      },
      "message": "* Add regoin scaling for transparent support\n"
    },
    {
      "commit": "a87a132ebf1c2dd733cf52feff6e44525257c961",
      "tree": "683a3803f2b3704db73a56a769fcd0f19f912b52",
      "parents": [
        "da33d0d139531ff184a1a339b734de00f1cc0743"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue May 12 13:22:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue May 12 13:22:18 2009 -0700"
      },
      "message": "Fixes #1847219. Add a new API to load fonts from arbitrary files: Typeface.createFromFile(String/File).\n"
    },
    {
      "commit": "83b2107c4d2f07f46b6ae663115421749486f8b1",
      "tree": "f7a5d08afc5933d98f5f70adc744184452e5d240",
      "parents": [
        "08f3b5261fc31813e35cf04225ed8260f8a3bbe0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue May 12 10:54:51 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue May 12 10:54:51 2009 -0700"
      },
      "message": "Fixes #1846038. DrawableContainer was wrongly returning its opacity by ignoring the visibility of the currently selected layer. This change simply reports a TRANSPARENT opacity if there is no currently selected layer of if the selected layer is not visible. Otherwise it reports the opacity computed by the state class.\n"
    },
    {
      "commit": "13735a255dedd2c2e3b0cff66f0be2e17671f553",
      "tree": "9b55fcc3089076210763f62acf89563ed71a720b",
      "parents": [
        "d30605200b8b0f10e4740a9d7266d240023e69cd",
        "8169daed2f7a8731d478b884b1f455c747b88478"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "",
        "time": "Tue Apr 28 18:13:25 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Apr 28 18:13:25 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "8169daed2f7a8731d478b884b1f455c747b88478",
      "tree": "3ab1f44b128cef2f18f470af7483a8405329da23",
      "parents": [
        "8d112675879a2b83197d3b4ae4fb623abd1a1ec3"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "",
        "time": "Tue Apr 28 18:12:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Apr 28 18:12:09 2009 -0700"
      },
      "message": "AI 147976: Compatibility mode support. Part 2.\n  * Introduced ApplicationScale (may not be good name. CompatibilityScale? CanvasScale? Pls let me know if you have better idea)\n  * Changes to RootView / SurfaceView\n  - Makes the app believe it\u0027s running in the supported density/resolution.\n  - Makes the window manager believe it\u0027s running at the right density/resolution.\n  * Added methods to Rect/Event for scaling up/down.\n  Known issues:\n  * certain kind of images (such as nine patch for buttons) seesm to be loaded not by app, thus does not take the scale into account,\n  which, in turn, is causing layout issue.\n  * ZoomButton in MapView is rendered in wrong place\n  * Transparent region on Surface is not correct\n  * Specifying different densities in one process is not working.\n  BUG\u003d1770627\n\nAutomated import of CL 147976\n"
    },
    {
      "commit": "4924ae8d1f7610b8639e55b1088f6b4a993bfd40",
      "tree": "e25df4bca806560acea665226285fccb186e0ba2",
      "parents": [
        "e4de845ec2ad14538a437ca31f56948547b2d5c0",
        "23bd84ce6c448b73847eb404f3a1cc7b10afb6d6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 28 13:45:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 28 13:45:44 2009 -0700"
      },
      "message": "Merge change 618 into donut\n\n* changes:\n  Fixes #1816088. Avoid initializing empty Rects when they are useless, especially in Zygote.\n"
    },
    {
      "commit": "23bd84ce6c448b73847eb404f3a1cc7b10afb6d6",
      "tree": "8d185d76ffb3d15c429728dd9ca8a371eae5144e",
      "parents": [
        "257eef353dfc9519b63e3fe2616505c5534b460a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 27 15:43:49 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 28 10:42:45 2009 -0700"
      },
      "message": "Fixes #1816088. Avoid initializing empty Rects when they are useless, especially in Zygote.\n"
    },
    {
      "commit": "caf0df1b7f99736aed1a0b923ef278fc4fd0fcca",
      "tree": "59d8cc6a5756bb0a637d16768b4a6f41c997bbe2",
      "parents": [
        "fc8db53eee11568b286e8d9c17e211bd6781fab6"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Apr 27 14:32:05 2009 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Apr 27 14:32:05 2009 -0400"
      },
      "message": "Add call to (new) Canvas.freeCaches() in response to low-memory\n\nThis is in conjunction with removing a similar call made by the browser.\nNow it will be centralized, and the browser\u0027s call site will be removed.\n"
    },
    {
      "commit": "1fb758e94b5b9e342b6dc6452cb5bd7cf0cc4ed6",
      "tree": "f09abf0ff05ea93100ed41541371dd18e651493d",
      "parents": [
        "01be1fa7930e92aac6ba4dd4e8cb75f8719e8b37",
        "c70e06bbfac0d92ec218a32e35d9d7fa80f23cc9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 27 05:31:19 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 27 05:31:19 2009 -0700"
      },
      "message": "Merge change 546 into donut\n\n* changes:\n  Add (hidden for now) purgeable bitmaps\n"
    },
    {
      "commit": "c70e06bbfac0d92ec218a32e35d9d7fa80f23cc9",
      "tree": "3a758b6a05e7b60dec8c16c42d246e1e991a3854",
      "parents": [
        "44ff0514c2c8b8917ef81182c8f9d84a1617ec57"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Apr 24 11:09:12 2009 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Apr 24 17:20:29 2009 -0400"
      },
      "message": "Add (hidden for now) purgeable bitmaps\n\nBitmapFactory::Options now let you specify if the resulting bitmap can be\n\"purgeable\". If so, then its decoded pixels may be purged when not actively\nbeing drawn, freeing up that RAM. When such a bitmap is drawn, it will\nautomatically be re-decoded on demand. This is done by having the bitmap\nkeep a reference/copy of the encoded data.\n\nWhere it is a reference or a copy is controlled by the \"shareable\" flag in\nOptions. If this is true, the implementation *may* just reference the encode\ndata (e.g. a file descriptor) rathern than making a complete copy of it.\n\nCurrently, purgeable is not supported for generic inputstreams, but is\nenabled for byte-array, file-descriptor, and assets, though for impl\nreasons only file-descripts are currently enabled for \"shareable\", but that\nmay change in the future.\n"
    },
    {
      "commit": "1d442e0d990b581357f33f5463c7c5cb49b551e8",
      "tree": "58963b9ba095e179ba7c63e52dfd525b93cb978e",
      "parents": [
        "a0c9e8526b094e3b4f2c2747622059215d00516f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 20 18:14:05 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 22 18:03:21 2009 -0700"
      },
      "message": "More optimization of dumpsys output.\n\nThere are three major classes of changes here:\n\n- Avoid writing lines where their values are often empty, false, or some other typical thing.\n- Use partial writes to the PrintWriter to avoid creating temporary strings.\n- Use StringBuilder where we need to generate real String objects (and where possible cache the result).\n"
    },
    {
      "commit": "c39a6e0c51e182338deb8b63d07933b585134929",
      "tree": "e55fc5bd38b1eb8fb4851a0fe1cc264a7fe2f245",
      "parents": [
        "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137873\n"
    },
    {
      "commit": "4df2423a947bcd3f024cc3d3a1a315a8dc428598",
      "tree": "e7dac2c5a367b169e7f05a36058cf470e93f003b",
      "parents": [
        "c474dec3ffa1c0fe37edb3e701684188f7e8e7bc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136594\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "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": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "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": "076357b8567458d4b6dfdcf839ef751634cd2bfb",
      "tree": "efbb2fd6f1dc67d2d606382fc3b82983e7cb2e1f",
      "parents": [
        "3dec7d563a2f3e1eb967ce2054a00b6620e3558c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    },
    {
      "commit": "3dec7d563a2f3e1eb967ce2054a00b6620e3558c",
      "tree": "aa3b0365c47cb3c1607c0dc76c8d32b4046fc287",
      "parents": [
        "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@137055\n"
    },
    {
      "commit": "da996f390e17e16f2dfa60e972e7ebc4f868f37e",
      "tree": "00a0f15270d4c7b619fd34d8383257e1761082f4",
      "parents": [
        "d24b8183b93e781080b2c16c487e60d51c12da31"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@131421\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "f1e484acb594a726fb57ad0ae4cfe902c7f35858",
      "tree": "99d2b34512f0dc2ae67666e756c1cfcd331e5fe3",
      "parents": [
        "22f7dfd23490a3de2f21ff96949ba47003aac8f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 22 00:13:42 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 22 00:13:42 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127436\n"
    },
    {
      "commit": "b798689749c64baba81f02e10cf2157c747d6b46",
      "tree": "da394a395ddb1a6cf69193314846b03fe47a397e",
      "parents": [
        "f013e1afd1e68af5e3b868c26a653bbfb39538f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "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": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "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"
    }
  ]
}
