)]}'
{
  "log": [
    {
      "commit": "a2fd9d1786fec65dc4199e29c78dd43e1e31bb58",
      "tree": "f2a9c6415bca8cb43602fe07331c517773034267",
      "parents": [
        "c9421ba1f46d9f9aeee833e1fde2cc263b058411"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 23:40:24 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 23:40:24 2010 -0800"
      },
      "message": "Fix NPE when clearing preferred packages.\n\nFixes issue #2507124:\ncts.PackageManagerRequiringPermissionsTest:testClearPackagePreferredActivities\nis failing with NPE\n\nAlso introduce some compatibility code to simple ignore calls to set\npreferred packages from old applications, and changes some package manager\nlogs to Slog.\n\nChange-Id: Id3f98ac8e106da526ba4c12879a9ddaabf28f462\n"
    },
    {
      "commit": "c9421ba1f46d9f9aeee833e1fde2cc263b058411",
      "tree": "2023c51c1afdde559d23b9baf255b493596613cb",
      "parents": [
        "d0dfab21a34dc3a5f1cc0d4678f5cd1499088292"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 22:23:46 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 22:23:46 2010 -0800"
      },
      "message": "Fix issue #2492387: system server crash in WallpaperManagerService\n\nAlso move some of the important framework error logs over to Slog.\n\nChange-Id: If6697c3e4f18498612ebd7b0e4e4f042fd713372\n"
    },
    {
      "commit": "15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab",
      "tree": "2dbbf0c31082373354fb17308de3681e22c66169",
      "parents": [
        "8abb26ee6c77e01a23d26c305a65b25a33710024"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 11 18:20:12 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Mar 11 18:22:10 2010 -0800"
      },
      "message": "Add correct copyright headers to multiple files\n\nFormat for the list of changes shows the origin commit reference followed\nby the file name.\n\n33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java\n33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java\n133776-p9 core/java/android/app/IntentService.java\n127013-p9 core/java/android/appwidget/AppWidgetHost.java\n27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java\n60765-p9 core/java/android/content/SyncResult.java\n43920-p9 core/java/android/content/pm/ActivityInfo.java\n43920-p9 core/java/android/content/pm/ApplicationInfo.java\n43920-p9 core/java/android/content/pm/InstrumentationInfo.java\n43920-p9 core/java/android/content/pm/PackageInfo.java\n44103-p9 core/java/android/content/pm/PackageItemInfo.java\n68960-p9 core/java/android/content/pm/PackageStats.java\n43920-p9 core/java/android/content/pm/ResolveInfo.java\n43920-p9 core/java/android/content/pm/ServiceInfo.java\n60641-p9 core/java/android/content/res/Configuration.java\n60734-p9 core/java/android/content/res/TypedArray.java\n137672-p9 core/java/android/inputmethodservice/ExtractButton.java\n123112-p9 core/java/android/inputmethodservice/ExtractEditText.java\n119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java\n112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java\n115078-p9 core/java/android/os/BatteryStats.java\n124790-p9 core/java/android/text/style/UpdateAppearance.java\n45083-p9 core/java/android/view/RawInputEvent.java\n101491-p9 core/java/android/view/inputmethod/EditorInfo.java\n114701-p9 core/java/android/view/inputmethod/ExtractedText.java\n123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java\n119291-p9 core/java/com/android/internal/os/HandlerCaller.java\n129279-p9 core/java/com/android/internal/os/PkgUsageStats.java\n114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java\n114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java\n84364-p9 opengl/java/android/opengl/EGLLogWrapper.java\n11355-p9 opengl/tools/glgen/src/CFunc.java\n11355-p9 opengl/tools/glgen/src/CType.java\n11355-p9 opengl/tools/glgen/src/CodeEmitter.java\n11355-p9 opengl/tools/glgen/src/GenerateGL.java\n11355-p9 opengl/tools/glgen/src/JFunc.java\n11355-p9 opengl/tools/glgen/src/JType.java\n11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java\n11355-p9 opengl/tools/glgen/src/ParameterChecker.java\n57236-p9 services/java/com/android/server/status/AnimatedImageView.java\n66754-p9 services/java/com/android/server/status/CloseDragHandle.java\n57188-p9 services/java/com/android/server/status/DateView.java\n46928-p9 services/java/com/android/server/status/ExpandedView.java\n70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java\n45968-p9 services/java/com/android/server/status/IconData.java\n57470-p9 services/java/com/android/server/status/IconMerger.java\n82719-p9 services/java/com/android/server/status/LatestItemView.java\n45968-p9 services/java/com/android/server/status/NotificationData.java\n66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java\n57458-p9 services/java/com/android/server/status/NotificationViewList.java\n45968-p9 services/java/com/android/server/status/StatusBarException.java\n45968-p9 services/java/com/android/server/status/StatusBarIcon.java\n46130-p9 services/java/com/android/server/status/StatusBarNotification.java\n45968-p9 services/java/com/android/server/status/StatusBarView.java\n46199-p9 services/java/com/android/server/status/Ticker.java\n62286-p9 services/java/com/android/server/status/TickerView.java\n57188-p9 services/java/com/android/server/status/TrackingView.java\n86041-p9 telephony/java/android/telephony/PhoneStateListener.java\n87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java\n136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java\n34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java\n55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java\n127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java\n129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java\n129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java\n128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java\n25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java\n46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java\n77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java\n9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java\n53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java\n93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java\n328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java\n307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java\n307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java\neb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java\n49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java\na2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java\n3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java\n5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java\nc4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java\n9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java\n21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java\n4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java\n4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java\ne540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java\n192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java\n1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java\n27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java\n560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java\n560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java\n560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java\n1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java\n1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java\n1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java\n69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java\nc028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java\n7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java\n7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java\n7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java\ndf8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java\ncfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java\ncfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java\ncfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java\n\nCopyright header moved to top in following file:\n\ncore/tests/coretests/src/android/widget/ListViewTest.java\n\nChange-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418\n"
    },
    {
      "commit": "8abb26ee6c77e01a23d26c305a65b25a33710024",
      "tree": "22c60f32d5f7ab29ea2b089766a97be5e16aa344",
      "parents": [
        "cea6ac367114ecaf7125685859baf3678fac35bb",
        "d2671e1fcf1d7f1b8e25a2615d514cf3c26b6a9c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 11 18:14:23 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 11 18:14:23 2010 -0800"
      },
      "message": "Merge \"Preserve widgets on upgrade. Bug #2464545\""
    },
    {
      "commit": "d2671e1fcf1d7f1b8e25a2615d514cf3c26b6a9c",
      "tree": "3250b0e86435f79ba7b2e4402a4adb9f00ca1c85",
      "parents": [
        "476c2323d5834cbc26ff8e5838003be2404cc497"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 11 18:06:42 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 11 18:06:42 2010 -0800"
      },
      "message": "Preserve widgets on upgrade.\nBug #2464545\n\nChange-Id: I802878af49dc4d98210fb8049df0bbdc49268d99\n"
    },
    {
      "commit": "ce8efead60282bedf0383bee83c7583b7332791d",
      "tree": "8a36632e25895fb4afdb6dfc480ba1a1d7ba4995",
      "parents": [
        "458e8062c322a614d470e544b725adb04fdd8770",
        "dfadaeac088cabce854d8f476405cd412f82593a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 11 17:21:12 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 11 17:21:12 2010 -0800"
      },
      "message": "Merge \"Stop creating threads for tethering.\""
    },
    {
      "commit": "4ea833d9a24aa1c2e92522150c89b37753a9aee8",
      "tree": "824e96445424bcf014084ff1a7e9a2cb95255922",
      "parents": [
        "80362d4ac80c4635dd9dac6481522d9af2f167b2",
        "4b450410065d77d56a56f0835871f8bc7c2d5994"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 17:12:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 11 17:12:48 2010 -0800"
      },
      "message": "Merge \"Need to keep new package\u0027s cert when using original-package.\""
    },
    {
      "commit": "4b450410065d77d56a56f0835871f8bc7c2d5994",
      "tree": "7f087e5fbc73ca071418258e37f040cb6440f9ad",
      "parents": [
        "26b1ef95833665fb83195caad010566c8a9e0199"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 16:20:08 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 16:20:08 2010 -0800"
      },
      "message": "Need to keep new package\u0027s cert when using original-package.\n\nFixes bug #2504353: Lost all widgets and shortcuts after upgrading form FRE68 to FRE69\n\nChange-Id: I62bab66bbd90bf0956d1716bae1b6073d01e2d8a\n"
    },
    {
      "commit": "05e552a6efd86e43d4404667d316e3e5e2806543",
      "tree": "f97f6d03ce50e6de72755d7b06d07a7ac283fe7d",
      "parents": [
        "26b1ef95833665fb83195caad010566c8a9e0199",
        "ff3e61c6d5de339300d26227b69bfd9ee0827103"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 11 15:41:22 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 11 15:41:22 2010 -0800"
      },
      "message": "Merge \"Support old/new package names for widgets.\""
    },
    {
      "commit": "dfadaeac088cabce854d8f476405cd412f82593a",
      "tree": "a6287b4546a7f8b60ea8a328cef45b40dd430a08",
      "parents": [
        "c1bcc9989cffa86780bdf1d797b080eea27e7194"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 11 15:03:08 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 11 15:39:30 2010 -0800"
      },
      "message": "Stop creating threads for tethering.\n\nUse the passed in looper and save threads.\n\nChange-Id: I6db04ef64e339a5fb2b71e9fb1da32e2d600447c\n"
    },
    {
      "commit": "ff3e61c6d5de339300d26227b69bfd9ee0827103",
      "tree": "63398503885803b1ef6cf4edc195dc0ca507acc8",
      "parents": [
        "b51132cb4f262e48c35f012d0aa45237a2f97f13"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 11 15:30:02 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu Mar 11 15:30:02 2010 -0800"
      },
      "message": "Support old/new package names for widgets.\n\nChange-Id: I134c4e694e66aaea47ad7da83d37b6621f4a527a\n"
    },
    {
      "commit": "26b1ef95833665fb83195caad010566c8a9e0199",
      "tree": "27d68b5abd60d7bc7d6bfb74fdc3f9593ee3bcbe",
      "parents": [
        "092ae5a78b7bd0cc429c94a39cee409481200347",
        "ac3587d7ced544091264a35249dbd3f9531a3cab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 15:13:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 11 15:13:15 2010 -0800"
      },
      "message": "Merge \"Fix issue #2461567: Home screen redraw messed up\""
    },
    {
      "commit": "ac3587d7ced544091264a35249dbd3f9531a3cab",
      "tree": "bd74c8d2c79fd75e43919eecbb1decf9b87916eb",
      "parents": [
        "b51132cb4f262e48c35f012d0aa45237a2f97f13"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 11:12:11 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 11 14:52:34 2010 -0800"
      },
      "message": "Fix issue #2461567: Home screen redraw messed up\n\nMake sure that we have a window redraw itself after resizing its\nsurface.\n\nAlso includes a little optimization to avoid having an extra thread\nfor the ImageWallpaper.\n\nChange-Id: I88d1eb66e3116077f48e6f9086a5b6459505ef69\n"
    },
    {
      "commit": "c95142d4a0ab7bebb899167da17c70c3196abbe4",
      "tree": "f0df376999aab755d94ac7c69dc75634a86b7cde",
      "parents": [
        "015b59756eecdbec46f9aeda620ad0de1c8c9a23"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 11 12:31:23 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 11 13:16:04 2010 -0800"
      },
      "message": "Move boot log file writing into a background thread to avoid ANR.\n\nBug: 2507228\nChange-Id: I35695f89f1d62b907f04511e3e6b71722008949b\n"
    },
    {
      "commit": "6fc4fe98ab72c5852b87f1f8699b9808c0dbecc5",
      "tree": "f9a9c6127acfc7ce33de0ccb102ca0727cfadbe5",
      "parents": [
        "4bfe7879a459f8addf4ffcaa9181217192bd7071",
        "2fe718a87b9ebc9679ff2abf38b6c30274267bea"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 11 12:23:50 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 11 12:23:50 2010 -0800"
      },
      "message": "Merge \"MountService: If USB cable is unplugged while UMS is active, clean up and remount\""
    },
    {
      "commit": "2fe718a87b9ebc9679ff2abf38b6c30274267bea",
      "tree": "34f4b2d5f1e9b5f8ea1c489f1c37b723100da2d9",
      "parents": [
        "df2d3cdca77edc309fccf8097a1682b1ef72443a"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 11 12:01:49 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 11 12:01:49 2010 -0800"
      },
      "message": "MountService: If USB cable is unplugged while UMS is active, clean up and remount\n\nChange-Id: I9c20e7bfc215549cd8a6e14625e5d005bb53f8fa\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "e96ffb18c11b119c6c62ba15e36de8b61d8c1e34",
      "tree": "48c126e8fcdc6421abec5ab7642ba594779fc719",
      "parents": [
        "aa27045a2c754f861b0540d7ca39a62cdc56f92f"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 11 13:38:06 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 11 13:38:06 2010 -0500"
      },
      "message": "Turn off pulsing jogball while on a call.\n\nBug: 2336573\nChange-Id: If0f0151cbead4eb8acf9e1ce2f6dbca088814694\n"
    },
    {
      "commit": "409578fcb1d8ecfee0ae07b1a34a6e6cb184a0ce",
      "tree": "eafcfe2fbe6542c265f86ca840ced3ae11134da4",
      "parents": [
        "bfb5d4b93bb739a012ecec604473838c1343c88a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 17:23:43 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 23:23:11 2010 -0800"
      },
      "message": "Don\u0027t remove alarms for packages that are being updated.\n\nChange-Id: I296e6587aa1bb391e748ff4bb5649dcfa6ebbc24\n"
    },
    {
      "commit": "2ee89ea2887252053c31541c54126a8b084c9bca",
      "tree": "69be707136b1cde8ccfcb7bbb129e74ef2a64429",
      "parents": [
        "d8929fa76881b4b0f12d66dfc118dec291a59177"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 18:27:09 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 21:26:23 2010 -0800"
      },
      "message": "Applications should -not- be able to set preferred activities.\n\nI can\u0027t believe I let this slip through.  And in the SDK no less. :(\n\nThe APIs for setting preferred activities will now throw a security\nexception when used.  This may break some apps, we\u0027ll see how it\ngoes.  If it is too bad we can just make these log and not throw\nanything, but I would much prefer they throw an exception.\n\nChange-Id: I3aed434750eef8b202aa9d5bd774a0121be521c6\n"
    },
    {
      "commit": "94d4b034adff90f681b0937bde8f7657b855929b",
      "tree": "43ad401d9058075028e905d1180abf97a48c03b7",
      "parents": [
        "6c604690acbdb2c0717e85ae0d91718e1410d3e8",
        "030f5e18dfa71673708deb75e8aa1f196bebbd99"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 10 17:24:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 10 17:24:46 2010 -0800"
      },
      "message": "Merge \"Disable USB Tethering when UMS is active\""
    },
    {
      "commit": "ff34fc2b45dce0774a15d1afdacd5b00e3191a3c",
      "tree": "2c6a92bd747bc8d93e229e435ab0e035e267db45",
      "parents": [
        "b9e1ed2b8051fb75da4622198231b95103724dec",
        "f283e3621026b0e3703b750d7b95d706e4bff050"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Mar 10 16:53:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 10 16:53:15 2010 -0800"
      },
      "message": "Merge \"Fix rare NPE in DropBoxManagerService\""
    },
    {
      "commit": "b9e1ed2b8051fb75da4622198231b95103724dec",
      "tree": "f272fe073e4222e56a26e395f02db4c634fae226",
      "parents": [
        "c3243e242d05f1f7b45964bf36aa4a56ed6ee66b",
        "78a640af951377d9749d0dbfd027687cbb92dc72"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 10 16:52:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 10 16:52:27 2010 -0800"
      },
      "message": "Merge \"Make HiPri work when already connected.\""
    },
    {
      "commit": "030f5e18dfa71673708deb75e8aa1f196bebbd99",
      "tree": "d286a19635154234a3e0861cce4980d89bd31c8e",
      "parents": [
        "78a640af951377d9749d0dbfd027687cbb92dc72"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 10 16:41:03 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 10 16:51:35 2010 -0800"
      },
      "message": "Disable USB Tethering when UMS is active\n\nMake the tethering module aware of UMS.\n\nbug:2469818\nChange-Id: I29995812db41bf01a17c303f31fd1707a8d55328\n"
    },
    {
      "commit": "c3243e242d05f1f7b45964bf36aa4a56ed6ee66b",
      "tree": "065e0e14fdb86de8d71dc83644f97fce84010db9",
      "parents": [
        "0f344060096329f091af20a16d69547a47c1a9d5",
        "b8b11a0b1d82e24f7a79f2e1672e7f5cf1611a55"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 16:51:13 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 10 16:51:13 2010 -0800"
      },
      "message": "Merge \"Further improvements to window management!\""
    },
    {
      "commit": "f283e3621026b0e3703b750d7b95d706e4bff050",
      "tree": "f4a67380deefd9ec3d8c71dbe44e48be6fa0b7b1",
      "parents": [
        "c357df126183df4a3ea9bf58a08e4813e992585d"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Mar 10 16:49:55 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Mar 10 16:49:55 2010 -0800"
      },
      "message": "Fix rare NPE in DropBoxManagerService\n\nChange-Id: I2e9713802c59feb539d5d4c1ab1dfa21ec88d9f6\n"
    },
    {
      "commit": "b8b11a0b1d82e24f7a79f2e1672e7f5cf1611a55",
      "tree": "27359a5923982cf33cd13b457a71ada7504ef978",
      "parents": [
        "191bbafacc48e5abfc6f393e0664e2d183740c4a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 15:53:11 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 16:47:57 2010 -0800"
      },
      "message": "Further improvements to window management!\n\nFix issue #2493497: Stuck in the Emergency dialer - Home/Back keys doesn\u0027t work\nThis was another case of not updating the window focus when needed, this time\nwhen the lock screen was hidden.\n\nAlso re-arrange the layout/animate flow to address issues where you would see\na flicker of whatever was behind the lock screen when showing a new activity that\nhides the lock screen.  This was because we were deciding to hide the lock screen\nduring the layout phase, which meant we had to do it without considering whether\nit had drawn.  So we could hide the lock screen before the window is shown for the\nfirst time after being drawn.  Now we can do this in the policy during animate, so\nwe can wait until the window is drawn and actually being shown.\n\nThe flow in perform layout is thus significantly changed, where the layout and\nanimate loops are both under the same repeating loop.  The actual flow from this\nshould be the same, but it now allows the policy to request a new layout after\nthe animation loop is done.  This actually cleans up a number of things in this\ncode as the complexity has increased.\n\nFinally this includes a change to the ui mode manager when switching modes, to do\nthe resource configuration switch at a different time.  This makes transitions\nbetween modes much cleaner (though not yet perfect).\n\nChange-Id: I5d9e75c1e79df1106108dd522f8ffed6058ef82b\n"
    },
    {
      "commit": "0f344060096329f091af20a16d69547a47c1a9d5",
      "tree": "c5a6359061e0963a1e0289f7ed416e2c36b1ba2b",
      "parents": [
        "191bbafacc48e5abfc6f393e0664e2d183740c4a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 10 10:05:51 2010 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 10 16:42:23 2010 -0800"
      },
      "message": "Clean up native access from framework\n\nDriver commands should be issued when driver has started.\nSupplicant commands should be issued when Wi-Fi is enabled\nBug: 2339709\nBug: 2371609\nChange-Id: I9ba6ddfa0cf4c4b8ca049b0eb7eaaa8edb42bad1\n"
    },
    {
      "commit": "78a640af951377d9749d0dbfd027687cbb92dc72",
      "tree": "d25f42c50b37810178f4b38b97695adc166f42ad",
      "parents": [
        "180403ac103e8ee1eeb07c5e3377748ee6a03917"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 10 16:10:43 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 10 16:19:18 2010 -0800"
      },
      "message": "Make HiPri work when already connected.\n\nA recent change made the HiPri MobileDataStateTracker listen for notifications\nabout the default connection (which HiPri shadows).  Local code was sending\nitself a notification using the old HiPri badging instead of the new Default\nbadging and those notifications where therefore ignored.\n\nManifested itself on HiPri connections when we were already on 3g.\n\nSee change 42422 on master platform/frameworks/base for the change this is completing.\n\nChange-Id: I375026048724d0035297287c61c6c2f58d4e0294\n"
    },
    {
      "commit": "6069beb2dfed6da837bf7faa3db3f6119edc017a",
      "tree": "59b7d3e108b6e1dcfebc0a897db335b9c9f37407",
      "parents": [
        "a8fbe1fb74d3bd40b73c90c85ac25e5176475ca5"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 10 09:46:49 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 10 09:46:49 2010 -0800"
      },
      "message": "    Rename ApplicationInfo.FLAG_ON_SDCARD to ApplicationInfo.FLAG_EXTERNAL_STORAGE\n\n    Change-Id: Iadef9f9bb2851c38b6d79be1bafbf932abce4210\n\nChange-Id: I2e412bace3d8005db5057a3497bd836d0038b90c\n"
    },
    {
      "commit": "a8fbe1fb74d3bd40b73c90c85ac25e5176475ca5",
      "tree": "ee5fb37a1e91521611a58c6abe0446d49a4fb080",
      "parents": [
        "746f666029f67cbb3d9e274d718ab7d88e8455cd"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 09 09:13:58 2010 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 10 08:28:08 2010 -0800"
      },
      "message": "Re-organize access to native interface through WifiStateTracker\n\nBug: 2339709\nChange-Id: Ibb2eeb09b83dc24897116ea15a9016f81a08d442\n"
    },
    {
      "commit": "aa3780b6f7749c4f4d0a8258d8505da4681cfbfa",
      "tree": "20e9bfb591b16c86fa1310d675236efa31cb154c",
      "parents": [
        "d274979739ff6b8d3d6f552724f8a85f5de44fb0",
        "f0fa39ed7496ae43369fac306d765d7d86fa23d7"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Mar 09 15:42:34 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 09 15:42:34 2010 -0800"
      },
      "message": "Merge \"Fix NO_CONNECTIVITY flag in some cases.\""
    },
    {
      "commit": "4acdcb721727dd32134d2e53376e4c3583c7f95a",
      "tree": "e323fe730133484f180f495454c4d0bb5665b0ba",
      "parents": [
        "17bc415ded862bc0a5f70ee2f7259f34d3491a17",
        "46af6a8b1f270b86f4e4a53b2c80fd20d8981af8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 09 14:57:41 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 09 14:57:42 2010 -0800"
      },
      "message": "Merge \"Don\u0027t let hidden keyguard interfere with button and screen brightness overrides\""
    },
    {
      "commit": "f0fa39ed7496ae43369fac306d765d7d86fa23d7",
      "tree": "73a1c9614d24bf6ad25f2361d9d81555c573938b",
      "parents": [
        "e8df25a9c6f9118e0136904883a777052c522cb0"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Mar 09 14:55:08 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Mar 09 14:55:08 2010 -0800"
      },
      "message": "Fix NO_CONNECTIVITY flag in some cases.\n\nAirplane mode seemed to hit this bug.\n\nbug:2498268\nChange-Id: I5af9266fbbad3e2323d30d7471058f0f4ec3f544\n"
    },
    {
      "commit": "17bc415ded862bc0a5f70ee2f7259f34d3491a17",
      "tree": "bf22df846408b396d662ec90844d03bb0b2cba8a",
      "parents": [
        "1596136562e9bc5d0c808bb8c33816ea1303df40",
        "6ffce2e9a3c57634bb73f8ff133ca680f8070d5d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Mar 09 14:50:18 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 09 14:50:18 2010 -0800"
      },
      "message": "Merge \"Add new shutdown observer for MountService. Use new observer before rebooting and shutting down. Add some unit tests for unmount and shutdown code paths Fix registering/unregistering part in MountService Use ShutdownThread in PowerManager.reboot() Add reboot support to ShutdownThread. Remove MountService code from PowerManagerService.java and Power.java. Clean shutdown/reboot is handled exclusively by ShutdownThread now.\""
    },
    {
      "commit": "6ffce2e9a3c57634bb73f8ff133ca680f8070d5d",
      "tree": "39b0492ba064caf003c47db9bd41ac0860e36743",
      "parents": [
        "8e461c9add08ac8705c50aa0357304aea6a5dbe0"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Mar 08 14:48:40 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 09 17:00:18 2010 -0500"
      },
      "message": "Add new shutdown observer for MountService.\nUse new observer before rebooting and shutting down.\nAdd some unit tests for unmount and shutdown code paths\nFix registering/unregistering part in MountService\nUse ShutdownThread in PowerManager.reboot()\nAdd reboot support to ShutdownThread.\nRemove MountService code from PowerManagerService.java and Power.java.\nClean shutdown/reboot is handled exclusively by ShutdownThread now.\n\nChange-Id: Iefb157451d3d9c426cb431707b870a873c09123d\n"
    },
    {
      "commit": "a599fe7c0d8b4d4bdf4accb099cb17bebcb9088b",
      "tree": "ba7213c581a68053bd92d530d85987bace8c2599",
      "parents": [
        "e8df25a9c6f9118e0136904883a777052c522cb0"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Mar 08 18:30:14 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Mar 09 11:20:13 2010 -0800"
      },
      "message": "Re-add tethered notification to framework.\n\nAdd new artwork and string.\n\nChange-Id: I9c4b2b4bdbd10ee9355c3a7ca81b29fba3b5830c\n"
    },
    {
      "commit": "a2b6c3775ed6b8924232d6a01bae4a19740a15f8",
      "tree": "f78953add86351bd04f2788c712b1285497e2016",
      "parents": [
        "a9fb0a2497e563c2066e10a816ff1f7baaf8aa9b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 05 17:40:11 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Mar 09 09:24:35 2010 -0800"
      },
      "message": "Add conditions to check for updated system applications. Restrict them\nto internal flash only even before we copy.\n\nReturn error codes when install flag options mismatch.\nSome conditions for existings apps\n - install flags override existing location\n - explicity manifest option install location overrides previous location\n - if upgraded package\u0027s install location is unspecified or auto, fall\n   back to recommended install policy which considers user setting as well.\n\nCheck for sdcard status before finding available size on sdcard\nAdd light weight parsing for manifest attributes including package name and\ninstall location only\n\nChange-Id: I5143dda87c88c595f564b317326c926d0ec3ceb8\n"
    },
    {
      "commit": "46af6a8b1f270b86f4e4a53b2c80fd20d8981af8",
      "tree": "f859d052227633c7986ecfa80a54f484d885551c",
      "parents": [
        "2e2096fc08c29f55aae60093b2cd48f4edf4b88e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 09 08:28:22 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 09 08:31:30 2010 -0500"
      },
      "message": "Don\u0027t let hidden keyguard interfere with button and screen brightness overrides\n\nChange-Id: Ibdc115b8fb6900b0f859085c13a707750deeab57\nBUG: 2252317\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "239038094493b3b1ac262222d1f21254b48d4fc6",
      "tree": "ac47ff3a044a032f6eba45250adca494684c0e68",
      "parents": [
        "ad7dd48361d9d510e8c5b43acef2f43c2fccbb2c",
        "3c8fbdf5dd19fad0b3006557716ee1026d7d5899"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Mar 08 06:47:49 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 08 06:47:49 2010 -0800"
      },
      "message": "Merge \"location: dump LocationProvider internal state\""
    },
    {
      "commit": "9f93881f57e4627964311afbf4e0f6d9cb9d904e",
      "tree": "c56e8e6fffe010df6bf8d94284cc0e42b8f321d5",
      "parents": [
        "c6120193efebf426186b24520d70ec3e4a4aeadf"
      ],
      "author": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Mon Mar 08 11:21:59 2010 +0100"
      },
      "committer": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Mon Mar 08 11:30:38 2010 +0100"
      },
      "message": "Disable car mode should not require DISABLE_KEYGUARD permission\n\nOnly the system can enable the car mode and the system should\nalready have appropriate permissions.\nBut since we wanna allow all other apps to disable the car mode\nagain, we don\u0027t want to enforce them to specify the DISABLE_KEYGUARD\npermission in their manifest.\n\nChange-Id: I1ad244a98d65b7193ea9817bff8406cfc2bce6f3\n"
    },
    {
      "commit": "3c8fbdf5dd19fad0b3006557716ee1026d7d5899",
      "tree": "d80caab324d5b8addf49e6ee9ee6ecdd1e03fecc",
      "parents": [
        "83835359e51ddb8be37cea9bf4bb32f9390d82b7"
      ],
      "author": {
        "name": "Fred Fettinger",
        "email": "fred.fettinger@motorola.com",
        "time": "Mon Jan 04 15:38:13 2010 -0600"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Mar 07 09:29:15 2010 -0500"
      },
      "message": "location: dump LocationProvider internal state\n\nFor each location provider, call getInternalState() to see if it has any\nstate information to include in a bugreport. If the returned string is not\nnull, then print a header with the provided name followed by the returned\nstring.\n\nChange-Id: I0a388d7fba14ac8cadcb80eda0a0ceb95032410b\nSigned-off-by: Fred Fettinger \u003cfred.fettinger@motorola.com\u003e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "4528186e0d65fc68ef0dd1941aa2ac8aefcd55a3",
      "tree": "3f1276aef1448aad75a0d44ad1abbbd1478a4937",
      "parents": [
        "931bf89d327ecf07301231fd86b17deac535feaa"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 15:46:30 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 05 16:27:15 2010 -0800"
      },
      "message": "Refactor android.backup \u003d\u003e android.app.backup\n\nChange-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8\n"
    },
    {
      "commit": "43dcdb2ec5aaad592e16555f9b5ddc037fa71902",
      "tree": "eb41b15f55c12e18ae6f07900eda4cabc182380c",
      "parents": [
        "9277c6d97214c96548cdcf4c822c88d5d331b2aa",
        "9444bea903b37d6ac8cc5ee997efcac1c7fcc7ef"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 05 13:24:06 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 05 13:24:06 2010 -0800"
      },
      "message": "Merge \"Add null checks for strings\""
    },
    {
      "commit": "e29db6a2d2ba8d9458c88fe6c6dbb2164462773e",
      "tree": "36d6e390465adfad4932734593f700843f3c7cd0",
      "parents": [
        "924e164a83056600642a3181f19094b3ecb5262d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 05 13:45:51 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 05 15:44:22 2010 -0500"
      },
      "message": "Keep screen on when in car mode and the device is powered.\n\nBUG: 2477103\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "924e164a83056600642a3181f19094b3ecb5262d",
      "tree": "452dcdf39a3e2155741c4b6b77a94cd7a3f82e55",
      "parents": [
        "bda5780d39d5483dea938f2b64f6b2e0fb383e22"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 05 11:56:53 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 05 15:05:47 2010 -0500"
      },
      "message": "Disable the keyguard when in car mode\n\nBUG: 2367912\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9444bea903b37d6ac8cc5ee997efcac1c7fcc7ef",
      "tree": "ff49cfd08fe2deb4144dc078001e059d6f040a84",
      "parents": [
        "ee2b21dba2740dcb47a68b8d1ed671b425c96948"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 05 10:46:11 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 05 11:37:57 2010 -0800"
      },
      "message": "Add null checks for strings\n"
    },
    {
      "commit": "7299c41630935a2b106e73e5603579a7747f7535",
      "tree": "933c4bc5c991c8d9334b7b78fbc71ad73e93d077",
      "parents": [
        "6d141b0a9beb71e59ba850b7be13c4f0344ddc77"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 18:41:49 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 05 10:57:47 2010 -0800"
      },
      "message": "Refactor car mode.\n\nExtract all UI behavior from dock observer and ACTION_DOCK_EVENT.\n\nAlso introduce a desk type to go along with the car type all through\nthe resource system, since we now need to have corresponding high-level\nbroadcasts for desk dock mode.  As part of that I also reworked some\nof the logic for switching modes to all funnel through a single\nupdate() call that looks all of the current state to decide what to\ndo next, and fixed various locking issues.\n\nIn addition I found there were bugs in the configuration change\nhandling causing us to only switch into the car mode config and\nthen never get out of it.  Unfortunately now that we are actually\nchanging the configuration for each mode change, the transitions\nbetween them are really crummy as we restart all kinds of\nactivities. :(\n"
    },
    {
      "commit": "6d141b0a9beb71e59ba850b7be13c4f0344ddc77",
      "tree": "895217d915a22ec84df5305c6d10fb3b1a0cd062",
      "parents": [
        "f25269398e970f7c072893f71fdebe62afff785b",
        "d32c8020dd2b07eb4bb1cbcfbb3de2d96de08624"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Mar 05 10:36:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 05 10:36:15 2010 -0800"
      },
      "message": "Merge \"Fix persisting flags for apps with data only Force gc\u0027s before deleting containers.:\""
    },
    {
      "commit": "c44c6d038dae9dbe2e6dbc182372590cef18bcb7",
      "tree": "1d337c326fed578de4614ff6b7600e93c3375ebe",
      "parents": [
        "ff846009ecb6df669feeb5d5feecf4b304b8b9a5"
      ],
      "author": {
        "name": "Bernd Holzhey",
        "email": "holzhey@google.com",
        "time": "Fri Mar 05 14:13:29 2010 +0100"
      },
      "committer": {
        "name": "Bernd Holzhey",
        "email": "holzhey@google.com",
        "time": "Fri Mar 05 14:13:29 2010 +0100"
      },
      "message": "fix NullPointerException if location is not set.\n\nBug: http://b/issue?id\u003d2490154\n"
    },
    {
      "commit": "1533020321c3cb5a7c652ce602c04a0300d9ed10",
      "tree": "5bc42cbcca32fd93b783595845403bd2ea9c008a",
      "parents": [
        "ab2628c23dcddb0a954ae09d7fd8c4e3f77e9b9d",
        "e7085e909d0c7f58a160b2730ff06aca085dfd6b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 04 18:47:24 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 04 18:47:24 2010 -0800"
      },
      "message": "Merge \"Update framework tethering UI\""
    },
    {
      "commit": "ab2628c23dcddb0a954ae09d7fd8c4e3f77e9b9d",
      "tree": "3724b33948e17820976cd0372d376ed5dde1153a",
      "parents": [
        "51ced540994ca032d886288c204091073c3fd66d",
        "8fff6451476334fbef30a080f46f37d552257e9a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Mar 04 18:32:37 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 04 18:32:37 2010 -0800"
      },
      "message": "Merge \"Remove the ProximityAlerts update Receiver when the last ProximityAlert expires. Fixes issue 6900.\""
    },
    {
      "commit": "e7085e909d0c7f58a160b2730ff06aca085dfd6b",
      "tree": "23b2ff5f5313d646db9f545d75d581e3f039c205",
      "parents": [
        "50490adfdc38e7d8cc1d6619700d6a5b7a291e69"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 04 13:33:13 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 04 18:20:58 2010 -0800"
      },
      "message": "Update framework tethering UI\n\nGetting rid of notification dialog - maybe the entire TetherActivity.\nAlso getting rid of toasts - to ephemeral.\n"
    },
    {
      "commit": "d32c8020dd2b07eb4bb1cbcfbb3de2d96de08624",
      "tree": "8040ee1500750c14479471dd46c708ededf6b094",
      "parents": [
        "1a31ae34a073b9769775f9e6cf5818888173a8e8"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Mar 04 17:18:14 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Mar 04 18:16:17 2010 -0800"
      },
      "message": "Fix persisting flags for apps with data only\nForce gc\u0027s before deleting containers.:\n"
    },
    {
      "commit": "8fff6451476334fbef30a080f46f37d552257e9a",
      "tree": "069c2d014aa3a9cc8373473bebd1f7430fc3bc76",
      "parents": [
        "1a31ae34a073b9769775f9e6cf5818888173a8e8"
      ],
      "author": {
        "name": "Sean Foy",
        "email": "sean.foy@gmail.com",
        "time": "Thu Mar 04 12:17:54 2010 -0600"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 04 21:05:51 2010 -0500"
      },
      "message": "Remove the ProximityAlerts update Receiver when the last ProximityAlert expires.\nFixes issue 6900.\n\nChange-Id: Ifcd3fa9c34cfca02ed5e7a94aded33984ac81c60\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "50490adfdc38e7d8cc1d6619700d6a5b7a291e69",
      "tree": "7604b36d2ecb082140b909622430b4891ca90eb8",
      "parents": [
        "bcfcafe18c331bef98ea3f15665bcc3bac2aa544",
        "9bdc94b7a42a07d7dafcdf2cbadbb9c736b979d2"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 04 17:37:16 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 04 17:37:16 2010 -0800"
      },
      "message": "Merge \"Improve watchdog diagnostics.\""
    },
    {
      "commit": "9bdc94b7a42a07d7dafcdf2cbadbb9c736b979d2",
      "tree": "5fab687280890e7e90c8f78ecbe0f44261ab5660",
      "parents": [
        "4736ff3534e55c4aabdf3a69508841c8b1f86dd7"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 04 14:20:31 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 04 17:31:27 2010 -0800"
      },
      "message": "Improve watchdog diagnostics.\n\nCapture stack traces from the system process using the same\nmechanism as ANRs (which will initialize traces.txt, etc).\nAlso record the watchdog reset in the dropbox for uploading.\n\nBug: 2475557\n"
    },
    {
      "commit": "5321aef4a22daef6ed01ed48d936cdd82f2e38b7",
      "tree": "7c34f1bac696c3dfa056ac9a72613592ae908770",
      "parents": [
        "23b7aa45fbb6397d6b1960cd8f1b832ef7d49fe5"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Feb 12 12:35:59 2010 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Mar 04 16:07:14 2010 -0800"
      },
      "message": "Wifi AP framework changes first pass\n\nBug: 2421638\nChange-Id: Ic5ea8f7560a7fe5e1b0769daa5d92cc33eefc692\n"
    },
    {
      "commit": "20cb56e26e91df91bd64d4251222e0d421cdbe47",
      "tree": "17f4e6b033d060bd4745fd6a2ac38ada2e35897f",
      "parents": [
        "89d6d00a8b015e97f6bf8ca9fa9203402c15aa00"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 00:58:29 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 11:52:14 2010 -0800"
      },
      "message": "Fix some bugs.\n\nBug #2376231: Apps lose window focus (and back key causes ANR) if the\nlock screen is dismissed while the phone is in landscape mode\n\nThis is another case where we weren\u0027t recomputing the focused window\nafter changing the visibility policy.\n\nbug #2479958: Investigate source of \"Resources don\u0027t contain package\nfor resource number 0x7f0a0000\"\n\nUm, okay, so it turns out there were bugs all over the place where\nwe would load an XML resource from a another application, but not\nuse the Resources for that application to retrieve its resources...!\nI think the only reason any of this stuff was working at all was\nbecause it typically only cared about retrieving the resource\nidentifiers of the items (it would look up the values later).\n\nBug #2401082: Passion ERE26 monkey crash - InputMethodManagerService\n\nAdd some null checks.\n"
    },
    {
      "commit": "c11f9d339e4d7dcd7f1c7577b72abf929c4dc2a0",
      "tree": "e640b31ad1b6abdc7ab105441cdf6bab62c2bf62",
      "parents": [
        "d2e45244f5db5df34e7219460f7c70c6c65f9eee",
        "6651a1321c1777b39e662d7f65a5a895f1053485"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Mar 04 10:22:44 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 04 10:22:44 2010 -0800"
      },
      "message": "Merge \"Fix epsilon calculation for jumpy touchscreen filtering\""
    },
    {
      "commit": "4a3c3b23d0aa87a68088976b4f397be116cd2338",
      "tree": "9576b9910ff13e64d71de5eefc476613036602b4",
      "parents": [
        "966641a8da5361681e14ffaa00f2b69301b7c629"
      ],
      "author": {
        "name": "Bernd Holzhey",
        "email": "holzhey@google.com",
        "time": "Wed Mar 03 10:00:10 2010 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 04 09:15:37 2010 -0800"
      },
      "message": "Fixing automatic switching of night mode if network location is not enabled.\n\nThe current implementation does not take care of location changes in the case\nthe network location is not enabled. The fix will use the passive location provider\nto receive any location updates (gps and network) and using the network location\nprovider to trigger the passive provider.\n\nChange-Id: I851bb1ff90e9103712a0e741528a6dfa5d4353c8\n"
    },
    {
      "commit": "b42ab0f41cb9dc5988d152ba660d39b3910ae373",
      "tree": "188b8b0d57aad907acbd72b962857974bc264c1d",
      "parents": [
        "01f4385d86537cf656cfc70ea075177d50619206"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 04 08:02:44 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 04 08:02:44 2010 -0500"
      },
      "message": "Delay setting initial screen brightness until after the sensors are initialized.\n\nSome devices will not activate the light sensor properly on boot\nunless we do this.\n\nChange-Id: Ia27b6fc2d515c31eb8597e1d52127d70e2643bd7\nBUG: 2269307\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6651a1321c1777b39e662d7f65a5a895f1053485",
      "tree": "93f13c4cac9f0a1150928a2cf0876ef49859a180",
      "parents": [
        "37f700a83cf885447e67053a87d4e30b2f44ae44"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 03 20:43:16 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 03 20:43:16 2010 -0800"
      },
      "message": "Fix epsilon calculation for jumpy touchscreen filtering\n"
    },
    {
      "commit": "37f700a83cf885447e67053a87d4e30b2f44ae44",
      "tree": "0742bf3c0de1ffe41432811e44018cc41788b033",
      "parents": [
        "e58aa0d964f91597cf3eecf16ff72988e6c5f5a3",
        "f5bcc6addd9c1f8f6bb8b8626540d003b3f964fa"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 03 17:22:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 03 17:22:15 2010 -0800"
      },
      "message": "Merge \"InputDevice filtering for jumpy screens. Updated ScaleGestureDetector for framework deprecations.\""
    },
    {
      "commit": "f5bcc6addd9c1f8f6bb8b8626540d003b3f964fa",
      "tree": "69332a76fdc7995b4298b56e81d7274ada12a6f1",
      "parents": [
        "9b10ef5fe85e9d29721ff0cd15161f960d38a8db"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Mar 02 10:42:16 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 03 17:12:55 2010 -0800"
      },
      "message": "InputDevice filtering for jumpy screens.\nUpdated ScaleGestureDetector for framework deprecations.\n"
    },
    {
      "commit": "351434bd17ae72ccf1a38ee34a807aefda0aa819",
      "tree": "8ffbf08ec3ee18eb42e7a9d90f2264eef71564bb",
      "parents": [
        "c1552397be706c243338389c628a44eee6011eae",
        "5a73506cdd466f2b96686ced3ff0f7ca224d1143"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 03 16:35:23 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 03 16:35:23 2010 -0800"
      },
      "message": "Merge \"Add error reporting for Tethering.\""
    },
    {
      "commit": "c1552397be706c243338389c628a44eee6011eae",
      "tree": "a6854366e2a68e37400a22ab95c7d9496007a4fa",
      "parents": [
        "6be0fc100e46bc1cd4d9eda6c63a962d1c24dbd4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 03 16:19:01 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 03 16:26:26 2010 -0800"
      },
      "message": "Allow multiple original-package tags.\n\nAlso fix some issues with moving files from update commands.\n"
    },
    {
      "commit": "5a73506cdd466f2b96686ced3ff0f7ca224d1143",
      "tree": "9818d6ef9b3f3dd9658d9ea7eb6ccb9de65d38f5",
      "parents": [
        "9b10ef5fe85e9d29721ff0cd15161f960d38a8db"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Mar 02 17:25:02 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 03 15:14:29 2010 -0800"
      },
      "message": "Add error reporting for Tethering.\n\nAlso make the usb interface configuration more robust so retries are possible.\n\nMakes all Tethering errors recoverable - no harm letting them try again anyway.  Worst case\nis they need to reboot.\n"
    },
    {
      "commit": "9b10ef5fe85e9d29721ff0cd15161f960d38a8db",
      "tree": "a6830aad34d62273b02f0e3dbaa054dd7ec7c270",
      "parents": [
        "a034cd3e15b6626be03e60f2d6a0f929dcb950d9"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 03 09:45:24 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 03 14:06:10 2010 -0800"
      },
      "message": "Rework the way PackageManager binds to default container service.\n\nClean up stale containers when enabling/disabling packages on sdcard.\nCheck the path of packages which are being enabled.\nMake sure gc\u0027s are done prior to destroying containers when moving applicati\nas well as enabling/disabling packages for sdcard mount status changes.\n\nSome miscellaneous issues\n   Remove hack to avoid renaming containers.\n   Fix test with forward locked apps\n   Remove adding container id to asec list when renaming\n   Some cosmetic changes to DefaultContainerService\n"
    },
    {
      "commit": "5f8a300a1207878a893d63b6eeb8968679308c68",
      "tree": "d49cebf9fbc461ecf0ccd8aed792a2bb090b7a07",
      "parents": [
        "4ac163f3cbf58fad3357bf8ac2e9883233facc1d",
        "51cb9d5d55a673f329c17a689f724af772257804"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 12:15:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 03 12:15:35 2010 -0800"
      },
      "message": "Merge \"Fix off by one error in NetworkManagementService.isUsbRNDISStarted()\""
    },
    {
      "commit": "4ac163f3cbf58fad3357bf8ac2e9883233facc1d",
      "tree": "50081b6ad769310983a28b2b7ea99232d1bb5a4d",
      "parents": [
        "f3685afc5d30e07fc35a0a4724d0c5d0cfea112b",
        "bf2dd44a6f86d13efd55d1e690822fba11187bf8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 12:14:54 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 03 12:14:54 2010 -0800"
      },
      "message": "Merge \"MountService: Send ACTION_MEDIA_UNSHARED Intent a volume is no longer shared via UMS.\""
    },
    {
      "commit": "51cb9d5d55a673f329c17a689f724af772257804",
      "tree": "d4f9ca764b22272f3c84968a90b32e7e72348afa",
      "parents": [
        "687c44f2f02cecc4103c611ead225f990402d1af"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 15:12:00 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 15:13:58 2010 -0500"
      },
      "message": "Fix off by one error in NetworkManagementService.isUsbRNDISStarted()\n\nChange-Id: I74eea36464696d63ad072661704b410bfe40c1c8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d9894bc3b3d9db952988140613c1186e8990d7c0",
      "tree": "ceb6e240e74d1547108905181351d7218554764a",
      "parents": [
        "0b49ab5cae98d5f27b490b6de35d92e7a63a2e64"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Mar 03 16:15:13 2010 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Mar 03 20:47:47 2010 +0900"
      },
      "message": "Fixed NPE by guarding the reference of variable\n\nBug: 2395174\n"
    },
    {
      "commit": "bf2dd44a6f86d13efd55d1e690822fba11187bf8",
      "tree": "0a115cfda2765dbc558318b692fd1874305cd6ac",
      "parents": [
        "c018f3cfdd8a8277dbb3b61d4761974862876ab9"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 06:16:52 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 03 06:16:52 2010 -0500"
      },
      "message": "MountService: Send ACTION_MEDIA_UNSHARED Intent a volume is no longer shared via UMS.\n\nChange-Id: I21c887ae76eccabcc5d8449aa0a38e98758e8958\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "97106ab5af0fdba00d6dbda4767b953e0a5829f4",
      "tree": "90e85136dcf8479b3a6e21c05bbda0c70fb07b9a",
      "parents": [
        "ddb42a421fe110bfce8dab1cc241ca0fc1f5290e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 03 00:08:31 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 03 00:08:31 2010 -0800"
      },
      "message": "Fix issue #2325621 Runtime restart after launching Android keyboard setting .\n"
    },
    {
      "commit": "b5ccb59e06920317642a655bf1b9ed840cb05182",
      "tree": "d6cdc6a3d9c0d99d369822f7e0b5147780ed6720",
      "parents": [
        "25c374e83659e1a468fa110af92ef4b89144deef",
        "faa7e8363e71cb441bf1cf5f17cb1679d9ced99f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 18:06:30 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 02 18:06:30 2010 -0800"
      },
      "message": "Merge \"DockObserver: Watch for exceptions in LocationManger.isProviderEnabled().\""
    },
    {
      "commit": "faa7e8363e71cb441bf1cf5f17cb1679d9ced99f",
      "tree": "4dcf401805f566fe2d0e3efb063f4e5ce538c630",
      "parents": [
        "c018f3cfdd8a8277dbb3b61d4761974862876ab9"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 20:49:47 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 20:52:46 2010 -0500"
      },
      "message": "DockObserver: Watch for exceptions in LocationManger.isProviderEnabled().\n\nChange-Id: Ieb9f6b0c20a6ce2223cb4b4956580b8543094c2f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a2e92266b3f768f74ab7fcb42972a22d6c739b39",
      "tree": "ddbce0189e04e2ef3b196c9d71dd9dab03410d4b",
      "parents": [
        "c018f3cfdd8a8277dbb3b61d4761974862876ab9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 17:19:29 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 17:37:45 2010 -0800"
      },
      "message": "Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboard\n\nWe now only consider a device to be a default keyboard if its name\nhas \"-keypad\".  A hack, but whatever.\n\nAlso add some debug logging for the input state to help identify such\nissues in the future.\n"
    },
    {
      "commit": "b601ce14f9bee3ba6ee017729ea6f926586f2c8d",
      "tree": "2a8ef9ae8cad07a3c3adfd1a079fbff4398f1cac",
      "parents": [
        "00611034cacc2d22a2e875509e910a142e359ab6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 23:36:02 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 11:43:16 2010 -0800"
      },
      "message": "Fix issue #2468687: back and home keys don\u0027t work on InCallScreen\n\nMake sure we update the focus after hiding a window via the\npolicy visibility.\n"
    },
    {
      "commit": "3b9ef08bbbdc95a609fa7883d6fff4b4fd22e33c",
      "tree": "77da686577397148b7789a1409748a4485eef05d",
      "parents": [
        "0245e09fa7916d7902b1719bde7c71add9afe9c2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 10:33:55 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 10:33:55 2010 -0500"
      },
      "message": "Don\u0027t eat IllegalArgumentExceptions in LocationManagerService.\n\nThe exeptions should be returned to the Binder client instead.\n\nChange-Id: I8ab36880622bf8b4fdf28407dec50652c48b6712\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "debecf2e4094f7a901632286d3f45ea2211e7494",
      "tree": "c5278de8e38dc69a090207029acacfadb03a4e4c",
      "parents": [
        "0ef3eeec405efe2585eae8e675869dafdf81698f",
        "84a893467307eb3178b99a7926dea9c8e21579f1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 02 04:29:04 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 02 04:29:04 2010 -0800"
      },
      "message": "Merge \"Don\u0027t poke user activity when unplugging unless screen is already on.\""
    },
    {
      "commit": "5d26c1e38dabb3ad8b4b6e1000375f3b1a6b7693",
      "tree": "6ba3c3a0a6a5de37d65c07690de84080a91db3b3",
      "parents": [
        "69f22feb8540576d2a2e9d32f9c86ebbbf309409"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 16:09:43 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 18:34:50 2010 -0800"
      },
      "message": "Added a name to Surface created by SurfaceFlinger\n\nUpdated the window manager to use this new facility.\nSurfaces name are now printed by \"dumpsys\".\n"
    },
    {
      "commit": "69f22feb8540576d2a2e9d32f9c86ebbbf309409",
      "tree": "3b2b0225dd8adbf10a1135cf13cc212face5eca2",
      "parents": [
        "42c79880b0c19dfbcd8589d89d35fcedb1a7c9da"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 14:37:50 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 01 18:31:16 2010 -0800"
      },
      "message": "fix [2476230] sensor battery stats could get out of sync if an error occurs\n\nFixed a few problems with the SensorService:\n- a race condition when talking to the BatteryStatService\n- only report changes to BatteryStatService when there are no errors\n(ie: when a change actually happens)\n- tell the BatteryStatService when a sensor is deactivated because its\nclient died\n- rewrite enableSensor() so it\u0027s readable\n- implement dump() so dumpsys will display some infos about active sensors\n- recompute the delay properly when sensors are added/removed\n"
    },
    {
      "commit": "84a893467307eb3178b99a7926dea9c8e21579f1",
      "tree": "2cc0f89c239e8f86d33cdab1869d5080dc132a41",
      "parents": [
        "42c79880b0c19dfbcd8589d89d35fcedb1a7c9da"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 01 21:28:58 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 01 21:28:58 2010 -0500"
      },
      "message": "Don\u0027t poke user activity when unplugging unless screen is already on.\n\nChange-Id: I5a5f233541e13b3a916ad0d8b3bf8d6fb49ab7fd\nBUG: 1317687\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "5d3bea6229c2ba71e87c750204662ee71a01c2dd",
      "tree": "bc1f8a145a665595b36cc81dbcf858abb9da4090",
      "parents": [
        "12f807091db10d30aee53b98a175668abf91f6e0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Mar 01 13:44:29 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Mar 01 13:44:29 2010 -0800"
      },
      "message": "fix the build\n"
    },
    {
      "commit": "8a9b22056b13477f59df934928c00c58b5871c95",
      "tree": "ba3f00f16d2f0b744de34b49da37f4df2da7e95e",
      "parents": [
        "0ec40173b6875cf5ab0b95fb0b2e480f18bfcfbf"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Feb 26 18:56:32 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Mar 01 13:06:50 2010 -0800"
      },
      "message": "Switch the services library to using the new Slog\n"
    },
    {
      "commit": "28a8c2bc140bf3efe732f01057ac280eb85706d0",
      "tree": "f41c9c3de45f300019418a0f97295e2034bb6c0d",
      "parents": [
        "1be40985283e77d3fc5d98268f9f6453bcc7223e",
        "4dcd2ee8cacc9b4c396b8611189595fd9bb7bcad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 11:30:02 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 11:30:02 2010 -0800"
      },
      "message": "resolved conflicts for merge of 4dcd2ee8 to master\n"
    },
    {
      "commit": "4dcd2ee8cacc9b4c396b8611189595fd9bb7bcad",
      "tree": "18f73680e6345b765b659ea1bf390e003d5366ac",
      "parents": [
        "fc7028f1c68dcc8d59c8e4daf4a8917a3d9a7558",
        "7bb2581e6f404da0edba9ebb81b0d0593715eb40"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 01 09:30:21 2010 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 01 09:30:21 2010 -0800"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "7bb2581e6f404da0edba9ebb81b0d0593715eb40",
      "tree": "1ca3c4dc2d86df5df6a55db38fdd5804eef81cdd",
      "parents": [
        "853226b147fb7be7709ce55e7100ebfea6719435"
      ],
      "author": {
        "name": "Magnus Edlund",
        "email": "magnus.edlund.x@sonyericsson.com",
        "time": "Wed Feb 24 15:45:06 2010 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Mar 01 09:12:07 2010 -0800"
      },
      "message": "Fix problem with restarting an application process that recently has died.\n\nThere exists a race condition when starting a process that recently has died.\nIf the ActivityManager receives the death notification for the died process\nafter the new process has been started but before an application thread has\nbeen attached to the new process will the newly created process be removed\nduring the cleanup of the died process. If this happens when sending a broadcast\ncould it result in an ANR.\n\nThis is solved by doing the clean up before starting a new process that uses\nthe same process record.\n"
    },
    {
      "commit": "a33097d6d18415ce9cf68af1840d40cb94c2baac",
      "tree": "4f3e129e444afb31dbfd0204e224d8fa454c5082",
      "parents": [
        "b71c6164ef1b09521bc6e14f18de75be80381887",
        "ca44df86ac907fd147633955f6fda7a249625d50"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 27 06:16:54 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 27 06:16:54 2010 -0800"
      },
      "message": "Merge \"Fix synchronization problem in PowerManagerService.dump()\""
    },
    {
      "commit": "87bba1ee14279bb14a28d42e27c4ef66d9967bf8",
      "tree": "915eb0be9f5fac21d24bacf76438cafb9f14bae0",
      "parents": [
        "8c49df4f36bee2878ab0ff7dc99dff60dc7354fb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 26 17:25:54 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 26 23:32:48 2010 -0800"
      },
      "message": "Move DeviceAdmin APIs to android.app.admin.\n\nAlso add ability for admins to hide themselves when not in use,\na facility for admins to not allow other admins to reset\ntheir password, and debug dumping.\n"
    },
    {
      "commit": "c9d5fb7c95f158d9a31d534895373afcfad77806",
      "tree": "43629cb3e1ba3fb11dc2beaa706b1a6ef21340df",
      "parents": [
        "8f7f35e0ccd91c964b9d3eeef81ff829622dfa74"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Feb 25 12:29:30 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Feb 26 17:48:09 2010 -0800"
      },
      "message": "Add build options for tethering.\n\nDun-required bool and list of allowed upstream ifaces.\n"
    },
    {
      "commit": "8f7f35e0ccd91c964b9d3eeef81ff829622dfa74",
      "tree": "f00fafb472259f5b1cfa416b54cf62a2c3bef735",
      "parents": [
        "59dc9ecec6e4f53a1a2934b08c7f779d2b0a0d9a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 25 18:48:12 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 26 16:34:33 2010 -0800"
      },
      "message": "Add new -W option to Am to wait for the start to complete.\n"
    },
    {
      "commit": "d84aca7d3c5e51567e5ed25585d1b1d9629b2d93",
      "tree": "a554013824b293184fd6b6f1c58fb9ed3813451b",
      "parents": [
        "3f016cfd482721ded01109b8f5c07dfa214ccb05",
        "1cb3cb1a94342e03b54fabfaf361c9e2e26f23fe"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 26 15:19:10 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 26 15:19:10 2010 -0800"
      },
      "message": "Merge \"Tethering: Use battery changed broadcast instead of UMS broadcast to determine when USB is connected and disconnected.\""
    },
    {
      "commit": "1cb3cb1a94342e03b54fabfaf361c9e2e26f23fe",
      "tree": "e2464ec3ae18ca03a318822abe982ab5de8b1cda",
      "parents": [
        "eb6d13102331fb776e5ac586ebdc523ee69d2ddf"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 26 17:22:27 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 26 18:00:58 2010 -0500"
      },
      "message": "Tethering: Use battery changed broadcast instead of UMS broadcast to determine\nwhen USB is connected and disconnected.\n\nThis is needed because the UMS broadcasts will not be sent when UMSis disabled.\n\nChange-Id: I4488fee2c19ac9c901596d1430ea371df97e4325\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1f9e1b4c37c135b75cf064cbb5675aa576e2942a",
      "tree": "1ca95439c91aaa52a74fcbf1833869c614602abe",
      "parents": [
        "eb6d13102331fb776e5ac586ebdc523ee69d2ddf"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 26 13:14:31 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 26 14:32:24 2010 -0800"
      },
      "message": "Remove public variables in PackageManager\nDont invoke getInstallLocation for forward locked apps.\nIf INSTALL_ON_SDCARD is selected as default, forward locked\napps are not being installed because of conflicting flags.\n"
    },
    {
      "commit": "f8219914f2269fb0932e140c966f24e47438f8fe",
      "tree": "a0a2a4f6070ff5700214308a1dc1d6b4e38e1afd",
      "parents": [
        "0eec21d97d9dc4eb4fdbad0e4c0fc53703452d02",
        "7d411a3b947ba82d1d57f73c0fa698c3b9c95892"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Fri Feb 26 13:06:42 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 26 13:06:42 2010 -0800"
      },
      "message": "Merge \"Add single-package restore to Bmgr feature set\""
    },
    {
      "commit": "0eec21d97d9dc4eb4fdbad0e4c0fc53703452d02",
      "tree": "b18ff4aebe681cd501d79522ca3244e0b0720c9e",
      "parents": [
        "4c904a3bf3dbe98607b5e3f706ee8ef8887ee104"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Feb 25 17:07:14 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 26 12:48:21 2010 -0800"
      },
      "message": "Add dialog to display storage users when enabling/disabling ums\n\nSome error dialogs and related strings\nMountService changes to follow unmount path when enabling ums.\n\nPlease note that MountService api setUmsEnabled does not return\nerror codes for now. This is a known limitation.\n"
    },
    {
      "commit": "7d411a3b947ba82d1d57f73c0fa698c3b9c95892",
      "tree": "9fae7c4860733aaa126af64ab433c98665ff2819",
      "parents": [
        "4c904a3bf3dbe98607b5e3f706ee8ef8887ee104"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 26 11:27:08 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 26 12:45:22 2010 -0800"
      },
      "message": "Add single-package restore to Bmgr feature set\n\nAlso sanity-check the package name on the Backup Manager side, failing gracefully\nif the given package is not a backup/restore participant.\n\nBug: 2293977\n\nChange-Id: I3575046ffcaa3cf45c1c602824baeadd64082f70\n"
    },
    {
      "commit": "5035fdab3dbb60b226bc6bb2f03e9944bcb964cd",
      "tree": "84b85303b72926ed2b33253ba11553524a55d954",
      "parents": [
        "3f3e53bc30dbf0e47c90be5cf4bd4faabda9c601"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 25 18:01:14 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 25 18:01:14 2010 -0800"
      },
      "message": "Default the auto-restore setting to \"enabled.\"\n\nChange-Id: I7d8710466214a1b09aabdd71e77b9b34d3d62365\n"
    },
    {
      "commit": "ae06ed97382429f51075d257e3290cdd86f66326",
      "tree": "5198e27de4d596d55b57261c5e429fe53acb840c",
      "parents": [
        "50d89f961630e2d972013f20b8001d0aa0adedf4"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 25 17:13:28 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 25 17:13:28 2010 -0800"
      },
      "message": "Fix the build\n\nChange-Id: I41616afc75a3366ea7e9e79ac7ea4c46d1863d83\n"
    }
  ],
  "next": "f087272d56ff84157e2481b7ca34d4d077affa74"
}
