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

Commit c48a5e4b authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Revert "Cache results of getProfileParent calls"

This reverts commit d82e68a6.
Reason: upcoming Binder cache will make this obsolete
Bug: 125739276
parent d404177a
Loading
Loading
Loading
Loading
+3 −28
Original line number Diff line number Diff line
@@ -264,21 +264,6 @@ public final class Utils {
                || (Process.SYSTEM_UID == callingUid);
    }

   static Context mParentUserCacheContext = null;
   // Cache location off for 10 users, cache is valid for 2 seconds.
   static LoadingCache<Integer, Integer> mParentUserCache = CacheBuilder.newBuilder()
       .maximumSize(10)
       .expireAfterWrite(2, TimeUnit.SECONDS)
       .build(
           new CacheLoader<Integer, Integer>() {
             public Integer load(Integer callingUser) {
                UserManager um = (UserManager) mParentUserCacheContext.getSystemService(Context.USER_SERVICE);
                UserInfo ui = um.getProfileParent(callingUser);
                int parentUser = (ui != null) ? ui.id : UserHandle.USER_NULL;
                return parentUser;
             }
           });

    public static boolean checkCallerAllowManagedProfiles(Context mContext) {
        if (mContext == null) {
            return checkCaller();
@@ -289,19 +274,9 @@ public final class Utils {
        // Use the Bluetooth process identity when making call to get parent user
        long ident = Binder.clearCallingIdentity();
        try {

            if (mParentUserCacheContext == null)
                mParentUserCacheContext = mContext;

            int parentUser = 0;

            try {
                parentUser = mParentUserCache.get(callingUid);
            } catch (java.util.concurrent.ExecutionException e) {
            UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
            UserInfo ui = um.getProfileParent(callingUser);
                parentUser = (ui != null) ? ui.id : UserHandle.USER_NULL;
            }
            int parentUser = (ui != null) ? ui.id : UserHandle.USER_NULL;

            // Always allow SystemUI/System access.
            return (sForegroundUserId == callingUser) || (sForegroundUserId == parentUser)