Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02af3ea1 authored by Jesse Evans's avatar Jesse Evans
Browse files

Grant ephemeral app access during service bind

Currently we only grant ephemeral access during sendServiceArgs,
but since bindService does not actually send service arguments
the code path to grant ephemeral access is not currently hit.

This change grants ephemeral access during bindServiceLocked after
the association between the calling app and the target service has
been established.

Test: existing tests.
Bug: 37766185
Change-Id: I64847a2dcaf1255c0a7d663c4461cda62655a8d0
parent c8ca16a8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1258,6 +1258,10 @@ public final class ActiveServices {

            mAm.startAssociationLocked(callerApp.uid, callerApp.processName, callerApp.curProcState,
                    s.appInfo.uid, s.name, s.processName);
            // Once the apps have become associated, if one of them is caller is ephemeral
            // the target app should now be able to see the calling app
            mAm.grantEphemeralAccessLocked(callerApp.userId, service,
                    s.appInfo.uid, UserHandle.getAppId(callerApp.uid));

            AppBindRecord b = s.retrieveAppBindingLocked(service, callerApp);
            ConnectionRecord c = new ConnectionRecord(b, activity,