)]}'
{
  "log": [
    {
      "commit": "1576534b4699ed971a89ea79641dc592b15da4ae",
      "tree": "e69e37324ad88e08f9796ef6e39644444e093de0",
      "parents": [
        "ac4a6fcc46d8e7069be2a291b6d737f16a2fbd37"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Nov 17 14:44:20 2020 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Nov 17 14:44:20 2020 -0800"
      },
      "message": "ActivityManager: return status for register/unregisterUidObserver\n\nbug: 172942349\nbug: 159172726\nChange-Id: I1420d5a9e14aca4f70e8c6cbd26613dd85db51f1\n"
    },
    {
      "commit": "b632bd57168ef757002d577a53afad81ccd5db1b",
      "tree": "eba2349c90683c3c5d0715ca921a651ef6a52d25",
      "parents": [
        "5cc8820fdda3a7d41f4e36c6ac67110573135a9e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Nov 02 11:01:48 2020 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Nov 04 11:08:24 2020 -0800"
      },
      "message": "Add NDK PermissionManager checkPermission\n\nbug: 172283477\nbug: 159172726\n\nChange-Id: I532722772f6a86ef4f94a95146df34603278bb45\n"
    },
    {
      "commit": "68e261a0aa6c423c4e79bd2d6070e5180282102e",
      "tree": "9a2ed82d11ca809c7e8374a0d26aa2fc42a204ec",
      "parents": [
        "ad321cd93840d11440f80f49452d4631697033e5"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Fri Aug 28 05:10:55 2020 +0000"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Fri Aug 28 05:23:13 2020 +0000"
      },
      "message": "Revert \"Add setSchedPolicyCgroup to AM binder\"\n\nThis reverts commit b12941cf9b1e3c3456eb44a19927570d99ba108d.\n\nReason for revert: may have problem under race condition\n\nChange-Id: I67941e7b5026484df856554dc66e1ae0c621a93c\n"
    },
    {
      "commit": "b12941cf9b1e3c3456eb44a19927570d99ba108d",
      "tree": "979ac13b01ff4d0ddb5ac6bfd7904a546912f1dd",
      "parents": [
        "61086af8434ff216f6cda008722e928f1c6bffa4"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Mon Mar 30 15:58:06 2020 +0800"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Thu May 07 21:05:43 2020 +0800"
      },
      "message": "Add setSchedPolicyCgroup to AM binder\n\nAdd setSchedPolicyCgroup function to native Activity Manager binder\ninterface.\n\nBug: 139521784\nTest: function works\nChange-Id: Icc89e0c4d33993d2ccb80f5d63efb9f6fdd5ba40\n"
    },
    {
      "commit": "94ea7ac7e071de6904a3ec7c0deec7efac93b6e3",
      "tree": "bdc9dd6570f61d35a8f3b94a2b2f454249249aa4",
      "parents": [
        "ef6532c9d46439e4773435c10624d097a53978df"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Mon May 04 17:40:52 2020 +0000"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Mon May 04 18:07:46 2020 +0000"
      },
      "message": "Revert \"Add isUidActiveOrForeground for camera/audio to use.\"\n\nRevert submission 10829580-isUidForeground\n\nReason for revert: In CameraService.cpp, before this change, around \"am.isUidActive\", there was up to 300 ms retry. After this change, the code could move forward fast without retry, but at \"mAppOpsManager-\u003estartOpNoThrow\" call, for the same reason as uid is not updated fast enough, \"mAppOpsManager-\u003estartOpNoThrow\" could also fail.\n\nThis CL does not really fix the root cause, but it changes the timing and now the code fails at \"mAppOpsManager-\u003estartOpNoThrow\" call.\n\nAlso the timing change may also cause recent multiple CTS test failures.\n\nBug: 154570809, 155032617, 154849083\n\n\nReverted Changes:\nIffed63293:Add isUidActiveOrForeground() for camera/audio to ...\nI3685e0c8d:Add isUidActiveOrForeground() for camera/audio to ...\nI51ed1fe78:Add isUidActiveOrForeground for camera/audio to us...\n\nChange-Id: I9fbeb190c5a0ac640ad5be8140fe4aaeb7cfe33d\n"
    },
    {
      "commit": "ef6532c9d46439e4773435c10624d097a53978df",
      "tree": "6d140d62b6bfa225383fbb17b0b6e282ea0a80c1",
      "parents": [
        "f08d9c835f9e422e34f19b0ed779cea1ec983105"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Tue Mar 24 16:12:07 2020 -0700"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Mar 25 11:06:49 2020 -0700"
      },
      "message": "Add isUidActiveOrForeground for camera/audio to use.\n\nThe new interface isUidActiveOrForeground will call AM.isUidActiveOrForeground()\nwhich check isUidActive() first, if flase, then check isUidForeground.\n\nBug: 151185692, 151777097, 109950150\nTest: manual test.\nChange-Id: I51ed1fe780dbead0688e73a37c6c762f84e8bf23\n"
    },
    {
      "commit": "6511af57870adc67363664edd10fc35cf9f01128",
      "tree": "1668dbff512af7c94a2ed57339d7d54b0f8767f8",
      "parents": [
        "3a4d36092b9516866590793b66f94b6d8ef5313c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Sep 26 16:05:45 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 27 12:38:19 2019 -0700"
      },
      "message": "Remove extraneous semicolon.\n\nBug: N/A\nTest: build w/o -Wno-c++98-compat-extra-semi\nChange-Id: I632d6df9a03485e547a6e7f14df0f1c068066c1e\n"
    },
    {
      "commit": "0559589bd6fd3f8e97480d09e9f6e57011d2b950",
      "tree": "073b2cddd0c8d024de008ca42f24252558d3f89b",
      "parents": [
        "910c0aa1384ee3122a4d3929ca3b94943a3dc539"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 18 14:56:24 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 27 17:50:31 2018 -0800"
      },
      "message": "Activity manager: native callback for process state\n\nMake getUidProcessState() callback in IActivityManager.aidl\navailable to native processes.\n\nTest: Manual test with audio recording apps pushed to background and back\nto top.\nBug: 111438757\n\nChange-Id: I16d001dcaeb3e9a38743aa7b301445c94fe5dc99\n"
    },
    {
      "commit": "91635563b8a1bf7a31e4ceb439728dacb79abd76",
      "tree": "76e42555fb1da0a173a8d14a77d8679d926f53d8",
      "parents": [
        "fdcfb671b1a8750153ae9549c2cecf219569995a"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Jun 07 14:38:36 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Jun 07 14:38:36 2018 -0700"
      },
      "message": "[binder] Replace NULL/0 with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nclang-tidy -checks\u003dmodernize-use-nullptr -p compile_commands.json -fix\n...\n\nTest: m\nBug: 68236239\nChange-Id: I3181bc5683796423a98b0f9b94daf30880c07bdc\n"
    },
    {
      "commit": "fa851800cf97d1a3d30a7a147877005dc48721ff",
      "tree": "1d30cc59aec13e2164bdc5894de20f3a3fca5f92",
      "parents": [
        "b900363e9b482ea404d4b6cea4c60b3c0000b6d1"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Mar 27 17:17:46 2018 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Mar 28 04:15:19 2018 +0000"
      },
      "message": "Add API to query if a UID is active\n\nTest: cts-tradefed run cts-dev -m CtsCameraTestCases\n\nBug: 72863398\n\nChange-Id: I8e5021f2ef4cd77fc89ae3b47cc32ad6913da0d6\n"
    },
    {
      "commit": "ae8b20d8174633510cded34beb0fda51bdc1f974",
      "tree": "cfcf93c13146046843fa7bc2cd31fdbbc118c1ee",
      "parents": [
        "43bfc23bb8c920ad4a97466e363ae94538e53805"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 20 11:05:23 2018 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 20 11:05:23 2018 -0700"
      },
      "message": "ActivityManager: Add link/unlinkToDeath\n\nNative services aren\u0027t killed when the system service dies, so they\nmay need to be able to tell when ActivityManager has died.\n\nTest: adb shell stop; adb shell start; verify camera service still\n   allows camera use. No regression to camera CTS.\nBug: 74230547\n\nChange-Id: Iaa078b2f9a1d9c7be305b7667e3055a8ce52aa21\n"
    },
    {
      "commit": "86fc4f34dfc0070d8e587e2af323f1e8b54f933d",
      "tree": "7a76e37a3aba05bb67364e18b1c83ce077cc2ced",
      "parents": [
        "7e3b57a2f100bd7047ee33e786e9ac32185270d5"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 22 00:29:30 2018 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 22 00:29:35 2018 -0800"
      },
      "message": "Don\u0027t block long time gettng system service\n\nTest: run google/template/local --template:map test\n      google/continuous/boot-successive --no-first-boot --successive-boot\n      --boot-count 10 --granular-boot-info -f\n      SystemServerTiming_StartServices,SystemServerTiming_StartAudioService\n\nbug:72322854\n\nChange-Id: Ie287e0a8f1ed10f9a535b489cef6f3db184e41cb\n"
    },
    {
      "commit": "25d78a1b39b86bc17e813ee7e21288551d2c9784",
      "tree": "b60400d2d56c4ef6f86abaf3ff61dd3712c064e2",
      "parents": [
        "873eabc5af8346acc36c9090d6e5014a464981ee"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jan 21 02:49:00 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jan 21 02:49:04 2018 -0800"
      },
      "message": "Wait longer for the activity service\n\nTest: manual\n\nChange-Id: I4cdbaa756bd26986265bca4e3a0919083ea23336\n"
    },
    {
      "commit": "4d85b8c0a38c14f854af8ff85391b7a8d1170d5b",
      "tree": "d5b655c0daf01db2ddd5bbb258f04c48c43c18b7",
      "parents": [
        "3a74e1428a75fdc6c519523a0da5ffd86e3001d1"
      ],
      "author": {
        "name": "Ganesh Mahendran",
        "email": "opensource.ganesh@gmail.com",
        "time": "Thu Nov 02 14:43:38 2017 +0000"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Dec 26 06:20:27 2017 +0000"
      },
      "message": "Don\u0027t record audio if UID is idle - native framework\n\nIf a UID is in an idle state we don\u0027t allow recording to protect\nuser\u0027s privacy. If the UID is in an idle state we allow recording\nbut report empty data (all zeros in the byte array) and once\nthe process goes in an active state we report the real mic data.\nThis avoids the race between the app being notified aboout its\nlifecycle and the audio system being notified about the state\nof a UID.\n\nTest: Added - AudioRecordTest#testRecordNoDataForIdleUids\n      Passing - cts-tradefed run cts-dev -m CtsMediaTestCases\n                        -t android.media.cts.AudioRecordTest\n\nbug:63938985\n\nChange-Id: I10db89c09498b487ce483d1868123fca95589b34\n"
    }
  ]
}
