)]}'
{
  "log": [
    {
      "commit": "af4798d9c3e32229131fe7d74a61bc81ce4172fd",
      "tree": "fdf7fecb53ffce626040e43b39b23848fb769df7",
      "parents": [
        "a774f5817b5a24f5ccbb15c97fc4d5038310245b",
        "8cfd3c01e4582a587765588c02234527e7808ca0"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Aug 16 15:16:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 16 15:16:52 2010 -0700"
      },
      "message": "am 8cfd3c01: am e05184f2: Merge \"Output proguard keep flags for fragment classes.\" into gingerbread\n\nMerge commit \u00278cfd3c01e4582a587765588c02234527e7808ca0\u0027\n\n* commit \u00278cfd3c01e4582a587765588c02234527e7808ca0\u0027:\n  Output proguard keep flags for fragment classes.\n"
    },
    {
      "commit": "fed762b944efb690b10ca2705f02343dda0aab03",
      "tree": "578bfdb5e46a45cf98fbd574fe49bce631d54d6a",
      "parents": [
        "c93ba8ed0d0d6d442c72e9e895f2e19e01d29288",
        "d22a1e896cbc7e86d57be9923d749b017b3cde79"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Aug 16 07:49:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 16 07:49:51 2010 -0700"
      },
      "message": "am d22a1e89: am 244152bf: Merge \"Change aapt\\\u0027s warning message to suggest formatted\u003d\"false\", not \"true\".\" into gingerbread\n\nMerge commit \u0027d22a1e896cbc7e86d57be9923d749b017b3cde79\u0027\n\n* commit \u0027d22a1e896cbc7e86d57be9923d749b017b3cde79\u0027:\n  Change aapt\u0027s warning message to suggest formatted\u003d\"false\", not \"true\".\n"
    },
    {
      "commit": "8cfd3c01e4582a587765588c02234527e7808ca0",
      "tree": "4a37abc0417f0172ce503ece696688165ff8c497",
      "parents": [
        "31202b1a40e7daccf69e284492494f9ff739f324",
        "e05184f271f9882a5bf828e353aea40e0c06ff69"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 13 15:29:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 13 15:29:04 2010 -0700"
      },
      "message": "am e05184f2: Merge \"Output proguard keep flags for fragment classes.\" into gingerbread\n\nMerge commit \u0027e05184f271f9882a5bf828e353aea40e0c06ff69\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e05184f271f9882a5bf828e353aea40e0c06ff69\u0027:\n  Output proguard keep flags for fragment classes.\n"
    },
    {
      "commit": "e05184f271f9882a5bf828e353aea40e0c06ff69",
      "tree": "52e93955dc0d56685091447c0e981d7c5b139f0a",
      "parents": [
        "3f442ece257d416b48f7803a4cc263f0215faa0d",
        "561a91824fbfcdae9031fb2cdbb745578a969981"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 13 15:26:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 13 15:26:21 2010 -0700"
      },
      "message": "Merge \"Output proguard keep flags for fragment classes.\" into gingerbread"
    },
    {
      "commit": "d22a1e896cbc7e86d57be9923d749b017b3cde79",
      "tree": "4fc2c45faa7e8e85d6916abf74fd1edb687183e4",
      "parents": [
        "164eb050bdbaacb83e48a00c56b78d3c587a6e34",
        "244152bfb9020341953d3e541c85eb3961806378"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri Aug 13 14:56:47 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 13 14:56:47 2010 -0700"
      },
      "message": "am 244152bf: Merge \"Change aapt\\\u0027s warning message to suggest formatted\u003d\"false\", not \"true\".\" into gingerbread\n\nMerge commit \u0027244152bfb9020341953d3e541c85eb3961806378\u0027 into gingerbread-plus-aosp\n\n* commit \u0027244152bfb9020341953d3e541c85eb3961806378\u0027:\n  Change aapt\u0027s warning message to suggest formatted\u003d\"false\", not \"true\".\n"
    },
    {
      "commit": "244152bfb9020341953d3e541c85eb3961806378",
      "tree": "ca7aaded58d638ce215d070f273083630eaad4e7",
      "parents": [
        "4f170821678099010ec593d2b5a081e0f8adf92d",
        "98ee11ddb7996b332d5e31f8bdff69631c8d3725"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri Aug 13 14:54:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 13 14:54:15 2010 -0700"
      },
      "message": "Merge \"Change aapt\u0027s warning message to suggest formatted\u003d\"false\", not \"true\".\" into gingerbread"
    },
    {
      "commit": "98ee11ddb7996b332d5e31f8bdff69631c8d3725",
      "tree": "fb8460984cb868ea3dcd59d7293a0d384332ef87",
      "parents": [
        "ae3a1f45951aeb716e1f6b9a99a09838eb55dab4"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri Aug 13 14:49:55 2010 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri Aug 13 14:49:55 2010 -0700"
      },
      "message": "Change aapt\u0027s warning message to suggest formatted\u003d\"false\", not \"true\".\n\nTrue is the default and specifying it won\u0027t suppress the warning.\n\nChange-Id: I8ecc919b4059bf3321e781649cb46dd2d3807592\n"
    },
    {
      "commit": "41e567f7cf3d3e68b88118728c8bd2c3967eff42",
      "tree": "0e2c9cfc4d26d0d80f98aceedff8c0270010316e",
      "parents": [
        "74521b17fed521ca821061c3e94287859c0d3cc4"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Aug 13 14:13:08 2010 -0700"
      },
      "committer": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Aug 13 14:32:05 2010 -0700"
      },
      "message": "Add --max-res-version flag to aapt.\n\naapt will ignore any versioned resource directories over the\nspecified version (if used).  e.g. --max-res-version\u003d6 will\ncause layout-land-v7 to be ignored.\n\nMerged from gingerbread.\n\nChange-Id: I71b889540380cb10bafb40f72582d3af785ae33a\n"
    },
    {
      "commit": "0f414272ccb9c387f41ad3bb5ee464a6f0b646a4",
      "tree": "d28d1b000957fa9cc2ae28d68b982f7fca1aff91",
      "parents": [
        "a4ed1c6788ead0324106d76f497233ee42a1f1ac",
        "7525c2cfbbaa5c947c029008ef490e93a50c064f"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Aug 13 14:27:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 13 14:27:41 2010 -0700"
      },
      "message": "am 7525c2cf: Merge \"Add --max-res-version flag to aapt.\" into gingerbread\n\nMerge commit \u00277525c2cfbbaa5c947c029008ef490e93a50c064f\u0027 into gingerbread-plus-aosp\n\n* commit \u00277525c2cfbbaa5c947c029008ef490e93a50c064f\u0027:\n  Add --max-res-version flag to aapt.\n"
    },
    {
      "commit": "588f228d6a3e3b254fbc1f13f29ee47e13a669c1",
      "tree": "22db4977d6e71d3148f475eefcccbb16003be7ed",
      "parents": [
        "876247784ee6202066abdefd8366f2e09e681fab"
      ],
      "author": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Aug 13 14:13:08 2010 -0700"
      },
      "committer": {
        "name": "Ficus Kirkpatrick",
        "email": "ficus@android.com",
        "time": "Fri Aug 13 14:20:51 2010 -0700"
      },
      "message": "Add --max-res-version flag to aapt.\n\naapt will ignore any versioned resource directories over the\nspecified version (if used).  e.g. --max-res-version\u003d6 will\ncause layout-land-v7 to be ignored.\n\nMerged from froyo.\n\nChange-Id: Ia4eabae535b95b75d18b0c83135d44ed9a95b9eb\n"
    },
    {
      "commit": "561a91824fbfcdae9031fb2cdbb745578a969981",
      "tree": "58ca329e4e7f834396c325019d6254dc70ee7d40",
      "parents": [
        "ae3a1f45951aeb716e1f6b9a99a09838eb55dab4"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 13 13:56:07 2010 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 13 14:06:58 2010 -0700"
      },
      "message": "Output proguard keep flags for fragment classes.\n\nChange-Id: I28c10fbf18b91f8ba3dfc2575cd41215f65f11ec\nBug: 2916847\n"
    },
    {
      "commit": "1f5a8d96da2f0d095196113a2bfa901c18592206",
      "tree": "8a78eb80ac7100d044e269400ba6d9e622799cc5",
      "parents": [
        "bf0cb26a1c6305f2a7795c2498591b6189cc5b79",
        "80328ba09606bd0825d7d4c9a4f213d1de09e53a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 14:15:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 14:15:20 2010 -0700"
      },
      "message": "am 80328ba0: am 8ea71511: Merge \"Initial tool for OBB manipulation\" into gingerbread\n\nMerge commit \u002780328ba09606bd0825d7d4c9a4f213d1de09e53a\u0027\n\n* commit \u002780328ba09606bd0825d7d4c9a4f213d1de09e53a\u0027:\n  Initial tool for OBB manipulation\n"
    },
    {
      "commit": "80328ba09606bd0825d7d4c9a4f213d1de09e53a",
      "tree": "b83eb436d8ce8fd695c5487b4e41c5a63741ca55",
      "parents": [
        "f5ee5358c187107b2e5a1e1fbcb5a648d793c798",
        "8ea71511c64e61fe23004889ff7032f991a751c8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 14:10:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 14:10:26 2010 -0700"
      },
      "message": "am 8ea71511: Merge \"Initial tool for OBB manipulation\" into gingerbread\n\nMerge commit \u00278ea71511c64e61fe23004889ff7032f991a751c8\u0027 into gingerbread-plus-aosp\n\n* commit \u00278ea71511c64e61fe23004889ff7032f991a751c8\u0027:\n  Initial tool for OBB manipulation\n"
    },
    {
      "commit": "6e7ac5f0bceddf51947fbf3b376e278df0735603",
      "tree": "36772b5b1e134baddbc24b73bb59ee701c3acc58",
      "parents": [
        "a02b8b05dd1e8b8cf169e1f89542ef835b11fc13"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 19 10:31:34 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 11:24:41 2010 -0700"
      },
      "message": "Initial tool for OBB manipulation\n\nAdd \"obbtool\" host command for adding, removing, and querying Opaque\nBinary Blob (OBB) information from a file.\n\nChange-Id: Id2ac41e687ad2a500c362616d6738a8ae7e8f5c3\n"
    },
    {
      "commit": "f252b3501e6a9893ba3cc7608dbdeab68d8aecb9",
      "tree": "2488a3ed0b72e46a9672c3f57abed0e32df748ba",
      "parents": [
        "df0e9b1b31f62332f0ba3460acd3539fef601d18",
        "f781b4ef4bd840b7cee83fafdf2e31e709068bd3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 10:07:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 10:07:56 2010 -0700"
      },
      "message": "am f781b4ef: am e37ab632: Merge \"Fix build on some linux machines\"\n\nMerge commit \u0027f781b4ef4bd840b7cee83fafdf2e31e709068bd3\u0027\n\n* commit \u0027f781b4ef4bd840b7cee83fafdf2e31e709068bd3\u0027:\n  Fix build on some linux machines\n"
    },
    {
      "commit": "f781b4ef4bd840b7cee83fafdf2e31e709068bd3",
      "tree": "1ab369690559e76aab3d8b67a470b223c995c934",
      "parents": [
        "371dbcba11070ed2fdd58a4c328b5d7b9ad65a40",
        "e37ab63221af94d69437741a3645fc0e14a680bc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 10:04:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 10:04:31 2010 -0700"
      },
      "message": "am e37ab632: Merge \"Fix build on some linux machines\"\n\nMerge commit \u0027e37ab63221af94d69437741a3645fc0e14a680bc\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e37ab63221af94d69437741a3645fc0e14a680bc\u0027:\n  Fix build on some linux machines\n"
    },
    {
      "commit": "b7ffaf6ae29f300c2d8e9c77e58710adfa388633",
      "tree": "d348cfc808378f4f47077d7068c3c287fb030783",
      "parents": [
        "6061af11cb2b59b6261d12f98b9e8dd395ea8ba7"
      ],
      "author": {
        "name": "hmepas",
        "email": "hmepas@gmail.com",
        "time": "Wed Jan 21 07:41:00 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 09:08:51 2010 -0700"
      },
      "message": "Fix build on some linux machines\n\nThis adds -lpthread on linux for aapt and localize, which appear to be\nneeded on some linux distros.\n\nSigned-off-by: Jean-Baptiste Queru \u003cjbq@google.com\u003e\n"
    },
    {
      "commit": "163935113919a184122b8b3bd672ef08c8df65dc",
      "tree": "c8aa9b460ae7fd9e2e675d4bf25924a3459f8696",
      "parents": [
        "1ad7343409442a4a027c0092d07beff1b412a7dc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Aug 08 00:14:31 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Aug 08 17:45:07 2010 -0700"
      },
      "message": "Make libhwui entirely optional.\n\nThe makefile variable USE_OPENGL_RENDERER must be set to true to compile\nlibhwui and the related code in the JNI layer.\n\nThis change also removes obsolete APIs from Canvas that must not be used\nand would be confusing if left in. These APIs were remnants of our first\nattempt at an OpenGL renderer for the view hierarchy and had not been\ntaken out before Android 1.0 was released.\n\nChange-Id: I2475ff1307212bab26c926724f3c508681c7dae1\n"
    },
    {
      "commit": "80e62ac61c297452c003919f71c4dcd7063d1b43",
      "tree": "c52a239cc44e248ef0543b69289ade2cc64ca80b",
      "parents": [
        "7203272f35e40bf9d4b76f1b2f9b0077738df118"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Jul 16 16:46:39 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jul 19 10:19:49 2010 -0700"
      },
      "message": "Fix the layoutlib Paint.set(Paint) method. Do not merge.\n\nIt would change the text rendering info but not recompute\nthe Java Font objects. The effect is a broken font rendering\nin the EditText (which use this method to copy some Paint\nobject before using the copy for the actual drawing)\n\nChange-Id: I9e7fbf9bd57b421fd793876a6de4ade1ecac372d\n"
    },
    {
      "commit": "b5b37f3bcc3065959c27e588f065dfb33a061e1d",
      "tree": "d020683a2ed2d9e729814012147d0627d3976023",
      "parents": [
        "6181f39257ecd8a93b1c43ddef771734dfef8f49",
        "3d02b48bd95293c767563729264f007dbcff82b3"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 19 09:11:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 19 09:11:17 2010 -0700"
      },
      "message": "am 3d02b48b: merge from open-source master\n\nMerge commit \u00273d02b48bd95293c767563729264f007dbcff82b3\u0027\n\n* commit \u00273d02b48bd95293c767563729264f007dbcff82b3\u0027:\n  Fix the layoutlib Paint.set(Paint) method.\n"
    },
    {
      "commit": "3d02b48bd95293c767563729264f007dbcff82b3",
      "tree": "053d62a6eda795a33cae56e797b4ef9202bd3226",
      "parents": [
        "27ef0f732c5a97ba88a699b7490045e5370cf51f",
        "b8bb8ac5bbde9d2e4928015b980164781554eefe"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 19 09:04:02 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 19 09:04:02 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I84a8efc2d58476c72e84170c19dc692dc180b97d\n"
    },
    {
      "commit": "b8bb8ac5bbde9d2e4928015b980164781554eefe",
      "tree": "0f0b2a47d46c5e897fcaebd0e2f003798c04d472",
      "parents": [
        "1726cf285ffc747fd3545b17139aba5e26abdfc6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Jul 16 16:46:39 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Jul 16 16:46:39 2010 -0700"
      },
      "message": "Fix the layoutlib Paint.set(Paint) method.\n\nIt would change the text rendering info but not recompute\nthe Java Font objects. The effect is a broken font rendering\nin the EditText (which use this method to copy some Paint\nobject before using the copy for the actual drawing)\n\nChange-Id: I6d8d1bf86f0d77d088f60ad81c71dd3ebab727b0\n"
    },
    {
      "commit": "dcd077179c853e54498e9127526a8f2984c0dda0",
      "tree": "f81b42466c9e6a8a2a78eb36439c21da879117d0",
      "parents": [
        "0dff8d4afdc1b1ab545196dc21c2bf524f91ef88",
        "92a47ea3a7b82708e46c9d1710355f5e5fdd4f07"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jul 15 11:54:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 15 11:54:00 2010 -0700"
      },
      "message": "am 92a47ea3: am 562124e8: Merge \"Clean up some style in the makefiles.\" into gingerbread\n\nMerge commit \u002792a47ea3a7b82708e46c9d1710355f5e5fdd4f07\u0027\n\n* commit \u002792a47ea3a7b82708e46c9d1710355f5e5fdd4f07\u0027:\n  Clean up some style in the makefiles.\n"
    },
    {
      "commit": "80a60ba85b5c2ed40e8685a16ce6d3ed31ef0929",
      "tree": "c0607756e614e65e8a818a65996d25ec4128f402",
      "parents": [
        "aa1933ac4cb135be5469db275af7a758cdfdf744"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jul 14 19:58:30 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jul 14 19:58:30 2010 -0700"
      },
      "message": "Clean up some style in the makefiles.\n\nChange-Id: I993702808395f37c2e9d3c7e457d2952be51d795\n"
    },
    {
      "commit": "f1ff21ac62a51f5ba8ca0821ea8a90f70957e25d",
      "tree": "93b20482d80f3008a887e0c89eaa9a7cd3ad61ca",
      "parents": [
        "b5c49c8bb1e830ba934c7fbceec9409b89ead4a9"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Jun 14 17:34:04 2010 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jun 25 11:02:15 2010 +0100"
      },
      "message": "Fixes a few minor problems with AAPT\n\n- Fixes casting problems with stricter compilers\n- Adds a couple of missing ifdef guards\n\nThis is a first step toward being able to generate APKs on the fly on the device.\n\nBug: 2766918\nChange-Id: Icaaee5a4032afa313256add321b447443861dd85\n"
    },
    {
      "commit": "a1b6dba25f5dcac6bb4b1e5c8b7d330d08385250",
      "tree": "80e5cf0b068ce4ddf012efcd9fccb4d6e6bfeedb",
      "parents": [
        "a05d4d886a1b0441e056f89d40e297b14f27478a",
        "dde1ae841ab77c4c0b3ef9bb25849314554a6ad7"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Thu Jun 17 12:45:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 12:45:53 2010 -0700"
      },
      "message": "am dde1ae84: am 45378f07: am 6b22d81a: As Donut (API\u003d4) devices and earlier do not have a Bluetooth API, .apk files that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be presumed to require Bluetooth just because they take the permission.\n\nMerge commit \u0027dde1ae841ab77c4c0b3ef9bb25849314554a6ad7\u0027\n\n* commit \u0027dde1ae841ab77c4c0b3ef9bb25849314554a6ad7\u0027:\n  As Donut (API\u003d4) devices and earlier do not have a Bluetooth API, .apk files\n"
    },
    {
      "commit": "45378f07b8c0d79fe56fc75ad25738f8750e88c8",
      "tree": "f613b09c9cff0d6ebab45d9173aa7832ec3b065d",
      "parents": [
        "42a18c09e7bb9c372382e88053409c25563ae7c9",
        "6b22d81aa35d9a9b32670995c002e92588b2fe09"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Thu Jun 17 12:36:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 12:36:17 2010 -0700"
      },
      "message": "am 6b22d81a: As Donut (API\u003d4) devices and earlier do not have a Bluetooth API, .apk files that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be presumed to require Bluetooth just because they take the permission.\n\nMerge commit \u00276b22d81aa35d9a9b32670995c002e92588b2fe09\u0027 into gingerbread\n\n* commit \u00276b22d81aa35d9a9b32670995c002e92588b2fe09\u0027:\n  As Donut (API\u003d4) devices and earlier do not have a Bluetooth API, .apk files\n"
    },
    {
      "commit": "56a5ee3325fb0cf77b4188df79d12553c72b2ec6",
      "tree": "d49cc60b831114726a8d0a4ea82cff544b2af54e",
      "parents": [
        "b846393dc9b3408a38100aacd7b97c6965403935",
        "6b22d81aa35d9a9b32670995c002e92588b2fe09"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Thu Jun 17 12:23:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 12:23:03 2010 -0700"
      },
      "message": "am 6b22d81a: As Donut (API\u003d4) devices and earlier do not have a Bluetooth API, .apk files that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be presumed to require Bluetooth just because they take the permission.\n\nMerge commit \u00276b22d81aa35d9a9b32670995c002e92588b2fe09\u0027 into froyo-plus-aosp\n\n* commit \u00276b22d81aa35d9a9b32670995c002e92588b2fe09\u0027:\n  As Donut (API\u003d4) devices and earlier do not have a Bluetooth API, .apk files\n"
    },
    {
      "commit": "6b22d81aa35d9a9b32670995c002e92588b2fe09",
      "tree": "022af27d83c23fabe4f594b5e4b58ab5e936a5d2",
      "parents": [
        "cdeae439a3637062dc0701654a1cb7874bfd1ae8"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Jun 15 21:41:42 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Jun 15 21:57:33 2010 -0700"
      },
      "message": "As Donut (API\u003d4) devices and earlier do not have a Bluetooth API, .apk files\nthat have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be\npresumed to require Bluetooth just because they take the permission.\n\nChange-Id: Ia629e9ef0425a577e4e14f9b348f5aa2b39c1e74\n"
    },
    {
      "commit": "6b56a84ace800811aec7e42e70bb3bfd8f6e809e",
      "tree": "dbfedb48619d70550fee3b8abed7ac2c77e8d16b",
      "parents": [
        "afcc0f88741b336fe5f3cb26c2eb5b30447ecfa3",
        "3d6ea3bd8690934dbcdb11aa84ae0bb22e211c28"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 15 15:49:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 15 15:49:05 2010 -0700"
      },
      "message": "am 3d6ea3bd: am 9a5fcd1c: am 9d71860e: Merge \"The aapt and aidl tools are prebuilt when we\\\u0027re doing an apps-only build, so don\\\u0027t try to build them.\" into froyo\n\nMerge commit \u00273d6ea3bd8690934dbcdb11aa84ae0bb22e211c28\u0027\n\n* commit \u00273d6ea3bd8690934dbcdb11aa84ae0bb22e211c28\u0027:\n  The aapt and aidl tools are prebuilt when we\u0027re doing an apps-only build, so don\u0027t try to build them.\n"
    },
    {
      "commit": "9a5fcd1c14dcea951099433885ed3519dee90f48",
      "tree": "51c6cfeb863c4a410b63d2bfcb58944a478b2e6b",
      "parents": [
        "ac8b0d47011293ef713f4996317bbda579354200",
        "9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 15 15:21:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 15 15:21:14 2010 -0700"
      },
      "message": "am 9d71860e: Merge \"The aapt and aidl tools are prebuilt when we\\\u0027re doing an apps-only build, so don\\\u0027t try to build them.\" into froyo\n\nMerge commit \u00279d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a\u0027 into gingerbread\n\n* commit \u00279d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a\u0027:\n  The aapt and aidl tools are prebuilt when we\u0027re doing an apps-only build, so don\u0027t try to build them.\n"
    },
    {
      "commit": "d6e3b204286e64d6ec79a88e38f58c3d87978fb0",
      "tree": "3346819563aaacfb1a590d5de7541f497849cb70",
      "parents": [
        "3ff1a5928f2d5bdd911ac59f8064ba35114dc2ec",
        "9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 15 14:24:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 15 14:24:51 2010 -0700"
      },
      "message": "am 9d71860e: Merge \"The aapt and aidl tools are prebuilt when we\\\u0027re doing an apps-only build, so don\\\u0027t try to build them.\" into froyo\n\nMerge commit \u00279d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a\u0027 into froyo-plus-aosp\n\n* commit \u00279d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a\u0027:\n  The aapt and aidl tools are prebuilt when we\u0027re doing an apps-only build, so don\u0027t try to build them.\n"
    },
    {
      "commit": "8e03b7566c42621fda01186b66b019142eb84fbf",
      "tree": "17c45ea04288d2d57053ea740ae1cf332a4308c8",
      "parents": [
        "5ddd127d5a38d80c0d8087d1770f41f61f84f048",
        "9e660c8201ab9aeead5d78a75c2bbfecc374858f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 13 19:16:55 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 13 19:16:55 2010 -0700"
      },
      "message": "resolved conflicts for merge of 9e660c82 to master\n\nChange-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43\n"
    },
    {
      "commit": "46b9ac0ae2162309774a7478cd9d4e578747bfc2",
      "tree": "46ad021a41e25ca9f1250b709a29b724dc6b504d",
      "parents": [
        "f62c57d684b83df7d2817db976c0afdb500ae92a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 22 18:58:52 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 13 17:42:16 2010 -0700"
      },
      "message": "Native input dispatch rewrite work in progress.\n\nThe old dispatch mechanism has been left in place and continues to\nbe used by default for now.  To enable native input dispatch,\nedit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.\n\nIncludes part of the new input event NDK API.  Some details TBD.\n\nTo wire up input dispatch, as the ViewRoot adds a window to the\nwindow session it receives an InputChannel object as an output\nargument.  The InputChannel encapsulates the file descriptors for a\nshared memory region and two pipe end-points.  The ViewRoot then\nprovides the InputChannel to the InputQueue.  Behind the\nscenes, InputQueue simply attaches handlers to the native PollLoop object\nthat underlies the MessageQueue.  This way MessageQueue doesn\u0027t need\nto know anything about input dispatch per-se, it just exposes (in native\ncode) a PollLoop that other components can use to monitor file descriptor\nstate changes.\n\nThere can be zero or more targets for any given input event.  Each\ninput target is specified by its input channel and some parameters\nincluding flags, an X/Y coordinate offset, and the dispatch timeout.\nAn input target can request either synchronous dispatch (for foreground apps)\nor asynchronous dispatch (fire-and-forget for wallpapers and \"outside\"\ntargets).  Currently, finding the appropriate input targets for an event\nrequires a call back into the WindowManagerServer from native code.\nIn the future this will be refactored to avoid most of these callbacks\nexcept as required to handle pending focus transitions.\n\nEnd-to-end event dispatch mostly works!\n\nTo do: event injection, rate limiting, ANRs, testing, optimization, etc.\n\nChange-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25\n"
    },
    {
      "commit": "74905e5b0a471f727ae5bed770c2c7441f5163a1",
      "tree": "ba1f3dd11aa3bb841a9db8d0fd845ccf9aff71e2",
      "parents": [
        "75b6a6b972e6b18143fd629d3d9c824c442c5f4c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 10 18:34:55 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 10 18:36:57 2010 -0700"
      },
      "message": "The aapt and aidl tools are prebuilt when we\u0027re doing an apps-only build, so don\u0027t try to build them.\n\nChange-Id: I9896b11a9b90cbbbe2170243c8bdbc40231dfbff\n"
    },
    {
      "commit": "8443e93fa2b2332fd92b4b0c061e69b5b22106d6",
      "tree": "f560dc15cb31ad51b5a80ec9a87f7045ff0881ff",
      "parents": [
        "05fefe62eedda9a694aee056ef34e0a01288fd58",
        "fc15bd94b01f801065f1ad1092f7580bbd803829"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 06 12:13:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 06 12:13:59 2010 -0700"
      },
      "message": "am fc15bd94: am 168585ed: am 5474902f: Merge \"xhdpi\" into froyo\n"
    },
    {
      "commit": "168585ed68f03ddc851cd734cbb6ba813e30eb85",
      "tree": "f48591a6feb0e60c3da8400098fc9a961af48d9d",
      "parents": [
        "9c4ed1394bb16b1d76758127a9b5d73bd363adaf",
        "5474902fe9fe72c825855c4a77f99a581a9f6594"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 06 12:10:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 06 12:10:05 2010 -0700"
      },
      "message": "am 5474902f: Merge \"xhdpi\" into froyo\n\nMerge commit \u00275474902fe9fe72c825855c4a77f99a581a9f6594\u0027 into kraken\n\n* commit \u00275474902fe9fe72c825855c4a77f99a581a9f6594\u0027:\n  xhdpi\n"
    },
    {
      "commit": "3cbef2cc21399f3729d4e0b96dccc58d594cac52",
      "tree": "5ab4dbdbd2686937ce56e42dc45ba94b832e423d",
      "parents": [
        "e7cce11edcb0e2315e6d65790b7effd9236d7dc5",
        "5474902fe9fe72c825855c4a77f99a581a9f6594"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 16:33:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 04 16:33:48 2010 -0700"
      },
      "message": "am 5474902f: Merge \"xhdpi\" into froyo\n\nMerge commit \u00275474902fe9fe72c825855c4a77f99a581a9f6594\u0027 into froyo-plus-aosp\n\n* commit \u00275474902fe9fe72c825855c4a77f99a581a9f6594\u0027:\n  xhdpi\n"
    },
    {
      "commit": "588feee5e771de5ec71da213fbb1cba29392c690",
      "tree": "fdfb7f705f3368a88410547ecd302737ad514725",
      "parents": [
        "2e3761ba43f634e97ac493f4b79e5e53954a1491"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 14:36:39 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 14:36:39 2010 -0700"
      },
      "message": "xhdpi\n\nThis is only a tool (aapt) change, and does not impact any current code.\n\nChange-Id: I562063f612af919eaadba8ac4868a95ff41ac840\n"
    },
    {
      "commit": "74f170f9468d3cf6d7d0ef453320141a3e63571b",
      "tree": "7fb4f06b43b5e0ef8d2fdebccb62172217e0b174",
      "parents": [
        "26ae7875ad41c79d595a137c2f4a55c8d8e16f4c"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Jun 01 18:06:18 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Thu Jun 03 12:38:11 2010 -0700"
      },
      "message": "new API in Context. on openDatabase, new param DatabaseErrorHandler\n\nadd new method openOrCreateDatabase in Context.java to allow\ncallers specify a DatabaseErrorHandler object to be used when\ndatabase corruption occurs.\nadd new constructor in SQLiteOpenHelper to accept DatabaseErrorHandler\nas an additional param to be used when SQLiteDatabase instance is\ncreated.\n\nChange-Id: I912a0202a74510f9ca0206dd8101c4abab9102ae\n"
    },
    {
      "commit": "453bcedeaa95f01e34442ff496f237d7ea6ae2ef",
      "tree": "8541c02475b9e93e23dae75327e8c7316ada4865",
      "parents": [
        "4f2cf8af551c1703835a1193727ea7c56c8c8323",
        "5095232d25b3e9083fe9512730c414355aa6fa17"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jun 03 09:37:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 03 09:37:14 2010 -0700"
      },
      "message": "am 5095232d: am 15fe2cb7: Add error checking for translatable strings\n"
    },
    {
      "commit": "15fe2cb73b0770316db302f6502f568062d68e74",
      "tree": "9764af2f6feb0083e768779fc933de1b7f98f352",
      "parents": [
        "a9f06fef8e2fff0c909132073203de5bd2461795"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri May 28 15:44:32 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jun 03 09:33:43 2010 -0700"
      },
      "message": "Add error checking for translatable strings\n\nTranslatable strings that have multiple substitutions should use\npositional String.format() substitutions. This change makes it an error\nnot to use that format on translatable strings that have more than one\nsubstitution in its text.\n\nChange-Id: I3a19707f3804aa24e8568dc1653a11576cac5916\n"
    },
    {
      "commit": "a7b01969f6257b095aa3056ef0cdfc2b97954969",
      "tree": "80df206c1949f3b0485bc29a2ad8e8cfd13fd79f",
      "parents": [
        "76017b809f1b57fea229c94c8345c58f7d3b39e4",
        "cee6300cf14b56be54a455950e82ce81e7370390"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 10 12:56:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 10 12:56:46 2010 -0700"
      },
      "message": "am cee6300c: am 38a410f1: am 686d9ff5: merge from open-source master\n"
    },
    {
      "commit": "38a410f12a1cbb5f49cdee6323da898b11c907e7",
      "tree": "c9788b232d34c67ad000aea477c6fa84dd7a22f4",
      "parents": [
        "4000e06ef69bb1523532b73c469c52b8b8d317ce",
        "686d9ff53c32ded9b2b02eb9f2040f2030846e51"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 10 12:53:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 10 12:53:28 2010 -0700"
      },
      "message": "am 686d9ff5: merge from open-source master\n\nMerge commit \u0027686d9ff53c32ded9b2b02eb9f2040f2030846e51\u0027 into kraken\n\n* commit \u0027686d9ff53c32ded9b2b02eb9f2040f2030846e51\u0027:\n  Use isLocationProviderEnabled to test for enabled providers\n  Added WEB_URL_PATTERN for Montenegro \".me\"\n  long modifier was on the wrong argument.\n"
    },
    {
      "commit": "686d9ff53c32ded9b2b02eb9f2040f2030846e51",
      "tree": "6c663944ef8d385701c97ef8ebe71394092c845c",
      "parents": [
        "c8d1556fb8e78dc6cecc8dc52f2bf0e093c968f4",
        "0a26aaad8b98c3b80be9562503100e925d078749"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 10 12:37:10 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon May 10 12:37:10 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ic2b28b589d079cf3c9927ce9ad22bc5f9134e445\n"
    },
    {
      "commit": "0a26aaad8b98c3b80be9562503100e925d078749",
      "tree": "1ee9a4796c9d44bc0d74db7d02cda5aafae043eb",
      "parents": [
        "561b1e42c70e0dc54e7edd970cc3020db6d273cc",
        "066aa99d2d114d46406e00fcc23d193d117395b1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 10 08:55:17 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon May 10 08:55:17 2010 -0700"
      },
      "message": "Merge \"long modifier was on the wrong argument.\""
    },
    {
      "commit": "da3ae8c193b6eea96cd8ab9eb41871a4500c79cd",
      "tree": "5fadf17a42c051d476df56127df57637e6de4956",
      "parents": [
        "7604f54733b5c272a6df8e4e1e13331da89873b8",
        "69a07917798d8961b2852056e1ecf7c0861a3bd0"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue May 04 17:46:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 04 17:46:13 2010 -0700"
      },
      "message": "am 69a07917: am 6a22fb9b: am f7ebcfec: am e17b4e71: Merge \"Adding the backward-compatible filtering heuristics for the new device features definitions added in FroYo.\" into froyo\n"
    },
    {
      "commit": "6a22fb9bef2c7e7b5cf53b356e81339f6699e551",
      "tree": "61e4ed2d56b1e34e5620ba2d78e7a9b84a18ffd4",
      "parents": [
        "07779ac16ee5d30a1563b52a157510128bfec720",
        "f7ebcfeccbd4433be5252857a854a6b565bf3fb9"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue May 04 12:45:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 04 12:45:49 2010 -0700"
      },
      "message": "am f7ebcfec: am e17b4e71: Merge \"Adding the backward-compatible filtering heuristics for the new device features definitions added in FroYo.\" into froyo\n\nMerge commit \u0027f7ebcfeccbd4433be5252857a854a6b565bf3fb9\u0027 into kraken\n\n* commit \u0027f7ebcfeccbd4433be5252857a854a6b565bf3fb9\u0027:\n  Adding the backward-compatible filtering heuristics for the new device\n"
    },
    {
      "commit": "89d97c1418c7a8b54fd57cc90daa1b1a98848bf6",
      "tree": "b01cd29e627f11bdc52579e7b9ddd631d68bf992",
      "parents": [
        "3bb5e4d322a6a7cda45e868dbe307c2dc3cf688e"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon May 03 16:13:14 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue May 04 08:39:03 2010 -0700"
      },
      "message": "Adding the backward-compatible filtering heuristics for the new device\nfeatures definitions added in FroYo.\n\nChange-Id: I5024e45c62813fe2fd2ff4d222df816a86a94f86\n"
    },
    {
      "commit": "8640c1d0e55281530da58350ef54a881d5c51187",
      "tree": "5ae7d7b29e06a4f56de0939fd14ce43630895d88",
      "parents": [
        "0c0b1b3a07e1c5caf5ddd158c0e8901f02d4d4d0",
        "14cee9f688c32d63d8521188e7422811629bb7c2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 28 16:58:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 28 16:58:05 2010 -0700"
      },
      "message": "am 14cee9f6: New xlarge screen size.\n"
    },
    {
      "commit": "14cee9f688c32d63d8521188e7422811629bb7c2",
      "tree": "16c2f2356519a2552bb3b7e2b1de6735793c4b1a",
      "parents": [
        "3fd6419fe542c4ecb8e838d1754a83ce8591b288"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 23 17:51:26 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 28 16:51:52 2010 -0700"
      },
      "message": "New xlarge screen size.\n\nNot complete, only for experimentation at this point.\n\nThis includes a reworking of how screen size configurations are matched,\nso that if you are on a larger screen we can select configurations for\nsmaller screens if there aren\u0027t any exactly matching the current screen.\n\nThe screen size at which we switch to xlarge has been arbitrarily\nchosen; the compatibility behavior has not yet been defined.\n\nChange-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5\n"
    },
    {
      "commit": "29355534384ee24bfe9a3bc97d7664dbe478b4fb",
      "tree": "6a34b62d8a06cbbb4fb608a522593354d9ab9f60",
      "parents": [
        "85a8dcec5460edda72e9917d4f02ad1b6a133251"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Tue Apr 13 15:21:32 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Apr 23 15:30:42 2010 -0700"
      },
      "message": "Fix aapt to build in Windows SDK under Linux\n\n(Merge master Change Ic4a7b9e4)\n"
    },
    {
      "commit": "69df817eea480e360e5c4f1d1f29ea7c2ce3a025",
      "tree": "87cf0de7caa972c19ef16251a6ce01d8549ebbf1",
      "parents": [
        "5a2e428ce8ce6d7f13a8b6caf90534a4ca794e9f"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Tue Apr 13 15:21:32 2010 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Fri Apr 16 17:59:09 2010 -0700"
      },
      "message": "Fix aapt to build in Windows SDK under Linux\n\nChange-Id: Ic4a7b9e4df5b32bc338547a2a9d09b834ebaff14\n"
    },
    {
      "commit": "55f9c17777a25792fd8b453799aa31daf122c279",
      "tree": "412228f04ff007d17e7381332f3187bebd91585b",
      "parents": [
        "365088f68129bc774632f6cab0febcce1ea7d117",
        "3a8d3167bc51217fb50b488541ca662425abb71b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Apr 09 18:34:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 09 18:34:16 2010 -0700"
      },
      "message": "Merge \"README for layoutlib.\""
    },
    {
      "commit": "3a8d3167bc51217fb50b488541ca662425abb71b",
      "tree": "6882b1a7a548a1b318906d775f1cc0a19ff0d0de",
      "parents": [
        "ff28490f5cb9b8d0ed0f6328b496c65d3209962f"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Apr 09 17:19:02 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Apr 09 17:19:02 2010 -0700"
      },
      "message": "README for layoutlib.\n\nChange-Id: If8192232b70f2c4084cf73abd54b7798296e8c16\n"
    },
    {
      "commit": "c56653bff10ef7f1a80127c9649ed0b2c6ae1b2e",
      "tree": "bf5aec293fa9e6d16f77132e8ff4f5c45fe8b97e",
      "parents": [
        "c9b6851af68bdc20c4903b16c344e9f116647219"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Apr 08 17:18:35 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Apr 08 17:18:35 2010 -0700"
      },
      "message": "Adds back the finalize method on the replaced Paint class.\n\nwithout it com.android.layoutlib.bridge.TestClassReplacement fails.\n\nChange-Id: Iafb6548f45c31e901591a45239224895c4403be8\n"
    },
    {
      "commit": "c9f3088036dd7cce6903e307afea3e289a334036",
      "tree": "e443791605a84703e7530e51f5b1ab97809da6b3",
      "parents": [
        "f60ce402dd1ff5fe402c606c41dafe1294b1f0ff"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 11:55:16 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 12:05:24 2010 -0700"
      },
      "message": "Use correct API version for UTF-8 checking\n\nUse the constant for checking the API version in aapt instead of a bare\nnumber.\n\nBug: 2541326\nChange-Id: Ice7af7b393363a00f1832dd84753b8138d057fb4\n"
    },
    {
      "commit": "ed9830999aede5e827b31446f91ad90a37b8bba9",
      "tree": "49c40ace21ad5bd9021a243c8bd8abfdbb785f17",
      "parents": [
        "a0d6b59d875edb54b1c820fd4573552989c3869b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 18 14:14:49 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 18 14:14:52 2010 -0700"
      },
      "message": "Make aapt warning concise\n\nThe previous warning made it seem like it could be using the value\nspecified on the command line, but, in fact, it would ignore the command\nline value if it were already specified in the AndroidManifest.xml\n\nChange-Id: I15e8161e094f17412680d25d3b7b810474eb4a31\n"
    },
    {
      "commit": "1741cd4904414b5b4e768953a8f1abb3f0ef0a0a",
      "tree": "e58d120464d0e466c672a71818cdcb3aa2019bfb",
      "parents": [
        "2fbc10f3559b85f6550dd34b8779e9ee94e4c73c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 18 12:12:11 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 18 12:12:11 2010 -0700"
      },
      "message": "Fix minSdkVersion scanning to not throw warnings\n\nFor the UTF8/UTF16 switch code, we needed to know what was the\nminSdkVersion specified as early as possible. Unfortunately, this threw\nwarnings when the SDK was compiling since we always set this field in\nthe Bundle.\n\nThis splits out the field used by the initial AndroidManifest.xml scan\nto a separate one that we won\u0027t attempt to re-insert into the\nAndroidManifest.xml  This also switches the logic to better reflect the\npreference of UTF-8 over UTF-16; previously UTF-16 was the default.\n\nChange-Id: Ia81f6b21047043ebb711eb24c2c3718534979ef6\n"
    },
    {
      "commit": "694f79b5d1196640d1beb680b7d1fc68e6e77cbd",
      "tree": "355894924374fb42cc6f8c664f34b413a90ecd7f",
      "parents": [
        "e4eb5bf243cb51b75b0717ebcd8c317a5b8fae8a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 17 19:44:59 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 01:12:20 2010 -0700"
      },
      "message": "Fix issue #2519590: Lock screen stuck in landscape mode\n\nWell, mostly.  There is still a problem here where the first time\nyou show the lock screen it just doesn\u0027t draw itself.  I assume\nthis is something breaking in the view hierarchy as it floounders\naround removing and adding new views as it is first being shown...\nbut no idea at this point what is the actual case.\n\nChange-Id: Iba99ae3242931c8673b17b106c86fc99e2c52abe\n"
    },
    {
      "commit": "9e652a67ca46c1841993a806e67822fc45b4dc42",
      "tree": "cb03215f16a05e9202c2820235e846fe8ea5b204",
      "parents": [
        "e25bf5dc6357c4cc441846c389b86add3f8489cc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 12 14:12:14 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Mar 12 14:12:14 2010 -0800"
      },
      "message": "Give an 9-patch error on too many rows and columns\n\nWhen you have too many rows and columns, there are not enough colors in\nthe 9-patch private metadata to represent them. Instead of crashing\naapt, this change gives the user an error message telling them why it\u0027s\ninvalid.\n\nChange-Id: I5e7bd59472a3a2eafa7cbc263792458cce2b5594\n"
    },
    {
      "commit": "15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab",
      "tree": "2dbbf0c31082373354fb17308de3681e22c66169",
      "parents": [
        "8abb26ee6c77e01a23d26c305a65b25a33710024"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 11 18:20:12 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 11 18:22:10 2010 -0800"
      },
      "message": "Add correct copyright headers to multiple files\n\nFormat for the list of changes shows the origin commit reference followed\nby the file name.\n\n33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java\n33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java\n133776-p9 core/java/android/app/IntentService.java\n127013-p9 core/java/android/appwidget/AppWidgetHost.java\n27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java\n60765-p9 core/java/android/content/SyncResult.java\n43920-p9 core/java/android/content/pm/ActivityInfo.java\n43920-p9 core/java/android/content/pm/ApplicationInfo.java\n43920-p9 core/java/android/content/pm/InstrumentationInfo.java\n43920-p9 core/java/android/content/pm/PackageInfo.java\n44103-p9 core/java/android/content/pm/PackageItemInfo.java\n68960-p9 core/java/android/content/pm/PackageStats.java\n43920-p9 core/java/android/content/pm/ResolveInfo.java\n43920-p9 core/java/android/content/pm/ServiceInfo.java\n60641-p9 core/java/android/content/res/Configuration.java\n60734-p9 core/java/android/content/res/TypedArray.java\n137672-p9 core/java/android/inputmethodservice/ExtractButton.java\n123112-p9 core/java/android/inputmethodservice/ExtractEditText.java\n119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java\n112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java\n115078-p9 core/java/android/os/BatteryStats.java\n124790-p9 core/java/android/text/style/UpdateAppearance.java\n45083-p9 core/java/android/view/RawInputEvent.java\n101491-p9 core/java/android/view/inputmethod/EditorInfo.java\n114701-p9 core/java/android/view/inputmethod/ExtractedText.java\n123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java\n119291-p9 core/java/com/android/internal/os/HandlerCaller.java\n129279-p9 core/java/com/android/internal/os/PkgUsageStats.java\n114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java\n114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java\n84364-p9 opengl/java/android/opengl/EGLLogWrapper.java\n11355-p9 opengl/tools/glgen/src/CFunc.java\n11355-p9 opengl/tools/glgen/src/CType.java\n11355-p9 opengl/tools/glgen/src/CodeEmitter.java\n11355-p9 opengl/tools/glgen/src/GenerateGL.java\n11355-p9 opengl/tools/glgen/src/JFunc.java\n11355-p9 opengl/tools/glgen/src/JType.java\n11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java\n11355-p9 opengl/tools/glgen/src/ParameterChecker.java\n57236-p9 services/java/com/android/server/status/AnimatedImageView.java\n66754-p9 services/java/com/android/server/status/CloseDragHandle.java\n57188-p9 services/java/com/android/server/status/DateView.java\n46928-p9 services/java/com/android/server/status/ExpandedView.java\n70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java\n45968-p9 services/java/com/android/server/status/IconData.java\n57470-p9 services/java/com/android/server/status/IconMerger.java\n82719-p9 services/java/com/android/server/status/LatestItemView.java\n45968-p9 services/java/com/android/server/status/NotificationData.java\n66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java\n57458-p9 services/java/com/android/server/status/NotificationViewList.java\n45968-p9 services/java/com/android/server/status/StatusBarException.java\n45968-p9 services/java/com/android/server/status/StatusBarIcon.java\n46130-p9 services/java/com/android/server/status/StatusBarNotification.java\n45968-p9 services/java/com/android/server/status/StatusBarView.java\n46199-p9 services/java/com/android/server/status/Ticker.java\n62286-p9 services/java/com/android/server/status/TickerView.java\n57188-p9 services/java/com/android/server/status/TrackingView.java\n86041-p9 telephony/java/android/telephony/PhoneStateListener.java\n87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java\n136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java\n34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java\n55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java\n127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java\n129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java\n25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java\n46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java\n77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java\n9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java\n53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java\n93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java\n328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java\n307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java\n307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java\neb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java\n49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java\na2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java\n3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java\n5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java\nc4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java\n9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java\n21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java\n4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java\n4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java\ne540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java\n192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java\n1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java\n27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java\n560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java\n560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java\n560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java\n1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java\n1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java\n1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java\n69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java\nc028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java\n7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java\n7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java\n7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java\ndf8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java\ncfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java\ncfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java\ncfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java\n\nCopyright header moved to top in following file:\n\ncore/tests/coretests/src/android/widget/ListViewTest.java\n\nChange-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418\n"
    },
    {
      "commit": "774562275fa76681933a0105ed61c672892b23bd",
      "tree": "63f8d23f18ce2eea22637feb63c6c340273bd6ab",
      "parents": [
        "a8fbe1fb74d3bd40b73c90c85ac25e5176475ca5"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 10 11:38:05 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 10 11:38:05 2010 -0800"
      },
      "message": "Revert \"Dedupe resource config pointers\"\n\nThis reverts commit 7b467d8b44c00d14590c021928b6a9ad5a36348e.\n"
    },
    {
      "commit": "7b467d8b44c00d14590c021928b6a9ad5a36348e",
      "tree": "35a46a47d27f92d94e0bb7c4ecfc1ab2bd90a928",
      "parents": [
        "4aaf256e95de9d09936b37a6c44e1200e751324e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Mar 09 16:55:23 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Mar 09 20:56:41 2010 -0800"
      },
      "message": "Dedupe resource config pointers\n\nWhen there are two configs in a StringPool that would match a string ID\nonly keep the more generic entry to save some space. This means that if\nyou have both \"es\" and \"es_US\" translations that have the same\ntranslation, the string entry would be removed from the \"es_US\" config.\n\nChange-Id: I4d619942d35ddb477e2eabe4437b7f02697c24de\n"
    },
    {
      "commit": "cf244ada58539ce857ec041d7288d0271204fbb6",
      "tree": "ec16084d19a3b0c0e43e11dd276fbe7c6a6813c5",
      "parents": [
        "ae58f6d7473c67d76b6c6373794fd1a77543ddb4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 09 15:00:30 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 09 17:18:05 2010 -0800"
      },
      "message": "Add ability for some manifest attributes to reference resources.\n\nThis loosens our restriction on many manifest attributes requiring\nliteral string values, to allow various ones to use values from\nresources.  This is only allowed if the resource value does not change\nfrom configuration changes, and the restriction is still in place\nfor attributes that are core to security (requesting permissions) or\nmarket operation (used libraries and features etc).\n\nChange-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8\n"
    },
    {
      "commit": "cd47f11dfad012be1b176ea06904a00da157ed7b",
      "tree": "18565631f2ff4911f8ce02101011a13518a6b5c8",
      "parents": [
        "ee2b21dba2740dcb47a68b8d1ed671b425c96948",
        "65e185b51ec655518f1917418cd6192400ac439d"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Fri Mar 05 11:59:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 05 11:59:58 2010 -0800"
      },
      "message": "Merge \"Change an aapt \"warning\" from \"*** \" to \"**** \" (from three to four stars). \"*** \" (three stars and a space) is the \u0027magic make error string\u0027; so this change makes it easier to find the real issues/errors in build logs.  Besides, other aapt messages are \"**** \".\""
    },
    {
      "commit": "65e185b51ec655518f1917418cd6192400ac439d",
      "tree": "12b22850dbc7af459aeffe3a7abc23f17290ee1a",
      "parents": [
        "f25269398e970f7c072893f71fdebe62afff785b"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Fri Mar 05 11:08:58 2010 -0800"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Fri Mar 05 11:24:35 2010 -0800"
      },
      "message": "Change an aapt \"warning\" from \"*** \" to \"**** \" (from three to four stars).\n\"*** \" (three stars and a space) is the \u0027magic make error string\u0027; so this change makes it\neasier to find the real issues/errors in build logs.  Besides, other aapt messages are \"**** \".\n"
    },
    {
      "commit": "ee2b21dba2740dcb47a68b8d1ed671b425c96948",
      "tree": "651220603a43fda59bb6dce1d053d53f5dc1da21",
      "parents": [
        "bda5780d39d5483dea938f2b64f6b2e0fb383e22",
        "83f4c0994fd34f9b35eeb2c14908d9e6c2e15930"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Mar 05 11:22:40 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 05 11:22:40 2010 -0800"
      },
      "message": "Merge \"Fix potential aapt crash when processing overlay.\""
    },
    {
      "commit": "83f4c0994fd34f9b35eeb2c14908d9e6c2e15930",
      "tree": "e5932102ec13dae4cdec89244315d7968e70ed33",
      "parents": [
        "687c1330641b614e44c11842b37477666ae63c23"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Mar 04 15:21:59 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Mar 05 11:11:28 2010 -0800"
      },
      "message": "Fix potential aapt crash when processing overlay.\n\nIf an overlay has a type of resources that\u0027s not defined in\nthe main res pool, then aapt would crash.\n\nThis dynamically create new ResourceTypeSet when needed\nwhen processing the overlays\n\nChange-Id: I67bc3622281bde73cf42f37a0983798d3f658ce2\n"
    },
    {
      "commit": "7299c41630935a2b106e73e5603579a7747f7535",
      "tree": "933c4bc5c991c8d9334b7b78fbc71ad73e93d077",
      "parents": [
        "6d141b0a9beb71e59ba850b7be13c4f0344ddc77"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 18:41:49 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 05 10:57:47 2010 -0800"
      },
      "message": "Refactor car mode.\n\nExtract all UI behavior from dock observer and ACTION_DOCK_EVENT.\n\nAlso introduce a desk type to go along with the car type all through\nthe resource system, since we now need to have corresponding high-level\nbroadcasts for desk dock mode.  As part of that I also reworked some\nof the logic for switching modes to all funnel through a single\nupdate() call that looks all of the current state to decide what to\ndo next, and fixed various locking issues.\n\nIn addition I found there were bugs in the configuration change\nhandling causing us to only switch into the car mode config and\nthen never get out of it.  Unfortunately now that we are actually\nchanging the configuration for each mode change, the transitions\nbetween them are really crummy as we restart all kinds of\nactivities. :(\n"
    },
    {
      "commit": "b0381efaf71e917214cec78ed1c35eb688454e93",
      "tree": "8c9a91dc69a5674319312237eb5374bf8a92eff4",
      "parents": [
        "f6bd0ba6308673a8b6bb9f71dd40a09d11c0d90d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 03 13:36:35 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 03 13:36:35 2010 -0800"
      },
      "message": "Fix issue #2485441: SettingsBackupAgent crashed system server\n\nNeed to take care of fixing up backupAdjust as well as reporting it\nto ProGuard.\n"
    },
    {
      "commit": "abd03658bc4cd925bf89d60f49d0c56351cf08da",
      "tree": "305811d570f2e7fea2e68028dffe8a1fb13ffb02",
      "parents": [
        "d2b41b6e7d23c4d2cb2b0fb58f2bbef94c95b5d1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 14:56:51 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 14:56:51 2010 -0800"
      },
      "message": "Fix issue #2482423: Settings is broken due to dead-code stripping\n\nTake care of more custom classes in layouts, and also scan through\npreference XMLs.\n"
    },
    {
      "commit": "ef05e076ced1a32c5c0aaee28403779834adb2ba",
      "tree": "20dcf607adf508481d57610937ceab6ef2c6aee2",
      "parents": [
        "883dbacb12a003f8f46c3faab26b744fdef649a1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 17:43:39 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 20:42:14 2010 -0800"
      },
      "message": "Fix issue #2448075: aapt doesn\u0027t fix up activity-alias android:targetActivity links\n\nAnd related:\n\n- The aapt tool now sets a resource configurations sdk level to match any configs\n  that have been set (for example if you specify density your sdk level will be\n  at least 4).\n- New option to modify the targetPackage attribute of instrumentation.\n- Clean up of aapt options help.\n- Fix of UI type values to leave 0 for \"unspecified\".\n- Make the UI mode config APIs public.\n"
    },
    {
      "commit": "2269d1572e5fcfb725ea55f5764d8c3280d69f6d",
      "tree": "7ce0788be6d85972d42ee7135cdce82aa323fcc7",
      "parents": [
        "e46145f7c114b9ac6d19c6a7886e9239463f91e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 24 19:54:22 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 25 11:39:33 2010 -0800"
      },
      "message": "Re-arrange android-common so framework no longer links with it.\n\nThis is the framework part, moving classes around so the framework\nno longer needs to link to android-common.  Makes some APIs public,\nothers that didn\u0027t need to be public are private in the framework,\nsome small things are copied.\n"
    },
    {
      "commit": "7ff20e30c50cf1d47a7eaacd71665a1d2f4ecdc4",
      "tree": "c9af0416cb8e87c61178b63b13d385bcb62af4c5",
      "parents": [
        "74f39d4c172398c96fa3d6dbdec740bc168e60f1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 24 23:49:59 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 24 23:49:59 2010 -0800"
      },
      "message": "Create own reference for minSdkVersion in aapt\n\nFix bug where applications defining a minSdkVersion were experiencing\ntransient errors from memory corruption in aapt.\n\nChange-Id: I839d5eda7388baac6133e735fa59f9799ca2822d\n"
    },
    {
      "commit": "5a8ec761213d723fc3a6a92250e5e855605046a6",
      "tree": "2b9d6b08297b36efacdf8bdf21c1da8d763e9657",
      "parents": [
        "406b09bbd117446814a05aabc5971fd55c6afa5d"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 24 20:00:03 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 24 20:03:17 2010 -0800"
      },
      "message": "Scan for android namespace in manifest\n\nandroid:minSdkVersion wasn\u0027t being correctly scanned because the\nnamespace was incorrect. This fixes that problem so packages aren\u0027t\ngenerated as UTF-8 when minSdkVersion is less than 7.\n\nChange-Id: I8f45d47ea886915da6a4770f6e111e6085d61bee\n"
    },
    {
      "commit": "ba289966c644bf54a747ba9b003f86ea7f12bfed",
      "tree": "304330843acce41a1e55da90116fa24cf493417a",
      "parents": [
        "982bb24f5db4bfd9c52eb16adb876fea7c7e4a8b",
        "05c376b00b583ea3fdf0a222d7220fab7eca15c2"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Feb 24 19:15:06 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 19:15:06 2010 -0800"
      },
      "message": "Merge \"Remove empty finalize methods.\""
    },
    {
      "commit": "05c376b00b583ea3fdf0a222d7220fab7eca15c2",
      "tree": "9618fa1b6ef8aeb8b20ba1f08934e8925b6cb750",
      "parents": [
        "8ff1e3f2ec24c6b81b90e1644060e6de25fb456e"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Feb 24 18:43:36 2010 -0800"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Wed Feb 24 18:43:36 2010 -0800"
      },
      "message": "Remove empty finalize methods.\n"
    },
    {
      "commit": "a09bb0d218d2ddb73b92b6dd4415456c9105cde8",
      "tree": "97b040f3cd552c615356b2bc84f8d10be0ead6f8",
      "parents": [
        "68aea82432574b7d9eac18729d61ffa04625109d",
        "e9fcaa0697dcb257d0288118347f721ce8806b55"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Feb 24 17:38:13 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 17:38:13 2010 -0800"
      },
      "message": "Merge \"New update of preloaded classes for Froyo.\""
    },
    {
      "commit": "e9fcaa0697dcb257d0288118347f721ce8806b55",
      "tree": "f454ddf387fc3a299d9e06ae40fa01af3e0eb6af",
      "parents": [
        "4bd222f1072513b21cd66d6f983ebdccb6d9b0c8"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Tue Feb 23 17:06:58 2010 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Feb 24 15:50:05 2010 -0800"
      },
      "message": "New update of preloaded classes for Froyo.\n"
    },
    {
      "commit": "be896a9b2e8dfb3bac6b270ff6e2388d1cb53d25",
      "tree": "f941b551c0357aa6a5c7f88be5a498171684d133",
      "parents": [
        "b9e5cc3c3a6f1d6421a7c4b2c0aa63beebfd1ebc",
        "bc3323bea64bbeab0edd0df5e344d844a8d89509"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Wed Feb 24 10:54:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 10:54:00 2010 -0800"
      },
      "message": "Merge \"Fix the layoutlib to still support fill_parent.\""
    },
    {
      "commit": "bc3323bea64bbeab0edd0df5e344d844a8d89509",
      "tree": "7e0081282035368680ef9919b29f1760fbecc2d7",
      "parents": [
        "2e1818a4d16c3309660f27286c77d8d1eee95a25"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 23 19:43:04 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 23 19:43:04 2010 -0800"
      },
      "message": "Fix the layoutlib to still support fill_parent.\n\nChange-Id: I5e1825f1f853cf9e31b2ee262edce636a030429d\n"
    },
    {
      "commit": "780d2a1b714724d85227141c76b3c64f543f00b4",
      "tree": "3bd5411acce1ae663e4509c812b3aaa6100c6a41",
      "parents": [
        "cfe79e9220c996ed9f60fbc00eebb23e7faba2f0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Feb 22 22:36:26 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Feb 23 10:02:20 2010 -0800"
      },
      "message": "Use UTF-8 strings to avoid duplicate caching, part 1\n\nStringBlock instances containing UTF-8 strings use a cache to convert\ninto UTF-16, but using that cache and then using a JNI call to NewString\ncauses the UTF-8 string as well as two copies of the UTF-16 string to\nbe held in memory. Getting the UTF-8 string directly from the StringPool\neliminates one copy of the UTF-16 string being held in memory.\n\nThis is part 1. Part 2 will include ResXMLParser optimizations.\n\nChange-Id: Ibd4509a485db746d59cd4b9501f544877139276c\n"
    },
    {
      "commit": "e599f78e7785d41902d7525c71d487b36d8ccca2",
      "tree": "f4b3e6c993d5f70b1bacf24b6a5d6be06f6fa1f2",
      "parents": [
        "eac461cf7c246df737d2b0e7bd30be176a34c36e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 19 12:45:48 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 19 12:45:48 2010 -0800"
      },
      "message": "Use direct reference to enum in AaptAssets\n\nThe second argument to the getNavHiddenName can be NULL, so use a direct\nreference to the class to get the enum values instead of the argument.\n\nChange-Id: I0444572c23cb4de9e7da15a8310a49cf4619bb15\n"
    },
    {
      "commit": "e36d6e277e49475076b7872d36ea6a5c5b996e9d",
      "tree": "83fa38d654d5bf93315b12423a7e9aa81ec45f9e",
      "parents": [
        "a696f5d667227365da732481770767dcb330dd23"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 17 19:46:25 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 18 15:47:34 2010 -0800"
      },
      "message": "Work on issue #2263557: PMF3000 showing hybrid of portrait and landscape modes\n\nThis is a bunch of reworking of how configuration changes are handled:\n\n- When orientation is changing (for whatever reason), the window manager no\n  longer tries to pre-emptively compute a new configuration.  Instead, it\n  just determines  change is happening and tells the window manager.\n- The activity manager is now responsible for giving the window manager the\n  final configuration it is using.  This is both so it knows whem the\n  activity manager is done with its configuration updates, and so the window\n  manager can use the \"real\" configuration.\n- When an orientation or other configuration change is happening, freeze the\n  screen and keep it frozen until the activity manager has given us the\n  final configuration.\n- The window manager can now send new configurations to its clients during\n  its layout pass, as part of a resize, if it has determined that it has\n  changed.  This allows for a new View.onConfigurationChanged() API for any\n  view to easily find out when the configuration has changed.\n- ViewRoot now also works with the activity thread to make sure the process\u0027s\n  current resources are updated to the new configuration when it receives one\n  from a window.  This ensures that at the time onConfigurationChanged() and\n  other view callbacks are happening, the correct configuration is in force.\n- There is now a sequence number associated with Configuration, which\n  ActivityThread uses to avoid using stale configurations.  This is needed now\n  that it can receive configurations asynchronously from both the window\n  manager and activity manager.\n- The hack for keeping the locale has been removed, and underlying problem\n  fixed by having Configuration initialize its locale to \"unknown\" instead of\n  a valid default value.\n"
    },
    {
      "commit": "5706329cf42db714582fa698eb9f408350276f16",
      "tree": "0e4fe012be66456186b868db852a9112d208a74a",
      "parents": [
        "d970998b0d489774ad1c5b94b47d233912f00214",
        "f5a7c121dd3abb9763c30115c772fd1fc03caea2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 18 12:39:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 12:39:15 2010 -0800"
      },
      "message": "Merge \"Change buf size holding integer in ResourceTable\""
    },
    {
      "commit": "f5a7c121dd3abb9763c30115c772fd1fc03caea2",
      "tree": "88aae80771f637c88a969e9a9efc910653f1ff4f",
      "parents": [
        "c948cc8c8a8a9a751d8252e390e5975d1a763d34"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 18 09:43:08 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 18 09:44:35 2010 -0800"
      },
      "message": "Change buf size holding integer in ResourceTable\n\nA 32-bit integer can be 10 characters long plus a byte for \\0 at the\nend.\n\nChange-Id: I58040fe6e1674e78bcc6e07463ff36fb26e280f4\n"
    },
    {
      "commit": "fedfea24e7de98b4fde13d6f79e6db37d9f0e169",
      "tree": "4988eec3ace281fb48a5aec136bebc92b52a3aa6",
      "parents": [
        "c948cc8c8a8a9a751d8252e390e5975d1a763d34"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 18 08:54:47 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 18 08:54:47 2010 -0800"
      },
      "message": "Fix enum reference\n\nWas using argument that is set default to NULL as a shortcut to an\nenum\u0027s value. Change it to reference to class directly to avoid a null\npointer dereference.\n\nChange-Id: I16b8ee15af4f095f027113131d574b70768994b0\n"
    },
    {
      "commit": "ddcf25ea7e1b21b908da73000630c72d6fa146b4",
      "tree": "806eef7811aef6c092e269ce6c1c7081704962e9",
      "parents": [
        "de7b14f9ab3df84bcb6af0775e96cab02648cbd9",
        "2be56ccbcff9d5f7b9b3cc0fed3825d4f037ff6a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Fri Feb 12 17:52:28 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 12 17:52:28 2010 -0800"
      },
      "message": "am 2be56ccb: Merge \"Add --auto-add-overlay option to aapt. DO NOT MERGE\" into eclair\n\nMerge commit \u00272be56ccbcff9d5f7b9b3cc0fed3825d4f037ff6a\u0027 into eclair-plus-aosp\n\n* commit \u00272be56ccbcff9d5f7b9b3cc0fed3825d4f037ff6a\u0027:\n  Add --auto-add-overlay option to aapt. DO NOT MERGE\n"
    },
    {
      "commit": "b9d2dc2319d1ced5cabedabe0dfbf5add9753dbd",
      "tree": "6f0f743d309cc5a20fb00cd41b1ab647a8f49a29",
      "parents": [
        "e88192b9d2a8c364d8545471907c5baa275bb5f6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 04 18:45:31 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Feb 12 17:37:50 2010 -0800"
      },
      "message": "Add --auto-add-overlay option to aapt. DO NOT MERGE\n\nThis option allows resources only present in overlays to be\nadded automatically instead of being declared through \u003cadd-resource\u003e\n\n(merge from master)\n\nChange-Id: I5f402a1fa7213d18724d91f84bc05ef39ace2ed9\n"
    },
    {
      "commit": "e2c17f9174144a6eca3fdbed8d5d1370f318f549",
      "tree": "ec4d9f2d5d9cca37801c7464322c763db26b1586",
      "parents": [
        "90762d35a99e32ed22cdfb1f81252544ee22e30b"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Feb 12 13:45:16 2010 -0600"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Feb 12 13:45:16 2010 -0600"
      },
      "message": "Dump original-package entries.\n\nChange-Id: I29b20811847555ff9858ef47cca69c8b992b24ea\n"
    },
    {
      "commit": "99e1cdae99a99170011150d6827bf4c9ee63c075",
      "tree": "8e882ebff1b4b364736951705f47568e100c8d06",
      "parents": [
        "7356b0b0661f61a161ac6771e4325ad5f687cb2e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 11 15:37:31 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 11 15:37:31 2010 -0800"
      },
      "message": "Fix in layoutlib due to some changes in the frameworks.\n\nSome methods disappear or became abstract in the base class\n(breaking @Override)\n\nChange-Id: Id4d298ee84ba008ac97ecaaf90b19003ac09f104\n"
    },
    {
      "commit": "27b28b3f62bd3b54fa13acd5d035940b9be464f3",
      "tree": "d1f44096f7071bbc53e5bc979117be8e0f4aa55c",
      "parents": [
        "d5663a108760de672b130ffabd4f6632982f75e5"
      ],
      "author": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Tue Feb 09 23:09:17 2010 +0100"
      },
      "committer": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Thu Feb 11 21:25:58 2010 +0100"
      },
      "message": "Introduce special UI modes for night and car usage.\n\nThe device mode is now called ui mode. Furthermore is the order of\nprecedence for the resources now in such a way that the ui mode needs\nto be specified after the orientation and before the density.\n\nThe ui mode can be set, like it is done for the locale, as follows:\n\nIActivityManager am \u003d ActivityManagerNative.getDefault();\nConfiguration config \u003d am.getConfiguration();\nconfig.uiMode \u003d Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;\nam.updateConfiguration(config);\n\nTo allow users to disable the car mode and set the night mode the IUiModeManager\ninterface is used.\n\nThe automatic night mode switching will be added in a separate change.\n"
    },
    {
      "commit": "e83cefcef07f9ac025642c1ffec76b4c7ab39cf2",
      "tree": "130696ee2a90150129c3ee98544c5814528c90f9",
      "parents": [
        "72e5a8820a996c547eacea534b11b6b8f6eca83b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 04 17:38:14 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 09 14:20:55 2010 -0800"
      },
      "message": "New external storage APIs.\n\nThis implements the spec for external storage organization, and\nproperly reflects how the media scanner organizes the files it finds.\n\nAlso includes package manager support for removing app private\nfiles from external storage when the application is uninstalled.\n\nFor the new APIs and paths, the main place to look is Environment\nand Context.\n"
    },
    {
      "commit": "99080c7d9ad9e5ccfec70dd10e4c24468a960c45",
      "tree": "5ebcc1e38b01a53bb07617bd1b151d1c8fa5f1b5",
      "parents": [
        "732ebb1bc3d7760fd424b84e0235ea9946100102"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 04 18:45:31 2010 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 04 18:53:14 2010 -0800"
      },
      "message": "Add --auto-add-overlay option to aapt.\n\nThis option allows resources only present in overlays to be\nadded automatically instead of being declared through \u003cadd-resource\u003e\n\nChange-Id: Iff782311056f6a045193e57d204f7d3413e11b26\n"
    },
    {
      "commit": "2fee0ed6eb99b211efa06f095a41268a2021214a",
      "tree": "bc7ce3df25a1d7ec1f61fb85ef56899dab5eb66b",
      "parents": [
        "7188f946521d64ea21121939d2a4c279f33fe910"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Jan 06 15:46:38 2010 -0600"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Mon Feb 01 18:47:01 2010 -0600"
      },
      "message": "Add the --rename-manifest-package option to aapt.\n\nIt allows you to force override the manifest\npackage listed in the AndroidManifest.xml when\ncreating an APK file.\n\nChange-Id: I7eac7943c4e56610b65728ae54773a273634fd9d"
    },
    {
      "commit": "15900779058611c1a082724486cb0a49c50ae606",
      "tree": "2200e19624d9ff30ee64f0615b836d95160dba9d",
      "parents": [
        "507354e4ba07e1d8701d747d60414b053eb517b4",
        "6efe03b19e0734361b262f9a0be4d225088d7f9e"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Jan 27 15:53:20 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 27 15:53:20 2010 -0800"
      },
      "message": "am 6efe03b1: am 6f9e2c64: Merge \"Find layout classes in all \"layout-*\" dirs.\" into eclair\n\nMerge commit \u00276efe03b19e0734361b262f9a0be4d225088d7f9e\u0027\n\n* commit \u00276efe03b19e0734361b262f9a0be4d225088d7f9e\u0027:\n  Find layout classes in all \"layout-*\" dirs.\n"
    },
    {
      "commit": "264ce3825892e4b5ef6af61d330832f4592130bf",
      "tree": "69b6a9b7d0ca691d8850f4c719b2527088f23288",
      "parents": [
        "4789f0cd166e2e88aeba350b5baa45ab5d59b1b2",
        "3bd6dc653521281db25df77f055b3ec0b4659454"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Fri Jan 22 12:36:26 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 22 12:36:26 2010 -0800"
      },
      "message": "am 3bd6dc65: am b44051ee: Merge \"ADT/Layoutlib: implement sweep gradient.\" into eclair\n\nMerge commit \u00273bd6dc653521281db25df77f055b3ec0b4659454\u0027\n\n* commit \u00273bd6dc653521281db25df77f055b3ec0b4659454\u0027:\n  ADT/Layoutlib: implement sweep gradient.\n"
    },
    {
      "commit": "28d9c60ee203eff53a5a8577df8a780402173b24",
      "tree": "0149aa577e65eda2c1050182a56a95f7be227515",
      "parents": [
        "b70efcbbb1ae0672c43da86511daf49d177d8ed8",
        "60e3c09ec0fa73a3e650f4aec89c763599c2e0b7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Fri Jan 22 09:45:49 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 22 09:45:49 2010 -0800"
      },
      "message": "am 60e3c09e: am 6866daee: Merge \"ADT/Layoutlib: implement radial gradient.\" into eclair\n\nMerge commit \u002760e3c09ec0fa73a3e650f4aec89c763599c2e0b7\u0027\n\n* commit \u002760e3c09ec0fa73a3e650f4aec89c763599c2e0b7\u0027:\n  ADT/Layoutlib: implement radial gradient.\n"
    },
    {
      "commit": "b70efcbbb1ae0672c43da86511daf49d177d8ed8",
      "tree": "271aac9e655c1c0fbf603a16e214c8dbb237ca97",
      "parents": [
        "6d001c0f7a7659d456012c220aed14a891a20a83",
        "3c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jan 22 09:45:31 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 22 09:45:31 2010 -0800"
      },
      "message": "am 3c05f1fb: am b5fb50a1: Merge \"Add instrumentation as a source tag for proguard keep options.\" into eclair\n\nMerge commit \u00273c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c\u0027\n\n* commit \u00273c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c\u0027:\n  Add instrumentation as a source tag for proguard keep options.\n"
    }
  ],
  "next": "c22b3ca198dcb1d11c1a9cb8e17eb9c66b2afaa5"
}
