Loading services/core/java/com/android/server/uri/UriPermission.java +37 −27 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import android.util.ArraySet; import android.util.Log; import android.util.Slog; import com.android.internal.annotations.GuardedBy; import com.google.android.collect.Sets; import java.io.PrintWriter; Loading Loading @@ -82,7 +84,9 @@ final class UriPermission { static final long INVALID_TIME = Long.MIN_VALUE; @GuardedBy("this") private ArraySet<UriPermissionOwner> mReadOwners; @GuardedBy("this") private ArraySet<UriPermissionOwner> mWriteOwners; private String stringName; Loading Loading @@ -204,6 +208,7 @@ final class UriPermission { persistedModeFlags &= ~Intent.FLAG_GRANT_READ_URI_PERMISSION; } globalModeFlags &= ~Intent.FLAG_GRANT_READ_URI_PERMISSION; synchronized (this) { if (mReadOwners != null && includingOwners) { ownedModeFlags &= ~Intent.FLAG_GRANT_READ_URI_PERMISSION; for (UriPermissionOwner r : mReadOwners) { Loading @@ -214,12 +219,14 @@ final class UriPermission { mReadOwners = null; } } } if ((modeFlags & Intent.FLAG_GRANT_WRITE_URI_PERMISSION) != 0) { if (persistable) { persistableModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; persistedModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; } globalModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; synchronized (this) { if (mWriteOwners != null && includingOwners) { ownedModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; for (UriPermissionOwner r : mWriteOwners) { Loading @@ -230,6 +237,7 @@ final class UriPermission { mWriteOwners = null; } } } if (persistedModeFlags == 0) { persistedCreateTime = INVALID_TIME; Loading @@ -256,7 +264,7 @@ final class UriPermission { } } private void addReadOwner(UriPermissionOwner owner) { private synchronized void addReadOwner(UriPermissionOwner owner) { if (mReadOwners == null) { mReadOwners = Sets.newArraySet(); ownedModeFlags |= Intent.FLAG_GRANT_READ_URI_PERMISSION; Loading @@ -270,7 +278,7 @@ final class UriPermission { /** * Remove given read owner, updating {@Link #modeFlags} as needed. */ void removeReadOwner(UriPermissionOwner owner) { synchronized void removeReadOwner(UriPermissionOwner owner) { if (mReadOwners == null || !mReadOwners.remove(owner)) { Slog.wtf(TAG, "Unknown read owner " + owner + " in " + this); return; Loading @@ -282,7 +290,7 @@ final class UriPermission { } } private void addWriteOwner(UriPermissionOwner owner) { private synchronized void addWriteOwner(UriPermissionOwner owner) { if (mWriteOwners == null) { mWriteOwners = Sets.newArraySet(); ownedModeFlags |= Intent.FLAG_GRANT_WRITE_URI_PERMISSION; Loading @@ -296,7 +304,7 @@ final class UriPermission { /** * Remove given write owner, updating {@Link #modeFlags} as needed. */ void removeWriteOwner(UriPermissionOwner owner) { synchronized void removeWriteOwner(UriPermissionOwner owner) { if (mWriteOwners == null || !mWriteOwners.remove(owner)) { Slog.wtf(TAG, "Unknown write owner " + owner + " in " + this); return; Loading Loading @@ -339,6 +347,7 @@ final class UriPermission { } pw.println(); synchronized (this) { if (mReadOwners != null) { pw.print(prefix); pw.println("readOwners:"); Loading @@ -356,6 +365,7 @@ final class UriPermission { } } } } public static class PersistedTimeComparator implements Comparator<UriPermission> { @Override Loading Loading
services/core/java/com/android/server/uri/UriPermission.java +37 −27 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import android.util.ArraySet; import android.util.Log; import android.util.Slog; import com.android.internal.annotations.GuardedBy; import com.google.android.collect.Sets; import java.io.PrintWriter; Loading Loading @@ -82,7 +84,9 @@ final class UriPermission { static final long INVALID_TIME = Long.MIN_VALUE; @GuardedBy("this") private ArraySet<UriPermissionOwner> mReadOwners; @GuardedBy("this") private ArraySet<UriPermissionOwner> mWriteOwners; private String stringName; Loading Loading @@ -204,6 +208,7 @@ final class UriPermission { persistedModeFlags &= ~Intent.FLAG_GRANT_READ_URI_PERMISSION; } globalModeFlags &= ~Intent.FLAG_GRANT_READ_URI_PERMISSION; synchronized (this) { if (mReadOwners != null && includingOwners) { ownedModeFlags &= ~Intent.FLAG_GRANT_READ_URI_PERMISSION; for (UriPermissionOwner r : mReadOwners) { Loading @@ -214,12 +219,14 @@ final class UriPermission { mReadOwners = null; } } } if ((modeFlags & Intent.FLAG_GRANT_WRITE_URI_PERMISSION) != 0) { if (persistable) { persistableModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; persistedModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; } globalModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; synchronized (this) { if (mWriteOwners != null && includingOwners) { ownedModeFlags &= ~Intent.FLAG_GRANT_WRITE_URI_PERMISSION; for (UriPermissionOwner r : mWriteOwners) { Loading @@ -230,6 +237,7 @@ final class UriPermission { mWriteOwners = null; } } } if (persistedModeFlags == 0) { persistedCreateTime = INVALID_TIME; Loading @@ -256,7 +264,7 @@ final class UriPermission { } } private void addReadOwner(UriPermissionOwner owner) { private synchronized void addReadOwner(UriPermissionOwner owner) { if (mReadOwners == null) { mReadOwners = Sets.newArraySet(); ownedModeFlags |= Intent.FLAG_GRANT_READ_URI_PERMISSION; Loading @@ -270,7 +278,7 @@ final class UriPermission { /** * Remove given read owner, updating {@Link #modeFlags} as needed. */ void removeReadOwner(UriPermissionOwner owner) { synchronized void removeReadOwner(UriPermissionOwner owner) { if (mReadOwners == null || !mReadOwners.remove(owner)) { Slog.wtf(TAG, "Unknown read owner " + owner + " in " + this); return; Loading @@ -282,7 +290,7 @@ final class UriPermission { } } private void addWriteOwner(UriPermissionOwner owner) { private synchronized void addWriteOwner(UriPermissionOwner owner) { if (mWriteOwners == null) { mWriteOwners = Sets.newArraySet(); ownedModeFlags |= Intent.FLAG_GRANT_WRITE_URI_PERMISSION; Loading @@ -296,7 +304,7 @@ final class UriPermission { /** * Remove given write owner, updating {@Link #modeFlags} as needed. */ void removeWriteOwner(UriPermissionOwner owner) { synchronized void removeWriteOwner(UriPermissionOwner owner) { if (mWriteOwners == null || !mWriteOwners.remove(owner)) { Slog.wtf(TAG, "Unknown write owner " + owner + " in " + this); return; Loading Loading @@ -339,6 +347,7 @@ final class UriPermission { } pw.println(); synchronized (this) { if (mReadOwners != null) { pw.print(prefix); pw.println("readOwners:"); Loading @@ -356,6 +365,7 @@ final class UriPermission { } } } } public static class PersistedTimeComparator implements Comparator<UriPermission> { @Override Loading