)]}'
{
  "commit": "5feceebb892d4cb5777cea3c6174b206705d456b",
  "tree": "58feee1605f35b07e70887f4ec017d80b5687436",
  "parents": [
    "bab9687e6473072d6ff4f7ea5a7b21bcfbf95744"
  ],
  "author": {
    "name": "Daniel Sandler",
    "email": "dsandler@android.com",
    "time": "Fri Mar 22 18:29:23 2013 -0700"
  },
  "committer": {
    "name": "Android (Google) Code Review",
    "email": "android-gerrit@google.com",
    "time": "Fri Apr 05 19:54:44 2013 +0000"
  },
  "message": "New NotificationListenerService.\n\nThis is the best and only way for apps to listen for\nnotifications: create a NotificationListenerService, wait\nfor the NoMan to bind to you (as a result of the user\nchecking a box somewhere in Settings and agreeing to a\nscary dialog box), and you\u0027ll start receiving notification\nposted and dismissed callbacks. Your service, while enabled,\nwill also be able to clear one or all notifications.\n\nUse this power wisely.\n\nThis change moves StatusBarNotification out of\ncom.android.internal into android.service.notification.\n[Internal customers, including System UI and early users of\nthe system-only listener binder API, will need to be\nupdated.]\n\nBug: 8199624\nChange-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2ad7a725fa6f5e61a06527bb232fded777bc22ca",
      "old_mode": 33188,
      "old_path": "Android.mk",
      "new_id": "e70f9f3628123f3e1f9b75312d714c6e700f085a",
      "new_mode": 33188,
      "new_path": "Android.mk"
    },
    {
      "type": "modify",
      "old_id": "fc6386644c005f72aca3a85d7d8de3532a3c83fc",
      "old_mode": 33188,
      "old_path": "CleanSpec.mk",
      "new_id": "4debdc23ce8d59037e1b21df8915f930f578e280",
      "new_mode": 33188,
      "new_path": "CleanSpec.mk"
    },
    {
      "type": "modify",
      "old_id": "653e25a91f7594794d361a72e81c17f2f40f3b35",
      "old_mode": 33188,
      "old_path": "api/current.txt",
      "new_id": "6456ce9a463579a7d0e3d8fb4e3beb4ab1aef300",
      "new_mode": 33188,
      "new_path": "api/current.txt"
    },
    {
      "type": "modify",
      "old_id": "3d9b2ae8351838b2f42fd038055e023646f918fe",
      "old_mode": 33188,
      "old_path": "core/java/android/app/INotificationManager.aidl",
      "new_id": "92ec3adf0698ae0c0353edda1ef1910e6da7847b",
      "new_mode": 33188,
      "new_path": "core/java/android/app/INotificationManager.aidl"
    },
    {
      "type": "modify",
      "old_id": "a0473a4805f0a69056b18345370109868e241021",
      "old_mode": 33188,
      "old_path": "core/java/android/provider/Settings.java",
      "new_id": "88ee414bd371f3b238a4c7ef999255dc8c68227b",
      "new_mode": 33188,
      "new_path": "core/java/android/provider/Settings.java"
    },
    {
      "type": "rename",
      "old_id": "f010a2a5083009f6abac0e8d791860cc4984d2d9",
      "old_mode": 33188,
      "old_path": "core/java/android/app/INotificationListener.aidl",
      "new_id": "425fdc113a344b8c69a02f483c9ad255ced3d2a2",
      "new_mode": 33188,
      "new_path": "core/java/android/service/notification/INotificationListener.aidl",
      "score": 89
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "86bab2a23063df58d0a7ea3a80e5c0521a72c6cd",
      "new_mode": 33188,
      "new_path": "core/java/android/service/notification/NotificationListenerService.java"
    },
    {
      "type": "rename",
      "old_id": "bd9e89ce8a42e2054d0f12ec12c3ebc0a3112ce0",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/statusbar/StatusBarNotification.aidl",
      "new_id": "ba8197206dc353411f215c64f7e6f73dfc46a660",
      "new_mode": 33188,
      "new_path": "core/java/android/service/notification/StatusBarNotification.aidl",
      "score": 93
    },
    {
      "type": "rename",
      "old_id": "23e87fcd91829ba9c1ce243abf3146b6ce250ca5",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/statusbar/StatusBarNotification.java",
      "new_id": "ef5f8c4ac911d51f157f2cf6c43843ea36e89092",
      "new_mode": 33188,
      "new_path": "core/java/android/service/notification/StatusBarNotification.java",
      "score": 80
    },
    {
      "type": "modify",
      "old_id": "780f5b3504dde4a8c9b91725b7ea82eafefb1111",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/statusbar/IStatusBar.aidl",
      "new_id": "58b15e28a6b75c63545d135ea62ec462fe3b3ddd",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/statusbar/IStatusBar.aidl"
    },
    {
      "type": "modify",
      "old_id": "04e5bc97d39c40a210716c52261eadfa091d4d3f",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/statusbar/IStatusBarService.aidl",
      "new_id": "c98ba8d554280c47b9c6ea4eca39c548212bf3c6",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/statusbar/IStatusBarService.aidl"
    },
    {
      "type": "modify",
      "old_id": "ffceb68326006b92b9b36d9698b9a9807933dd7b",
      "old_mode": 33188,
      "old_path": "core/res/AndroidManifest.xml",
      "new_id": "90e3b8d99a042e9869b1948d848a2aa95b611412",
      "new_mode": 33188,
      "new_path": "core/res/AndroidManifest.xml"
    },
    {
      "type": "modify",
      "old_id": "4a159671a7397134e973c9d0e099567928e83023",
      "old_mode": 33188,
      "old_path": "core/res/res/values/strings.xml",
      "new_id": "6bf640379eb19d84ecb20633cbf16f522dcf54a4",
      "new_mode": 33188,
      "new_path": "core/res/res/values/strings.xml"
    },
    {
      "type": "modify",
      "old_id": "ced0851cd11adc78f9b14a74f8b76a50284935ea",
      "old_mode": 33188,
      "old_path": "core/res/res/values/symbols.xml",
      "new_id": "bb35bab1cc20011e82d4626c91533a0b65627b20",
      "new_mode": 33188,
      "new_path": "core/res/res/values/symbols.xml"
    },
    {
      "type": "modify",
      "old_id": "7bdcf6ee749231f04ba3096da6ba34af4ebfc8b0",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java",
      "new_id": "5b911c12c1790cbdf2e8fa3b8eeaa8f949a2a7b5",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java"
    },
    {
      "type": "modify",
      "old_id": "752bb0cdbfac29fc12cae22fd758662c89ea917e",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java",
      "new_id": "cbbaab3dcb875775f4c88a1deb40f080697c6142",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java"
    },
    {
      "type": "modify",
      "old_id": "c82f25008f2d5d06e52ce0d20022480ab8e5f033",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java",
      "new_id": "886ed772d9cde285618104aba6fb9ed26802b189",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java"
    },
    {
      "type": "modify",
      "old_id": "9f5457339e888a35d809d963d32a15b2d9218630",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java",
      "new_id": "52f552b84c00ee07270d14e6da7bb80becbc210d",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java"
    },
    {
      "type": "modify",
      "old_id": "ecc70d6ca63bfea13fd52ead610eca8c1938c380",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/phone/Ticker.java",
      "new_id": "976dd01c9c6cea14336eb5638838d70a39b34e7d",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/phone/Ticker.java"
    },
    {
      "type": "modify",
      "old_id": "0944b403471642d0eb573b44c2a5a8cb5f4ea252",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java",
      "new_id": "68d048d4f355d8303e9f51a2f92a7ceb6a54f4f5",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java"
    },
    {
      "type": "modify",
      "old_id": "3d6bfe7afbb7733b5265e13dfc9f60d305e32970",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java",
      "new_id": "05bba897399f60176e7e32277cd04ff5ce1637c8",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java"
    },
    {
      "type": "modify",
      "old_id": "08598747421de86fbc84958e0b9f94aff5311fe4",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletTicker.java",
      "new_id": "725d9e6ab954cc91981a8f3bc0ab293be011d7e8",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletTicker.java"
    },
    {
      "type": "modify",
      "old_id": "413cc786c1d877891408f9d9fe37b01d93d2f37e",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java",
      "new_id": "dc5de027f7853e8cca13216159cc78d5572167d1",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/tv/TvStatusBar.java"
    },
    {
      "type": "modify",
      "old_id": "44d730ceb946c72eeab4dfe66ca621c86d492a5d",
      "old_mode": 33188,
      "old_path": "services/java/com/android/server/NotificationManagerService.java",
      "new_id": "cfb892f489312bcf61a15a7befbb3d28ea92a528",
      "new_mode": 33188,
      "new_path": "services/java/com/android/server/NotificationManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "1fe98afcf358a855c1ff4899e7707c9abe6a25d1",
      "old_mode": 33188,
      "old_path": "services/java/com/android/server/StatusBarManagerService.java",
      "new_id": "c21d8c66b0fbc8be7800f13a5957a5394dc850f0",
      "new_mode": 33188,
      "new_path": "services/java/com/android/server/StatusBarManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "434509869d75cd3bebc66e06cd280e91a3db3b64",
      "old_mode": 33188,
      "old_path": "tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java",
      "new_id": "ba160b188e2bbc14f99b32a21b524f30ec811cea",
      "new_mode": 33188,
      "new_path": "tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java"
    }
  ]
}
