)]}'
{
  "log": [
    {
      "commit": "5a5b84c3e1e6381375a9cb02ee4972e5348668a1",
      "tree": "4c99853ed954f7acd1ff619991a56f8705f2a2c4",
      "parents": [
        "cf1290271922dab2ad9fd0b155a00a5fe0597ba8",
        "c8f4183669c7cf166ced70bf60ad056482f3390b"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Thu Jan 12 18:15:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 18:15:42 2012 -0800"
      },
      "message": "Merge \"Bring LatinIME\u0027s privateImeOptions \"forceAscii\" to a formal public API\""
    },
    {
      "commit": "c8f4183669c7cf166ced70bf60ad056482f3390b",
      "tree": "b3d179bb4da5dc0b8db895a12e158395ce2237eb",
      "parents": [
        "e00274a5ab8d16d1050adda84412016c01a469b3"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Thu Jan 12 22:51:55 2012 +0900"
      },
      "committer": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Jan 13 09:45:41 2012 +0900"
      },
      "message": "Bring LatinIME\u0027s privateImeOptions \"forceAscii\" to a formal public API\n\nbug: 5850605\nChange-Id: I6ab6076909c735a3e0729b457de68d0b5301184d\n"
    },
    {
      "commit": "bd2ff3666b6e923d5df074f614f350304f2c89f2",
      "tree": "28cfdd70a714d871670e2f9205b13eda0b5bd444",
      "parents": [
        "986f00faf44b0d9ed5b1384746ca4254037fc180",
        "3d0edd31d8082b7b8b2cdee5efda216179f677b5"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jan 12 15:36:58 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 15:36:58 2012 -0800"
      },
      "message": "Merge \"AccessibilityService description not internationalized.\""
    },
    {
      "commit": "986f00faf44b0d9ed5b1384746ca4254037fc180",
      "tree": "ee51ba282c84cc22d2391ff307fdfda10af9b92e",
      "parents": [
        "156936975dec49022681f218b8221ef9e3d87011",
        "e5360fbf3efe85427f7e7f59afe7bbeddb4949ac"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 15:03:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 15:03:26 2012 -0800"
      },
      "message": "Merge \"Rewrite SQLite database wrappers.\""
    },
    {
      "commit": "e5360fbf3efe85427f7e7f59afe7bbeddb4949ac",
      "tree": "53d32881de72a9b4b018f01dade23373cb65cc88",
      "parents": [
        "3f11f302c7e8c4ba513f6c559f33db96319c3825"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 31 17:48:13 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 14:56:18 2012 -0800"
      },
      "message": "Rewrite SQLite database wrappers.\n\nThe main theme of this change is encapsulation.  This change\npreserves all existing functionality but the implementation\nis now much cleaner.\n\nInstead of a \"database lock\", access to the database is treated\nas a resource acquisition problem.  If a thread\u0027s owns a database\nconnection, then it can access the database; otherwise, it must\nacquire a database connection first, and potentially wait for other\nthreads to give up theirs.  The SQLiteConnectionPool encapsulates\nthe details of how connections are created, configured, acquired,\nreleased and disposed.\n\nOne new feature is that SQLiteConnectionPool can make scheduling\ndecisions about which thread should next acquire a database\nconnection when there is contention among threads.  The factors\nconsidered include wait queue ordering (fairness among peers),\nwhether the connection is needed for an interactive operation\n(unfairness on behalf of the UI), and whether the primary connection\nis needed or if any old connection will do.  Thus one goal of the\nnew SQLiteConnectionPool is to improve the utilization of\ndatabase connections.\n\nTo emulate some quirks of the old \"database lock,\" we introduce\nthe concept of the primary database connection.  The primary\ndatabase connection is the one that is typically used to perform\nwrite operations to the database.  When a thread holds the primary\ndatabase connection, it effectively prevents other threads from\nmodifying the database (although they can still read).  What\u0027s\nmore, those threads will block when they try to acquire the primary\nconnection, which provides the same kind of mutual exclusion\nfeatures that the old \"database lock\" had.  (In truth, we\nprobably don\u0027t need to be requiring use of the primary database\nconnection in as many places as we do now, but we can seek to refine\nthat behavior in future patches.)\n\nAnother significant change is that native sqlite3_stmt objects\n(prepared statements) are fully encapsulated by the SQLiteConnection\nobject that owns them.  This ensures that the connection can\nfinalize (destroy) all extant statements that belong to a database\nconnection when the connection is closed.  (In the original code,\nthis was very complicated because the sqlite3_stmt objects were\nmanaged by SQLiteCompiledSql objects which had different lifetime\nfrom the original SQLiteDatabase that created them.  Worse, the\nSQLiteCompiledSql finalizer method couldn\u0027t actually destroy the\nsqlite3_stmt objects because it ran on the finalizer thread and\ntherefore could not guarantee that it could acquire the database\nlock in order to do the work.  This resulted in some rather\ntortured logic involving a list of pending finalizable statements\nand a high change of deadlocks or leaks.)\n\nBecause sqlite3_stmt objects never escape the confines of the\nSQLiteConnection that owns them, we can also greatly simplify\nthe design of the SQLiteProgram, SQLiteQuery and SQLiteStatement\nobjects.  They no longer have to wrangle a native sqlite3_stmt\nobject pointer and manage its lifecycle.  So now all they do\nis hold bind arguments and provide a fancy API.\n\nAll of the JNI glue related to managing database connections\nand performing transactions is now bound to SQLiteConnection\n(rather than being scattered everywhere).  This makes sense because\nSQLiteConnection owns the native sqlite3 object, so it is the\nonly class in the system that can interact with the native\nSQLite database directly.  Encapsulation for the win.\n\nOne particularly tricky part of this change is managing the\nownership of SQLiteConnection objects.  At any given time,\na SQLiteConnection is either owned by a SQLiteConnectionPool\nor by a SQLiteSession.  SQLiteConnections should never be leaked,\nbut we handle that case too (and yell about it with CloseGuard).\n\nA SQLiteSession object is responsible for acquiring and releasing\na SQLiteConnection object on behalf of a single thread as needed.\nFor example, the session acquires a connection when a transaction\nbegins and releases it when finished.  If the session cannot\nacquire a connection immediately, then the requested operation\nblocks until a connection becomes available.\n\nSQLiteSessions are thread-local.  A SQLiteDatabase assigns a\ndistinct session to each thread that performs database operations.\nThis is very very important.  First, it prevents two threads\nfrom trying to use the same SQLiteConnection at the same time\n(because two threads can\u0027t share the same session).\nSecond, it prevents a single thread from trying to acquire two\nSQLiteConnections simultaneously from the same database (because\na single thread can\u0027t have two sessions for the same database which,\nin addition to being greedy, could result in a deadlock).\n\nThere is strict layering between the various database objects,\nobjects at lower layers are not aware of objects at higher layers.\nMoreover, objects at higher layers generally own objects at lower\nlayers and are responsible for ensuring they are properly disposed\nwhen no longer needed (good for the environment).\n\nAPI layer: SQLiteDatabase, SQLiteProgram, SQLiteQuery, SQLiteStatement.\nSession layer: SQLiteSession.\nConnection layer: SQLiteConnectionPool, SQLiteConnection.\nNative layer: JNI glue.\n\nBy avoiding cyclic dependencies between layers, we make the\narchitecture much more intelligible, maintainable and robust.\n\nFinally, this change adds a great deal of new debugging information.\nIt is now possible to view a list of the most recent database\noperations including how long they took to run using\n\"adb shell dumpsys dbinfo\".  (Because most of the interesting\nwork happens in SQLiteConnection, it is easy to add debugging\ninstrumentation to track all database operations in one place.)\n\nChange-Id: Iffb4ce72d8bcf20b4e087d911da6aa84d2f15297\n"
    },
    {
      "commit": "11299b1b8c49e53ed25dce916aa24282b2e15662",
      "tree": "25e30176a96cc779635c8a13995349d7868e6aa2",
      "parents": [
        "4acb784630c9ceeff1f8834751999661fdb4eab2"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jan 12 12:43:44 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jan 12 13:54:53 2012 +0900"
      },
      "message": "Make public SpellChecker utilities\n\nBug: 5639238\nChange-Id: Id7dd2263a6305cc6ba0cf8f4d8ad8fb0d39a48ff\n"
    },
    {
      "commit": "32313b161f7c7d17841bf49b3d146fd19dd7fde1",
      "tree": "fb05cd7f89cab1cd68dd898996b94ab4b9522034",
      "parents": [
        "14f722359c87c64d864cbf237c60a18b172fcd24",
        "d476c8b8a8a6fadea7e72426d3e93c4e6b00e543"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 09 16:51:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 09 16:51:52 2012 -0800"
      },
      "message": "am d476c8b8: am d3be0a76: Merge \"Unhide Resources APIs for getting resources at specific densities.\" into ics-mr1\n\n* commit \u0027d476c8b8a8a6fadea7e72426d3e93c4e6b00e543\u0027:\n  Unhide Resources APIs for getting resources at specific densities.\n"
    },
    {
      "commit": "613989772f7d7f7317349568a4809bf08b942bd7",
      "tree": "7f77a9a8561729b6329551e5c4962e41256b5bc8",
      "parents": [
        "7944704e6c4cc10105838b78d3d8403bf66a066b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 09 12:00:30 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 09 12:00:30 2012 -0800"
      },
      "message": "Unhide Resources APIs for getting resources at specific densities.\n\nThis adds Resources.getDrawableForDensity() and\nResources.getValueForDensity().  These are needed for applications\nto correctly retrieve larger icons such as in launcher when\nrunning on a tablet.  We had already exposed the APIs to tell the\napplication which density to use for app icons on the current\ndevice, but didn\u0027t unhide these APIs that allowed you to\nactually retrieve them.\n\nThis is safe to do without introducing a new API level (as long\nas we do it soon) because we know these APIs already exist in\nAndroid 4.0, and there is no reason for anyone to be removing\nthem when building a device.\n\nChange-Id: I5138e5dc908197b66a98d20af73c5374cb5d41d3\n"
    },
    {
      "commit": "3d0edd31d8082b7b8b2cdee5efda216179f677b5",
      "tree": "b8071361f497ce57dd5a9e1ff575b2ad3fea0da4",
      "parents": [
        "c2fc52dc9ce8728bcd1c2b4d82ee573fa7f5049b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 03 16:38:46 2012 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 03 17:05:38 2012 -0800"
      },
      "message": "AccessibilityService description not internationalized.\n\n1. AccessibilityServiceInfo loading the description string on\n   creation and using this value. Hence, changing the locale\n   results in reporting incorrectly localized string. Added a\n   new loadDescription method to return the localized version.\n\n2. Deprecated the old method.\n\nbug:5807616\n\nChange-Id: Id82bda3c6a90fa6681b035d20da0b8688ed68da3\n"
    },
    {
      "commit": "19644b613ef14434abe11e6cd16eb9e06057c9c6",
      "tree": "a22b8ba231079e9d7dfbababe45a5c154413aeaa",
      "parents": [
        "e4f0034226731724b67201d69fb4034ef857e2d3"
      ],
      "author": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Wed Dec 21 14:21:36 2011 +0000"
      },
      "committer": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Wed Dec 21 14:21:36 2011 +0000"
      },
      "message": "Make WebView.HitTestResult static\n\n- we can do this, because HitTestResult never had a published constructor\n  so the only code that can create it has always lived in this package.\n- doing this makes the class design cleaner, and smooths the way for allowing\n  the new WebView implementation to deal in these results in contexts where\n  the appropriate WebView instance is not readily available.\n\nChange-Id: I9e1f1c0faeb16436b1861aab3c2871a5851dfb54\n"
    },
    {
      "commit": "5f45cbac03aef1aaa4e6947c3a1188768343686a",
      "tree": "a8b7dee07861e44e21ccfaa3166f8d6c59cc24af",
      "parents": [
        "eca6d909f7dd990c9a3226aa2f1ed1fa0cd250a2"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Dec 19 16:51:45 2011 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Dec 19 16:51:45 2011 -0800"
      },
      "message": "Fix build break - move API change from 15.txt to 16.txt\n\nChange-Id: I3e7e2106424e00d696909c811ffe704ca8bffced\n"
    },
    {
      "commit": "eca6d909f7dd990c9a3226aa2f1ed1fa0cd250a2",
      "tree": "ffdd916d697eb26d7190508967c6678b23429737",
      "parents": [
        "01583ef715641c8a3ce68269b091e75adbe9335a",
        "a356bf1cd81614a94ef6c720998792480ade4c84"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Dec 19 15:53:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 19 15:53:10 2011 -0800"
      },
      "message": "Merge \"Rewrite NDEF parsing in Java, clean-up API.\""
    },
    {
      "commit": "a356bf1cd81614a94ef6c720998792480ade4c84",
      "tree": "cab716f0cb6beb83cb2ecea93030d8d6b8336b3c",
      "parents": [
        "6752d0ab029a185a42e34e7a933b669e6ed19e89"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Dec 13 15:36:31 2011 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Dec 19 15:48:35 2011 -0800"
      },
      "message": "Rewrite NDEF parsing in Java, clean-up API.\n\no Lots of documentation fixes.\no Add NdefMessage(NdefRecord ... records) ctor\no Add NdefRecord.createMime()\no Add NdefRecord.createExternal()\no Add toString(), equals() and hashCode() implementations\no Deprecate NdefRecord(byte[]) and NdefRecord.toByteArray()\no Remove framework dependency on libnfc_ndef.so\no Remove NfcAdapter.getDefaultAdapter(), its been deprecated a while\n\nnext step:\no Attempt to move NdefMessage -\u003e Intent conversion into NDEF, and\n  make it CTS tested. This will ensure consistent NDEF -\u003e Intent\n  mapping across all Android devices.\n\nChange-Id: Ifed4910caa9a1d6bad32dbf0a507ab22bca35e22\n"
    },
    {
      "commit": "d47f1531d0653be33133cf05ec317a236e763646",
      "tree": "43cf3a5fe4bc5b9ef34f53f492fd5dc3e1b2fa12",
      "parents": [
        "1fd4de0adc9e93aa01dd8e1aef1a83b85b9a7579"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Dec 16 11:18:52 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Dec 16 13:44:01 2011 -0800"
      },
      "message": "Make Property objects in View final\n\nThe various Properties added to View in 4.0 (ALPHA, TRANSLATION_X, etc.)\nwere not final, making it possible to assign on property to another.\nNot something that someone would want to do, but we should try to prevent\nthat kind of mess. This API change makes those properties final.\n\nChange-Id: I7d0c7f738eb2074d0781b1ba6a7c19339bac4477\n"
    },
    {
      "commit": "aaf30e370f9a1aa645039138f54246ca4cd483fa",
      "tree": "e859f2ac621a518ba36035739900bb99a8f1af5c",
      "parents": [
        "69b3d10d6670d98442a6d06fa833399a3b9f1529",
        "d5064be3b5922ee6522a33f8b729ffee2e3d7b4b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 16 12:33:46 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 12:33:46 2011 -0800"
      },
      "message": "Merge \"Make SQLiteQuery and SQLiteProgram final.\""
    },
    {
      "commit": "d5064be3b5922ee6522a33f8b729ffee2e3d7b4b",
      "tree": "67d51b19e114b91270fe8d0710a868ae12a5d769",
      "parents": [
        "99cfc22639b0cd393d74262a58a2123a2b632a58"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Dec 14 14:25:13 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 16 03:59:26 2011 -0800"
      },
      "message": "Make SQLiteQuery and SQLiteProgram final.\n\nWe can do this because the classes already cannot be subclassed\nby applications due to the fact they only have package private\nconstructors.\n\nOne very nice consequence of this observation is that we can hide or\ndelete several @deprecated protected members which are effectively\ninaccessible because applications cannot create subclasses!\n\nChange-Id: I2d3a0d2ad72b9289ebcdf907e4e4e6caf27f9076\n"
    },
    {
      "commit": "44fcb83b38b062a650ddf556fe7f5e34905df9ea",
      "tree": "f5726b3011934023b43a46eb3ce3be6742a274ba",
      "parents": [
        "3766a7a27535101e62af958b1d2d710daa166d7d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Dec 14 20:59:30 2011 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 15 16:16:14 2011 -0800"
      },
      "message": "Add a new ui mode for \"appliance\"\n\nThe idea is that this is a device which is more-or-less headless.  It\nmight have some limited interaction capabilities, but it\u0027s not something\nthat you want to rely on having.\n\nChange-Id: Ib92f53a120bf83de781728011721a4859def7d9f\n"
    },
    {
      "commit": "acd5f963b91f481ac0ec05c4b1517cd86eb37fe7",
      "tree": "3aa7f2454c8244dd34bdea62f959b26872c4ce28",
      "parents": [
        "df3c49ee2e00f85599348473951a208be9397829",
        "0ae6e1719b1fc0aee6e5cf690a7005e975d96df9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 12 18:01:26 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 18:01:26 2011 -0800"
      },
      "message": "am 0ae6e171: am 359bb3b4: Final API 15.\n\n* commit \u00270ae6e1719b1fc0aee6e5cf690a7005e975d96df9\u0027:\n  Final API 15.\n"
    },
    {
      "commit": "359bb3b432b21590c12588c3ca3880ac17aadc96",
      "tree": "cb0a820bbc241fc39c9789b5780aaf52a34479bd",
      "parents": [
        "a1279586dd1a866dd58d669aa0980d71f6c589d9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 12 16:26:38 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 12 16:26:38 2011 -0800"
      },
      "message": "Final API 15.\n\nChange-Id: Ic356a7b4d56237e928e653c68e87b070e923d145\n"
    },
    {
      "commit": "1db7a31a45c234eb18bd788264591859bee64815",
      "tree": "6afa66dae5d2124106f824f450c690bb058ba642",
      "parents": [
        "8c9d01391cd257dce65928b462b32df24eb38b82",
        "75596b4545da36fa7592bd4a2ae680e5b336ee47"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Dec 09 14:37:05 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 09 14:37:05 2011 -0800"
      },
      "message": "Merge \"Add BluetoothAdapter.getRemoteDevice(byte[])\""
    },
    {
      "commit": "75596b4545da36fa7592bd4a2ae680e5b336ee47",
      "tree": "32325499de5525e76b15eb8a153714ff6bc11248",
      "parents": [
        "09588f64a280b98eefc22d05fd5ff7916ba9203e"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Dec 07 15:03:55 2011 -0800"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Dec 09 14:35:38 2011 -0800"
      },
      "message": "Add BluetoothAdapter.getRemoteDevice(byte[])\n\nThis is useful for NFC-\u003eBT hand-over, where we are already working with bytes.\n\nChange-Id: I2fff0b4fa0cefe9bfdf9a13f7ec6f557776a8a03\n"
    },
    {
      "commit": "d5f44204578d6b3d9c3864eaed84bf453998c7cf",
      "tree": "08a3b7f7596d0ed40ffac0103a267e83661bb4f4",
      "parents": [
        "08943f7acc118e6ae38823242d9c41a125c34ad6",
        "1113e75588782cc23074b9a9bb887de06eff8a49"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Dec 06 10:32:51 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 06 10:32:51 2011 -0800"
      },
      "message": "am 1113e755: am ea25ea7e: Merge \"Adding a system preference whether to speak passwords in accessibility mode.\" into ics-mr1\n\n* commit \u00271113e75588782cc23074b9a9bb887de06eff8a49\u0027:\n  Adding a system preference whether to speak passwords in accessibility mode.\n"
    },
    {
      "commit": "ea25ea7ef30be14dd940f1667e0308bfff5b4d85",
      "tree": "d3c4203fce24db2d11b8198fd8e57e8db4f131f9",
      "parents": [
        "4079702ac27b51282a25de5f7c20f6fba6b71995",
        "55f937abe1a4fedb86c2679c66f0b5220ec3780e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Dec 06 10:27:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 06 10:27:04 2011 -0800"
      },
      "message": "Merge \"Adding a system preference whether to speak passwords in accessibility mode.\" into ics-mr1"
    },
    {
      "commit": "deb86c63c33f766b1a7fd6916f56b757d40803b1",
      "tree": "b0fa805bd45446439e8bdd32e27d9b5d9519eba9",
      "parents": [
        "fc2e4f6d01af0ed17030db9e19db6335e18c8ffd",
        "ec42750e4d0e695515d078fb1f222c99a705fd93"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 19:20:45 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 19:20:45 2011 -0800"
      },
      "message": "am ec42750e: am 0c0120ef: Merge \"Fix issue #5714517: App shortcuts can result in bad task intents\" into ics-mr1\n\n* commit \u0027ec42750e4d0e695515d078fb1f222c99a705fd93\u0027:\n  Fix issue #5714517: App shortcuts can result in bad task intents\n"
    },
    {
      "commit": "f5b8671c340f189c50b41c53622f979b6d5e0a57",
      "tree": "fe81dca6cd70d011c62a036b3fc0f940cc71bf23",
      "parents": [
        "003c15d72ccd3856d5abfe6d66a2a40d0eca85bc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 17:42:41 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 17:42:41 2011 -0800"
      },
      "message": "Fix issue #5714517: App shortcuts can result in bad task intents\n\nNew API to let you build an Intent whose base configuration is correct,\nbut has an additional \"selector\" to pick out the specific app that you\nwould like launched.\n\nChange-Id: Ide9db6dc60e2844b7696cfe09b28337fe7dd63db\n"
    },
    {
      "commit": "55f937abe1a4fedb86c2679c66f0b5220ec3780e",
      "tree": "880f926d03c61252fbad516cfde201c316c10ca8",
      "parents": [
        "003c15d72ccd3856d5abfe6d66a2a40d0eca85bc"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 05 11:42:07 2011 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 05 14:54:59 2011 -0800"
      },
      "message": "Adding a system preference whether to speak passwords in accessibility mode.\n\nBy default we do not speak passwords if the user has no headset. However,\nmany users find this too restrictive and would like a way to enable\npassword announcement. While we cannot speak the passwords all the time\n,to avoid leaking them, we expose a preference so each user can choose\nthe option that best works for him/her.\n\nbug:5712607\n\nChange-Id: I6eb0c40834abe5297f7dc74be02d180a5bef0174\n"
    },
    {
      "commit": "a2a56f82a8577625003931664240246c10552867",
      "tree": "0203b8d466a3a4b50f7105b115a5a3f524a319b7",
      "parents": [
        "4d86d334e7214ccdcd689647707aa3d0ec080841",
        "48e07296800c49f8bc9b34cc57372593021f79a1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 01 18:52:27 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 01 18:52:27 2011 -0800"
      },
      "message": "am 48e07296: am bfb3dec2: Merge \"More social integration.\" into ics-mr1\n\n* commit \u002748e07296800c49f8bc9b34cc57372593021f79a1\u0027:\n  More social integration.\n"
    },
    {
      "commit": "a3d487cb13983643d5024e493e4d56c96736f1eb",
      "tree": "95be4655895195ea7d23f83fb26f462ccf19d7c7",
      "parents": [
        "e9f24a43021734d28a4f65ebc804847b31ce13e8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 01 18:42:24 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 01 18:42:24 2011 -0800"
      },
      "message": "More social integration.\n\nChange-Id: I9be09e08bda5db6c05f5beabc380708a11ead43b\n"
    },
    {
      "commit": "0475f82c95e6e9657580820b16b0e48d814119b5",
      "tree": "2ce0fb9ad7b9b7294bcf7a1617d45b21d246141f",
      "parents": [
        "8e6115f622ee2d6ef8023357231b6663b1c091e6",
        "c339fe302bc5083f0a110569eec06676be511088"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 29 13:17:42 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 29 13:17:42 2011 -0800"
      },
      "message": "am c339fe30: am be6ab576: Merge \"Fix application launch shortcuts.\" into ics-mr1\n\n* commit \u0027c339fe302bc5083f0a110569eec06676be511088\u0027:\n  Fix application launch shortcuts.\n"
    },
    {
      "commit": "6651a638348c15e89e265b0a53c775cac9beafa2",
      "tree": "f42e59d99363cada07cdb6f4bff69fa51bfae2ad",
      "parents": [
        "500afb87a7a8b5928ef1a5196bdfd0bcc2b87e4a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 28 12:59:11 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 29 12:17:22 2011 -0800"
      },
      "message": "Fix application launch shortcuts.\n\nImproved quick launch bookmarks to support category-based shortcuts\ninstead of hardcoding package and class names for all apps.\n\nAdded a set of Intent categories for typical applications on the\nplatform.\n\nAdded support for some of the HID application launch usages to\nreduce reliance on quick launch for special purpose keys.  Some\nkeyboard vendors have hardcoded launch keys that synthesize\n\"Search + X\" type key combos.  The goal is to encourage them\nto stop doing this by implementing more of HID.\n\nBug: 5674723\nChange-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593\n"
    },
    {
      "commit": "0219af277e5e1ae483c9690cffce33f185b02246",
      "tree": "60dc92432f4b262fafda8648e18850b25a58e9ef",
      "parents": [
        "4e2ecdd8a78f25f4c234877d5321ebd4e4c0e8f7",
        "ea54d0dc0dfeef5560fea04667804413d522025f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 21 21:23:49 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 21 21:23:49 2011 -0800"
      },
      "message": "am ea54d0dc: am 723218b4: Merge \"Hide ManagedEGLContext until we are sure this is the correct API.\" into ics-mr1\n\n* commit \u0027ea54d0dc0dfeef5560fea04667804413d522025f\u0027:\n  Hide ManagedEGLContext until we are sure this is the correct API.\n"
    },
    {
      "commit": "dccf73a50cb2a219182e141bac1d9da82fdaf4d7",
      "tree": "9b49d3a96584d84bc8453eec54ebd4dce6f1313e",
      "parents": [
        "e7005ec9582f11744fa74d9c5c9562f9e4be04dc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 21 18:24:23 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 21 18:27:21 2011 -0800"
      },
      "message": "Hide ManagedEGLContext until we are sure this is the correct API.\n\nChange-Id: If54942d342ca8ea348e10231b2aed3e5d3bd701b\n"
    },
    {
      "commit": "fa1a6eb584dde49d424fa53a995a6d0dbd45155c",
      "tree": "dd338b7c9df14f53b01e8d58209c1366eda3ceb3",
      "parents": [
        "e761f1e58f3946b01f9715e145b402db16f81367",
        "0272e60060162d2c32aec02d9cd1414dbbe14782"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Nov 18 02:37:22 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 18 02:37:22 2011 -0800"
      },
      "message": "am 0272e600: am a37a78e2: Merge \"GLES: add image external enums\" into ics-mr1\n\n* commit \u00270272e60060162d2c32aec02d9cd1414dbbe14782\u0027:\n  GLES: add image external enums\n"
    },
    {
      "commit": "a37a78e2efe54892a744adfc6330c2d2179dee21",
      "tree": "ac24599f75ff1e7d0ed4436cc60994f68f4498e6",
      "parents": [
        "31b0c6872dcec0759ff0dbbcfc6bf1e51d3e0f12",
        "9726b1b54b45f9a165a12bc4738f22c5070a6657"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 17 15:47:28 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 15:47:28 2011 -0800"
      },
      "message": "Merge \"GLES: add image external enums\" into ics-mr1"
    },
    {
      "commit": "c5b057f42372e7a3b0560afe88a243378255c2e2",
      "tree": "bb19a88f3e5037d8774f06cbf23d3de75f584f5f",
      "parents": [
        "778f146cf422edabf140a18afa8746e542a49ebd",
        "60e345a9a95a0f24804f729eeb5216012d1bcbac"
      ],
      "author": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Thu Nov 17 15:12:52 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 17 15:12:52 2011 -0800"
      },
      "message": "am 60e345a9: am 9be49620: Merge \"Unhide social stream permissions.\" into ics-mr1\n\n* commit \u002760e345a9a95a0f24804f729eeb5216012d1bcbac\u0027:\n  Unhide social stream permissions.\n"
    },
    {
      "commit": "6810017f6a7108449a8c08fcf15e1305dcba96f3",
      "tree": "12caa7ac82981b36132036ba8c35c835eb5a6012",
      "parents": [
        "131ed03f30ff85b00ee4f3cd01108f9742c356c2",
        "2c6afef8766371bf933f8675c80687802ce045e0"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 17 13:20:12 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 17 13:20:12 2011 -0800"
      },
      "message": "am 2c6afef8: am 1da3d656: Merge \"Undeprecate LayoutAlgorithm\" into ics-mr1\n\n* commit \u00272c6afef8766371bf933f8675c80687802ce045e0\u0027:\n  Undeprecate LayoutAlgorithm\n"
    },
    {
      "commit": "9be4962060ca67c4fe9bfc391043f6d2829cf720",
      "tree": "c4af6410ae6a04e04cd978ca74f6b8e9b68497ff",
      "parents": [
        "852585c034d383ea6afe1b484afa57cbf4d04f95",
        "098d466a25cf294487188b34dfa95575911a37cf"
      ],
      "author": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Thu Nov 17 12:26:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 12:26:17 2011 -0800"
      },
      "message": "Merge \"Unhide social stream permissions.\" into ics-mr1"
    },
    {
      "commit": "098d466a25cf294487188b34dfa95575911a37cf",
      "tree": "88ad7fb9e800051efb986bb37e181fe1bf075002",
      "parents": [
        "e4a1bafba351a1b4cea18af3442412de03dd4d89"
      ],
      "author": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Thu Nov 17 10:25:00 2011 -0800"
      },
      "committer": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Thu Nov 17 11:02:03 2011 -0800"
      },
      "message": "Unhide social stream permissions.\n\nBug 5569021\n\nChange-Id: I35ee70418be0e0286294fef54e194831b5fa3b2c\n"
    },
    {
      "commit": "1da3d656358ab577f285d06e9db249dfb21cb8e3",
      "tree": "ad882924ff4ffa070b517868f3b59615a7e95bf8",
      "parents": [
        "fead0e14b437e80b1c2b0578ec33fc5cbf910ddf",
        "5a1ef4132f93f57940a5cc49d32991674d014841"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 17 08:47:29 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 08:47:29 2011 -0800"
      },
      "message": "Merge \"Undeprecate LayoutAlgorithm\" into ics-mr1"
    },
    {
      "commit": "77c5f4def49357a89abd9849b0bab950179d71f4",
      "tree": "0048a35fc889732713233de3723464f86b6128e0",
      "parents": [
        "7cd2b19a926224dee2b2e12f37c1d71ce658bf97",
        "9aa6bd1c34fe3583fe31f283a6415e84fec12567"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 17 05:46:34 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 17 05:46:34 2011 -0800"
      },
      "message": "am 9aa6bd1c: am 717a25dc: Add new ManagedEGLContext class to help apps participate in memory trimming.\n\n* commit \u00279aa6bd1c34fe3583fe31f283a6415e84fec12567\u0027:\n  Add new ManagedEGLContext class to help apps participate in memory trimming.\n"
    },
    {
      "commit": "717a25dc2a411edb548859cd6870363346c71b01",
      "tree": "69bbc13b92fbef8dd34df6473897d812cea0b4eb",
      "parents": [
        "4c6a65bc319feab120d40553d93b160908db2f6d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 15 18:59:59 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 16 14:04:53 2011 -0800"
      },
      "message": "Add new ManagedEGLContext class to help apps participate in memory trimming.\n\nThis class provides an API for an application to know when it is time to\ndestroy its EGL context when memory is being trimmed.  By having this in\nthe framework, we can still detect whether it will be useful to destroy\nany EGL contexts (because we know if doing so will destroy all of them).\n\nChange-Id: I1eac8d640052778052926b875c7928008f752182\n"
    },
    {
      "commit": "5a1ef4132f93f57940a5cc49d32991674d014841",
      "tree": "4975941562586b7027034d9feae2f5462139e1ba",
      "parents": [
        "c7403258528a08ab74f7c29277d0c34ba6edc53d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 26 10:37:00 2011 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 16 11:08:44 2011 -0800"
      },
      "message": "Undeprecate LayoutAlgorithm\n\n Bug: 5533078\n There is no alternative and this is still useful and used. It should\n not have been deprecated.\n\nChange-Id: I641026cf76ea87738909827b7c48a556d9021d11\n"
    },
    {
      "commit": "9726b1b54b45f9a165a12bc4738f22c5070a6657",
      "tree": "1a58af8a6f63dce1b39ababe2067397300099ede",
      "parents": [
        "6a54a997e3dc71c5b9c5a1c7829bc3eb35404e92"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 15 10:32:53 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 15 11:35:46 2011 -0800"
      },
      "message": "GLES: add image external enums\n\nThis change adds Java definitions for the enums of the\nGL_OES_EGL_image_external OpenGL ES extension.\n\nBug: 3482193\nChange-Id: Ib50326f8be9b9cc9021753855c3846ddcdc5eaa2\n"
    },
    {
      "commit": "c512fd065c2bb4f5d39bb13f45d3fb32370f6880",
      "tree": "a7d1c97fc91c7f4ed8c06ffb49608697c9482964",
      "parents": [
        "3dc44d9afe72fc1975dcf7d8b883fc101047b2be",
        "9a176507a96ceb3640a56a5449e96fc3e406a765"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 11 11:51:19 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 11 11:51:19 2011 -0800"
      },
      "message": "am 9a176507: am b7a000a6: Merge \"Unhide the key to retriever location information in 3gp/mp4 files\" into ics-mr1\n\n* commit \u00279a176507a96ceb3640a56a5449e96fc3e406a765\u0027:\n  Unhide the key to retriever location information in 3gp/mp4 files\n"
    },
    {
      "commit": "e5fe1b302d68a1ca2ee3f16cdcbce276fe3d9776",
      "tree": "c39de41e1c801e410668fae3b67d31b09c08ab5f",
      "parents": [
        "99164b4209d9cd37a9389f566ab0beee6363b030",
        "405fcc87b247d91ce2b54623f351e91b740813c0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 11 11:51:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 11 11:51:07 2011 -0800"
      },
      "message": "am 405fcc87: am 754c72ed: Notifiy callers when a speech synthesis error occurs.\n\n* commit \u0027405fcc87b247d91ce2b54623f351e91b740813c0\u0027:\n  Notifiy callers when a speech synthesis error occurs.\n"
    },
    {
      "commit": "b7a000a6fb84ae75847e730332bae62ba1234999",
      "tree": "1ceed497531cee93e83e1ebce22575f37284f530",
      "parents": [
        "23217182743521063655c6fb1b1580d3558cfbe7",
        "00aa51b355d2b9ae7604fe4c43f6e64193422dba"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 11 10:49:24 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 11 10:49:24 2011 -0800"
      },
      "message": "Merge \"Unhide the key to retriever location information in 3gp/mp4 files\" into ics-mr1"
    },
    {
      "commit": "754c72ed9e8e83e5a913aa7552fc2e1b1b5277e0",
      "tree": "207a323afb5dbecc2aaf4e17cd09556444702d59",
      "parents": [
        "08e42967b9e459b7beb22e859f1f1eba0546741b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 09 14:22:32 2011 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 11 14:21:43 2011 +0000"
      },
      "message": "Notifiy callers when a speech synthesis error occurs.\n\nbug:5589877\nChange-Id: Ideca8966ea1caa6789b3273e388dd1f25c1e2758\n"
    },
    {
      "commit": "00aa51b355d2b9ae7604fe4c43f6e64193422dba",
      "tree": "1b6a6c4e66681f32812f7a30937d05f394262cf3",
      "parents": [
        "08e42967b9e459b7beb22e859f1f1eba0546741b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 10 14:46:26 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 11 01:49:01 2011 -0800"
      },
      "message": "Unhide the key to retriever location information in 3gp/mp4 files\n\nChange-Id: I71c651b403955c0f6f8df096e995a5f5f4e39130\nrelated-to-bug: 5560253\n"
    },
    {
      "commit": "fb894276b127767e610fc99cc4539c397c4e7ecc",
      "tree": "6e52fa6e6ee5995360198bacfa5e320f0c51579d",
      "parents": [
        "dce3af33a53c15f5fe290b0de4e126eb5b2d883f",
        "0bbd151e1dab043226725d23f0ca26f4d09ee76f"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Thu Nov 10 21:16:54 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 10 21:16:54 2011 +0000"
      },
      "message": "am 0bbd151e: am faa81c82: Merge \"Revert \"Add new secure setting for controlling Messaging notifications\"\" into ics-mr1\n\n* commit \u00270bbd151e1dab043226725d23f0ca26f4d09ee76f\u0027:\n  Revert \"Add new secure setting for controlling Messaging notifications\"\n"
    },
    {
      "commit": "e60e3e2b38227b2d567c264f567f6f49656f7187",
      "tree": "3098ef3c38f02209d4670e2796af46f8e1922439",
      "parents": [
        "4e637a9fa559d4f1c4ad906c35bf270e0475e649",
        "3869eac42b3d6fc0ecef8f096fbb4b5ddafca6f7"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 10 19:39:08 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 10 19:39:08 2011 +0000"
      },
      "message": "am 3869eac4: am 114c4d38: Merge \"Introduce an API to cancel pending/running spell check tasks\" into ics-mr1\n\n* commit \u00273869eac42b3d6fc0ecef8f096fbb4b5ddafca6f7\u0027:\n  Introduce an API to cancel pending/running spell check tasks\n"
    },
    {
      "commit": "994da2ad3242407fd822e6b35e3d302a3667d9c3",
      "tree": "bfa07f7cb460593e29ab3acdc6a76270ce8d5b92",
      "parents": [
        "843e04d977fd348ed474da1d3c6a62e7dc837444"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Thu Nov 10 11:17:38 2011 -0800"
      },
      "committer": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Thu Nov 10 11:17:38 2011 -0800"
      },
      "message": "Revert \"Add new secure setting for controlling Messaging notifications\"\n\nThis reverts commit 03da2f00aac04e6565a02cf5a9bf6bb1ec926930.\n\n Committer: Tom Taylor \u003ctomtaylor@google.com\u003e\n\n On branch revertsetting\n Changes to be committed:\n   (use \"git reset HEAD \u003cfile\u003e...\" to unstage)\n\n\tmodified:   api/current.txt\n\tmodified:   core/java/android/provider/Settings.java\n\tmodified:   core/java/android/provider/Telephony.java\n\tmodified:   packages/SettingsProvider/res/values/defaults.xml\n\tmodified:   packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java\n\nWe\u0027ve decided not to disable messaging notifications with a secure setting.\nInstead, all the work will be done within the messaging app itself.\n\nChange-Id: Icde6894e76da1007b6026c8ec7dc56e488453c06\n"
    },
    {
      "commit": "fe2d4abdd917aa98baf56d4b903999c2d8b68a7d",
      "tree": "0f23a64e1b41c11ad3f20e0ab7a3ee70bfd03729",
      "parents": [
        "1c3ce05b7c333f08a0d5ee913ce397e895a9a1f1",
        "698d3de681bf85047675baa61f9b28961f3d6862"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 10 16:14:43 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 10 16:14:43 2011 +0000"
      },
      "message": "am 698d3de6: am e7de36e6: Merge \"Throw TransactionTooLargeException when Binder transaction fails. Bug: 5578022\" into ics-mr1\n\n* commit \u0027698d3de681bf85047675baa61f9b28961f3d6862\u0027:\n  Throw TransactionTooLargeException when Binder transaction fails. Bug: 5578022\n"
    },
    {
      "commit": "114c4d3843758a2a1ffb32eb2719d65cdee637f8",
      "tree": "c3ff7f7838686a857149334e67a4b3d20e339c14",
      "parents": [
        "bca520a170f84c8be840e629841d0dc7d7cb273b",
        "b4aff97c85e730857893742f73a082f6b8d139ca"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 09 21:26:46 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 09 21:26:46 2011 -0800"
      },
      "message": "Merge \"Introduce an API to cancel pending/running spell check tasks\" into ics-mr1"
    },
    {
      "commit": "b4aff97c85e730857893742f73a082f6b8d139ca",
      "tree": "6def3a6e5f783274d3a72e28cd940722a2adb18d",
      "parents": [
        "76bb11ca642556673249a6ef8b84ab2813deaa87"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 03 04:12:51 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 10 11:50:45 2011 +0900"
      },
      "message": "Introduce an API to cancel pending/running spell check tasks\n\nBug: 5554629\n\nChange-Id: Ifd840ea13976813639a2ee259124a21d9bb56893\n"
    },
    {
      "commit": "d26d4cefad85c93638d230d7e31f41db1063914d",
      "tree": "734802da1e82236613bb6bdd4f71c0dac28f79e4",
      "parents": [
        "dfef67374a66f01222bee956c11a0eba40650a8e",
        "7e6c75f5a57b42edf22ce4e2cf144016252066c5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Nov 09 21:51:17 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 09 21:51:17 2011 +0000"
      },
      "message": "am 7e6c75f5: am d211b488: Merge \"SurfaceTexture: unhide setDefaultBufferSize\" into ics-mr1\n\n* commit \u00277e6c75f5a57b42edf22ce4e2cf144016252066c5\u0027:\n  SurfaceTexture: unhide setDefaultBufferSize\n"
    },
    {
      "commit": "941c6f7f71ba89ab8412908fed8e509c16c6a733",
      "tree": "e20e884a0d1ca126e3836cdcec04ba2b5d19baa6",
      "parents": [
        "c55a4262f3c91c70ce2e25cc77e5132ecc97c608",
        "8e2c51137cdd1917d36c3a78ff6c1a42cc8ea402"
      ],
      "author": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Wed Nov 09 21:51:08 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 09 21:51:08 2011 +0000"
      },
      "message": "am 8e2c5113: am b78ae752: Merge \"Unhide social stream APIs for Contacts.\" into ics-mr1\n\n* commit \u00278e2c51137cdd1917d36c3a78ff6c1a42cc8ea402\u0027:\n  Unhide social stream APIs for Contacts.\n"
    },
    {
      "commit": "ea57ede544bd61fe5c5e096466e9d046dfd36b50",
      "tree": "36eb5203287ee6bbddec26100e3c83ff55afbca5",
      "parents": [
        "bd958e4428263eac17107a33d54a2751c37cc0b7",
        "3a6f9ded543db6cb7a2842540a2b67b0356b21ae"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Wed Nov 09 21:51:01 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 09 21:51:01 2011 +0000"
      },
      "message": "am 3a6f9ded: am 48542eb3: Merge \"Make public APIs of ACTION_UUID, EXTRA_UUID, getUuids, and fetchUuidsWithSdp\" into ics-mr1\n\n* commit \u00273a6f9ded543db6cb7a2842540a2b67b0356b21ae\u0027:\n  Make public APIs of ACTION_UUID, EXTRA_UUID, getUuids, and fetchUuidsWithSdp\n"
    },
    {
      "commit": "dcf7cf4ca400bdba342bda3085cbec06bd3ca975",
      "tree": "12579eef96fa3e47e03a9d56e287d44d6271b20b",
      "parents": [
        "714211068e77507baf227fad86ad88b9248b9236",
        "068b7f02a35e969c1607f8a35c422c93ee72c8a3"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 09 21:50:54 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 09 21:50:54 2011 +0000"
      },
      "message": "am 068b7f02: am 75b20380: Merge \"Making default widget padding public API\" into ics-mr1\n\n* commit \u0027068b7f02a35e969c1607f8a35c422c93ee72c8a3\u0027:\n  Making default widget padding public API\n"
    },
    {
      "commit": "e7de36e605e0ccf4552c8ee1db40cb9af3227cf4",
      "tree": "06762a1e5f7ea15878cc8407e8c474ef97401f51",
      "parents": [
        "34dd937be1a325fd92d6479822960e4ca13f2420",
        "0bde66a837542e5bd901d8b8e47c5bd7c4c99fe4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 09 11:20:24 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 09 11:20:24 2011 -0800"
      },
      "message": "Merge \"Throw TransactionTooLargeException when Binder transaction fails. Bug: 5578022\" into ics-mr1"
    },
    {
      "commit": "81b10fd74ecad65eb9c658cf3881c9c0254351e9",
      "tree": "e2e34551e3c326e4601989ce47fef3559ef4dd3b",
      "parents": [
        "b69ce803837f6cb369c974e028cec1166f213aee",
        "1366c756d28cdbb6c7c07959dfb4c93c81a9539d"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Wed Nov 09 14:34:18 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 09 14:34:18 2011 +0000"
      },
      "message": "am 1366c756: Merge \"Add new secure setting for controlling Messaging notifications\" into ics-mr1\n\n* commit \u00271366c756d28cdbb6c7c07959dfb4c93c81a9539d\u0027:\n  Add new secure setting for controlling Messaging notifications\n"
    },
    {
      "commit": "0bde66a837542e5bd901d8b8e47c5bd7c4c99fe4",
      "tree": "d0b6f7097dd7ea9ff490c90daee117ca7a286354",
      "parents": [
        "650a3e8894c6d26b258d26bdec856fde7aba43d6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 07 12:50:08 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 08 20:42:11 2011 -0800"
      },
      "message": "Throw TransactionTooLargeException when Binder transaction fails.\nBug: 5578022\n\nPreviously, Binder transactions failed silently, which caused\nproblems because apps would carry on assuming that the operation\nhad succeeded.  Often, the apps would crash soon due to a violated\ninvariant, but sometimes they managed to do some damage first...\n\nChange-Id: Ia9cc98b3b761a8160e7c4e87507860b5912c0451\n"
    },
    {
      "commit": "d211b4882a662409b85a1f90c71e28faa9c54464",
      "tree": "6e9dc3e95cd2aa953c2b7b8f1ae9673d93f3c657",
      "parents": [
        "911263dc5df48b89e8f9010fb74dfe2649bdc442",
        "2aafe742e5d2d63d77c49df032ec580966661597"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 08 16:15:26 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 16:15:26 2011 -0800"
      },
      "message": "Merge \"SurfaceTexture: unhide setDefaultBufferSize\" into ics-mr1"
    },
    {
      "commit": "b78ae7524eecbca01a53994d6872202633c8341b",
      "tree": "c472630e419c1fb7088d431fd54c0fc871f108fa",
      "parents": [
        "650a3e8894c6d26b258d26bdec856fde7aba43d6",
        "003924c37afd8f4593b844ff06dbfd84a6fc1a23"
      ],
      "author": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Tue Nov 08 14:48:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 14:48:21 2011 -0800"
      },
      "message": "Merge \"Unhide social stream APIs for Contacts.\" into ics-mr1"
    },
    {
      "commit": "48542eb39e55f2d0e2a79d43e696ffb2acb67b5c",
      "tree": "3c1c55a3276361e8446b21e30557ae487bb596d3",
      "parents": [
        "665e105f145fcb27a54d53c6c9382bebf50a56d7",
        "ad2321027e9731711544b43378bd7b2f01890774"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Nov 08 12:19:37 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 12:19:37 2011 -0800"
      },
      "message": "Merge \"Make public APIs of ACTION_UUID, EXTRA_UUID, getUuids, and fetchUuidsWithSdp\" into ics-mr1"
    },
    {
      "commit": "ad2321027e9731711544b43378bd7b2f01890774",
      "tree": "7fd3677dc1058f6d107398d4e2d1fa64b86147b8",
      "parents": [
        "604019c8d45b8c56cf48b03dbd92cfbdd29c48c1"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Nov 08 10:58:12 2011 -0800"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Nov 08 11:58:12 2011 -0800"
      },
      "message": "Make public APIs of ACTION_UUID, EXTRA_UUID, getUuids, and fetchUuidsWithSdp\n\nGive APP a way to find out if a service is supported by a remote device\nbug 5487202\n\nChange-Id: I5a2d050cf24d945e1c9875963c34177ed1ce773a\n"
    },
    {
      "commit": "75b2038004f3338c68c9a0e89b29a31e10b237da",
      "tree": "b715299c44cfbde7568f6683af83c7401b76c7e1",
      "parents": [
        "604019c8d45b8c56cf48b03dbd92cfbdd29c48c1",
        "4c96a59b4354c4a593a07a3273c186b51597bcc1"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Tue Nov 08 10:53:39 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 10:53:39 2011 -0800"
      },
      "message": "Merge \"Making default widget padding public API\" into ics-mr1"
    },
    {
      "commit": "1366c756d28cdbb6c7c07959dfb4c93c81a9539d",
      "tree": "1a530c9125555320f5f3cc08d05d2411a60d3a61",
      "parents": [
        "26f70db99f483be36caa7a4c84fec5de50bec034",
        "03da2f00aac04e6565a02cf5a9bf6bb1ec926930"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Tue Nov 08 09:00:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 09:00:22 2011 -0800"
      },
      "message": "Merge \"Add new secure setting for controlling Messaging notifications\" into ics-mr1"
    },
    {
      "commit": "ba1f05d4a816dd60a6be2a09858d8c9ecf3d552d",
      "tree": "2a03bef2ad18773ee3eb6a0f4d956f5be1bb8a7d",
      "parents": [
        "f537b25a98449e6541987152874a2b552e7aa104",
        "9d6a51623fdabbe993d7b8848794607394ef7cc2"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Tue Nov 08 14:04:18 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 08 14:04:18 2011 +0000"
      },
      "message": "am 9d6a5162: Fix build break; Revert \"Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp\"\n\n* commit \u00279d6a51623fdabbe993d7b8848794607394ef7cc2\u0027:\n  Fix build break; Revert \"Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp\"\n"
    },
    {
      "commit": "9d6a51623fdabbe993d7b8848794607394ef7cc2",
      "tree": "1d4a9b169126feea3e57026e04f2a1b65e175a22",
      "parents": [
        "98f5500c71754dad428e00d569007e0b98dc8aee"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Tue Nov 08 05:58:37 2011 -0800"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Tue Nov 08 05:58:37 2011 -0800"
      },
      "message": "Fix build break; Revert \"Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp\"\n\nThis reverts commit ae5839dcad76625313e6736d69eeaf37af435a3f.\n"
    },
    {
      "commit": "bfd978355695e1a3a2887716f3d8fe028daa6005",
      "tree": "c83421e2fe5c59f10d4b36fbdcfd856feeed6ba6",
      "parents": [
        "147b601e99981e339df0be74a3dcda9f27fe73a0",
        "67f1ceb616ced4ce9857ee24f43d3c9dd5b289a5"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Nov 08 07:00:33 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 08 07:00:33 2011 +0000"
      },
      "message": "am 67f1ceb6: Merge \"Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp\" into ics-mr1\n\n* commit \u002767f1ceb616ced4ce9857ee24f43d3c9dd5b289a5\u0027:\n  Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp\n"
    },
    {
      "commit": "67f1ceb616ced4ce9857ee24f43d3c9dd5b289a5",
      "tree": "5b5cd778c318aa226465f2a80526f967739c46de",
      "parents": [
        "7f1c94e198e051bf481fd2d286c7b33d00664f9d",
        "ae5839dcad76625313e6736d69eeaf37af435a3f"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Mon Nov 07 22:42:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 07 22:42:00 2011 -0800"
      },
      "message": "Merge \"Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp\" into ics-mr1"
    },
    {
      "commit": "4c96a59b4354c4a593a07a3273c186b51597bcc1",
      "tree": "a4b2876ffafe24670b2edf6e5cf9747e683e89ce",
      "parents": [
        "2d9ccdb4abd393375c5ae99445afbb8b0855d25c"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Nov 04 12:12:48 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Nov 07 17:59:23 2011 -0800"
      },
      "message": "Making default widget padding public API\n\nChange-Id: Ibf4f5dc1a36d84be1acc3ccdc4330276f82aa303\n"
    },
    {
      "commit": "003924c37afd8f4593b844ff06dbfd84a6fc1a23",
      "tree": "8f03ddda377fb7fc54e2644e7e2f62ad6a1eb633",
      "parents": [
        "4d8ecc65c5a747f350492b21397d7466ff628900"
      ],
      "author": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Fri Nov 04 16:07:13 2011 -0700"
      },
      "committer": {
        "name": "Dave Santoro",
        "email": "dsantoro@google.com",
        "time": "Mon Nov 07 17:06:54 2011 -0800"
      },
      "message": "Unhide social stream APIs for Contacts.\n\nBug 5569021\n\nChange-Id: Iba6ad0fb8d1bd4eafd9fbb42c28a332679ade11c\n"
    },
    {
      "commit": "b92a77b5629b0b93aa21946820f9842ee2f88654",
      "tree": "81700812b68faba72dfaed827d4af32944484337",
      "parents": [
        "a20972ae458ffd8b41596eefdbd4b985370f16a9",
        "b1dbf8e605c29ac00dde187579bd8ff8f18d7ba3"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Nov 07 23:01:48 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 07 23:01:48 2011 +0000"
      },
      "message": "am b1dbf8e6: Merge \"Change the \"start deferred\" fragment API to \"user visible hint\"\" into ics-mr1\n\n* commit \u0027b1dbf8e605c29ac00dde187579bd8ff8f18d7ba3\u0027:\n  Change the \"start deferred\" fragment API to \"user visible hint\"\n"
    },
    {
      "commit": "03da2f00aac04e6565a02cf5a9bf6bb1ec926930",
      "tree": "c137b907a5aca791ff4a9c20292adc86e8efd415",
      "parents": [
        "064975c27cbca412e682fa152ce00af14027ab4f"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Mon Nov 07 14:16:44 2011 -0800"
      },
      "committer": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Mon Nov 07 14:16:44 2011 -0800"
      },
      "message": "Add new secure setting for controlling Messaging notifications\n\nBug 5552615\nWe\u0027re adding a new intent to allow 3rd party apps to disable\nthe Messaging app\u0027s notification. We want any app to be able to query\nthe setting of whether sms notifications are on or off, but only allow\nsystem apps, particularly the Messaging app, to change that setting.\nOther apps can change the setting by firing off an intent which brings\nup a dialog activity in the Messaging app that\u0027ll let them turn off\nMessaging notifications.\n\nChange-Id: I4d2721191b86010efb383a24c28d911496440657\n"
    },
    {
      "commit": "78fed9b78f8b3b92979b94dda2640cdeaffb2573",
      "tree": "5f6fad0fc41951675618420422218c03758d5b11",
      "parents": [
        "19c86cacb2f0ba04cc93084ba474662afb17d88f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Nov 07 10:45:34 2011 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Nov 07 13:47:13 2011 -0800"
      },
      "message": "Change the \"start deferred\" fragment API to \"user visible hint\"\n\nAllow a fragment to set a hint of whether or not it is currently user\nvisible. This will be used implicitly to defer the start of fragments\nthat are not user visible until the loaders for visible fragments have\nrun. This hint defaults to true.\n\nChange-Id: Id1349d319886a277ef07301f64f7b9e12c8729bf\n"
    },
    {
      "commit": "928f97b1860ef3a9e58ad2d6ba55044b014f9ef3",
      "tree": "c871a53c22b883dadf8ebd39646ee6902b53ac12",
      "parents": [
        "2a639347aebb56febdef21a78c70fb0433adc1e5",
        "eaa17b768fcd2624cb5d46a76ade24ebe7e56957"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Nov 05 19:33:11 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 05 19:33:11 2011 +0000"
      },
      "message": "am eaa17b76: Merge \"Add an API for querying / enabling network TTS support.\" into ics-mr1\n\n* commit \u0027eaa17b768fcd2624cb5d46a76ade24ebe7e56957\u0027:\n  Add an API for querying / enabling network TTS support.\n"
    },
    {
      "commit": "2aafe742e5d2d63d77c49df032ec580966661597",
      "tree": "0156b2ef25b0368623d86b71b259b0d2ee8fe182",
      "parents": [
        "62015f5d0d1104dfc682b3eb3b6c0be4f63b985a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Nov 04 14:24:55 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Nov 04 14:24:55 2011 -0700"
      },
      "message": "SurfaceTexture: unhide setDefaultBufferSize\n\nChange-Id: Ia4d3e1829339acaecaa7f10023945a432c581d72\n"
    },
    {
      "commit": "eaa17b768fcd2624cb5d46a76ade24ebe7e56957",
      "tree": "5a1beedd4bae2f0d956cb8dc676a0da06c6fc443",
      "parents": [
        "aa4d2f69bdc2acbed04b7662a55308b72f108dff",
        "748af66ca27d3afe2e16ccc80b147d447635292a"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 04 11:01:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 11:01:57 2011 -0700"
      },
      "message": "Merge \"Add an API for querying / enabling network TTS support.\" into ics-mr1"
    },
    {
      "commit": "d548ef3b804f9289aea2383ad1786c0f1b45c8ad",
      "tree": "9717304625337c026808318542b66d72b946ae96",
      "parents": [
        "4d81191dd377d30570d6c3294b0fb1f0ea681f46",
        "cb1001b2829f7da86f66f2634bd40cbc51ba4998"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 03 09:13:13 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 03 09:13:13 2011 +0000"
      },
      "message": "am cb1001b2: Merge \"Fix a memory leak of a Binder in SpellCheckerService\" into ics-mr1\n\n* commit \u0027cb1001b2829f7da86f66f2634bd40cbc51ba4998\u0027:\n  Fix a memory leak of a Binder in SpellCheckerService\n"
    },
    {
      "commit": "cb1001b2829f7da86f66f2634bd40cbc51ba4998",
      "tree": "7732014ca29e6fccc8273aa8c1fd33bb427ded5d",
      "parents": [
        "808ee95dd4244da6ae767d3ddd003ed7b48937d0",
        "74061ff90453c79ddbde468f630a41425da07710"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 03 02:09:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 03 02:09:32 2011 -0700"
      },
      "message": "Merge \"Fix a memory leak of a Binder in SpellCheckerService\" into ics-mr1"
    },
    {
      "commit": "748af66ca27d3afe2e16ccc80b147d447635292a",
      "tree": "759b14b81d0425a1ea7f7473828b327a7a6f100d",
      "parents": [
        "b4529b0adca243644f601c9fe5d419c283bf57c1"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 31 14:20:01 2011 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 02 19:37:52 2011 +0000"
      },
      "message": "Add an API for querying / enabling network TTS support.\n\nbug:5284966\nChange-Id: I01708f40bf0e975449125320dbcd4842210ca168\n"
    },
    {
      "commit": "8f3818c71cdfee1fb8c410fd218585d1c4e08d73",
      "tree": "7351400e9cba60850bd49ab7de4d0144f807d565",
      "parents": [
        "4f4b83c50c67d4520af3d5b4733b1627208275ce",
        "39cec40697ab3d1d106e0c0c21458b2085c96f00"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 02 17:50:23 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 02 17:50:23 2011 +0000"
      },
      "message": "am 39cec406: Merge \"Add new OOM adjustment for the \"previous\" process.\" into ics-mr1\n\n* commit \u002739cec40697ab3d1d106e0c0c21458b2085c96f00\u0027:\n  Add new OOM adjustment for the \"previous\" process.\n"
    },
    {
      "commit": "cf3b31704ae7743ca85219bca9698adcf6fbc67a",
      "tree": "b01621df9cce8454202f7c79e47febbf120fd56b",
      "parents": [
        "5572015109ab1625925d1bfe2bf0e412eeeb117f",
        "ad41a94b298f834e13632ee29b27cefd75f10012"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 02 17:50:14 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 02 17:50:14 2011 +0000"
      },
      "message": "am ad41a94b: Merge \"Some optimizations.\" into ics-mr1\n\n* commit \u0027ad41a94b298f834e13632ee29b27cefd75f10012\u0027:\n  Some optimizations.\n"
    },
    {
      "commit": "9e9a64e87549cd668939c8edfb71b2d7866f5e74",
      "tree": "52815f97bd4dcbc2085784d475ddf554500ce477",
      "parents": [
        "2e59fe7eec87f98d5bae7057fbaed7105d34f1bc",
        "f136aa341abaaf7fd6f7632d41a30b2989d93985"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 02 17:30:26 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 02 17:30:26 2011 +0000"
      },
      "message": "am f136aa34: Merge \"Various performance and other work.\" into ics-mr1\n\n* commit \u0027f136aa341abaaf7fd6f7632d41a30b2989d93985\u0027:\n  Various performance and other work.\n"
    },
    {
      "commit": "74061ff90453c79ddbde468f630a41425da07710",
      "tree": "64d58b86ae60bd771e36478df4b00a9f4a0a58d2",
      "parents": [
        "07b4b3145333bc8ece9fdbb68ade726b3d6485cd"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 02 11:20:33 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 03 01:22:20 2011 +0900"
      },
      "message": "Fix a memory leak of a Binder in SpellCheckerService\n\nBug: 5499490\n\nChange-Id: I167a3e9dfdd6edd06c6ad993fbff3a535c81b09c\n"
    },
    {
      "commit": "f35fe23669aeeebd2db2acb6baacae503dba03a8",
      "tree": "b4adf8837e7af2040f88d07089b776accdfda2f7",
      "parents": [
        "ad41a94b298f834e13632ee29b27cefd75f10012"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 01 19:25:20 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 01 19:25:20 2011 -0700"
      },
      "message": "Add new OOM adjustment for the \"previous\" process.\n\nThis is the process that you had previously been interacting with\nin the UI before the current one.  Treating it specially should\nallow us to improve the scenario of switching back and forth\nbetween two apps.\n\nAlso add API constent for ICS MR1.\n\nChange-Id: Ib3fe4df36b270be11dfd6b7e8d107c9994058a4d\n"
    },
    {
      "commit": "0500b3cfda5192efc09d6d4344b0c6c785c0a815",
      "tree": "d850844c43e6dacd62f9818f39a8becfd5ac5cbb",
      "parents": [
        "f136aa341abaaf7fd6f7632d41a30b2989d93985"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 01 15:28:43 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 01 18:01:33 2011 -0700"
      },
      "message": "Some optimizations.\n\n- Don\u0027t try to create a thumbnail bitmap on the client side.  This\n  wastes 64k, and isn\u0027t needed since we are doing screenshots.\n- Optimize View to put all of the callback pointers out of line.\n  Added a couple new APIs so these don\u0027t need to be protected/public.\n- Lazily create ViewGroup\u0027s cache paint.\n- Change FrameworkPerf app to not use HW accel drawing, to give better\n  comparison with GB.\n\nChange-Id: Iec56d02459820d74a4cc9c7ec9c1856563c82c7b\n"
    },
    {
      "commit": "0d04c02a48608fbc1b977ce758394c103733cd29",
      "tree": "37cf225f2ab70d7a19c8d3354d2c495fabf007eb",
      "parents": [
        "25fd58aae3084f70a3b74bef7e19b34a31ba1e91",
        "dd79b4c85a9dd2c2ad702ea2137fe2a076567fa1"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Tue Nov 01 21:59:09 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 01 21:59:09 2011 +0000"
      },
      "message": "am dd79b4c8: Merge \"Expose video stabilization API\" into ics-mr1\n\n* commit \u0027dd79b4c85a9dd2c2ad702ea2137fe2a076567fa1\u0027:\n  Expose video stabilization API\n"
    },
    {
      "commit": "2c84cfc001fb92a71811bf7384b7f865ff31ff9d",
      "tree": "1d43eda4854e37a553b85ce759ea4fffd41c9edb",
      "parents": [
        "dd79b4c85a9dd2c2ad702ea2137fe2a076567fa1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 31 15:39:59 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 31 16:52:34 2011 -0700"
      },
      "message": "Various performance and other work.\n\n- IME service now switches between visible and perceptible depending on\n  whether it is being showm, allowing us to more aggressively free its\n  memory when not shown.\n\n- The activity display time is no longer delayed by the activity\n  transition animation.\n\n- New -R (repeat) option for launching activities with the am command.\n\n- Improved some documentation on Loader to be clear about some methods\n  that apps should not normally call.\n\n- FrameworkPerf test now allows you to select individual tests to run.\n\nChange-Id: Id1f73de66dc93d63212183958a72119ad174318b\n"
    },
    {
      "commit": "cccf01d3e270bbf53ae6601698109ac4ef461076",
      "tree": "851de54d47de426508ed41c2855ea1f009fc2491",
      "parents": [
        "c86b8730e8c0ee930af5151cc47e6822408ac5ed"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 31 14:49:40 2011 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon Oct 31 14:49:40 2011 -0700"
      },
      "message": "API Change: add isNdefPushEnabled() \u0026 ACTION_NFC_SETTINGS.\n\nModify isNdefPushEnabled() semantics slightly - true only if isNfcEnabled \u0026\u0026 NDEF push enabled.\n\nFix up docs.\n\nChange-Id: Icd2df9c636ecf2d8274851bbda423f2eae7bac5f\n"
    },
    {
      "commit": "d47823e359ac346c7a1b9051866a72e8436f82cd",
      "tree": "150f2e63ee7c7b5e43bc95ad811428f9f9b45d60",
      "parents": [
        "6d4b9f0b409dd15d8ada0a990f9c5785bdbd2e9f"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Mon Oct 31 13:32:27 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Mon Oct 31 14:17:46 2011 -0700"
      },
      "message": "Expose video stabilization API\n\nRelated to bug:5469735\n\nChange-Id: I0a8245b37eed7f2cb58d35c7a9a7b3b293b64694\n"
    },
    {
      "commit": "d412f9f15b29865c458ebe2f4fbad95a2625c15c",
      "tree": "0a1d4ad497ddaed181c2019577113f252799757d",
      "parents": [
        "266d9ad1f87ffe2fd670897b3d053d3857b86ef0",
        "4a6d0879465ea6eb52b2b75e9fa2a4a84e1b0d86"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Oct 31 12:26:23 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 31 12:26:23 2011 +0000"
      },
      "message": "am 4a6d0879: Merge \"Add a flag for recommended suggestions of the spell checker\" into ics-mr1\n\n* commit \u00274a6d0879465ea6eb52b2b75e9fa2a4a84e1b0d86\u0027:\n  Add a flag for recommended suggestions of the spell checker\n"
    },
    {
      "commit": "4a6d0879465ea6eb52b2b75e9fa2a4a84e1b0d86",
      "tree": "31d67f78353f3a2bdf6b48d66dd77c7ce49a812c",
      "parents": [
        "f0fd595f0f3203fb81cb39a367b2a06647db907d",
        "a17b3506234638ef257a6b751a97931dc347a21b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Oct 28 18:26:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 28 18:26:40 2011 -0700"
      },
      "message": "Merge \"Add a flag for recommended suggestions of the spell checker\" into ics-mr1"
    },
    {
      "commit": "59d04a0ce4757aed0b3506f9700df9a83ec970f6",
      "tree": "5c2c4c9f7a99f95143bb4a191caaf1714f33c72e",
      "parents": [
        "f79f476fd1e25d3d7bf77e890d064a503537e939",
        "d568bba507b0f66d4d57c67b08ade894d2c75e53"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Oct 28 22:44:16 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 28 22:44:16 2011 +0000"
      },
      "message": "am d568bba5: Merge \"Optimize handling of scrolled wallpapers\" into ics-mr1\n\n* commit \u0027d568bba507b0f66d4d57c67b08ade894d2c75e53\u0027:\n  Optimize handling of scrolled wallpapers\n"
    },
    {
      "commit": "1bc7d4b192ccba43f55ed7003763147265cf3d44",
      "tree": "892693b63849a15b28a5e5fd8d42b6da82132fb4",
      "parents": [
        "e03ba026c69c80bae5ed4d28504a3c010f7478ca",
        "65793dc043eee43790137f79beeba7ed8b123902"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 28 22:27:12 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 28 22:27:12 2011 +0000"
      },
      "message": "am 65793dc0: Merge \"Add API for deferring fragment start.\" into ics-mr1\n\n* commit \u002765793dc043eee43790137f79beeba7ed8b123902\u0027:\n  Add API for deferring fragment start.\n"
    },
    {
      "commit": "a8e5a2bcd6a0d35893187c6df42425c03be005da",
      "tree": "f6ef550565e525e7b8262182a336eb40432915e9",
      "parents": [
        "48ba4139b9dc1f53f996b71f509a9d0c6fd2d72b"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Oct 28 13:18:16 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Oct 28 14:49:23 2011 -0700"
      },
      "message": "Optimize handling of scrolled wallpapers\n\nSwiping the home screen causes the WindowManagerService to do\na bunch of work to keep the wallpapers in sync. First, it lays out\nand places all windows. Also, it notifies the SystemUI process that\nthe wallpaper position has changed.\n\nThe layout/place operation is too much work - we only need to set\nthe position values for the wallpaper, not relayout the whole system.\n\nThe notification mechanism must exist, but should be optional. Most\nwallpapers don\u0027t care (especially static ImageWallpapers). So we\u0027ll\ngive them a new API (WallpaperService.Engine.setWantsOffsets()) to\nallow wallpapers to opt out of this process and avoid the performance\noverhead.\n\nChange-Id: I66c38375438937f14f6f5550565b28eb204b1e06\n"
    },
    {
      "commit": "65793dc043eee43790137f79beeba7ed8b123902",
      "tree": "fb5fd0bf50f0207b5c951a0dc19548caf58af36a",
      "parents": [
        "43eed0039c5534e68c82f13bab448fd7dc6845f7",
        "635c60af623c73d2409f5729c0953638b5d6c497"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Oct 28 10:43:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 28 10:43:33 2011 -0700"
      },
      "message": "Merge \"Add API for deferring fragment start.\" into ics-mr1"
    },
    {
      "commit": "a17b3506234638ef257a6b751a97931dc347a21b",
      "tree": "d0c40019eee7b98489d63ccfb6cf0f5f71db5442",
      "parents": [
        "ca50b44e2f8a279a37c31dbf9571e12a1e429493"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Oct 28 19:11:00 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Oct 28 20:51:14 2011 +0900"
      },
      "message": "Add a flag for recommended suggestions of the spell checker\n\nBug: 5356130\nChange-Id: I8361a2750670dadd514d02dd24bf492ce42ff8fc\n"
    },
    {
      "commit": "635c60af623c73d2409f5729c0953638b5d6c497",
      "tree": "68764f2f1896dfe647f7a19a1bedf0bf55c7a564",
      "parents": [
        "6e03b22015bd834da1a5755e75d7468e5b3b13c5"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Oct 26 10:22:16 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Oct 27 15:54:51 2011 -0700"
      },
      "message": "Add API for deferring fragment start.\n\nFragments now have the setDeferStart method to signal that a fragment\nhas lower priority than others. Deferred start fragments will not\nalways be started immediately; they will be started once any loaders\nhave finished servicing any outstanding requests. This is useful if\nany attached fragments are not immediately visible and can wait to\nstart until later.\n\nDisabling deferStart on a fragment that is waiting for a deferred\nstart will start it immediately. Start.\n\nChange-Id: Ia1f004877ca5e88d4f10147d21c7e2e97f141c34\n"
    }
  ],
  "next": "ae5839dcad76625313e6736d69eeaf37af435a3f"
}
