)]}'
{
  "log": [
    {
      "commit": "7a96c39c510923ef73bbb06ab20109f0168b8eb1",
      "tree": "70fd480a814add0fdcb274540e1f421806020f24",
      "parents": [
        "151cb90c6093d5b4371b9367b507f8aa7c1a4370"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 15 14:01:46 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Dec 11 09:50:50 2012 -0800"
      },
      "message": "Move lingering services to services.jar.\n\nThis helps reduce the pressure on framework.jar, and makes it clear\nthat it should only be used by the system_server.\n\nBug: 7333397\nChange-Id: I0858904239535380fbf30562b793e277d8c3f054\n"
    },
    {
      "commit": "d44280e28884085f014806d53413ec5a68d0ac25",
      "tree": "1c255c754481f793390ad10ee03366ab775845cc",
      "parents": [
        "f930fee835ab51400509c054f9a850715ddc6c24",
        "ebcbfb3fc7750e2873a3e7c6c707fa4e203089b6"
      ],
      "author": {
        "name": "Mita Yun",
        "email": "mitayun@google.com",
        "time": "Mon Dec 10 16:50:22 2012 -0800"
      },
      "committer": {
        "name": "Mita Yun",
        "email": "mitayun@google.com",
        "time": "Mon Dec 10 16:50:22 2012 -0800"
      },
      "message": "resolved conflicts for merge of ebcbfb3f to master\n\nChange-Id: I0658dd4a1418fbad91d9663e5b52418a979dc683\n"
    },
    {
      "commit": "ebcbfb3fc7750e2873a3e7c6c707fa4e203089b6",
      "tree": "3b2dc9d7cee24cb18c01d04e3d80aa20c116c4cd",
      "parents": [
        "a41474d45c455c98bae9986b626374cb626886ce",
        "a98cd5122be643a51f563d02069e8f9409d44394"
      ],
      "author": {
        "name": "Mita Yun",
        "email": "mitayun@google.com",
        "time": "Mon Dec 10 15:35:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 10 15:35:05 2012 -0800"
      },
      "message": "am a98cd512: Merge \"Use asynchronous messages for input method events.\" into jb-mr1-aah-dev\n\n* commit \u0027a98cd5122be643a51f563d02069e8f9409d44394\u0027:\n  Use asynchronous messages for input method events.\n"
    },
    {
      "commit": "a98cd5122be643a51f563d02069e8f9409d44394",
      "tree": "b974a4edab29639de66f1fbc88aeeece6e299e91",
      "parents": [
        "ecacbd266a7bfe52610066ec44439977cc067a98",
        "ed218c706d9e91e75b94c448cee2e6150aaee57f"
      ],
      "author": {
        "name": "Mita Yun",
        "email": "mitayun@google.com",
        "time": "Mon Dec 10 14:37:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 10 14:37:38 2012 -0800"
      },
      "message": "Merge \"Use asynchronous messages for input method events.\" into jb-mr1-aah-dev"
    },
    {
      "commit": "961ce2afbf82d4b2a9691f1c1cc75a97ce43fe2b",
      "tree": "2a97e9b90fe9b7eac855356701a1b044a32b264d",
      "parents": [
        "524962c8cf796035f7578515ba48080873d46057",
        "2588648b5268526bdc9ed7fb4e9eac36c8c693dc"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Fri Dec 07 12:40:32 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 07 12:40:32 2012 -0800"
      },
      "message": "am 2588648b: am 203f69f0: Merge \"Call setSize to sync Surface to SurfaceFlinger. DO NOT MERGE\" into jb-mr1.1-dev\n\n* commit \u00272588648b5268526bdc9ed7fb4e9eac36c8c693dc\u0027:\n  Call setSize to sync Surface to SurfaceFlinger. DO NOT MERGE\n"
    },
    {
      "commit": "2588648b5268526bdc9ed7fb4e9eac36c8c693dc",
      "tree": "a04f2e1d955cdd049866ce1677be06cae748cb1e",
      "parents": [
        "fa455b47002bbbc4faadf5d8f965b3fa9738fbf6",
        "203f69f0998d982205b1c9f550576024654e6bc3"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Fri Dec 07 12:38:15 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 07 12:38:15 2012 -0800"
      },
      "message": "am 203f69f0: Merge \"Call setSize to sync Surface to SurfaceFlinger. DO NOT MERGE\" into jb-mr1.1-dev\n\n* commit \u0027203f69f0998d982205b1c9f550576024654e6bc3\u0027:\n  Call setSize to sync Surface to SurfaceFlinger. DO NOT MERGE\n"
    },
    {
      "commit": "cd252d267b09d6838e9c363c87befd4697d45b53",
      "tree": "f67d2adb05ae196a3dd601c0d89391f6ab8df63c",
      "parents": [
        "461c8534e1b278cfa09da56b3691b1ef3de824d7",
        "524962c8cf796035f7578515ba48080873d46057"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@android.com",
        "time": "Fri Dec 07 12:24:20 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 07 12:24:20 2012 -0800"
      },
      "message": "am 524962c8: am ff411ddb: Merge \"Framework: Use holo alert drawables\"\n\n* commit \u0027524962c8cf796035f7578515ba48080873d46057\u0027:\n  Framework: Use holo alert drawables\n"
    },
    {
      "commit": "524962c8cf796035f7578515ba48080873d46057",
      "tree": "5b10b24339ed8b1e7fd6c65c0cd4755296d7af4b",
      "parents": [
        "d9cb3c538f034c4e5137a2d2827cc72f8fbaf67e",
        "ff411ddb40d250f075bfe8c4940931b27079f5cb"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@android.com",
        "time": "Fri Dec 07 12:21:41 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 07 12:21:41 2012 -0800"
      },
      "message": "am ff411ddb: Merge \"Framework: Use holo alert drawables\"\n\n* commit \u0027ff411ddb40d250f075bfe8c4940931b27079f5cb\u0027:\n  Framework: Use holo alert drawables\n"
    },
    {
      "commit": "aec227148d00e2d0ac438ea538b7e28aea766021",
      "tree": "7b648648015e3c2de57fd958c4d0d2a448fe455a",
      "parents": [
        "d6afe94a2a9109db30fa5f9fc7182f23d1a08b45",
        "5b6069ce3a87d30960e9ef5870299db90090776b"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@android.com",
        "time": "Fri Dec 07 12:18:37 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 07 12:18:37 2012 -0800"
      },
      "message": "am 5b6069ce: Merge \"Wrong parameter in LocationManagerService\"\n\n* commit \u00275b6069ce3a87d30960e9ef5870299db90090776b\u0027:\n  Wrong parameter in LocationManagerService\n"
    },
    {
      "commit": "4abf3f987f1d7c1ca909c4b4008796e1a5851951",
      "tree": "4563ed62ef4c35eed483331722e9a556a06ebc67",
      "parents": [
        "2b89f73ef805022c4e8b9bad545c1aa0421e5586"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Dec 06 22:27:59 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Dec 07 11:21:35 2012 -0800"
      },
      "message": "Call setSize to sync Surface to SurfaceFlinger. DO NOT MERGE\n\nRecentsActivity screenshots are called for very quickly after\nWindowStateAnimator prepareSurface(). Without enough delay the\nSurface.setLayer call does not propagate to the SurfaceFlinger\nand the screenshot is incorrect (black) because it stops sampling\nthe layers too early.\n\nThis fix calls Surface.setSize() for each sampled Surface in\nscreenshots. setSize forces the SurfaceFlinger to process all\ntransactions queued before returning from closeTransaction.\n\nBug 7552304 fixed.\n\nChange-Id: I1911dfa0b09cab713c55f5ba0c612496337a77df\n\nConflicts:\n\n\tservices/java/com/android/server/wm/WindowManagerService.java\n"
    },
    {
      "commit": "ff411ddb40d250f075bfe8c4940931b27079f5cb",
      "tree": "e035754b1d579b549f85a86d09de753450ea77ef",
      "parents": [
        "8ea5ce15651ebc1249a3b80531773b37e6f49b8d",
        "1129a85203ac3f238b95c4795397d84c81c01094"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@android.com",
        "time": "Fri Dec 07 11:20:08 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 07 11:20:08 2012 -0800"
      },
      "message": "Merge \"Framework: Use holo alert drawables\""
    },
    {
      "commit": "ad5814b5b118801a6de5147119e58d7494383bce",
      "tree": "3fa3c2e9f9b488b142abbbacbb647d7832c32632",
      "parents": [
        "1a10de0f6be13dcb3630ef1bec86ae0ff6a035e4",
        "bc36b52372be154994f19a9e767184b2d6b4783a"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Thu Dec 06 18:59:01 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 06 18:59:01 2012 -0800"
      },
      "message": "am bc36b523: am 7b085571: Merge \"DO NOT MERGE Adjust update interval when expiring location requests.\" into jb-mr1.1-dev\n\n* commit \u0027bc36b52372be154994f19a9e767184b2d6b4783a\u0027:\n  DO NOT MERGE Adjust update interval when expiring location requests.\n"
    },
    {
      "commit": "ed218c706d9e91e75b94c448cee2e6150aaee57f",
      "tree": "e3a886680edf70b22df31d46d1948121f38de614",
      "parents": [
        "c56a57f7d775e7b097c62f9e8fb809467dc5cf0c"
      ],
      "author": {
        "name": "Mita Yun",
        "email": "mitayun@google.com",
        "time": "Thu Dec 06 17:18:25 2012 -0800"
      },
      "committer": {
        "name": "Mita Yun",
        "email": "mitayun@google.com",
        "time": "Thu Dec 06 18:11:32 2012 -0800"
      },
      "message": "Use asynchronous messages for input method events.\n\nImproves the throughput of IME event handling by ensuring that\ninput events do not get serialized behind UI traversal and\ndrawing messages such as when the UI is animating.\n\nAdded support for creating an asynchronous Handler as part of a\nHandlerCaller.  It turns out we should be using an asynchronous\nHandler not only in IME dispatch but also in accessibility and\nwallpaper events where HandlerCaller is used.  So fixed those\nservices to also use an asynchronous Handler.\n\nChange-Id: I0b19140c9d5ca6ee300c1a150c48312fd55ed8eb\n"
    },
    {
      "commit": "5b6069ce3a87d30960e9ef5870299db90090776b",
      "tree": "6db0eb6f619b000869c4e901e540116c85cc65e6",
      "parents": [
        "1612e29826dfe55f8deca27374046c5931ce5335",
        "87c1b3127e6fecf08dfad039a4ee6eac1e3756fb"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@android.com",
        "time": "Thu Dec 06 12:45:45 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 06 12:45:46 2012 -0800"
      },
      "message": "Merge \"Wrong parameter in LocationManagerService\""
    },
    {
      "commit": "dcf03f39725deec68f644f6162fdfcc884dc9964",
      "tree": "ba70eaebefeafd3de60c27534970214487262ba1",
      "parents": [
        "9950edcdcf6eea0495ba71fa35555bbbbd26954e"
      ],
      "author": {
        "name": "Jianzheng Zhou",
        "email": "jianzheng.zhou@freescale.com",
        "time": "Fri Nov 16 13:45:20 2012 +0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 06 12:00:04 2012 -0800"
      },
      "message": "Refactor getPersistedNetworkPreference\n\nOptimize for updating mNetworkPreference according to device\u0027s networkAttributes\nsetting from overlay config.xml when connectivityservice start.\n\nChange-Id: I90286332d4f453038f1ddac7dd9d1265d96b4859\nSigned-off-by: Jianzheng Zhou \u003cjianzheng.zhou@freescale.com\u003e\n"
    },
    {
      "commit": "87c1b3127e6fecf08dfad039a4ee6eac1e3756fb",
      "tree": "fe6bc4592392fb32ad589694a2a79c94a2a074e2",
      "parents": [
        "568f923ba4cf522f699837bee0d8cba318343345"
      ],
      "author": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Sun Oct 28 03:58:44 2012 +0900"
      },
      "committer": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Fri Dec 07 04:33:05 2012 +0900"
      },
      "message": "Wrong parameter in LocationManagerService\n\nFix wrong parameter in removeTestProvider\n\nChange-Id: Ibf93833697c865904f29821e5778853127e5fb00\nSigned-off-by: You Kim \u003cyou.kim72@gmail.com\u003e\n"
    },
    {
      "commit": "bc36b52372be154994f19a9e767184b2d6b4783a",
      "tree": "f82ca5b4607bb0050e6485d07145cfcdcab3d8f9",
      "parents": [
        "23d8835dc112ef0c65fac41cf1a1a00cb6bc776d",
        "7b0855715bc6cb14e3ca67d815915d2172f0bc12"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Dec 05 14:06:33 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 05 14:06:33 2012 -0800"
      },
      "message": "am 7b085571: Merge \"DO NOT MERGE Adjust update interval when expiring location requests.\" into jb-mr1.1-dev\n\n* commit \u00277b0855715bc6cb14e3ca67d815915d2172f0bc12\u0027:\n  DO NOT MERGE Adjust update interval when expiring location requests.\n"
    },
    {
      "commit": "7b0855715bc6cb14e3ca67d815915d2172f0bc12",
      "tree": "0588e83ae4d2ce60b9c4ecc42310e9ea52d7cf3a",
      "parents": [
        "ab3a5d944eb5b39ed00f3422cee691570e05a3ce",
        "5959bf2d3c7fcfa4058cbcf81c3dc376c962d25e"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Dec 05 14:03:27 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 14:03:28 2012 -0800"
      },
      "message": "Merge \"DO NOT MERGE Adjust update interval when expiring location requests.\" into jb-mr1.1-dev"
    },
    {
      "commit": "384e6fe84d446067dccec69404e4a3ca507ebe07",
      "tree": "27c2cead41faada62dec81aa56025eb88f9c230d",
      "parents": [
        "fb21aa84a804c8d7dd0aad7df1e4a336ed59f991",
        "1edc61119d145b05f0b5e1323a2fc0fa6a29d4bc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Dec 05 12:28:25 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 05 12:28:25 2012 -0800"
      },
      "message": "am 1edc6111: am 61e21940: am 7fcb5dc5: Merge \"Pin electron beam surface to natural orientation.\" into jb-mr1.1-dev\n\n* commit \u00271edc61119d145b05f0b5e1323a2fc0fa6a29d4bc\u0027:\n  Pin electron beam surface to natural orientation.\n"
    },
    {
      "commit": "fb21aa84a804c8d7dd0aad7df1e4a336ed59f991",
      "tree": "35ea48a0839d11206817939a39ed7aba86c31922",
      "parents": [
        "1c328df48217616bf2975c7d38e8884b23cd306c",
        "8ec9f8f074ea35cad6e6a75a87e4bde947f12ea1"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Dec 05 12:28:17 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 05 12:28:17 2012 -0800"
      },
      "message": "am 8ec9f8f0: am dc5b21a5: am 487f8e93: Merge \"Fix an issue on installing 3rd-party IME by a non-primary user\" into jb-mr1.1-dev\n\n* commit \u00278ec9f8f074ea35cad6e6a75a87e4bde947f12ea1\u0027:\n  Fix an issue on installing 3rd-party IME by a non-primary user\n"
    },
    {
      "commit": "cc6f467c353b41df7db912556ab9370ffe22af68",
      "tree": "78eb13b511ddc3c6d45176eaa5bd2514efdc930e",
      "parents": [
        "07e186ea54ada07e09e74c13e9b19dd9cb8325a7",
        "98c958097b0dd458ffd3e12f9692c0c9522d932e"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Wed Dec 05 12:23:38 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 05 12:23:38 2012 -0800"
      },
      "message": "am 98c95809: am 8f7eddbe: am 652d8fc9: Merge \"PRIORITY_MIN notifications should be truly ambient.\" into jb-mr1.1-dev\n\n* commit \u002798c958097b0dd458ffd3e12f9692c0c9522d932e\u0027:\n  PRIORITY_MIN notifications should be truly ambient.\n"
    },
    {
      "commit": "de8f01a99b787dc90249b05985686f23e11faf1b",
      "tree": "73ceef7d1cb0031d9eea92e49bd36b15c9386fda",
      "parents": [
        "0a19ad089ad93740debc52c122726507e4517ccb",
        "d201bf77be606fb21ef469e0174d64a919f92887"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Dec 05 12:23:19 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 05 12:23:19 2012 -0800"
      },
      "message": "am d201bf77: am 9c902ca4: am 33669f35: Merge \"Kill dreams that do not create a timely service connection.\" into jb-mr1.1-dev\n\n* commit \u0027d201bf77be606fb21ef469e0174d64a919f92887\u0027:\n  Kill dreams that do not create a timely service connection.\n"
    },
    {
      "commit": "5959bf2d3c7fcfa4058cbcf81c3dc376c962d25e",
      "tree": "9b2be150745dc6278021f9a2523754f867b15830",
      "parents": [
        "82a76800ad78b7aa6e2bde2f6512e4ffbe21873f"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Dec 05 09:57:40 2012 -0800"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Dec 05 12:15:16 2012 -0800"
      },
      "message": "DO NOT MERGE Adjust update interval when expiring location requests.\n\nCherry-pick I88b419c92940b7e536d48b26e5fc0f72f3c9e73d\n\nThis is a more complete solution for this issue that disables\nlocation providers when expiring their last request *and* adjusts\nupdate intervals when expiring any request. This should help\nfurther limit battery drain when a high-frequency-update app\nexits, as it allows the system to throttle the update interval\nback down to something appropriate for the remaining listeners.\n\nBug: 7611837\nChange-Id: I7629a90f4c693be4bf96d662bd3a8b06dae0b089\n"
    },
    {
      "commit": "0a19ad089ad93740debc52c122726507e4517ccb",
      "tree": "7b6d0ec0705ee59c55184e4a45673d7d712f06af",
      "parents": [
        "e81f55bae83559a39778fdd6a3e0b031c65dc8f9"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Dec 05 09:57:40 2012 -0800"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Dec 05 09:57:40 2012 -0800"
      },
      "message": "Adjust update interval when expiring location requests.\n\nThis is a more complete solution for this issue that disables\nlocation providers when expiring their last request *and* adjusts\nupdate intervals when expiring any request. This should help\nfurther limit battery drain when a high-frequency-update app\nexits, as it allows the system to throttle the update interval\nback down to something appropriate for the remaining listeners.\n\nBug: 7611837\nChange-Id: I88b419c92940b7e536d48b26e5fc0f72f3c9e73d\n"
    },
    {
      "commit": "1edc61119d145b05f0b5e1323a2fc0fa6a29d4bc",
      "tree": "7c0d7b33d7fb4d39afb9a9d8927aeea79ee61a47",
      "parents": [
        "8ec9f8f074ea35cad6e6a75a87e4bde947f12ea1",
        "61e21940ffd643dad1aa6c7c3dc9933815aecd74"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 04 17:21:00 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 17:21:00 2012 -0800"
      },
      "message": "am 61e21940: am 7fcb5dc5: Merge \"Pin electron beam surface to natural orientation.\" into jb-mr1.1-dev\n\n* commit \u002761e21940ffd643dad1aa6c7c3dc9933815aecd74\u0027:\n  Pin electron beam surface to natural orientation.\n"
    },
    {
      "commit": "61e21940ffd643dad1aa6c7c3dc9933815aecd74",
      "tree": "e756081a4b5d91ed16435e940dcaed7122565a35",
      "parents": [
        "dc5b21a54850735bdfd1fbbd83375b2578ed4b02",
        "7fcb5dc5e9fbad0f183f425e88e576aaca98b0d7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 04 17:18:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 17:18:52 2012 -0800"
      },
      "message": "am 7fcb5dc5: Merge \"Pin electron beam surface to natural orientation.\" into jb-mr1.1-dev\n\n* commit \u00277fcb5dc5e9fbad0f183f425e88e576aaca98b0d7\u0027:\n  Pin electron beam surface to natural orientation.\n"
    },
    {
      "commit": "7fcb5dc5e9fbad0f183f425e88e576aaca98b0d7",
      "tree": "8d2aa403af62affc8b5b8cde25b6c38d34ccdf4a",
      "parents": [
        "487f8e93b0b5e2949fbfa6b60fd5e0a7a3e4d5b7",
        "7f3994ec2a5dce1a037f04714b1f25cab85affb6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 04 17:14:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 17:15:34 2012 -0800"
      },
      "message": "Merge \"Pin electron beam surface to natural orientation.\" into jb-mr1.1-dev"
    },
    {
      "commit": "8ec9f8f074ea35cad6e6a75a87e4bde947f12ea1",
      "tree": "40b6eb553f15415be4e382ba6f788ffad2ff2d73",
      "parents": [
        "c0512832f49a80697f2eebb889eeaa035a35029c",
        "dc5b21a54850735bdfd1fbbd83375b2578ed4b02"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Dec 04 17:14:17 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 17:14:17 2012 -0800"
      },
      "message": "am dc5b21a5: am 487f8e93: Merge \"Fix an issue on installing 3rd-party IME by a non-primary user\" into jb-mr1.1-dev\n\n* commit \u0027dc5b21a54850735bdfd1fbbd83375b2578ed4b02\u0027:\n  Fix an issue on installing 3rd-party IME by a non-primary user\n"
    },
    {
      "commit": "dc5b21a54850735bdfd1fbbd83375b2578ed4b02",
      "tree": "e50e9a3640e4388062467066bb98d2c057d34a04",
      "parents": [
        "231719fa9c22df02408c17444503b790c9f0d1b9",
        "487f8e93b0b5e2949fbfa6b60fd5e0a7a3e4d5b7"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Dec 04 17:12:10 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 17:12:10 2012 -0800"
      },
      "message": "am 487f8e93: Merge \"Fix an issue on installing 3rd-party IME by a non-primary user\" into jb-mr1.1-dev\n\n* commit \u0027487f8e93b0b5e2949fbfa6b60fd5e0a7a3e4d5b7\u0027:\n  Fix an issue on installing 3rd-party IME by a non-primary user\n"
    },
    {
      "commit": "487f8e93b0b5e2949fbfa6b60fd5e0a7a3e4d5b7",
      "tree": "b0bfcd3291520ce298550d1741aeecfe5ef587d9",
      "parents": [
        "fff0fb87271faf8f19d9fd062c5ebfb720204223",
        "81f8b7c66750a0a89c8e6b6037136ca169c96f95"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Dec 04 17:09:29 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 17:09:57 2012 -0800"
      },
      "message": "Merge \"Fix an issue on installing 3rd-party IME by a non-primary user\" into jb-mr1.1-dev"
    },
    {
      "commit": "6861e258f00425f299155a501db59817e8c0c2e9",
      "tree": "6fbfee40d9a6ba82360e9fe21ccf75a4a7f5ca11",
      "parents": [
        "5931fa81bdf776f35367d8652a2c6d27452c0f08",
        "1d20e05e487faa02acca2dcb2ae9d527d097ce7d"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 16:35:23 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 16:35:23 2012 -0800"
      },
      "message": "am 1d20e05e: am 82a76800: Merge \"DO NOT MERGE Notify provider when disposing last UpdateRecord\" into jb-mr1.1-dev\n\n* commit \u00271d20e05e487faa02acca2dcb2ae9d527d097ce7d\u0027:\n  DO NOT MERGE Notify provider when disposing last UpdateRecord\n"
    },
    {
      "commit": "98c958097b0dd458ffd3e12f9692c0c9522d932e",
      "tree": "10e82d1c4cc79660cd3ec19a83d7da2a3341b1a0",
      "parents": [
        "32ec47c1b15b5a9c8f8d9e9f324bb6fe353119fe",
        "8f7eddbef33f97e7d4439707ac0039be4c81ef0e"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Tue Dec 04 16:35:12 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 16:35:12 2012 -0800"
      },
      "message": "am 8f7eddbe: am 652d8fc9: Merge \"PRIORITY_MIN notifications should be truly ambient.\" into jb-mr1.1-dev\n\n* commit \u00278f7eddbef33f97e7d4439707ac0039be4c81ef0e\u0027:\n  PRIORITY_MIN notifications should be truly ambient.\n"
    },
    {
      "commit": "d201bf77be606fb21ef469e0174d64a919f92887",
      "tree": "698456eb503f96fb9be4e6d070d6d60c5e33bb93",
      "parents": [
        "eac4be7ef28a9dfba9e6cc6d0501b4bd2146041a",
        "9c902ca4732f8c2a5afda4047415d1de6d3db493"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Dec 04 16:34:55 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 16:34:55 2012 -0800"
      },
      "message": "am 9c902ca4: am 33669f35: Merge \"Kill dreams that do not create a timely service connection.\" into jb-mr1.1-dev\n\n* commit \u00279c902ca4732f8c2a5afda4047415d1de6d3db493\u0027:\n  Kill dreams that do not create a timely service connection.\n"
    },
    {
      "commit": "1d20e05e487faa02acca2dcb2ae9d527d097ce7d",
      "tree": "94b848714f49e631c29d492274b5c0189d7152d5",
      "parents": [
        "a8a19ac5ab6c0612fe0d5bcc10b84d585fcaf509",
        "82a76800ad78b7aa6e2bde2f6512e4ffbe21873f"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 16:32:18 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 16:32:18 2012 -0800"
      },
      "message": "am 82a76800: Merge \"DO NOT MERGE Notify provider when disposing last UpdateRecord\" into jb-mr1.1-dev\n\n* commit \u002782a76800ad78b7aa6e2bde2f6512e4ffbe21873f\u0027:\n  DO NOT MERGE Notify provider when disposing last UpdateRecord\n"
    },
    {
      "commit": "8f7eddbef33f97e7d4439707ac0039be4c81ef0e",
      "tree": "26ea2e35cb0e26267177b4b6131c6e9c45f85182",
      "parents": [
        "63cc22a5c393fec725d271f5a7d82fb2fe05647f",
        "652d8fc944c011eb15202f678588723aa9f38a84"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Tue Dec 04 16:32:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 16:32:05 2012 -0800"
      },
      "message": "am 652d8fc9: Merge \"PRIORITY_MIN notifications should be truly ambient.\" into jb-mr1.1-dev\n\n* commit \u0027652d8fc944c011eb15202f678588723aa9f38a84\u0027:\n  PRIORITY_MIN notifications should be truly ambient.\n"
    },
    {
      "commit": "9c902ca4732f8c2a5afda4047415d1de6d3db493",
      "tree": "3e6fdf3ecc28689a6961ec4338058adcbc08633b",
      "parents": [
        "4fa27f314038620fd3c50170d2f8caebeb6005bb",
        "33669f35e4b63bec10bb7202b94340ebd41fbb10"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Dec 04 16:31:33 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 16:31:33 2012 -0800"
      },
      "message": "am 33669f35: Merge \"Kill dreams that do not create a timely service connection.\" into jb-mr1.1-dev\n\n* commit \u002733669f35e4b63bec10bb7202b94340ebd41fbb10\u0027:\n  Kill dreams that do not create a timely service connection.\n"
    },
    {
      "commit": "83323f427d3c3e9b9a76c4cb6f76a5707cc686bd",
      "tree": "3e56115f8f8a21471aa4623a65e2170d9f005d04",
      "parents": [
        "4791ce9d2256ecd79b76768651d7f722ab17942c",
        "9339c401cf1a056a3a1caddc648334069e6bd267"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Dec 04 16:15:31 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 16:15:31 2012 -0800"
      },
      "message": "Merge \"Further decouple layout and animation.\""
    },
    {
      "commit": "9339c401cf1a056a3a1caddc648334069e6bd267",
      "tree": "3dce5deb2d047035903e76ae22e98590df7ea6b4",
      "parents": [
        "39ec1ec187c3b27f2819aaf5a3a47819af56e44d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 11:23:56 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Dec 04 16:13:45 2012 -0800"
      },
      "message": "Further decouple layout and animation.\n\nLoad animation parameters dynamically and synchronously rather than\nasynchronously. Eliminates storing parameters and cross-barrier method\ncalls.\n\nChange-Id: Ia9162f0cb3fe60da35fd9fb5f24f31f88891b950\n"
    },
    {
      "commit": "e0fa1b387f6ae3d347d76860eefff7a0d149cdba",
      "tree": "147bcb608d5bf99de89a4870f4813e43cbf7c186",
      "parents": [
        "a7acb4b9cdbf39b3456bd45ef82681716e1ab2f8"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 15:04:43 2012 -0800"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 15:42:22 2012 -0800"
      },
      "message": "DO NOT MERGE Notify provider when disposing last UpdateRecord\n\nCherry-pick of Id48151eb7de40164258cde7da220a4d6bb34b89a\n\nLocation providers were not being notified of the change in status\nwhen the last UpdateRecord was removed due to numUpdates exhaustion\nor request expiry. Oops! Enjoy some free battery life!\n\nBug: 7611837\nChange-Id: I66303b355be4e4a56a81efb5406c9353b2588595\n"
    },
    {
      "commit": "652d8fc944c011eb15202f678588723aa9f38a84",
      "tree": "3f8c2a8abed119362d0c8c05225d8de6e0445602",
      "parents": [
        "4eab3d88a21b07d029a1b22271d7d1537a245266",
        "526fa0e6d5cfe6ca3f390982c169b43fcb7d6f78"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Tue Dec 04 15:12:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 15:13:17 2012 -0800"
      },
      "message": "Merge \"PRIORITY_MIN notifications should be truly ambient.\" into jb-mr1.1-dev"
    },
    {
      "commit": "8b38b29b5213c429d1e9802d02549b5638f40706",
      "tree": "ffdac8e6ae2728b65fb33c7e378c51001d005855",
      "parents": [
        "39ec1ec187c3b27f2819aaf5a3a47819af56e44d"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 15:04:43 2012 -0800"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 15:04:43 2012 -0800"
      },
      "message": "Notify provider when disposing last UpdateRecord\n\nLocation providers were not being notified of the change in status\nwhen the last UpdateRecord was removed due to numUpdates exhaustion\nor request expiry. Oops! Enjoy some free battery life!\n\nBug: 7611837\nChange-Id: Id48151eb7de40164258cde7da220a4d6bb34b89a\n"
    },
    {
      "commit": "7f3994ec2a5dce1a037f04714b1f25cab85affb6",
      "tree": "28ebf44ea836cfdcbe41ead53943104a1d026b8d",
      "parents": [
        "e0a676a3bb0e7b9aced9359a021e4c5d2ffef752"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 04 14:04:28 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 04 14:40:23 2012 -0800"
      },
      "message": "Pin electron beam surface to natural orientation.\n\nIf a rotation occurred while the electron beam surface was showing,\nthe surface may have appeared in the wrong orientation.  We fix this\nproblem by adjusting the transformation matrix of the electron beam\nsurface according to the display orientation whenever a display\ntransaction occurs.\n\nThe rotation itself is allowed to proceed but it is not visible\nto the user.  We must let this happen so that the lock screen\nis correctly oriented when the screen is turned back on.\n\nNote that the electron beam surface serves two purposes.\n\nFirst, it is used to play the screen off animation.\nWhen the animation is finished, the surface remains visible but is\nsolid black.  Then we turn the screen off.\n\nSecond, when we turn the screen back on we leave the electron beam\nsurface showing until the window manager is ready to show the\nnew content.  This prevents the user from seeing a flash of the\nold content while the screen is being turned on.  When everything is\nready, we dismiss the electron beam.\n\nIt\u0027s important for the electron beam to remain visible for\nthe entire duration from just before the screen is turned off until\nafter the screen is turned on and is ready to be seen.  This is\nwhy we cannot fix the bug by deferring rotation or otherwise\ngetting in the way of the window manager doing what it needs\nto do to get the screen ready when the screen is turned on again.\n\nBug: 7479740\nChange-Id: I2fcf35114ad9b2e00fdfc67793be6df62c8dc4c3\n"
    },
    {
      "commit": "526fa0e6d5cfe6ca3f390982c169b43fcb7d6f78",
      "tree": "b04e69e730419c7f3d5a375c271c9c13b70aa004",
      "parents": [
        "e0a676a3bb0e7b9aced9359a021e4c5d2ffef752"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Dec 04 14:51:50 2012 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Dec 04 17:01:12 2012 -0500"
      },
      "message": "PRIORITY_MIN notifications should be truly ambient.\n\nIf your notification is set to MIN priority, it will never\nattempt to interrupt the user, either by an icon (already\nimplemented), or (new in this patch) by LED, vibration, or\nsound.\n\nBug: 7648785\nChange-Id: Ia0f8e010e62029d8d8ef1955dd20b7c79fb68398\n"
    },
    {
      "commit": "33669f35e4b63bec10bb7202b94340ebd41fbb10",
      "tree": "061c2dc18ee46d64199d0897697f055588c58fab",
      "parents": [
        "80a90efcbf32b30b886380c67585ddfb41c35437",
        "006f567c214d67752cc7c2b6446c328744f40af7"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Dec 04 13:45:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 13:45:50 2012 -0800"
      },
      "message": "Merge \"Kill dreams that do not create a timely service connection.\" into jb-mr1.1-dev"
    },
    {
      "commit": "006f567c214d67752cc7c2b6446c328744f40af7",
      "tree": "5c7c54631c1591361882a3bd698c42198c61a3b6",
      "parents": [
        "9f2532bf1215dffb4058d1b01834b3a0a7272fdc"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Dec 03 08:42:25 2012 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Dec 04 15:10:04 2012 -0500"
      },
      "message": "Kill dreams that do not create a timely service connection.\n\nImplement a timeout between when the dream binds and\nwhen the dream creates the service connection.  If\nthe connection is not created within a certain amount of\ntime, stop the dream.\n\nThis fixes the current bug where a dream that crashes in\nonCreate (or the ctor) can put the dream controller in a\nbad state until the screen is turned off.\n\nThe timeout is equal to the service restart delay in\nactivity manager (ActiveServices) to avoid restarting\n(and recrashing).\n\nBug:7596707\nChange-Id: I3e11efc6af0b79ec4cb0fbc94e4e109c7602ddac\n"
    },
    {
      "commit": "39ec1ec187c3b27f2819aaf5a3a47819af56e44d",
      "tree": "283aa2aa3583dc753e25464e164b6893bd355fd5",
      "parents": [
        "1ef98fb37e1b1cb0d2bf6ab448b4ff52f5f28e80",
        "a6d0b6f8518c7ee110c907166d53a8d46ead97f1"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 11:56:04 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 11:56:04 2012 -0800"
      },
      "message": "Merge \"Fix Wrong parameter in HashMap.remove\""
    },
    {
      "commit": "1ef98fb37e1b1cb0d2bf6ab448b4ff52f5f28e80",
      "tree": "93cf79276706fd044fdc2cb68653be29586fe66c",
      "parents": [
        "3ff1139032b0d63522b627ccf69fdd0832a6da47",
        "5cb09b7dc5b2a3bfa895bca5402af9edc8ec9d9a"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Dec 04 11:29:53 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 11:29:53 2012 -0800"
      },
      "message": "am 5cb09b7d: am 8b283df9: am b6b4f171: Merge \"Change getName and getAddress permission to BLUETOOTH\" into jb-mr1.1-dev\n\n* commit \u00275cb09b7dc5b2a3bfa895bca5402af9edc8ec9d9a\u0027:\n  Change getName and getAddress permission to BLUETOOTH\n"
    },
    {
      "commit": "5cb09b7dc5b2a3bfa895bca5402af9edc8ec9d9a",
      "tree": "f85a8c1bdbb1c7bafbce61bfdd60d085db2611af",
      "parents": [
        "994901ee7f096751cc593e213ea60a1cbdd9504a",
        "8b283df989f9b8b71797f9feaeb15cb012ab3190"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Dec 04 11:27:11 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 11:27:11 2012 -0800"
      },
      "message": "am 8b283df9: am b6b4f171: Merge \"Change getName and getAddress permission to BLUETOOTH\" into jb-mr1.1-dev\n\n* commit \u00278b283df989f9b8b71797f9feaeb15cb012ab3190\u0027:\n  Change getName and getAddress permission to BLUETOOTH\n"
    },
    {
      "commit": "8b283df989f9b8b71797f9feaeb15cb012ab3190",
      "tree": "e2afe9eb70b2925c7b4ec6368117f1f0509472e7",
      "parents": [
        "d9e46ac5ffcd2a1b3abf70bde14af7d10ebf018b",
        "b6b4f171ff38ccac833edb2a1ad7f725ed068d46"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Dec 04 11:25:14 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 11:25:14 2012 -0800"
      },
      "message": "am b6b4f171: Merge \"Change getName and getAddress permission to BLUETOOTH\" into jb-mr1.1-dev\n\n* commit \u0027b6b4f171ff38ccac833edb2a1ad7f725ed068d46\u0027:\n  Change getName and getAddress permission to BLUETOOTH\n"
    },
    {
      "commit": "af5ddbfcf59e1e0bcbd43f1f88270f822c5083b8",
      "tree": "65b8f69e81c2897389d2f06f31345d96c558ed90",
      "parents": [
        "9f2532bf1215dffb4058d1b01834b3a0a7272fdc"
      ],
      "author": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Dec 04 10:47:43 2012 -0800"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Tue Dec 04 10:47:43 2012 -0800"
      },
      "message": "Change getName and getAddress permission to BLUETOOTH\n\nThe permissions were set as BLUETOOTH_ADMIN by mistake. Correct them\nbug 7665249\n\nChange-Id: Ic1bdbeb25e8f55d886f9a8d38920cbb769dd38ca\n"
    },
    {
      "commit": "bebd1a092ea2fe35d78ba9dce7374f3f5ec30f2b",
      "tree": "3dde564e30c5a2ea13f0cf01f91d3febbe6b93a3",
      "parents": [
        "56a715ef7af1e8e808ac6274e0456d9731b97e7a",
        "d3b9dd6ca6325abe5cf2049c2894a86b256a3db1"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Dec 04 10:39:59 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 10:39:59 2012 -0800"
      },
      "message": "am d3b9dd6c: am 40627de3: Merge \"Remove unnecessary references in WindowManagerService\"\n\n* commit \u0027d3b9dd6ca6325abe5cf2049c2894a86b256a3db1\u0027:\n  Remove unnecessary references in WindowManagerService\n"
    },
    {
      "commit": "d3b9dd6ca6325abe5cf2049c2894a86b256a3db1",
      "tree": "7692bb5b97c478def9ace0973c41f250b15b0d32",
      "parents": [
        "59912d40babedccb2346d94651f79491cbe5fd8e",
        "40627de3044c4a23c20c2229cab20aab21ff2b03"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Dec 04 10:38:32 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 04 10:38:32 2012 -0800"
      },
      "message": "am 40627de3: Merge \"Remove unnecessary references in WindowManagerService\"\n\n* commit \u002740627de3044c4a23c20c2229cab20aab21ff2b03\u0027:\n  Remove unnecessary references in WindowManagerService\n"
    },
    {
      "commit": "a6d0b6f8518c7ee110c907166d53a8d46ead97f1",
      "tree": "ae25ade813091541bb4465a38f5cda1d12696afd",
      "parents": [
        "efe89f28cbc385fd628defe63f8e2285312987aa"
      ],
      "author": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Sun Oct 28 03:58:44 2012 +0900"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Dec 04 09:57:23 2012 -0800"
      },
      "message": "Fix Wrong parameter in HashMap.remove\n\nChange-Id: Ibf93833697c865904f29821e5778853127e5fb00\nSigned-off-by: You Kim \u003cyou.kim72@gmail.com\u003e\n\nConflicts:\n\n\tservices/java/com/android/server/LocationManagerService.java\n"
    },
    {
      "commit": "cb6291c9b16d6c2ead8224e81636ff1d8ee5c216",
      "tree": "670ead497b8f5f964b7ff943042287d0e283e8f3",
      "parents": [
        "568f923ba4cf522f699837bee0d8cba318343345"
      ],
      "author": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Tue Dec 04 23:22:28 2012 +0900"
      },
      "committer": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Wed Dec 05 00:10:03 2012 +0900"
      },
      "message": "Remove unnecessary references in WindowManagerService\n\nClean message routines in WindowManagerService.\n\nChange-Id: I3e3106b6499c67d1fd7133c987c0452a73141a3f\nSigned-off-by: You Kim \u003cyou.kim72@gmail.com\u003e\n"
    },
    {
      "commit": "81f8b7c66750a0a89c8e6b6037136ca169c96f95",
      "tree": "6a517e3143e31e9dd279f52648b28aa90d4a53a4",
      "parents": [
        "16cf643694194176954b709e5ee4dfcb711f2a57"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Dec 04 20:42:56 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Dec 04 21:16:59 2012 +0900"
      },
      "message": "Fix an issue on installing 3rd-party IME by a non-primary user\n\nBug: 7573552\n\nCurrently IMMS doesn\u0027t receive install/uninstall messages. Accordingly enabled IMEs\u0027 list is not refreshed properly.\n\nChange-Id: I25e9798a65f528dd270cd6bb1f14b1d887194787\n"
    },
    {
      "commit": "f9ae5f75af259437391e41dac7f3c4461c495dd9",
      "tree": "f102e47b480849cf5b5140d73473629bfcd68265",
      "parents": [
        "dac257cd73cce3e63dd21267520660dd6869baf4",
        "23307cbb6b432b658b0fd7437dacfedd6298af94"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 03 16:08:35 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 16:08:35 2012 -0800"
      },
      "message": "am 23307cbb: am e0a676a3: Merge \"Fix issue #7649590: Background windows sometimes not being hidden for secondary users\" into jb-mr1.1-dev\n\n* commit \u002723307cbb6b432b658b0fd7437dacfedd6298af94\u0027:\n  Fix issue #7649590: Background windows sometimes not being hidden for secondary users\n"
    },
    {
      "commit": "2c5f782094c5668a9615e2f9f41063386ae52b28",
      "tree": "e9ee947c253fed4757ee743a69042f6f7e922664",
      "parents": [
        "a5c9fd93cc16df4708ea4c85239fad7b5be16d43",
        "152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 03 15:59:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 15:59:32 2012 -0800"
      },
      "message": "Merge \"Refactoring of the screen magnification feature.\""
    },
    {
      "commit": "23307cbb6b432b658b0fd7437dacfedd6298af94",
      "tree": "e0e339294907aba7ee73493f0c707d77f241f192",
      "parents": [
        "9857e24612d97f2e4e9145294375ce88029a52b3",
        "e0a676a3bb0e7b9aced9359a021e4c5d2ffef752"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 03 15:54:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 15:54:34 2012 -0800"
      },
      "message": "am e0a676a3: Merge \"Fix issue #7649590: Background windows sometimes not being hidden for secondary users\" into jb-mr1.1-dev\n\n* commit \u0027e0a676a3bb0e7b9aced9359a021e4c5d2ffef752\u0027:\n  Fix issue #7649590: Background windows sometimes not being hidden for secondary users\n"
    },
    {
      "commit": "e0a676a3bb0e7b9aced9359a021e4c5d2ffef752",
      "tree": "d2210840f1856902832120e2667b6c0c5c053499",
      "parents": [
        "cd6ffc82ef248dc0260f2b5fb615d0ae727664b9",
        "bb4ca5271a806c94a59d98c5c718db7b89728246"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 03 15:51:27 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 15:51:47 2012 -0800"
      },
      "message": "Merge \"Fix issue #7649590: Background windows sometimes not being hidden for secondary users\" into jb-mr1.1-dev"
    },
    {
      "commit": "bb4ca5271a806c94a59d98c5c718db7b89728246",
      "tree": "26e3c86678c04445c774e7e5856dd8d0b3e896d1",
      "parents": [
        "f87488095e49028eb3be5a8a53a372e38eba537c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 03 14:09:06 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 03 14:09:06 2012 -0800"
      },
      "message": "Fix issue #7649590: Background windows sometimes not being hidden for secondary users\n\nThere are two things going on here:\n\n(1) In secondary users, some times theme information such as whether\nthe window is full screen opaque was not being retrieved, so the window\nmanager didn\u0027t know that it could hide the windows behind the app.\nThis would just be a performance problem, except that:\n\n(2) There appear to be a number of applications that declare that they\nare full screen opaque, when in fact they are not.  Instead they are\nusing window surfaces with an alpha channel, and setting some pixels\nin their window to a non-opaque alpha level.  This will allow you to\nsee whatever is behind the app.  If the system happens to completely\nremove the windows behind the app, and somebody is filling the frame\nbuffer with black, then you will see what the app intends -- those\nparts of its UI blended with black.  If one of those cases doesn\u0027t\nhold (and though we have never guaranteed they would, in practice this\nis generally what happens), then you will see something else.\n\nAt any rate, if nothing else than for performance reasons, we need to\nfix issue #1.\n\nIt turns out what is happening here is that the AttributeCache used\nby the activity manager and window manager to retreive theme and other\ninformation about applications has not yet been updated for multi-user.\n\nOne of the things we retrieve from this is the theme information telling\nthe window manager whether an application\u0027s window should be treated\nas full screen opaque, allowing it to hide any windows behind it.  In\nthe current implementation, the AttributeCache always retrieves this\ninformation about the application as the primary user (user 0).\n\nSo, if you have an application that is installed on a secondary user but\nnot installed on the primary user, when the AttributeCache tries to retrieve\nthe requested information for it, then from the perspective of the primary user\nit considers the application not installed, and is not able to retrieve that\ninfo.\n\nThe change here makes AttributeCache multi-user aware, keeping all of its\ndata separately per-user, and requiring that callers now provide the user\nthey want to retrieve information for.  Activity manager and window manager\nare updated to be able to pass in the user when needed.  This required some\nfiddling of the window manager to have that information available -- in\nparticular it needs to be associated with the AppWindowToken.\n\nChange-Id: I4b50b4b3a41bab9d4689e61f3584778e451343c8\n"
    },
    {
      "commit": "34caf1b919986328be47f2d4a04da6f3663bf316",
      "tree": "77e0c141c0072ec99e4fecd84ad112d1ea7ff134",
      "parents": [
        "ab6376b068b9d01b13951e09db21a7a9c128a1b8",
        "ab38b0f0fcf35c24509eee9a5bad9c0e157c995d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@android.com",
        "time": "Mon Dec 03 13:53:41 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 13:53:41 2012 -0800"
      },
      "message": "am ab38b0f0: am 568f923b: Merge \"removing ineffective code in WifiService.java\"\n\n* commit \u0027ab38b0f0fcf35c24509eee9a5bad9c0e157c995d\u0027:\n  removing ineffective code in WifiService.java\n"
    },
    {
      "commit": "ab38b0f0fcf35c24509eee9a5bad9c0e157c995d",
      "tree": "d01fcd1fe035b3f9f78cd0d0cfcac44c444e4034",
      "parents": [
        "c9a1bdf5a01da4b2c46c6d273eda680d61f7ea75",
        "568f923ba4cf522f699837bee0d8cba318343345"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@android.com",
        "time": "Mon Dec 03 13:51:32 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 13:51:32 2012 -0800"
      },
      "message": "am 568f923b: Merge \"removing ineffective code in WifiService.java\"\n\n* commit \u0027568f923ba4cf522f699837bee0d8cba318343345\u0027:\n  removing ineffective code in WifiService.java\n"
    },
    {
      "commit": "568f923ba4cf522f699837bee0d8cba318343345",
      "tree": "6c54aaaa5715fea2d56a724a2248bea6476fc902",
      "parents": [
        "cdd03f5487d3d0a088651c90fc5122b5fc3f62b3",
        "2bea585494e14ff551eb02796b873473e8f0dd2e"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@android.com",
        "time": "Mon Dec 03 13:37:16 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 13:37:16 2012 -0800"
      },
      "message": "Merge \"removing ineffective code in WifiService.java\""
    },
    {
      "commit": "9a9f306c3a320a070c2cdeb4178d7ab9db21a195",
      "tree": "97a87bc363a612862e789dd479678124dcad91d7",
      "parents": [
        "eeff7b54086bb68ceda51c8ae9e033a59e17988c",
        "e398d2323dfc6baab4a7568a8c2b42fb4886c149"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Mon Dec 03 11:54:57 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 11:54:57 2012 -0800"
      },
      "message": "am e398d232: am fb9947ad: am 40973c53: Merge \"BT is still on after enable flight mode, and reboot the DUT\" into jb-mr1.1-dev\n\n* commit \u0027e398d2323dfc6baab4a7568a8c2b42fb4886c149\u0027:\n  BT is still on after enable flight mode, and reboot the DUT\n"
    },
    {
      "commit": "e398d2323dfc6baab4a7568a8c2b42fb4886c149",
      "tree": "5f1699dae45465a49c5f78bf5915a3ef4179119a",
      "parents": [
        "da13b894ec13c975b027b78fa7a6ff07208c8fd3",
        "fb9947ad77e9d1d2ea259d7fbc170c275810b2b9"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Mon Dec 03 11:52:43 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 11:52:43 2012 -0800"
      },
      "message": "am fb9947ad: am 40973c53: Merge \"BT is still on after enable flight mode, and reboot the DUT\" into jb-mr1.1-dev\n\n* commit \u0027fb9947ad77e9d1d2ea259d7fbc170c275810b2b9\u0027:\n  BT is still on after enable flight mode, and reboot the DUT\n"
    },
    {
      "commit": "fb9947ad77e9d1d2ea259d7fbc170c275810b2b9",
      "tree": "551ac7566ebce14bae406111d93cfd3179435a87",
      "parents": [
        "1f8f283975c7cf51081acd3ea494de2b5f431607",
        "40973c53acc86b576081fb720d7d6b23c55202ad"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Mon Dec 03 11:50:25 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 11:50:25 2012 -0800"
      },
      "message": "am 40973c53: Merge \"BT is still on after enable flight mode, and reboot the DUT\" into jb-mr1.1-dev\n\n* commit \u002740973c53acc86b576081fb720d7d6b23c55202ad\u0027:\n  BT is still on after enable flight mode, and reboot the DUT\n"
    },
    {
      "commit": "40973c53acc86b576081fb720d7d6b23c55202ad",
      "tree": "5766e4e048aeb7e9d544c2e48e04565b06464bdf",
      "parents": [
        "ed3fba653864101d3dd335941f082104aad8f532",
        "401202b5fe3d67bdf2ae6991fc451f444ecd6989"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Mon Dec 03 11:47:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 11:47:34 2012 -0800"
      },
      "message": "Merge \"BT is still on after enable flight mode, and reboot the DUT\" into jb-mr1.1-dev"
    },
    {
      "commit": "341ea53b34228188ec0cd500840194fb9e866aed",
      "tree": "2b780f6f503910f8f78548ad27f640711229cd92",
      "parents": [
        "9badf238eef28375260427865e8c3b0658593e14",
        "ae6428d7072fcad3545fefe603afbaefb8f6bbec"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 03 11:42:50 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 11:42:50 2012 -0800"
      },
      "message": "am ae6428d7: am 1f8f2839: am ed3fba65: Merge \"Avoid null mobile interfaces.\" into jb-mr1.1-dev\n\n* commit \u0027ae6428d7072fcad3545fefe603afbaefb8f6bbec\u0027:\n  Avoid null mobile interfaces.\n"
    },
    {
      "commit": "ae6428d7072fcad3545fefe603afbaefb8f6bbec",
      "tree": "c602b8bece5dcebc305f2f556bf5a552dd6c8703",
      "parents": [
        "e4db4e2b9dca065fbbf9f10dd5b9e961a9acef46",
        "1f8f283975c7cf51081acd3ea494de2b5f431607"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 03 11:40:23 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 11:40:23 2012 -0800"
      },
      "message": "am 1f8f2839: am ed3fba65: Merge \"Avoid null mobile interfaces.\" into jb-mr1.1-dev\n\n* commit \u00271f8f283975c7cf51081acd3ea494de2b5f431607\u0027:\n  Avoid null mobile interfaces.\n"
    },
    {
      "commit": "1f8f283975c7cf51081acd3ea494de2b5f431607",
      "tree": "2155d60ef97f4afd57881a0b3abd284f7efccc1d",
      "parents": [
        "b8e80eb566aa5afb744db84a0067e144de831f45",
        "ed3fba653864101d3dd335941f082104aad8f532"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 03 11:38:31 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 11:38:31 2012 -0800"
      },
      "message": "am ed3fba65: Merge \"Avoid null mobile interfaces.\" into jb-mr1.1-dev\n\n* commit \u0027ed3fba653864101d3dd335941f082104aad8f532\u0027:\n  Avoid null mobile interfaces.\n"
    },
    {
      "commit": "401202b5fe3d67bdf2ae6991fc451f444ecd6989",
      "tree": "dd4dd4d5bfaab4e643f7cadda041c2f08f6580d0",
      "parents": [
        "f87488095e49028eb3be5a8a53a372e38eba537c"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Mon Dec 03 11:36:21 2012 -0800"
      },
      "committer": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Mon Dec 03 11:36:21 2012 -0800"
      },
      "message": "BT is still on after enable flight mode, and reboot the DUT\n\nbug 7275625\nChange-Id: I4f8952a06152eb5f5775c1f616f6383e4f20e352\n"
    },
    {
      "commit": "ed3fba653864101d3dd335941f082104aad8f532",
      "tree": "f12fc8ab84c1561348ccf5a3c823def8ed40302a",
      "parents": [
        "4fd38e8d13697cd1b169487719982f32cc5fb425",
        "6a328afbab37981f34d8578972dbb2bf1abb7c41"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 03 11:32:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 11:32:51 2012 -0800"
      },
      "message": "Merge \"Avoid null mobile interfaces.\" into jb-mr1.1-dev"
    },
    {
      "commit": "152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891",
      "tree": "8e955c6db3279776dc6795e125513c4f2877ea44",
      "parents": [
        "4d58730ff587645778636e87312b1b17846fcac9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 12 20:15:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Dec 03 10:38:48 2012 -0800"
      },
      "message": "Refactoring of the screen magnification feature.\n\n1. The screen magnification feature was implemented entirely as a part of the accessibility\n   manager. To achieve that the window manager had to implement a bunch of hooks for an\n   external client to observe its internal state. This was problematic since it dilutes\n   the window manager interface and allows code that is deeply coupled with the window\n   manager to reside outside of it. Also the observer callbacks were IPCs which cannot\n   be called with the window manager\u0027s lock held. To avoid that the window manager had\n   to post messages requesting notification of interested parties which makes the code\n   consuming the callbacks to run asynchronously of the window manager. This causes timing\n   issues and adds unnecessary complexity.\n\n   Now the magnification logic is split in two halves. The first half that is responsible\n   to track the magnified portion of the screen and serve as a policy which windows can be\n   magnified and it is a part of the window manager. This part exposes higher level APIs\n   allowing interested parties with the right permissions to control the magnification\n   of a given display. The APIs also allow a client to be registered for callbacks on\n   interesting changes such as resize of the magnified region, etc. This part servers\n   as a mediator between magnification controllers and the window manager.\n\n   The second half is a controller that is responsible to drive the magnification\n   state based on touch interactions. It also presents a highlight when magnified to\n   suggest the magnified potion of the screen. The controller is responsible for auto\n   zooming out in case the user context changes - rotation, new actitivity. The controller\n   also auto pans if a dialog appears and it does not interesect the magnified frame.\n\nbug:7410464\n\n2. By design screen magnification and touch exploration work separately and together. If\n   magnification is enabled the user sees a larger version of the widgets and a sub section\n   of the screen content. Accessibility services use the introspection APIs to \"see\" what\n   is on the screen so they can speak it, navigate to the next item in response to a\n   gesture, etc. Hence, the information returned to accessibility services has to reflect\n   what a sighted user would see on the screen. Therefore, if the screen is magnified\n   we need to adjust the bounds and position of the infos describing views in a magnified\n   window such that the info bounds are equivalent to what the user sees.\n\n   To improve performance we keep accessibility node info caches in the client process.\n   However, when magnification state changes we have to clear these caches since the\n   bounds of the cached infos no longer reflect the screen content which just got smaller\n   or larger.\n\n   This patch propagates not only the window scale as before but also the X/Y pan and the\n   bounds of the magnified portion of the screen to the introspected app. This information\n   is used to adjust the bounds of the node infos coming from this window such that the\n   reported bounds are the same as the user sees not as the app thinks they are. Note that\n   if magnification is enabled we zoom the content and pan it along the X and Y axis. Also\n   recomputed is the isVisibleToUser property of the reported info since in a magnified\n   state the user sees a subset of the window content and the views not in the magnified\n   viewport should be reported as not visible to the user.\n\nbug:7344059\n\nChange-Id: I6f7832c7a6a65c5368b390eb1f1518d0c7afd7d2\n"
    },
    {
      "commit": "c72beac860d98cf7e58b2473ff2602b191b46d16",
      "tree": "7c639418eaecb585f38b8341c70df1ac7686a640",
      "parents": [
        "b1e76ebaabd71200f9a8dbd00d62ae849735b735",
        "0f469f4f7eff8faee4350a0d82af325d4ae10b43"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 30 19:10:36 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 19:10:36 2012 -0800"
      },
      "message": "am 0f469f4f: am 32df98d5: am c566b43d: Fix crosstalk between users for widgets hosted in lockscreen\n\n* commit \u00270f469f4f7eff8faee4350a0d82af325d4ae10b43\u0027:\n  Fix crosstalk between users for widgets hosted in lockscreen\n"
    },
    {
      "commit": "52a839de9e6afdc880664ae0f5af456b40a68c55",
      "tree": "72e1223d87178027bf01f2346c91f89362983337",
      "parents": [
        "77c67665c83f824ca59c2dcf40d7fe4e3cd7b865",
        "3351ab27b9fc9eb2b21044ac68efebd1cfe85dfb"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 18:46:58 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 18:46:58 2012 -0800"
      },
      "message": "am 3351ab27: am f967500e: am 46732445: Merge \"Include child windows when looking for insertion point.\" into jb-mr1.1-dev\n\n* commit \u00273351ab27b9fc9eb2b21044ac68efebd1cfe85dfb\u0027:\n  Include child windows when looking for insertion point.\n"
    },
    {
      "commit": "0f469f4f7eff8faee4350a0d82af325d4ae10b43",
      "tree": "06d08366aba3b4a2c165cf5a5718cbff48c48178",
      "parents": [
        "2e8dd459fb111a8e38b01af4abbebe3b8acb497b",
        "32df98d52d482498d998b424684610c15098897a"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 30 18:46:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 18:46:45 2012 -0800"
      },
      "message": "am 32df98d5: am c566b43d: Fix crosstalk between users for widgets hosted in lockscreen\n\n* commit \u002732df98d52d482498d998b424684610c15098897a\u0027:\n  Fix crosstalk between users for widgets hosted in lockscreen\n"
    },
    {
      "commit": "32df98d52d482498d998b424684610c15098897a",
      "tree": "b6c73d8756655da9f771a79d9b978eac8f68162e",
      "parents": [
        "4e1b2f44e9f43b123e00eb210c9fa4ec78710782",
        "c566b43d02596cba437e9a2723e9f989297cca72"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 30 18:44:36 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 18:44:36 2012 -0800"
      },
      "message": "am c566b43d: Fix crosstalk between users for widgets hosted in lockscreen\n\n* commit \u0027c566b43d02596cba437e9a2723e9f989297cca72\u0027:\n  Fix crosstalk between users for widgets hosted in lockscreen\n"
    },
    {
      "commit": "6a328afbab37981f34d8578972dbb2bf1abb7c41",
      "tree": "e52a0c2f0f6265cbf4643dfa08eae7f6a27d9045",
      "parents": [
        "5915f61e8b10e2a89d302f3c9bf2104c4abe1c07"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 30 17:49:39 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 30 17:49:39 2012 -0800"
      },
      "message": "Avoid null mobile interfaces.\n\nBug: 7634215\nChange-Id: I6745f6a78c07ba11d98b4562a6b53386112ef652\n"
    },
    {
      "commit": "c566b43d02596cba437e9a2723e9f989297cca72",
      "tree": "47afa340bf7f23fcb8d643ea9d51525e715c9878",
      "parents": [
        "20b76b9fff076241fe305fc99be3be7ab7d10407"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 30 15:26:21 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 30 17:28:08 2012 -0800"
      },
      "message": "Fix crosstalk between users for widgets hosted in lockscreen\n\nThis was initially about the Clock widget crashing repeatedly on some\ndevices with multiple users. Turned out that there were race conditions\nwhen switching users that could result in remote views of one user calling\nback to the RemoteViewsAdapter in keyguard that in turn sent an incorrect widget id\nto a different user\u0027s widget, resulting in a crash.\n\nSince KeyguardHostView is instantiated in the same process for different users,\nit needs to carry a user identity to pass along to AppWidgetService so that\nremote views services were bound to the correct user and callbacks were attached and\ndetached properly.\n\nAdded some aidl calls that take the userId to do the binding properly. A more\ncomplete fix might be needed in the future so that all calls from Keyguard carry\nthe user id.\n\nAlso, there was a problem in comparing host uid for secondary users, since Settings\nfor a secondary user has a different uid than keyguard. Not an issue on single-user\nsystems. Changed the host.uid comparison to accomodate for the secondary user.\n\nBug: 7450247\nChange-Id: Idbc36e3c60023cac74174f6cb7f2b2130dd3052c\n"
    },
    {
      "commit": "3351ab27b9fc9eb2b21044ac68efebd1cfe85dfb",
      "tree": "501266a78f1d30746f0fee3df13f72915afeec4d",
      "parents": [
        "8794c80dd79b21d4b31b37bed96ef8b7dcf7f04d",
        "f967500ebaefb95d7a1c14acd05574a0f17ec078"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 16:46:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 16:46:03 2012 -0800"
      },
      "message": "am f967500e: am 46732445: Merge \"Include child windows when looking for insertion point.\" into jb-mr1.1-dev\n\n* commit \u0027f967500ebaefb95d7a1c14acd05574a0f17ec078\u0027:\n  Include child windows when looking for insertion point.\n"
    },
    {
      "commit": "f967500ebaefb95d7a1c14acd05574a0f17ec078",
      "tree": "3b61d84a02cd62e76783752f261b77f2324728be",
      "parents": [
        "a9854ce9dfac086533e9d49ac75076bcc579303b",
        "46732445b4c02c225544851cb6cf848ec0583494"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 16:42:56 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 16:42:56 2012 -0800"
      },
      "message": "am 46732445: Merge \"Include child windows when looking for insertion point.\" into jb-mr1.1-dev\n\n* commit \u002746732445b4c02c225544851cb6cf848ec0583494\u0027:\n  Include child windows when looking for insertion point.\n"
    },
    {
      "commit": "7b1aa77a9b25b4b1e8070c9cccfadcde39954952",
      "tree": "d76efb533bc54fa9eccdebc0fa73fda25e08c369",
      "parents": [
        "b1a01ab01c2aa5136f7781c3a6ec682590e38ac4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 16:14:45 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 16:14:45 2012 -0800"
      },
      "message": "Include child windows when looking for insertion point.\n\nAfter finding a window in the window list we turn around and look in\nthe AppWindowToken.windows list for it. If it is a child of a window\nin that list we should use the parent windows index as the search\nresult. Instead we gave up and ended up inserting the window at the\nbeginning of the windows list.\n\nBug 7357465 fixed.\n\nChange-Id: If77f343b8597bfbb0b7fa41dedf7972d78d03020\n"
    },
    {
      "commit": "8575c6637f2b6a70fca0c862e393fb311c01129a",
      "tree": "3be44e31ce6e5b711e1d56dba35f7dbd7a1be56e",
      "parents": [
        "f66b74fa80b61eae4473e54b8e5c297d37e6c16e",
        "f0afe4144d09aa9b980cffd444911ab118fa9cbe"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Nov 30 15:59:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 15:59:34 2012 -0800"
      },
      "message": "Merge \"Cleanup logging\""
    },
    {
      "commit": "f0afe4144d09aa9b980cffd444911ab118fa9cbe",
      "tree": "4525238af4b88750a89b8b330aab28baac2d5d31",
      "parents": [
        "ef8da9fe0b70fdbbb54bb0645ac66f75f58f31b8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Nov 30 14:07:44 2012 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Nov 30 15:58:46 2012 -0800"
      },
      "message": "Cleanup logging\n\nChange-Id: Ieea19853c069266b55cad80cce3743b5ba91218a\n"
    },
    {
      "commit": "d5dcb6d4e9ffcaf5d74b89a3bcd5f2dab6d09f9f",
      "tree": "78ceaee4e6025ac15a031695cbcf6e8735bfe10e",
      "parents": [
        "0f6f21026451f516a0179ae4f13bcdfcb0fd19a9",
        "1b3a4362a08d816d78fdbb04ef115b31c8674420"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Nov 30 11:14:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 11:14:05 2012 -0800"
      },
      "message": "am 1b3a4362: am f77445cd: am b1a01ab0: Merge \"Allow the NFC process to call Bluetooth APIs.\" into jb-mr1.1-dev\n\n* commit \u00271b3a4362a08d816d78fdbb04ef115b31c8674420\u0027:\n  Allow the NFC process to call Bluetooth APIs.\n"
    },
    {
      "commit": "1b3a4362a08d816d78fdbb04ef115b31c8674420",
      "tree": "0d213a8218d856824b44b768a6d5eead3ac9bfab",
      "parents": [
        "7b1af76074423837d26ccb4e3b4c1b5d25baa25e",
        "f77445cd48f9174647c4c7ff539036b5aa08ce6e"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Nov 30 11:11:44 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 11:11:44 2012 -0800"
      },
      "message": "am f77445cd: am b1a01ab0: Merge \"Allow the NFC process to call Bluetooth APIs.\" into jb-mr1.1-dev\n\n* commit \u0027f77445cd48f9174647c4c7ff539036b5aa08ce6e\u0027:\n  Allow the NFC process to call Bluetooth APIs.\n"
    },
    {
      "commit": "f77445cd48f9174647c4c7ff539036b5aa08ce6e",
      "tree": "c6a94cfb481e451871db4ec4b2ace7a139e31a8e",
      "parents": [
        "1bd7d5e47ed7e73c244b79c5a92d6af1e3e89266",
        "b1a01ab01c2aa5136f7781c3a6ec682590e38ac4"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Nov 30 11:09:43 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 11:09:43 2012 -0800"
      },
      "message": "am b1a01ab0: Merge \"Allow the NFC process to call Bluetooth APIs.\" into jb-mr1.1-dev\n\n* commit \u0027b1a01ab01c2aa5136f7781c3a6ec682590e38ac4\u0027:\n  Allow the NFC process to call Bluetooth APIs.\n"
    },
    {
      "commit": "b1a01ab01c2aa5136f7781c3a6ec682590e38ac4",
      "tree": "5fc8dab3a8c1d3ca81542e21dda492af08c7d1a5",
      "parents": [
        "675814d488579582e0214cc720d9ccc310173f25",
        "8385c5afbd92da5f2e8bc13d153114bc3a7cb0f5"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Nov 30 11:07:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 11:08:07 2012 -0800"
      },
      "message": "Merge \"Allow the NFC process to call Bluetooth APIs.\" into jb-mr1.1-dev"
    },
    {
      "commit": "0f6f21026451f516a0179ae4f13bcdfcb0fd19a9",
      "tree": "d9aff84c417f61bbbad4dea0ab1fe77010e5f5e4",
      "parents": [
        "701e73d3f6e93038eddf5764da803c67ac6419a1",
        "7b1af76074423837d26ccb4e3b4c1b5d25baa25e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 30 10:49:08 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 10:49:08 2012 -0800"
      },
      "message": "am 7b1af760: am 1bd7d5e4: am 675814d4: Merge \"Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\" into jb-mr1.1-dev\n\n* commit \u00277b1af76074423837d26ccb4e3b4c1b5d25baa25e\u0027:\n  Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\n"
    },
    {
      "commit": "7b1af76074423837d26ccb4e3b4c1b5d25baa25e",
      "tree": "301adfb1503ce968a53b26b5fda5688ed17e1bfb",
      "parents": [
        "4816f4b4088ce35b2cddf1034ae483e30b7ed22c",
        "1bd7d5e47ed7e73c244b79c5a92d6af1e3e89266"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 30 10:47:01 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 10:47:01 2012 -0800"
      },
      "message": "am 1bd7d5e4: am 675814d4: Merge \"Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\" into jb-mr1.1-dev\n\n* commit \u00271bd7d5e47ed7e73c244b79c5a92d6af1e3e89266\u0027:\n  Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\n"
    },
    {
      "commit": "1bd7d5e47ed7e73c244b79c5a92d6af1e3e89266",
      "tree": "9cd10de3b96e68fd7b3f422475efd512de760540",
      "parents": [
        "0def7b94960ae551c498212d97c7919da7529429",
        "675814d488579582e0214cc720d9ccc310173f25"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 30 10:45:02 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 30 10:45:02 2012 -0800"
      },
      "message": "am 675814d4: Merge \"Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\" into jb-mr1.1-dev\n\n* commit \u0027675814d488579582e0214cc720d9ccc310173f25\u0027:\n  Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\n"
    },
    {
      "commit": "675814d488579582e0214cc720d9ccc310173f25",
      "tree": "e0ac74039f48c5fd99d1d44b03a5e28c485c0716",
      "parents": [
        "849f5188e34ea667b689e795d88411a2412db2e8",
        "6c5406acd72eed31f2b4e12f5eddc0e2d2a951e2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 30 10:41:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 10:42:15 2012 -0800"
      },
      "message": "Merge \"Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\" into jb-mr1.1-dev"
    },
    {
      "commit": "00d6a76c3d954db631b25f2bcde9287c276ed705",
      "tree": "65e74501fa0f1035b00a7fcc829584f3d6457f15",
      "parents": [
        "db69db1510e77052f702a997894af5ca4b87e9e0",
        "a55097f8bb7871ef909c7005b6fa1b6b7cf06b16"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 18:01:07 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 18:01:07 2012 -0800"
      },
      "message": "am a55097f8: am ed74c10f: am aae329ef: Merge \"Don\\\u0027t apply transformation fudge when not rotating.\" into jb-mr1.1-dev\n\n* commit \u0027a55097f8bb7871ef909c7005b6fa1b6b7cf06b16\u0027:\n  Don\u0027t apply transformation fudge when not rotating.\n"
    },
    {
      "commit": "a55097f8bb7871ef909c7005b6fa1b6b7cf06b16",
      "tree": "5da71f4a477c29640e1657ce6b53a9a4caff83d4",
      "parents": [
        "b8d8562cc36e5ab2f8b8c5adfd8d4839fe0909d3",
        "ed74c10f135c768b24c4b1a14042b8292a9662fa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:59:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 17:59:30 2012 -0800"
      },
      "message": "am ed74c10f: am aae329ef: Merge \"Don\\\u0027t apply transformation fudge when not rotating.\" into jb-mr1.1-dev\n\n* commit \u0027ed74c10f135c768b24c4b1a14042b8292a9662fa\u0027:\n  Don\u0027t apply transformation fudge when not rotating.\n"
    },
    {
      "commit": "ed74c10f135c768b24c4b1a14042b8292a9662fa",
      "tree": "b5d277e5987633bbf3bad4a20d1595f3918dcd62",
      "parents": [
        "40ca751ba0980685ce03bc3b6877b5f8163b30a5",
        "aae329ef0f68e30897faef55c86548dab0eadf37"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:56:58 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 17:56:58 2012 -0800"
      },
      "message": "am aae329ef: Merge \"Don\\\u0027t apply transformation fudge when not rotating.\" into jb-mr1.1-dev\n\n* commit \u0027aae329ef0f68e30897faef55c86548dab0eadf37\u0027:\n  Don\u0027t apply transformation fudge when not rotating.\n"
    },
    {
      "commit": "aae329ef0f68e30897faef55c86548dab0eadf37",
      "tree": "81e071136ef94d847765431b32a545a59dd31bf2",
      "parents": [
        "ebec2315353941890471aa901e87f19f681d007a",
        "4b16969b006613bff4901a6e979f29a0f501430b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:53:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 17:53:47 2012 -0800"
      },
      "message": "Merge \"Don\u0027t apply transformation fudge when not rotating.\" into jb-mr1.1-dev"
    },
    {
      "commit": "4b16969b006613bff4901a6e979f29a0f501430b",
      "tree": "ce39b5a558172c3fa54416bad61178ec4b350c0b",
      "parents": [
        "860d0cd452529e7a01152582e6535c2129a46af7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:51:24 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:51:24 2012 -0800"
      },
      "message": "Don\u0027t apply transformation fudge when not rotating.\n\nThere is this stupid fudge factor applied to window transformations\nwhen doing a screen rotation animation.  We need this when rotating,\nbut when not rotating it causes very visible artifacts.  Historically\nthe non-rotation case only happened due to configuration changes, so\nwasn\u0027t that big a deal.  Now however that we use this when switching\nusers, it is more annoying.  So get rid of it for such cases.\n\nChange-Id: I6b343866c1bad9b16984b4a629917c2f1bb37b9e\n"
    },
    {
      "commit": "db69db1510e77052f702a997894af5ca4b87e9e0",
      "tree": "a70e3777d2cba21e7fccd871848ce28adbc5c001",
      "parents": [
        "c5ade0942593222b7fccc1d3921175db0173df93",
        "b8d8562cc36e5ab2f8b8c5adfd8d4839fe0909d3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 16:47:16 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 16:47:16 2012 -0800"
      },
      "message": "am b8d8562c: am 40ca751b: am ebec2315: Merge \"Always report user switched after unfreezing screen.\" into jb-mr1.1-dev\n\n* commit \u0027b8d8562cc36e5ab2f8b8c5adfd8d4839fe0909d3\u0027:\n  Always report user switched after unfreezing screen.\n"
    },
    {
      "commit": "b8d8562cc36e5ab2f8b8c5adfd8d4839fe0909d3",
      "tree": "36d461fdb78a2ad41598962d5ff0195cdbb6e473",
      "parents": [
        "1d8ea0360923a6dfe84c08806cb69d257bdbbbfe",
        "40ca751ba0980685ce03bc3b6877b5f8163b30a5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 16:44:14 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 16:44:14 2012 -0800"
      },
      "message": "am 40ca751b: am ebec2315: Merge \"Always report user switched after unfreezing screen.\" into jb-mr1.1-dev\n\n* commit \u002740ca751ba0980685ce03bc3b6877b5f8163b30a5\u0027:\n  Always report user switched after unfreezing screen.\n"
    },
    {
      "commit": "40ca751ba0980685ce03bc3b6877b5f8163b30a5",
      "tree": "e93381871d8f0765650467ee45a4007f5b6129f0",
      "parents": [
        "ec7a8b6f74f73738586413875fa8f7cc27c4e8f7",
        "ebec2315353941890471aa901e87f19f681d007a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 16:41:44 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 16:41:44 2012 -0800"
      },
      "message": "am ebec2315: Merge \"Always report user switched after unfreezing screen.\" into jb-mr1.1-dev\n\n* commit \u0027ebec2315353941890471aa901e87f19f681d007a\u0027:\n  Always report user switched after unfreezing screen.\n"
    }
  ],
  "next": "ebec2315353941890471aa901e87f19f681d007a"
}
