)]}'
{
  "log": [
    {
      "commit": "558a3c1b7b40eb9356f8c4446ca63af8cf16bd91",
      "tree": "9cfe7fb6c60e63f5f98c20310d807149df4f6f59",
      "parents": [
        "5660b4843ed1471b3b5318b77367dda7960596a1",
        "f1b782427fa5bc878ac0d5356ff8332143d3798b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 09 17:38:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 09 17:38:00 2013 +0000"
      },
      "message": "Merge \"Kill processes when permissions are revoked.\" into jb-mr2-dev"
    },
    {
      "commit": "5660b4843ed1471b3b5318b77367dda7960596a1",
      "tree": "3b61b23b4454aa0ab2e3f0f93775922f37f60c61",
      "parents": [
        "376054121edc62e88b2e3f69ce3397fac557bc64",
        "4c4a07ce1f9c90cb671ffba013dafbcfadc3281e"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Apr 09 17:34:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 09 17:34:24 2013 +0000"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-mr2-dev"
    },
    {
      "commit": "f1b782427fa5bc878ac0d5356ff8332143d3798b",
      "tree": "6dac2816d0cc3be244429ffbbd40edc610c4fa6c",
      "parents": [
        "89454f8331cd7d582eafca87c6586feb5db509c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 08 22:28:59 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 08 22:28:59 2013 -0700"
      },
      "message": "Kill processes when permissions are revoked.\n\nSome permissions are associated with gids, so we need to\nkill any running processes if their permission is revoked.\nWe will do this for any permission being revoked, since\nthe association between gids and permissions can change\nover time.\n\nChange-Id: Ieb7408e032539c4f21eb089d65a7a7e6c289f010\n"
    },
    {
      "commit": "97b968b6b3baf40e8cfd5ff147f81cd81398638a",
      "tree": "3780545aad2c4636e6cf23c129a20f76771f756e",
      "parents": [
        "3a2854bcee08e3af3ca1b042c1fef6ca68f8c70a",
        "c574b68cbb3d6cf20ef7e73fef9c145de93df3de"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 09 00:00:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 09 00:00:38 2013 +0000"
      },
      "message": "Merge \"Fix trackball interpretation of precision.\" into jb-mr2-dev"
    },
    {
      "commit": "3a2854bcee08e3af3ca1b042c1fef6ca68f8c70a",
      "tree": "a2b13b8b6949490d856017075f37609df2768e80",
      "parents": [
        "c4ad3cb07ed76c5697c60285456d9c49675174d9",
        "f9e989d5f09e72f5c9a59d713521f37d3fdd93dd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 23:59:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 23:59:24 2013 +0000"
      },
      "message": "Merge \"Queues, queues, queues and input.\" into jb-mr2-dev"
    },
    {
      "commit": "c574b68cbb3d6cf20ef7e73fef9c145de93df3de",
      "tree": "4a5b40aea03d77435a21c090e0b96bc706dbc868",
      "parents": [
        "f9e989d5f09e72f5c9a59d713521f37d3fdd93dd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 16:44:19 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 16:53:59 2013 -0700"
      },
      "message": "Fix trackball interpretation of precision.\n\nThe trackball to dpad synthesis was using the MotionEvent\u0027s precision\nfield to determine a threshold for movement but the calculations\ninvolved did not actually make sense for any value of precision\nless than 2.0.  This worked fine before since the InputReader\nhardcodes the trackball\u0027s precision to 6.\n\nInjected trackball events may have a different precision which can\nresult in the thresholds being set inappropriately.  For example,\nit was not possible to move focus by one unit at a time when\nthe precision was set to 1.0.\n\nThe old code was probably using precision as a way to set a\nthreshold based on the trackball moving by some minimum number\nof physical ticks, in this case 2.  But the code will work just\nas well if we set an absolute threshold based on distance\ntraveled given that the input system is already expected to\nnormalize the trackball movements before delivering them to the\napplication.\n\nSo stop using precision.\n\nBug: 8473020\nChange-Id: I3c6f7fb1b507f8cf5608b47550e7345fea3352fa\n"
    },
    {
      "commit": "605994d6703c1856c4fad397e5b99d299fc80075",
      "tree": "3d26622eac5495bd5a882af3cc78658345f0816f",
      "parents": [
        "b9604a34ab2afd52b675769ae737ee0dba875393",
        "b482a001f117d0da3599475a293da736fccd4d2c"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Apr 08 22:57:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 22:57:02 2013 +0000"
      },
      "message": "Merge \"Fix off by one in ListView\u0027s upward focus traversal\" into jb-mr2-dev"
    },
    {
      "commit": "b9604a34ab2afd52b675769ae737ee0dba875393",
      "tree": "4623df2375e887408958f3b24c72872d1834603b",
      "parents": [
        "89454f8331cd7d582eafca87c6586feb5db509c7",
        "95399493c6070638946e5e6acd3b3872d3a90451"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Apr 08 22:53:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 22:53:11 2013 +0000"
      },
      "message": "Merge \"Amend getOverlay() docs for SurfaceView/TextureView\" into jb-mr2-dev"
    },
    {
      "commit": "f9e989d5f09e72f5c9a59d713521f37d3fdd93dd",
      "tree": "1495fe6c1ac72db7420839e7ec068e1e152571fa",
      "parents": [
        "1951ce86c21445ac191e4d2d95233f4f5c096b56"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 04 23:04:03 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 15:31:47 2013 -0700"
      },
      "message": "Queues, queues, queues and input.\n\nRedesigned how ViewRootImpl delivers input events to views,\nthe IME and to native activities to fix several issues.\n\nThe prior change to make IME input event delegation use\nInputChannels failed to take into account that InputMethodManager\nis a singleton attached to the main looper whereas UI may be\nattached to any looper.  Consequently interactions with the\nInputChannel might occur on the wrong thread.  Fixed this\nproblem by checking the current thread and posting input\nevents or callbacks to the correct looper when necessary.\n\nNativeActivity has also been broken for a while because the\ndefault event handling logic for joysticks and touch navigation\nwas unable to dispatch events back into the native activity.\nIn particular, this meant that DPad synthesis from touch navigation\nwould not work in any native activity.  The plan is to fix\nthis problem by passing all events through ViewRootImpl as usual\nthen forwarding them to native activity as needed.  This should\ngreatly simplify IME pre-dispatch and system key handling\nand make everything more robust overall.\n\nFixed issues related to when input events are synthesized.\nIn particular, added a more robust mechanism to ensure that\nsynthetic events are canceled appropriately when we discover\nthat events are no longer being resynthesized (because the\napplication or IME is handling or dropping them).\n\nThe new design is structured as a pipeline with a chain of\nresponsibility consisting of InputStage objects.  Each InputStage\nis responsible for some part of handling each input event\nsuch as dispatching to the view hierarchy or to the IME.\nAs a stage processes an input event, it has the option of\nfinishing the event, forwarding the event to the next stage\nor handling the event asynchronously.  Some queueing logic\ntakes care to ensure that events are forwarded downstream in\nthe correct order even if they are handled out of order\nby a given stage.\n\nCleaned up the InputMethodManager singleton initialization logic\nto make it clearer that it must be attached to the main looper.\nWe don\u0027t actually need to pass this looper around.\n\nDeleted the LatencyTimer class since no one uses it and we have\nbetter ways of measuring latency these days using systrace.\n\nAdded a hidden helper to Looper to determine whether the current\nthread is the indicated Looper thread.\n\nNote: NativeActivity\u0027s IME dispatch is broken by this patch.\nThis will be fixed later in another patch.\n\nBug: 8473020\nChange-Id: Iac2a1277545195a7a0137bbbdf04514c29165c60\n"
    },
    {
      "commit": "b482a001f117d0da3599475a293da736fccd4d2c",
      "tree": "eb5e4f663f0fc3ce1ff6fe7cdc217ace356c67bb",
      "parents": [
        "9e176c8b0e0770598469f4580e54ab1e47a06fe8"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Apr 08 14:37:01 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Apr 08 14:40:12 2013 -0700"
      },
      "message": "Fix off by one in ListView\u0027s upward focus traversal\n\nBug: 7985315\nChange-Id: Ic67c8e346d6b51a5cfb05cc7d0c2b145b591b2db\n"
    },
    {
      "commit": "95399493c6070638946e5e6acd3b3872d3a90451",
      "tree": "fbd800ad9c268bbc61dbdf1d2c2619b9ea6e7f17",
      "parents": [
        "26c134398422a4f4e703cdf7b87fb1cb08d542c4"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Apr 08 14:30:31 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Apr 08 14:30:31 2013 -0700"
      },
      "message": "Amend getOverlay() docs for SurfaceView/TextureView\n\nSurfaceView and TextureView do not currently support overlays\ncorrectly; the docs now reflect this constraint.\n\nChange-Id: I79183c02b51ae4cd14638198d0668b2c2e3e22e1\n"
    },
    {
      "commit": "cf837a6e9034f0af3e58216578a1dad4cb635602",
      "tree": "7580659fbbb2652f82a68e8d2f1b7ed023614b6c",
      "parents": [
        "9e176c8b0e0770598469f4580e54ab1e47a06fe8",
        "5a53d70428ea1ff4124df7161f9f16ef85e2a134"
      ],
      "author": {
        "name": "Yorke Lee",
        "email": "yorkelee@google.com",
        "time": "Mon Apr 08 21:22:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 21:22:06 2013 +0000"
      },
      "message": "Merge \"Update DataUsageStatColumns\" into jb-mr2-dev"
    },
    {
      "commit": "bc948101043b3c4b57eb6e0e2421494fd7c1d41e",
      "tree": "fe7015fd7fcb87df58325fe70dd59f57e3ae5185",
      "parents": [
        "8e181c56b3abc4e57f178849a8b6cef750913d5a",
        "79f7ec70ebd5758ce54fd5b6fcd60fd27457cba6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 08 20:09:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 20:10:37 2013 +0000"
      },
      "message": "Merge \"Have audio service clean up new receivers in crashing processes.\" into jb-mr2-dev"
    },
    {
      "commit": "8e181c56b3abc4e57f178849a8b6cef750913d5a",
      "tree": "3305fbdea41ade95013b88f536787f05053adb69",
      "parents": [
        "04c83357c3dee87f08e63a11e67e89d78df81938",
        "98cbcf1b508f30b7ea56ab04477e2f95c5685b43"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 08 20:08:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 20:08:59 2013 +0000"
      },
      "message": "Merge \"AppSecurityPermissions: minor UI changes\" into jb-mr2-dev"
    },
    {
      "commit": "79f7ec70ebd5758ce54fd5b6fcd60fd27457cba6",
      "tree": "6bc7542adfb792659a153a5000fb94a3ed6abb6a",
      "parents": [
        "bab9687e6473072d6ff4f7ea5a7b21bcfbf95744"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 04 18:50:23 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 08 13:08:37 2013 -0700"
      },
      "message": "Have audio service clean up new receivers in crashing processes.\n\nThe new media button receiver with only a pending intent (no\ncomponent name) could be left hanging if the process that\nregistered it went away.  These semantically need to be tied\nto the calling process\u0027s lifetime; we now clean them up when\nthe calling process goes away.\n\nAlso added some additional cleanup of media button receivers\nwhen packages change (updated, cleared).\n\nAnd on top of that, a new \"media\" command for doing media\nthings.  Currently lets you send media keys and monitor\nremote display data.\n\nOh and finally added a new BaseCommand base class for\nimplementing these command line utilities.\n\nChange-Id: Iba1d56f10bab1eec4a94a7bb1d1c2ae614c8bcf5\n"
    },
    {
      "commit": "7ce7b0068c869408003f512a4e04cc73be2f7c69",
      "tree": "3e13c3ce4cccb79095a1d0879e489c7b66e29aa7",
      "parents": [
        "dcaa9436fe8d5f4baeea5a09106cdf8a445d9a9b",
        "4233ec728d3177aa621d7e439d34693507189b4d"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 08 19:58:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 19:58:22 2013 +0000"
      },
      "message": "Merge \"HTML5Audio should handle content URI\" into jb-mr2-dev"
    },
    {
      "commit": "dcaa9436fe8d5f4baeea5a09106cdf8a445d9a9b",
      "tree": "5741c8a683a71987324452d239fef374e613f390",
      "parents": [
        "dc634351d4f8a59e4b5743c58571d1ef04da668a",
        "76d59a3b7b3ceea1d0854e588532cfc91b44201d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 08 19:57:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 19:57:04 2013 +0000"
      },
      "message": "Merge \"Always take padding and margins into account Bug #8565842\" into jb-mr2-dev"
    },
    {
      "commit": "76d59a3b7b3ceea1d0854e588532cfc91b44201d",
      "tree": "f87881e65884618aa9e16f1f4c3be5be946a9728",
      "parents": [
        "50b9eb1c7375a87525d44a036337a8ba18eba55b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 08 10:51:35 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 08 12:56:15 2013 -0700"
      },
      "message": "Always take padding and margins into account\nBug #8565842\n\nChange-Id: I8ee398b5c36b3011950265eb7e22cc8338f1aeee\n"
    },
    {
      "commit": "dc634351d4f8a59e4b5743c58571d1ef04da668a",
      "tree": "b4d3c34d0c3dca8d3a275d4bf95938c681de67c8",
      "parents": [
        "50b9eb1c7375a87525d44a036337a8ba18eba55b",
        "91fe8455d66ef4ac000ba3ba0fb043dd1fbaee49"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Apr 08 19:46:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 19:46:02 2013 +0000"
      },
      "message": "Merge \"Clean up language in forced foreground service notifications.\" into jb-mr2-dev"
    },
    {
      "commit": "4233ec728d3177aa621d7e439d34693507189b4d",
      "tree": "a9d74065667f8863b218e2f64e19b0c492d1b0ec",
      "parents": [
        "73882cf489b44cfd393701c0629bb2d3613857d1"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 08 11:42:53 2013 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Apr 08 11:42:53 2013 -0700"
      },
      "message": "HTML5Audio should handle content URI\n\nChange-Id: Ib7ef4ad5fdd5b6b051ae32b0968a9bddef5c65ba\n"
    },
    {
      "commit": "4c4a07ce1f9c90cb671ffba013dafbcfadc3281e",
      "tree": "34cffcd8ba456540bb1103a66714dbc1883dbec1",
      "parents": [
        "26c134398422a4f4e703cdf7b87fb1cb08d542c4"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Mon Apr 08 10:26:44 2013 -0700"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Mon Apr 08 10:26:44 2013 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Ia150446de499f4272f73b1c5f30bf5adc7b0ae39\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "98cbcf1b508f30b7ea56ab04477e2f95c5685b43",
      "tree": "b7845b98f5eaab7cd49d81baf5afa8067c3b610e",
      "parents": [
        "26c134398422a4f4e703cdf7b87fb1cb08d542c4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 08 10:02:08 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 08 10:02:08 2013 -0700"
      },
      "message": "AppSecurityPermissions: minor UI changes\n\n1) Make the box with the permission really go away when a\npermission is revoked, not just invisible.\n2) Change the order of the buttons, making the negative\nbutton the \"revoke\" button, and the positive button \"ok\".\n\nChange-Id: I73694583cbd014d3820f8df6c6b770caae299499\n"
    },
    {
      "commit": "91fe8455d66ef4ac000ba3ba0fb043dd1fbaee49",
      "tree": "8c776d48a1b27c069805a07cd49976a9a1b503e1",
      "parents": [
        "a56b78dcd1292a4291d85113bdeeda8496c1a0c0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Apr 08 12:23:27 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Apr 08 13:01:02 2013 -0400"
      },
      "message": "Clean up language in forced foreground service notifications.\n\nOld:  [ IC ] %s running\n      [ ON ] %s is running\n\nNew:  [ IC ] %s is running\n      [ ON ] Touch for more information or to stop the app.\n\nAdditionally, disallow these misbehaving services from\nsupplying their own content views; if you attempt to run a\nforeground service with icon \u003d\u003d 0, this is the notification\nyou will get, period.\n\nBug: 8525548\nChange-Id: I2bfd7340396ef925885e8c2160a720f9eff07a35\n"
    },
    {
      "commit": "26c134398422a4f4e703cdf7b87fb1cb08d542c4",
      "tree": "3cd5e2f164c4090af02d09703e29b61e41aa6223",
      "parents": [
        "0e78de6c0fadd70277eb29f56ccce97c1dffc4f2"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 04 11:01:04 2013 -0400"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 14:44:28 2013 +0000"
      },
      "message": "Set FLAG_SHOW_LIGHTS if *either* on or off is nonzero.\n\nPreviously they each had to be nonzero, which prevented\nusing the builder methods to create solid-on LED\nnotifications.\n\nChange-Id: I30314ec33daa28ee2e1f0b87a184c3540254471c\n"
    },
    {
      "commit": "edf6f4b49f6e77c349f5055372ce381b74f12efb",
      "tree": "a506b5eecd2c19017f46dc9f5982e0a8de3078ef",
      "parents": [
        "a56b78dcd1292a4291d85113bdeeda8496c1a0c0"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Mar 26 07:55:30 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Apr 08 07:30:12 2013 -0700"
      },
      "message": "Make adding views specific to a ViewGroup\u0027s overlay\n\nAdding views to views (possible with the new Overlay API) is weird.\nThis change moves the view-management facilities of Overlay to a subclass\nthat is specific to the overlay returned from ViewGroup.getOverlay().\nSo now you can add drawables to all view overlays, but only add/remove\nviews to/from the overlay returned from ViewGroup.getOverlay().\n\nAlso, the previous approach of using an interface for Overlay was\nchanged to classes for both ViewOverlay and ViewGroupOverlay.\n\nFinally, this change makes not handling touch correctly the proper,\nand documented, behavior of overlay views. There are various tricky issues\nto sort out with input in overlays (including click handling as well as focus)\nand we don\u0027t want developers starting to use overlays as some kind of general\ncontainer hierarchy, so we\u0027re purposely constraining overlays to have visual-only\nbehavior.\n\nIssue #8459085 Overlay needs to handle touch correctly\n\nChange-Id: I207b8dbf528f87c92369d270d8b0a6556826d207\n"
    },
    {
      "commit": "a56b78dcd1292a4291d85113bdeeda8496c1a0c0",
      "tree": "10ee1ac2f57b0372eef20d13a42ad58b5d6933a4",
      "parents": [
        "d7c4186ae040ed297634b0be11f78592ffc7585f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Apr 07 11:13:16 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Apr 07 11:13:16 2013 -0700"
      },
      "message": "fix build\n\nChange-Id: I7f3b8a4df84630f40f5a3f19434df86b6287fb75\n"
    },
    {
      "commit": "d7c4186ae040ed297634b0be11f78592ffc7585f",
      "tree": "f6dbeda569bd13c73d2d8f284c3fe55b69b62356",
      "parents": [
        "8b51475c97f8f2742047976283afbe1f9ef9fcbf",
        "ddfbe00b66fe98bd359efcbfdd463063f9a47303"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Apr 07 17:53:27 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 07 17:53:27 2013 +0000"
      },
      "message": "Merge \"AppSecurityPermissions: add support for revoking permissions\" into jb-mr2-dev"
    },
    {
      "commit": "8b51475c97f8f2742047976283afbe1f9ef9fcbf",
      "tree": "62a1931f70aecc1a156d129b6602274e0c86e3fe",
      "parents": [
        "4296704208a9eeb40f4e5fa8d6d1f79c72c322ee"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Feb 04 09:35:16 2013 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sat Apr 06 10:05:31 2013 -0700"
      },
      "message": "Revert \"Remove AndroidKeyStore from API\"\n\nThis reverts commit ce24985ad636c38b6ee01ec9cdecfb038bfeaeb6.\n\nChange-Id: I02d6492c8db869619694c7209bb37522a7ec5a29\n"
    },
    {
      "commit": "ddfbe00b66fe98bd359efcbfdd463063f9a47303",
      "tree": "e07892fa048a5fd5b623be0aac0d3e6eb8f94821",
      "parents": [
        "bab9687e6473072d6ff4f7ea5a7b21bcfbf95744"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 05 18:32:07 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 05 18:42:03 2013 -0700"
      },
      "message": "AppSecurityPermissions: add support for revoking permissions\n\nAdd UI support for revoking optional permissions. When the user\ntaps on an optional permission, two new boxes will appear:\n\n  [Cancel] | [Revoke]\n\nSelecting [Revoke] will revoke the permission from the app.\n\nThe [Cancel] / [Revoke] options are only shown for apps which support\noptional permissions.\n\nBug: 8332307\nChange-Id: I27e374773747737e3a6d7f48ea1448a0178e3393\n"
    },
    {
      "commit": "e0e2f4fd3ac8e70e341ae52d6376d8d67bd9edce",
      "tree": "00107e2b778cfad5781b95190b6c3dd4b13e3ed0",
      "parents": [
        "bdc87d50db42999fbfeb0d75a98d1cb0e3730bc0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Apr 05 16:27:35 2013 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Apr 05 16:46:22 2013 -0700"
      },
      "message": "Fix accessibility in action bars and add extra customization\n\nFix a bug where the content description of the big unified Home/Up\nbutton was not getting set properly.\n\nAdd the ability to change the home-as-up glyph from ActionBar.\n\nAdd the ability to set a custom action description for the home-as-up\nbutton, useful if the above functionality is used.\n\nBug 8548229\n\nChange-Id: I0635799772c7234b68247dfc105dce7f11acda32\n"
    },
    {
      "commit": "bdb706e48d71af498156efbb10d0f0c1fcef8878",
      "tree": "d7fc1d7057e9055fa23d1c49adcdbe7dd34799c3",
      "parents": [
        "8299f683f3fbe7ba0f5387b062b31de117882dba",
        "c6091c64c90e9557ea58e0d7cf75915aea7c6c3e"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Apr 05 21:43:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 21:43:31 2013 +0000"
      },
      "message": "Merge \"Pipe through device resolution information\" into jb-mr2-dev"
    },
    {
      "commit": "c51628aa6f61822c03e13af50741b076c588d3c7",
      "tree": "954b3b2d2635d257fcc2f92ccd3f8bff5ca72e28",
      "parents": [
        "4a706bc6f1dcf4483b282d5758e22482cf02506f",
        "c238f5195880b2018cfb2ad6e01cad8d425a210c"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Apr 05 21:17:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 21:17:50 2013 +0000"
      },
      "message": "Merge \"Fix AlertDialog in RTL mode\" into jb-mr2-dev"
    },
    {
      "commit": "4a706bc6f1dcf4483b282d5758e22482cf02506f",
      "tree": "b30d59c9474bc4499b3c433dbd5135891567c27a",
      "parents": [
        "5feceebb892d4cb5777cea3c6174b206705d456b",
        "1951ce86c21445ac191e4d2d95233f4f5c096b56"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 05 20:57:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 20:57:01 2013 +0000"
      },
      "message": "Merge \"Correctly manage the lifecycle of IME InputChannels.\" into jb-mr2-dev"
    },
    {
      "commit": "5feceebb892d4cb5777cea3c6174b206705d456b",
      "tree": "58feee1605f35b07e70887f4ec017d80b5687436",
      "parents": [
        "bab9687e6473072d6ff4f7ea5a7b21bcfbf95744"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Mar 22 18:29:23 2013 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 19:54:44 2013 +0000"
      },
      "message": "New NotificationListenerService.\n\nThis is the best and only way for apps to listen for\nnotifications: create a NotificationListenerService, wait\nfor the NoMan to bind to you (as a result of the user\nchecking a box somewhere in Settings and agreeing to a\nscary dialog box), and you\u0027ll start receiving notification\nposted and dismissed callbacks. Your service, while enabled,\nwill also be able to clear one or all notifications.\n\nUse this power wisely.\n\nThis change moves StatusBarNotification out of\ncom.android.internal into android.service.notification.\n[Internal customers, including System UI and early users of\nthe system-only listener binder API, will need to be\nupdated.]\n\nBug: 8199624\nChange-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2\n"
    },
    {
      "commit": "4ac0462e7121c89f5cd76136fda7f14874dfd787",
      "tree": "90175258faca70d18f4d41b6d118b799696a44a6",
      "parents": [
        "65f420ec98f451cb17e55c6ace3f249d73b33399",
        "b0e35846b818bdf0db9cafe881a8a535116d596e"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Fri Apr 05 17:17:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 17:17:25 2013 +0000"
      },
      "message": "Merge \"Adding new Chomium-WebView property key, and deprecating old key.\" into jb-mr2-dev"
    },
    {
      "commit": "65f420ec98f451cb17e55c6ace3f249d73b33399",
      "tree": "92bca299d5cb5db52c732bcb33b323013ab3ce31",
      "parents": [
        "f0a79e31d334e79c738e6c7a5e20ff06abfd142d",
        "633dc9bcef0935931781d7e4554566271fe9f2c5"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Apr 05 16:35:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 16:35:26 2013 +0000"
      },
      "message": "Merge \"Add a config updater component for the intent firewall\" into jb-mr2-dev"
    },
    {
      "commit": "1cbe12157fd5f30b97f601acf7fbb4d646a47bd2",
      "tree": "9f1d53b9ca8e7f4bdfb3863afadb92d874a3ff48",
      "parents": [
        "1e0f36cffd8a4399fcd12e25bddde4544992bcb2"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Apr 05 08:50:47 2013 -0700"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Apr 05 08:50:47 2013 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Ifb0d09822f93bb719c48bc3e0108e0f81c592c66\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "1951ce86c21445ac191e4d2d95233f4f5c096b56",
      "tree": "8c68eb0fe87565bcdaf7cd8bd2a56a03319bede5",
      "parents": [
        "41c076715da58990dc9b0be749bba28fc75d3b78"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 04 22:45:12 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 04 22:45:12 2013 -0700"
      },
      "message": "Correctly manage the lifecycle of IME InputChannels.\n\nInputChannels are normally duplicated when sent to a remote process\nover Binder but this does not happen if the recipient is running within\nthe system server process.  This causes problems for KeyGuard because the\nInputMethodManagerService may accidentally dispose the channel\nthat KeyGuard is using.\n\nFixed the lifecycle of InputChannels that are managed by the IME\nframework.  We now return a duplicate of the channel to the application\nand then take care to dispose of the duplicate when necessary.\nIn particular, InputBindResult disposes its InputChannel automatically\nwhen returned through Binder (using PARCELABLE_WRITE_RETURN_VALUE).\n\nBug: 8493879\nChange-Id: I08ec3d13268c76f3b56706b4523508bcefa3be79\n"
    },
    {
      "commit": "633dc9bcef0935931781d7e4554566271fe9f2c5",
      "tree": "3a5f38415936cfe1b9f1e3e7df4846366ce90d17",
      "parents": [
        "1e0f36cffd8a4399fcd12e25bddde4544992bcb2"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Apr 04 12:05:49 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Apr 04 19:46:22 2013 -0700"
      },
      "message": "Add a config updater component for the intent firewall\n\nChange-Id: I43f6defa16691099592bf87e75f2d1a732135cf3\n"
    },
    {
      "commit": "c6091c64c90e9557ea58e0d7cf75915aea7c6c3e",
      "tree": "f5f69d5bbd0270d7a1b7564920e6f31f381704cd",
      "parents": [
        "77d94957d793aba16a1352d25d5555bf59fe74e7"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Apr 01 20:56:04 2013 -0700"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Apr 04 18:10:37 2013 -0700"
      },
      "message": "Pipe through device resolution information\n\nBug: 8424494\nChange-Id: Iafeeee0d5cd29342c1cdc86b9616222aaa5d1b94\n"
    },
    {
      "commit": "80fdc9624e6d53a78031bf99d34e7c01d53ad66e",
      "tree": "13275587689b637d0238448698dc6d80802a5778",
      "parents": [
        "745a42bbb9db8d54af5381ef5fe41828bf6fc352",
        "73f2d3c79e57cac58fa0499accb1fb1192b7103f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 05 00:23:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 00:24:40 2013 +0000"
      },
      "message": "Merge \"Error on conflicting \u003cuses-permission\u003e\" into jb-mr2-dev"
    },
    {
      "commit": "73f2d3c79e57cac58fa0499accb1fb1192b7103f",
      "tree": "4c08156da971fb45f29714315cee7a031b24d986",
      "parents": [
        "5a78b1b20d1f137f867bd1dba76377a41af1af18"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Apr 04 14:38:13 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Apr 04 17:12:00 2013 -0700"
      },
      "message": "Error on conflicting \u003cuses-permission\u003e\n\nDon\u0027t install packages where we have multiple, conflicting\n\u003cuses-permission\u003e lines for the same permission.\n\nFor example, a package which contains:\n\n\u003cuses-permission android:name\u003d\"android.permission.INTERNET\" android:required\u003d\"false\" /\u003e\n\u003cuses-permission android:name\u003d\"android.permission.INTERNET\" android:required\u003d\"true\" /\u003e\n\nwill now fail to install.\n\nIn addition, this change slightly refactors the code, and creates a new\nparseUsesPermission() method.\n\nChange-Id: I0f4bb8b51dc4a0c5b73458a70f706e19829275d2\n"
    },
    {
      "commit": "faec826bd6051e41e1299cd14d580a4f50f6fe97",
      "tree": "33cb4d5294c136b15d1b64fdf462d5d3979d6af3",
      "parents": [
        "de4f8c3872c6284605c168687c69ebfa72ea49d2",
        "e55945e219dbf4664683a757c5a9d462c98f2e19"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 04 22:47:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 22:47:49 2013 +0000"
      },
      "message": "Merge \"Reduce the size of dirty invalidates\" into jb-mr2-dev"
    },
    {
      "commit": "e55945e219dbf4664683a757c5a9d462c98f2e19",
      "tree": "3187edad1c2d105b17b5daac590f4c1797f5fe08",
      "parents": [
        "964a6a7e209b0db262c827721ae5fde3f98ca763"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 04 15:26:04 2013 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 04 15:29:09 2013 -0700"
      },
      "message": "Reduce the size of dirty invalidates\n\nRemove remnants from times long gone. We don\u0027t need to redraw the\nunion of the previous frame\u0027s dirty region and the new dirty\nregion.\n\nChange-Id: I9fb96f99a6a72c2233f9ca563cf6432a42b2b65b\n"
    },
    {
      "commit": "5a78b1b20d1f137f867bd1dba76377a41af1af18",
      "tree": "6de396afab7d72a077ac9cca3dbe67fb12a312ac",
      "parents": [
        "b2c3aa8e322a4c08e3aca3a877da3732ec93e042",
        "787e662c0d554d43101c75ab2e15d5135e22605e"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Apr 04 21:16:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 21:16:43 2013 +0000"
      },
      "message": "Merge \"Fix for bug #8146846 Phone App should be mirrored for RTL languages\" into jb-mr2-dev"
    },
    {
      "commit": "b2c3aa8e322a4c08e3aca3a877da3732ec93e042",
      "tree": "d1a9d31efcc541a187229141e296099b67f4a265",
      "parents": [
        "77d94957d793aba16a1352d25d5555bf59fe74e7",
        "38f130e19ac3bb4590d400c61af8a4e5bd6c30ce"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Apr 04 20:27:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 20:27:32 2013 +0000"
      },
      "message": "Merge \"PackageParser: ignore \u003cuses-permission\u003e android:required on older apps\" into jb-mr2-dev"
    },
    {
      "commit": "38f130e19ac3bb4590d400c61af8a4e5bd6c30ce",
      "tree": "03c86d1a94027fa84533f9868d5679b7b53f28c1",
      "parents": [
        "8712e4cc4a08f9d54013e96cc2420637c2114f08"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Apr 04 13:19:10 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Apr 04 13:19:10 2013 -0700"
      },
      "message": "PackageParser: ignore \u003cuses-permission\u003e android:required on older apps\n\nDon\u0027t honor \u003cuses-permission android:required\u003d\"false\"\u003e on older apps.\nLots of apps in the wild are improperly using this, and we don\u0027t\nwant to break them.\n\nBug: 8528162\nChange-Id: I6e0a10bc9feac58d13ef624239c6b91e9fc34590\n"
    },
    {
      "commit": "77d94957d793aba16a1352d25d5555bf59fe74e7",
      "tree": "8e3abb8578e179249931abccefeb6d6d1dd62568",
      "parents": [
        "728827ff472b72ed7a86971ed8e35a01ce5bc8bf",
        "b989502e5cf44d65c6dddc0179b6d9b6e61ef7fd"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Apr 04 18:24:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 18:24:46 2013 +0000"
      },
      "message": "Merge \"Adding small animation features\" into jb-mr2-dev"
    },
    {
      "commit": "b989502e5cf44d65c6dddc0179b6d9b6e61ef7fd",
      "tree": "3d986c042c71581b34118700054b7f1e63601182",
      "parents": [
        "eaadd123a7d7b0a02046db33e882ddcef33e1a49"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Apr 02 15:10:58 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Apr 04 11:00:07 2013 -0700"
      },
      "message": "Adding small animation features\n\nRectEvaluator is useful when animating object bounds.\nThe other change is a hidden API that allows temporary suspension\nof layout, useful for animations which need to animate view bounds\nwithout conflicting with layout passes that might happen in the middle\nof the animation.\n\nChange-Id: I3dc08cb6ec455dfa3409e825506b218d3ea63d7a\n"
    },
    {
      "commit": "728827ff472b72ed7a86971ed8e35a01ce5bc8bf",
      "tree": "ec6a96adb5983f226a754251bf340e1226d6d69f",
      "parents": [
        "eaadd123a7d7b0a02046db33e882ddcef33e1a49",
        "8c16aa9fa225c277c3ead605b16dc697709bda27"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Apr 04 17:58:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 17:58:27 2013 +0000"
      },
      "message": "Merge \"Uphold common ordering expectations around action bar Home/Up dispatch\" into jb-mr2-dev"
    },
    {
      "commit": "8c16aa9fa225c277c3ead605b16dc697709bda27",
      "tree": "1e9309a7f5bda446db789bf20e08fa52cb58bdf5",
      "parents": [
        "bbcf0852f786ea1c9cf6dca85f45487b7739bfab"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Apr 04 10:47:52 2013 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Apr 04 10:51:09 2013 -0700"
      },
      "message": "Uphold common ordering expectations around action bar Home/Up dispatch\n\nSome apps aren\u0027t particularly happy if a stray key event is dispatched\nto a newly created window before its menu is prepared, causing the\naction bar\u0027s Home/Up event to be dispatched. Ignore these clicks on\nthe Home/Up button before the menu goes through its initial prepare\nstep.\n\nNote that it is still possible (and valid!) for Home/Up to be\ndispatched even if the app chose to return false from\nonCreateOptionsMenu or similar.\n\nBug 7085070\n\nChange-Id: If4b7d5f8c5a08ce8a094f1919347604d78ddedfb\n"
    },
    {
      "commit": "8712e4cc4a08f9d54013e96cc2420637c2114f08",
      "tree": "80ebe33db097b90096970ca0c194bb5c25e878aa",
      "parents": [
        "9059d3775ab47b08d08ec5df1be149be52007f96",
        "430fc97e7e5ac286aac0b7298f1b8361ad299586"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Thu Apr 04 14:40:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 14:40:52 2013 +0000"
      },
      "message": "Merge \"use libphonenumber for Linkify.PHONE_NUMBER\" into jb-mr2-dev"
    },
    {
      "commit": "430fc97e7e5ac286aac0b7298f1b8361ad299586",
      "tree": "bdf2ffb41d477964389f1b8308af14352c3559a3",
      "parents": [
        "0102443c4f52f2e15fd731c452f0c4745312d448"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Mon Apr 01 10:22:00 2013 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Thu Apr 04 07:38:24 2013 -0700"
      },
      "message": "use libphonenumber for Linkify.PHONE_NUMBER\n\nThis commit replaces a regex pattern match for Linkify.PHONE_NUMBER\nwith a call to libphonenumber\u0027s PhoneNumberUtil.findNumbers().\n\nBug: 5533245\nChange-Id: I0e0563b241fb62e77d7f49e4a8484c6b0685dd8f\n"
    },
    {
      "commit": "0fa30372c7768692f9deef3e33655382e8a683fd",
      "tree": "65b147bbd3fffa93609e35db8f3ff13d1693b9b3",
      "parents": [
        "26cd4d658f5c4e99c31107cef78698c818e54577"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Apr 03 22:57:31 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Apr 03 22:57:31 2013 -0700"
      },
      "message": "Fix doc build.\n\nChange-Id: I954a45866d968b0571040ba99cc93b818d02aeb5\n"
    },
    {
      "commit": "787e662c0d554d43101c75ab2e15d5135e22605e",
      "tree": "f7c3cba9238eeaf3ca0fb228fcf53481e10863f8",
      "parents": [
        "94d6170b67bcfb5dc5a0c988752d34e64a5f5272"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Apr 03 21:01:58 2013 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Apr 03 21:01:58 2013 -0700"
      },
      "message": "Fix for bug #8146846 Phone App should be mirrored for RTL languages\n\n- add RTL version of quickcontact badge overlay\n\nChange-Id: I007d0dae9ceec9c42684e45a735ea6b06aa6f9a0\n"
    },
    {
      "commit": "26cd4d658f5c4e99c31107cef78698c818e54577",
      "tree": "ff258173ce62641709f2e18908fee2079de9fc72",
      "parents": [
        "fb9a9713f44f61958c02fb8af72fd6a61d44f2e7",
        "33ec9840c70ddc7cd008ecf2660c441defc5f302"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Thu Apr 04 03:16:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 03:16:40 2013 +0000"
      },
      "message": "Merge \"Change BluetoothGattCallback methods argument from BluetoothDevice to BluetoothGatt\" into jb-mr2-dev"
    },
    {
      "commit": "33ec9840c70ddc7cd008ecf2660c441defc5f302",
      "tree": "1d143f59810ec3b5277fec1743e546c45664a5b1",
      "parents": [
        "2fb669e68f771f07517b8d5087ca875025b9bcfb"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Wed Apr 03 00:29:27 2013 -0700"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Wed Apr 03 18:20:13 2013 -0700"
      },
      "message": "Change BluetoothGattCallback methods argument from BluetoothDevice to BluetoothGatt\n\nChange name of BluetoothDevice#connectGattServer to BluetoothDevice#connectGatt\nAdd BluetoothGatt#getDevice to retrieve device from BluetoothGatt\nAdd BluetoothGatt#connect() to reconnect back to the server.\nMake BluetoothGatt#close() public to clean up/unregister callback\nAdd BluetoothDevice.getType() to return int of\nbug 8529188\n\nChange-Id: Iebd9ac68cc7a64c43972e617dd3068f66c8ea0b2\n"
    },
    {
      "commit": "e10b600d5da413f9633ed97aefcdbd3f949637a5",
      "tree": "d94a0e8b5aba9fe730b7a4cda59fb63d294516fd",
      "parents": [
        "c0425eecbd1a4182f1dce2f99af8bf4e39f376d2",
        "984f94ee4c4ef0196d9b2c149d0a42f20b72bebf"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 18:06:40 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 18:06:40 2013 -0700"
      },
      "message": "am 984f94ee: am f29ca256: am 57b73b4a: am 72da7af6: am b461a13f: Merge \"Doc update: unterminated code tags\" into jb-mr1.1-docs\n\n* commit \u0027984f94ee4c4ef0196d9b2c149d0a42f20b72bebf\u0027:\n  Doc update: unterminated code tags\n"
    },
    {
      "commit": "984f94ee4c4ef0196d9b2c149d0a42f20b72bebf",
      "tree": "9b81954f9e8c4d7e0a14b03fafa323f0c3653e82",
      "parents": [
        "ea19228daabf42b4aa30d0b43638ddd5a4e3d6d5",
        "f29ca256a4340a3d550d2c4a39a2e6a29a3ce850"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 18:03:00 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 18:03:00 2013 -0700"
      },
      "message": "am f29ca256: am 57b73b4a: am 72da7af6: am b461a13f: Merge \"Doc update: unterminated code tags\" into jb-mr1.1-docs\n\n* commit \u0027f29ca256a4340a3d550d2c4a39a2e6a29a3ce850\u0027:\n  Doc update: unterminated code tags\n"
    },
    {
      "commit": "f29ca256a4340a3d550d2c4a39a2e6a29a3ce850",
      "tree": "64d728f4cc0bea95ff57e6db2285a52ef9a1ba29",
      "parents": [
        "69b7a1cb9a75374867f9d13117312335f11fe593",
        "57b73b4a1d6ea84ae42c407ecb258829ab8dfa2c"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 18:00:11 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 18:00:11 2013 -0700"
      },
      "message": "am 57b73b4a: am 72da7af6: am b461a13f: Merge \"Doc update: unterminated code tags\" into jb-mr1.1-docs\n\n* commit \u002757b73b4a1d6ea84ae42c407ecb258829ab8dfa2c\u0027:\n  Doc update: unterminated code tags\n"
    },
    {
      "commit": "b461a13f252e3888b8614a8f363f34731274e87e",
      "tree": "97a24db23ad106d42e7cd941292694bba88f7876",
      "parents": [
        "7f932e88d61b977be48e2f6157f8de64c89400d9",
        "43d5abbf0343a1761814ce1743e40a6688a72e4c"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Thu Apr 04 00:52:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 04 00:52:26 2013 +0000"
      },
      "message": "Merge \"Doc update: unterminated code tags\" into jb-mr1.1-docs"
    },
    {
      "commit": "43d5abbf0343a1761814ce1743e40a6688a72e4c",
      "tree": "760c8905c2bc8b442c4d7b44ad45f7db09df99ca",
      "parents": [
        "fa226b1de9119f7d22b877c584154176cefe8996"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 17:28:14 2013 -0700"
      },
      "committer": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 17:43:44 2013 -0700"
      },
      "message": "Doc update: unterminated code tags\n\n\"Bug: 7250069\"\n\nChange-Id: I4c3eca8eacad6d0aced9f38788726ba95b914d5d\n"
    },
    {
      "commit": "41c076715da58990dc9b0be749bba28fc75d3b78",
      "tree": "8f2ccea697259b985aaa2f8d8dabda68e4e28c90",
      "parents": [
        "8c3ee9d50aadb0140e36000b2217f2070404b07c",
        "4d656885ed9afec7d758c1862df6f040f5fe16a9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 03 23:59:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 23:59:56 2013 +0000"
      },
      "message": "Merge \"Clear mCurSender when mCurChannel is modified.\" into jb-mr2-dev"
    },
    {
      "commit": "0f8e8b03ebb35040c299079adc1c351f37ce4885",
      "tree": "19158f23cbd5b9dff30b7f6bedea8bba81f9ecb7",
      "parents": [
        "0d17aaa543f393c6c792f0b0d8ec5cb38ff1f71e",
        "a14acd20b8d563319ea1a5974dca0e9a29f0aaef"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 03 23:28:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 23:28:07 2013 +0000"
      },
      "message": "Merge \"Warn when exposing file:// Uris beyond a process.\" into jb-mr2-dev"
    },
    {
      "commit": "599efc3aa34351e02bfa6e8b9e3fd530b8d9c632",
      "tree": "837508fd88f15e55fe89a94383264c528184f620",
      "parents": [
        "205d380bdc69ade94dcc05f54dedbf186783cfb3",
        "6f0ed128e46d723c82a2be1d5a45beaf302a2cb1"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Wed Apr 03 21:58:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 22:00:07 2013 +0000"
      },
      "message": "Merge \"Fix minor LE descriptor permissions issue\" into jb-mr2-dev"
    },
    {
      "commit": "6f0ed128e46d723c82a2be1d5a45beaf302a2cb1",
      "tree": "02cd2ab2d628e5b88ddfc3d6dbfe3c71196642ff",
      "parents": [
        "2fb669e68f771f07517b8d5087ca875025b9bcfb"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "andre@broadcom.com",
        "time": "Wed Apr 03 14:26:43 2013 -0700"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Wed Apr 03 14:54:12 2013 -0700"
      },
      "message": "Fix minor LE descriptor permissions issue\n\nChange-Id: Idded482a08f17a1373adf3e3a51709ff585d4f24\n"
    },
    {
      "commit": "4d656885ed9afec7d758c1862df6f040f5fe16a9",
      "tree": "7d6370f50da0dc13618036a09ee3bf4c6ca0b05b",
      "parents": [
        "d72317abd79ddf95d48c8f35bf1070900ff55b5e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 03 14:39:19 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 03 14:40:57 2013 -0700"
      },
      "message": "Clear mCurSender when mCurChannel is modified.\n\nThis fixed an issue where an InputEventSender might outlive\nits usefulness and continue to be used well after it should\nhave been disposed or recreated.\n\nAlso improves the queue management somewhat.\n\nBug: 8493879\nChange-Id: I7e0b6a3c43cbe72f8762991f5d36560feebd214b\n"
    },
    {
      "commit": "bbcf0852f786ea1c9cf6dca85f45487b7739bfab",
      "tree": "3e7e8cac6372f8c53b5f868066618bdee81927bf",
      "parents": [
        "6a5702041f48f868863a0454d7df6cd64eab235d",
        "9d9365916def1a60d98cab7d59a4c98d9e7f6f42"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 14:30:09 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 14:30:09 2013 -0700"
      },
      "message": "am 9d936591: am f5726617: am 2144eee3: am 3fb5536d: am 91e01a4d: Merge \"Doc update: fix broken code sample\" into jb-mr1.1-docs\n\n* commit \u00279d9365916def1a60d98cab7d59a4c98d9e7f6f42\u0027:\n  Doc update: fix broken code sample\n"
    },
    {
      "commit": "9d9365916def1a60d98cab7d59a4c98d9e7f6f42",
      "tree": "307befe8a250cd955a5a7f0935e708f4e822b3a9",
      "parents": [
        "fa387c518274b91d770fb1b7285d6a123321ef9b",
        "f57266175dffe68c5709f432dd6983c314d164f4"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 14:26:34 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 14:26:34 2013 -0700"
      },
      "message": "am f5726617: am 2144eee3: am 3fb5536d: am 91e01a4d: Merge \"Doc update: fix broken code sample\" into jb-mr1.1-docs\n\n* commit \u0027f57266175dffe68c5709f432dd6983c314d164f4\u0027:\n  Doc update: fix broken code sample\n"
    },
    {
      "commit": "f57266175dffe68c5709f432dd6983c314d164f4",
      "tree": "1f6f308047fcaba7275ecc737be1e90dbea948b3",
      "parents": [
        "73c8a7a8200aab208abacc42a6fcbce5d3dbc1b0",
        "2144eee3576e3fb382170f502e41f1aae572559a"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 14:23:54 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 14:23:54 2013 -0700"
      },
      "message": "am 2144eee3: am 3fb5536d: am 91e01a4d: Merge \"Doc update: fix broken code sample\" into jb-mr1.1-docs\n\n* commit \u00272144eee3576e3fb382170f502e41f1aae572559a\u0027:\n  Doc update: fix broken code sample\n"
    },
    {
      "commit": "91e01a4d2ee09a1a6a226302cd6d524a1c96070f",
      "tree": "150a5162b2d2983cea8aed6505c1cc404137ef25",
      "parents": [
        "8b5e342b0e24b9bb546456209d9d27480fa233e8",
        "e4ce502d77899d273fda6ab79568f112d7d66f0a"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 21:16:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 21:16:08 2013 +0000"
      },
      "message": "Merge \"Doc update: fix broken code sample\" into jb-mr1.1-docs"
    },
    {
      "commit": "e4ce502d77899d273fda6ab79568f112d7d66f0a",
      "tree": "0cf9891a1b3465f7cf85487d617074e8f31f9374",
      "parents": [
        "2ab257231fe774748298ab92f78564a5e19f23f0"
      ],
      "author": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 14:00:19 2013 -0700"
      },
      "committer": {
        "name": "kmccormick",
        "email": "kmccormick@google.com",
        "time": "Wed Apr 03 14:13:36 2013 -0700"
      },
      "message": "Doc update: fix broken code sample\n\n\"Bug: 8537853\"\n\nChange-Id: Ieedfd24c39725ce7c6975300b6471ab3ef5884ee\n"
    },
    {
      "commit": "6a5702041f48f868863a0454d7df6cd64eab235d",
      "tree": "6b2748489f483465e7ff0ca859db3068418d4063",
      "parents": [
        "4d88259f625266400cd6116973d1bc152ae83f26",
        "3261b537c5fdec824575a1f6ad6d8942715e82e2"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 03 21:11:12 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 21:11:12 2013 +0000"
      },
      "message": "Merge \"RemoteControlClient receives playback position change requests\" into jb-mr2-dev"
    },
    {
      "commit": "75827d4a3155c190f455329a67c84ac8fbb9bda0",
      "tree": "a22326aa9356d0942f1653037fc60cd5e7b9a585",
      "parents": [
        "e0b39fc18c10224c4e66f70aa472d8497b1b4621",
        "6c918cec31f396bb19597d107856122173c90594"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Apr 03 20:27:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 20:27:43 2013 +0000"
      },
      "message": "Merge \"Add direct API to get ManifestDigest\" into jb-mr2-dev"
    },
    {
      "commit": "bc9da0f4b5584d52b966b445deb2c4f9d87dd070",
      "tree": "57ef5b6320cedaa3ff93e98fff1765d03488700a",
      "parents": [
        "d72317abd79ddf95d48c8f35bf1070900ff55b5e",
        "572c2410478b18b948e127b182fe03f28067943b"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Wed Apr 03 19:28:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 19:28:17 2013 +0000"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-mr2-dev"
    },
    {
      "commit": "a14acd20b8d563319ea1a5974dca0e9a29f0aaef",
      "tree": "c1bb111ae889ae28a360922ff07623dd7a9dcdd1",
      "parents": [
        "75e181ddfec2166026a0ce553eca2a339e21b968"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 02 18:27:45 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 03 11:45:44 2013 -0700"
      },
      "message": "Warn when exposing file:// Uris beyond a process.\n\nCheck for file:// Uris inside Intents, ClipData, Notifications and\nRemoteViews when StrictMode option is enabled.\n\nAlso introduces Intent.prepareToLeaveProcess() to uniformly handle\nIntents about to leave an app process.\n\nBug: 8529070\nChange-Id: I8efb43877cbc5f21eb029fc6492b3ee1415059ef\n"
    },
    {
      "commit": "d72317abd79ddf95d48c8f35bf1070900ff55b5e",
      "tree": "d07ab26ca8e840bd98811223315bc2ad773e0418",
      "parents": [
        "688c33448572fa3879b1486d8fa1bf16cd946211"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Apr 01 15:59:59 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Apr 03 11:32:52 2013 -0700"
      },
      "message": "Remove keystore entries when package removed\n\nAdd a hook into PackageManagerService so that when app IDs are\ncompletely removed, we erase all entries from keystore for those UIDs\nthat have gone away.\n\n(cherry picked from commit 95e3ee3971915b323e5c13dcfe3b12a4180850cd)\n\nBug: 3020069\nChange-Id: I374258ccc103f8cb3e238f2bf0d1afda0659db94\n"
    },
    {
      "commit": "688c33448572fa3879b1486d8fa1bf16cd946211",
      "tree": "4521589708fe238ab46f7b3e118a1b8b0be5b97b",
      "parents": [
        "6c2e8fb4d530c5fb1352e8667449591b39d89c5a",
        "23eda7cd0a2b80bafcba7c24f49a73a2f11f782f"
      ],
      "author": {
        "name": "Scott Kennedy",
        "email": "skennedy@google.com",
        "time": "Wed Apr 03 09:38:49 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 09:38:49 2013 -0700"
      },
      "message": "am 23eda7cd: am 76f9a0a6: am c318dbcf: am 2dd01a0b: am 555c82cd: am f7c06ddb: Merge \"docs: Typos and other fixes\" into jb-mr1-dev\n\n* commit \u002723eda7cd0a2b80bafcba7c24f49a73a2f11f782f\u0027:\n  docs: Typos and other fixes\n"
    },
    {
      "commit": "23eda7cd0a2b80bafcba7c24f49a73a2f11f782f",
      "tree": "d36132a276366b05aafd802d5190a02f28f73893",
      "parents": [
        "7cf6aaf9bca84b4f01b55088cf4d3f705577a0cb",
        "76f9a0a6800d8a8945156a95dea79f16ec704b3d"
      ],
      "author": {
        "name": "Scott Kennedy",
        "email": "skennedy@google.com",
        "time": "Wed Apr 03 09:35:18 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 09:35:18 2013 -0700"
      },
      "message": "am 76f9a0a6: am c318dbcf: am 2dd01a0b: am 555c82cd: am f7c06ddb: Merge \"docs: Typos and other fixes\" into jb-mr1-dev\n\n* commit \u002776f9a0a6800d8a8945156a95dea79f16ec704b3d\u0027:\n  docs: Typos and other fixes\n"
    },
    {
      "commit": "76f9a0a6800d8a8945156a95dea79f16ec704b3d",
      "tree": "325fabf49aae098fdc1160fac4686cba167f2c40",
      "parents": [
        "70e99bfe409b5cb116bf3f0512e3d05c13240eea",
        "c318dbcf358772ab53b0380edb3e487a773ad2d8"
      ],
      "author": {
        "name": "Scott Kennedy",
        "email": "skennedy@google.com",
        "time": "Wed Apr 03 09:31:32 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 09:31:32 2013 -0700"
      },
      "message": "am c318dbcf: am 2dd01a0b: am 555c82cd: am f7c06ddb: Merge \"docs: Typos and other fixes\" into jb-mr1-dev\n\n* commit \u0027c318dbcf358772ab53b0380edb3e487a773ad2d8\u0027:\n  docs: Typos and other fixes\n"
    },
    {
      "commit": "555c82cd43ef8d11bcf54f023864619869c06411",
      "tree": "5969aca0ef873a69e6e21d126e00d30b76915eb9",
      "parents": [
        "78e5d1834ea1271b17410962f6640deb04a59300",
        "f7c06ddbfc79921d389ed6699df17e54c428571e"
      ],
      "author": {
        "name": "Scott Kennedy",
        "email": "skennedy@google.com",
        "time": "Wed Apr 03 09:20:38 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 03 09:20:38 2013 -0700"
      },
      "message": "am f7c06ddb: Merge \"docs: Typos and other fixes\" into jb-mr1-dev\n\n* commit \u0027f7c06ddbfc79921d389ed6699df17e54c428571e\u0027:\n  docs: Typos and other fixes\n"
    },
    {
      "commit": "f7c06ddbfc79921d389ed6699df17e54c428571e",
      "tree": "eacc6ffa1bcfe2cd5dd0130eceab8905f24f54d4",
      "parents": [
        "98827948f1911af89687d991c5549ec1b8b8549a",
        "a8396686a20ec7219efb3d1e7050c1cd999ec83e"
      ],
      "author": {
        "name": "Scott Kennedy",
        "email": "skennedy@google.com",
        "time": "Wed Apr 03 16:16:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 16:16:35 2013 +0000"
      },
      "message": "Merge \"docs: Typos and other fixes\" into jb-mr1-dev"
    },
    {
      "commit": "572c2410478b18b948e127b182fe03f28067943b",
      "tree": "b056d7b525c480e1d71b5dfa2b608667495317c6",
      "parents": [
        "6c2e8fb4d530c5fb1352e8667449591b39d89c5a"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Wed Apr 03 09:02:22 2013 -0700"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Wed Apr 03 09:02:22 2013 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I75964c44ea483a91bc9e4be7433055be4cca57cf\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "6c2e8fb4d530c5fb1352e8667449591b39d89c5a",
      "tree": "3dcf917f686d642d84c3d24f314efbf8368759f3",
      "parents": [
        "a4ca8ea0ad14c509d1ced46482e83c1b8a518982",
        "213f98b6fe81c73f0d182fb5af312d4ce4a08041"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Apr 03 05:28:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 05:28:52 2013 +0000"
      },
      "message": "Merge \"Fix LinkProperties\u0027s equals() method.\" into jb-mr2-dev"
    },
    {
      "commit": "a4ca8ea0ad14c509d1ced46482e83c1b8a518982",
      "tree": "6b1bc9de8b5dfdfefbd1ef7cbf6b52c9dbc5c8f4",
      "parents": [
        "ddd168d65f0bc9644434d18dd82fe6c994670dba"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 02 18:01:38 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 02 18:59:15 2013 -0700"
      },
      "message": "Fix reference cycle in InputEventReceiver and Sender.\n\nIf the receiver or sender was not properly disposed, then\nthe underlying input channel might be leaked because the\nnative peer was holding a strong reference to the object.\n\nSwitched to using a weak reference.\n\nAlso updated Binder to use a new helper created for this purpose.\n\nChange-Id: I19680bf96d0548777bff02aa1d91874d1e8e41da\n"
    },
    {
      "commit": "d378ad74c61b9bd3fdaa32951c4c470fcd579ade",
      "tree": "f44a8cbf05cf8216936f1dcd805d2d913ebd9e01",
      "parents": [
        "5c0ce512c5782eb79c7b907e2dd20aa3896dd068"
      ],
      "author": {
        "name": "Justin Koh",
        "email": "justinkoh@google.com",
        "time": "Mon Apr 01 12:18:26 2013 -0700"
      },
      "committer": {
        "name": "Justin Koh",
        "email": "justinkoh@google.com",
        "time": "Tue Apr 02 18:09:27 2013 -0700"
      },
      "message": "Add global key configuration file\n\nAdd global key configuration file. A global key is one that is handled by\nPhoneWindowManager before dispatching and sent to a given component via\nbroadcast instead of going to the foreground app.\nBug: 8510681\n\nChange-Id: Ic6a8e559680d005613ed22874b27eb78bbfc4499\n"
    },
    {
      "commit": "6c918cec31f396bb19597d107856122173c90594",
      "tree": "c834a08e601e9e872054f0de625305711cd530c7",
      "parents": [
        "006c633896e6738297e7bc96128c56b03fbf8d01"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Apr 02 14:04:24 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Apr 02 14:22:03 2013 -0700"
      },
      "message": "Add direct API to get ManifestDigest\n\nThis makes it faster for applications that don\u0027t want to collect all the\ncertificates but do want the AndroidManifest.xml digest.\n\nBug: 8528639\nChange-Id: Ide9498d0981188960af194a9568387337c075bcc\n"
    },
    {
      "commit": "1eccc0cf5f7f33203091c0b475a4ad91570c85cd",
      "tree": "92130b243d8f4422bb126101573a3654cea2674a",
      "parents": [
        "55cfcd75691581ffc4f88034711a2442db619a53",
        "b1b9a8ac07ea7d438eda613f4c798dd8b10a66ce"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Tue Apr 02 20:19:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 20:19:24 2013 +0000"
      },
      "message": "Merge \"FUL now restarts when flipping tablet 180 (bug 7484464)\" into jb-mr2-dev"
    },
    {
      "commit": "dbca824dc00209c603a956f45bb684e57ee3e478",
      "tree": "45ee30f96363fde4c9e48da931644071cc082336",
      "parents": [
        "006c633896e6738297e7bc96128c56b03fbf8d01",
        "031b581af2a14e9f957e511548b3da41152b2634"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 02 19:16:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 19:16:17 2013 +0000"
      },
      "message": "Merge \"Add DateFormat.getBestDateTimePattern.\" into jb-mr2-dev"
    },
    {
      "commit": "031b581af2a14e9f957e511548b3da41152b2634",
      "tree": "6a77a8b3614f1928094b0f166a92243f34207eab",
      "parents": [
        "94d6170b67bcfb5dc5a0c988752d34e64a5f5272"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 02 11:56:23 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 02 12:00:47 2013 -0700"
      },
      "message": "Add DateFormat.getBestDateTimePattern.\n\nBug: 8283323\nChange-Id: Id8d94456b93555d799229b7dd88fcbcf5c6bf7ff\n"
    },
    {
      "commit": "c99d3c1fd618c1f64103b4f39dd95330309be5a3",
      "tree": "5b6c7977b13d9ce42d02b581eb80cb61e8fe52c0",
      "parents": [
        "579b0c091cd64a27b3e7d5bad8668dd9f3f92bb3"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Mar 29 17:49:12 2013 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Apr 02 07:30:52 2013 -0700"
      },
      "message": "Stop jank from window animations overlapping activity animations\n\nRelaunching a running activity will sometimes cause animations in that\nactivity to run, causing jank due to too much happening (window animations\non that same window running at the same time).\n\nAn earlier fix pauses application rendering while window animations are running,\nbut only the first time the activity comes up. If the window is animated\nafter that (such as is the case with re-launching it while it is running\nin the background), rendering, and therefore animations, happen as usual,\ncausing the jank.\n\nThe fix is to simply broaden the scope of when application rendering is\npaused to include anytime the window is animating.\n\nIssue #8472972 Make app animations play nice with window animations\n\nChange-Id: I1dd8da039fcb4d1faf6c0811bae97ef2847deb84\n"
    },
    {
      "commit": "3261b537c5fdec824575a1f6ad6d8942715e82e2",
      "tree": "93553978dcb21f3347194d98ee85eaf9885df247",
      "parents": [
        "73882cf489b44cfd393701c0629bb2d3613857d1"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 01 14:59:39 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Apr 01 18:14:30 2013 -0700"
      },
      "message": "RemoteControlClient receives playback position change requests\n\nRemoteControlClient defines two listener interfaces for playback\n  position, one to let the framework query the current playback\n  position, the other to request playback to seek to a given\n  position.\n\nUpdated IRemoteControlDisplay interface to support passing info\n  about whether the user of RemoteControlClient can provide a\n  playback position, and receive a new one.\nUpdated implementations of IRemoteControlDisplay to new\n  interface.\n\nBug 8120740\n\nChange-Id: I1a5a969da4d0f8c9ad27f691919dd08f8653982b\n"
    },
    {
      "commit": "213f98b6fe81c73f0d182fb5af312d4ce4a08041",
      "tree": "a2677c5e6f402f0fa59cf58830d464c908d73939",
      "parents": [
        "2fb669e68f771f07517b8d5087ca875025b9bcfb"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Apr 01 10:47:43 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Apr 02 10:08:59 2013 +0900"
      },
      "message": "Fix LinkProperties\u0027s equals() method.\n\nLinkProperties\u0027s equals() method was broken by the addition of\nstacked interfaces. The reason was that equals() was checking\nthe equality of mStackedInterfaces.keys(), which is just an\nenumeration, instead of mStackedInterfaces.keySet(), which\nactually contains the keys. The test was failing, but I didn\u0027t\nnotice.\n\nFix the bug and make the test check the objects more in depth\nso it can give more detailed error messages when equals() fails.\n\nBug: 8276725\nChange-Id: Ie990bd75f641c28e63e54d953dcd0f4de13f7c9f\n"
    },
    {
      "commit": "94d6170b67bcfb5dc5a0c988752d34e64a5f5272",
      "tree": "2d514fb601d384287f9b10f3bb1043f09a924ef6",
      "parents": [
        "742647c809622703207c34171d482c562e34b10b",
        "16ecda5317c40fc3da284952d9b3add34d6763ae"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 02 01:04:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 01:04:30 2013 +0000"
      },
      "message": "Merge \"Update view\u0027s alpha and layer docs\" into jb-mr2-dev"
    },
    {
      "commit": "16ecda5317c40fc3da284952d9b3add34d6763ae",
      "tree": "1b1a5c9a2bd631a4e0878d7c6de6759e8e8e5909",
      "parents": [
        "0102443c4f52f2e15fd731c452f0c4745312d448"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 29 10:59:59 2013 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 01 17:21:35 2013 -0700"
      },
      "message": "Update view\u0027s alpha and layer docs\n\nbug:8501661\n\nMakes the performance issues and interaction with layer type/paint\nmore clear.\n\nAdditionally, corrects change from 47ab7d6612e2b5b8b66fb261dafef7c91264e173\nto still allow displayList alpha to override layer paint\n\nChange-Id: Ic94d75865700820489370461cd8ac9f9077a8d90\n"
    },
    {
      "commit": "d42ae93c44a28f63d8f266277644864bfd0f4a16",
      "tree": "03da4e5cc0292f457aa935404026351af0be5ae0",
      "parents": [
        "3a5a774954d28911bbf9eaa7dfd8329a085fbdc5",
        "67fc67cf3e1dba17b0eae4f3923f3e93a78c7575"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 01 23:39:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 23:39:11 2013 +0000"
      },
      "message": "Merge \"Make MessageQueue and Looper final.\" into jb-mr2-dev"
    },
    {
      "commit": "67fc67cf3e1dba17b0eae4f3923f3e93a78c7575",
      "tree": "f1fe18baf44caa53ada1f970e4c1c06ce950e822",
      "parents": [
        "53de5c296a579e9012d152f8a25c08f6f6091b3b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 01 13:00:33 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 01 14:27:57 2013 -0700"
      },
      "message": "Make MessageQueue and Looper final.\n\nApplications already cannot subclass these classes because\ntheir constructors are not visible.\n\nChange-Id: Id979d86dd05f7bcc888fe4ea499ab9b95d3d5dde\n"
    },
    {
      "commit": "54531f819567066fe4a5219eb445a453551be374",
      "tree": "ce2abc799f5225427f879f48cf95bf6bc428966c",
      "parents": [
        "cd928a41a5657bc79f2488f241463dbb75f7ad42",
        "ef17e8710e1d55d1c34dd46a48c4d0eb36b15117"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Apr 01 21:20:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 21:20:16 2013 +0000"
      },
      "message": "Merge \"Flush pending input events immediately upon channel dispose\" into jb-mr2-dev"
    },
    {
      "commit": "cd928a41a5657bc79f2488f241463dbb75f7ad42",
      "tree": "b2328c62207cba5d039e61dd9d332265329320b6",
      "parents": [
        "4134ce3386e791bd2e024677197e36a3b4768dbb",
        "10f9b0997e0bde39fa153060db022a3982b78399"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Apr 01 21:19:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 21:19:11 2013 +0000"
      },
      "message": "Merge \"Start input event sequence numbers at 1\" into jb-mr2-dev"
    },
    {
      "commit": "c238f5195880b2018cfb2ad6e01cad8d425a210c",
      "tree": "46103bdfe2f048dd34ee45821eda7d29b0df9331",
      "parents": [
        "dac3fd9d90daffb4f6b08c788184ff38523348ba"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Apr 01 14:17:56 2013 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Apr 01 14:17:56 2013 -0700"
      },
      "message": "Fix AlertDialog in RTL mode\n\n- the list view need to define textAlignment to \"viewStart\" so that the\nlist view items will inherit it.\n\nChange-Id: Ib8cd75f28dcaf8a1afb22dd595490afa8e24d25f\n"
    }
  ],
  "next": "ef17e8710e1d55d1c34dd46a48c4d0eb36b15117"
}
