summaryrefslogtreecommitdiff
path: root/libs/binder/IUidObserver.cpp
AgeCommit message (Collapse)Author
2023-04-21UidObserver / Camera: Track the OOM adj of a uid via UidObserver. Austin Borger
Previously, onUidProcAdjChanged merely signaled that the OOM adj of a uid changed, but did not provide the actual OOM adj score. Having this information allows the camera service to cut out redundant calls to onCameraAccessPrioritiesChanged and avoid overwhelming apps. The number of calls to onCameraAccessPrioritiesChanged is reduced by only signaling when it's likely the uid owning a camera would lose access to it if another uid tried to open that camera. This is opposed to the status quo, which signals every time a watched uid changes its OOM adj, which is highly inefficient. Bug: 274486653 Test: -- on physical device: -- testCamera2AccessCallbackInSplitMode x10 -- ActivityManagerServiceTest -- ActivityManagerProcessStateTest -- ActivityManagerFgsBgStartTest -- UidObserverControllerTest -- Alternate focus in split screen between Camera2 + GCA x20 Change-Id: Ia8d36e7a49156d537ae4da3540a1046e3200d930
2022-03-15Add new onUidProcAdjChanged callback to be consumed by the camera Austin Borger
service. The camera service needs to know when individual process oom adj scores are changed in order to address bug #124224342. When two separate processes are displayed in split screen and focus is switched between them, both proc states will remain the same while their oom scores change. This is a problem if both have access to the camera - we want only one owner of the camera stream at any given time and for the app in focus to be the one to own it. This patch adds a new IUidObserver registration level for individual process oom score changes. In addition a new callback has been added to IUidObserver to track these changes. Change-Id: I4d146e2d31990b41a5d6ba78d1a194c12a81c8f2 Bug: 124224342 Test: -- ActivityManagerServiceTest -- ActivityManagerProcessStateTest -- ActivityManagerFgsBgStartTest -- UidObserverControllerTest -- NetworkPolicyManagerServiceTest -- ShortcutManagerTest2 -- HintManagerServiceTest -- VibrationSettingsTest -- CameraEvictionTest#testCamera2AccessCallbackInSplitMode (x100)
2020-11-25remove extra semicolons [-Wextra-semi] Jooyung Han
Bug: n/a Test: no errors with -Werror,-Wextra-semi Change-Id: If523cadea4c6f02a9155fb7482ba5463fff7854a
2020-11-16binder: fix google-default-arguments Jiyong Park
Bug: 162909698 Test: m libbinder Change-Id: I51839f56e9390614436d434b13969106835a68c9
2019-10-31Merge "Add new parameter capability to onUidStateChanged()" Hui Yu
2019-09-27Remove extraneous semicolon. Steven Moreland
Bug: N/A Test: build w/o -Wno-c++98-compat-extra-semi Change-Id: I632d6df9a03485e547a6e7f14df0f1c068066c1e
2019-08-22Add new parameter capability to onUidStateChanged() Hui Yu
Bug: 136274596 Change-Id: Iadafc64cd580fa195786333485774e0951d3fd4b
2018-11-27Activity manager: native callback for process state Eric Laurent
Make getUidProcessState() callback in IActivityManager.aidl available to native processes. Test: Manual test with audio recording apps pushed to background and back to top. Bug: 111438757 Change-Id: I16d001dcaeb3e9a38743aa7b301445c94fe5dc99
2017-12-26Don't record audio if UID is idle - native framework Ganesh Mahendran
If a UID is in an idle state we don't allow recording to protect user's privacy. If the UID is in an idle state we allow recording but report empty data (all zeros in the byte array) and once the process goes in an active state we report the real mic data. This avoids the race between the app being notified aboout its lifecycle and the audio system being notified about the state of a UID. Test: Added - AudioRecordTest#testRecordNoDataForIdleUids Passing - cts-tradefed run cts-dev -m CtsMediaTestCases -t android.media.cts.AudioRecordTest bug:63938985 Change-Id: I10db89c09498b487ce483d1868123fca95589b34