From fce964a60cb69041d47d4bf4f37ab08232bde86a Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Tue, 30 Apr 2019 10:50:59 -0700 Subject: Skip restrictions if DownloadProvider itself is trying to add a download. Fixes: 131624566 Fixes: 131610977 Test: manual Change-Id: I771ff8a39ac977c510f1785c3cb61e859bbb0c0f --- src/com/android/providers/downloads/DownloadProvider.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java index a6159ca7..1c26e0c0 100644 --- a/src/com/android/providers/downloads/DownloadProvider.java +++ b/src/com/android/providers/downloads/DownloadProvider.java @@ -1053,7 +1053,9 @@ public final class DownloadProvider extends ContentProvider { final boolean runningLegacyMode = appOpsManager.checkOp(AppOpsManager.OP_LEGACY_STORAGE, Binder.getCallingUid(), getCallingPackage()) == AppOpsManager.MODE_ALLOWED; - if (Helpers.isFilenameValidInExternalPackage(getContext(), file, getCallingPackage())) { + if (Binder.getCallingPid() == Process.myPid()) { + return; + } else if (Helpers.isFilenameValidInExternalPackage(getContext(), file, getCallingPackage())) { // No permissions required for paths belonging to calling package. return; } else if ((runningLegacyMode && Helpers.isFilenameValidInPublicDownloadsDir(file)) -- cgit v1.2.3