diff options
| -rw-r--r-- | core/java/android/provider/DocumentsContract.java | 19 | ||||
| -rw-r--r-- | packages/DocumentsUI/src/com/android/documentsui/RootsCache.java | 10 |
2 files changed, 8 insertions, 21 deletions
diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java index 1c14c38f840b..9df0771a09f7 100644 --- a/core/java/android/provider/DocumentsContract.java +++ b/core/java/android/provider/DocumentsContract.java @@ -23,8 +23,7 @@ import android.content.ContentProviderClient; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ProviderInfo; +import android.content.pm.ResolveInfo; import android.content.res.AssetFileDescriptor; import android.database.Cursor; import android.graphics.Bitmap; @@ -69,10 +68,6 @@ public final class DocumentsContract { private DocumentsContract() { } - /** {@hide} */ - @Deprecated - public static final String META_DATA_DOCUMENT_PROVIDER = "android.content.DOCUMENT_PROVIDER"; - /** * Intent action used to identify {@link DocumentsProvider} instances. */ @@ -565,11 +560,13 @@ public final class DocumentsContract { return false; } - final ProviderInfo info = context.getPackageManager() - .resolveContentProvider(uri.getAuthority(), PackageManager.GET_META_DATA); - if (info != null && info.metaData != null && info.metaData.containsKey( - DocumentsContract.META_DATA_DOCUMENT_PROVIDER)) { - return true; + final Intent intent = new Intent(PROVIDER_INTERFACE); + final List<ResolveInfo> infos = context.getPackageManager() + .queryIntentContentProviders(intent, 0); + for (ResolveInfo info : infos) { + if (uri.getAuthority().equals(info.providerInfo.authority)) { + return true; + } } return false; } diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java index eb5676509840..b98e1eedd7e2 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java +++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java @@ -194,16 +194,6 @@ public class RootsCache { handleDocumentsProvider(info.providerInfo); } - // Pick up legacy providers - final List<ProviderInfo> legacyProviders = pm.queryContentProviders( - null, -1, PackageManager.GET_META_DATA); - for (ProviderInfo info : legacyProviders) { - if (info.metaData != null && info.metaData.containsKey( - DocumentsContract.META_DATA_DOCUMENT_PROVIDER)) { - handleDocumentsProvider(info); - } - } - final long delta = SystemClock.elapsedRealtime() - start; Log.d(TAG, "Update found " + mTaskRoots.size() + " roots in " + delta + "ms"); synchronized (mLock) { |