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

Commit 130a2041 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

DO NOT MERGE. Persistable Uri grants still require permissions. am: 05519b7e

am: 1e4d8892

Change-Id: I267a65ad3c2e73b697f832059567f4f2c2438792
parents b9504e59 1e4d8892
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -8841,10 +8841,17 @@ public class ActivityManagerService extends IActivityManager.Stub
            }
        }
        // If we're extending a persistable grant, then we always need to create
        // the grant data structure so that take/release APIs work
        // Figure out the value returned when access is allowed
        final int allowedResult;
        if ((modeFlags & Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION) != 0) {
            return targetUid;
            // If we're extending a persistable grant, then we need to return
            // "targetUid" so that we always create a grant data structure to
            // support take/release APIs
            allowedResult = targetUid;
        } else {
            // Otherwise, we can return "-1" to indicate that no grant data
            // structures need to be created
            allowedResult = -1;
        }
        if (targetUid >= 0) {
@@ -8853,7 +8860,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                // No need to grant the target this permission.
                if (DEBUG_URI_PERMISSION) Slog.v(TAG_URI_PERMISSION,
                        "Target " + targetPkg + " already has full permission to " + grantUri);
                return -1;
                return allowedResult;
            }
        } else {
            // First...  there is no target package, so can anyone access it?
@@ -8869,7 +8876,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                }
            }
            if (allowed) {
                return -1;
                return allowedResult;
            }
        }