META-INF/
META-INF/MANIFEST.MF
com/
com/android/
com/android/externalstorage/
com/android/externalstorage/ExternalStorageProvider$1.class
ExternalStorageProvider.java package com.android.externalstorage com.android.externalstorage.ExternalStorageProvider$1 extends android.os.storage.StorageEventListener { final synthetic com.android.externalstorage.ExternalStorageProvider this$0 void <init> (com.android.externalstorage.ExternalStorageProvider) com.android.externalstorage.ExternalStorageProvider this$0 public void onVolumeStateChanged (android.os.storage.VolumeInfo, int, int) android.os.storage.VolumeInfo vol int oldState int newState }
com/android/externalstorage/ExternalStorageProvider$RootInfo.class
ExternalStorageProvider.java package com.android.externalstorage com.android.externalstorage.ExternalStorageProvider$RootInfo extends java.lang.Object { public String rootId public String volumeId public java.util.UUID storageUuid public int flags public String title public String docId public java.io.File visiblePath public java.io.File path public boolean reportAvailableBytes private void <init> () }
com/android/externalstorage/ExternalStorageProvider.class
ExternalStorageProvider.java package com.android.externalstorage public com.android.externalstorage.ExternalStorageProvider extends com.android.internal.content.FileSystemProvider { private static final String TAG private static final boolean DEBUG public static final String AUTHORITY private static final android.net.Uri BASE_URI private static final String PRIMARY_EMULATED_STORAGE_PATH private static final String STORAGE_PATH private static final String[] DEFAULT_ROOT_PROJECTION private static final String[] DEFAULT_DOCUMENT_PROJECTION private static final String ROOT_ID_PRIMARY_EMULATED private static final String GET_DOCUMENT_URI_CALL private static final String GET_MEDIA_URI_CALL private android.os.storage.StorageManager mStorageManager private android.os.UserManager mUserManager private final Object mRootsLock private android.util.ArrayMap mRoots public void <init> () public boolean onCreate () private void enforceShellRestrictions () protected int enforceReadPermissionInner (android.net.Uri, android.content.AttributionSource) throws java.lang.SecurityException android.net.Uri uri android.content.AttributionSource attributionSource protected int enforceWritePermissionInner (android.net.Uri, android.content.AttributionSource) throws java.lang.SecurityException android.net.Uri uri android.content.AttributionSource attributionSource public void updateVolumes () private void updateVolumesLocked () String deviceName String title java.util.UUID storageUuid android.os.storage.VolumeInfo privateVol String rootId String title java.util.UUID storageUuid java.io.FileNotFoundException e String rootId String title java.util.UUID storageUuid com.android.externalstorage.ExternalStorageProvider$RootInfo root android.os.storage.DiskInfo disk android.os.storage.VolumeInfo volume int userId java.util.List volumes private static java.lang.String[] resolveRootProjection (java.lang.String[]) String[] projection protected boolean shouldHideDocument (java.lang.String) com.android.externalstorage.ExternalStorageProvider$RootInfo root String canonicalPath Exception e String documentId private boolean isRestrictedPath (java.lang.String, java.lang.String) String rootPath java.nio.file.Path restrictedPath Exception e String rootId String canonicalPath String rootPath java.util.List restrictedPathList java.util.List validRestrictedPathsToCheck boolean isRestricted java.nio.file.Path filePathToCheck protected boolean shouldBlockDirectoryFromTree (java.lang.String) throws java.io.FileNotFoundException String documentId java.io.File dir String path private boolean isOnRemovableUsbStorage (java.lang.String) com.android.externalstorage.ExternalStorageProvider$RootInfo rootInfo java.io.FileNotFoundException e String documentId com.android.externalstorage.ExternalStorageProvider$RootInfo rootInfo protected java.lang.String getDocIdForFile (java.io.File) throws java.io.FileNotFoundException java.io.File file private java.lang.String getDocIdForFileMaybeCreate (java.io.File, boolean) throws java.io.FileNotFoundException java.io.File file boolean createNewDir String path boolean visiblePath com.android.externalstorage.ExternalStorageProvider$RootInfo mostSpecificRoot String rootPath private com.android.externalstorage.ExternalStorageProvider$RootInfo getMostSpecificRootForPath (java.lang.String, boolean) String rootPath com.android.externalstorage.ExternalStorageProvider$RootInfo root java.io.File rootFile int i String path boolean visible com.android.externalstorage.ExternalStorageProvider$RootInfo mostSpecificRoot String mostSpecificPath protected java.io.File getFileForDocId (java.lang.String, boolean) throws java.io.FileNotFoundException String docId boolean visible private java.io.File getFileForDocId (java.lang.String, boolean, boolean) throws java.io.FileNotFoundException String docId boolean visible boolean mustExist com.android.externalstorage.ExternalStorageProvider$RootInfo root private android.util.Pair resolveDocId (java.lang.String) throws java.io.FileNotFoundException String docId com.android.externalstorage.ExternalStorageProvider$RootInfo root static java.lang.String getPathFromDocId (java.lang.String) String path java.io.IOException e String docId int splitIndex String docIdPath String path private com.android.externalstorage.ExternalStorageProvider$RootInfo getRootFromDocId (java.lang.String) throws java.io.FileNotFoundException com.android.externalstorage.ExternalStorageProvider$RootInfo root String docId int splitIndex String tag com.android.externalstorage.ExternalStorageProvider$RootInfo root private java.io.File buildFile (com.android.externalstorage.ExternalStorageProvider$RootInfo, java.lang.String, boolean) throws java.io.FileNotFoundException java.io.IOException e com.android.externalstorage.ExternalStorageProvider$RootInfo root String docId boolean mustExist int splitIndex String path java.io.File target protected android.net.Uri buildNotificationUri (java.lang.String) String docId protected void onDocIdChanged (java.lang.String) java.io.File visiblePath String docId protected void onDocIdDeleted (java.lang.String) String docId android.net.Uri uri public android.database.Cursor queryRoots (java.lang.String[]) throws java.io.FileNotFoundException java.io.IOException e android.database.MatrixCursor$RowBuilder row long availableBytes com.android.externalstorage.ExternalStorageProvider$RootInfo root String[] projection android.database.MatrixCursor result public android.provider.DocumentsContract$Path findDocumentPath (java.lang.String, java.lang.String) throws java.io.FileNotFoundException String parentDocId String childDocId android.util.Pair resolvedDocId com.android.externalstorage.ExternalStorageProvider$RootInfo root java.io.File child java.io.File rootFile java.io.File parent private android.net.Uri getDocumentUri (java.lang.String, java.util.List) throws java.io.FileNotFoundException String parentDocId String candidateDocId boolean matchesRequestedDoc android.net.Uri uri android.content.UriPermission uriPermission String path java.util.List accessUriPermissions java.io.File doc String docId android.content.UriPermission docUriPermission android.content.UriPermission treeUriPermission private static boolean allowsBothReadAndWrite (android.content.UriPermission) android.content.UriPermission permission public android.database.Cursor querySearchDocuments (java.lang.String, java.lang.String[], android.os.Bundle) throws java.io.FileNotFoundException com.android.externalstorage.ExternalStorageProvider$RootInfo root java.io.File parent String rootId String[] projection android.os.Bundle queryArgs java.io.File parent public void ejectRoot (java.lang.String) RuntimeException e String rootId long token com.android.externalstorage.ExternalStorageProvider$RootInfo root public void dump (java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]) com.android.externalstorage.ExternalStorageProvider$RootInfo root int i java.io.FileDescriptor fd java.io.PrintWriter writer String[] args com.android.internal.util.IndentingPrintWriter pw public android.os.Bundle call (java.lang.String, java.lang.String, android.os.Bundle) String docId java.io.FileNotFoundException e android.os.Bundle out android.net.Uri uri java.io.FileNotFoundException e android.net.Uri fileUri java.util.List accessUriPermissions String path android.os.Bundle out android.net.Uri uri java.io.FileNotFoundException e android.net.Uri documentUri String docId String method String arg android.os.Bundle extras android.os.Bundle bundle private static boolean equalIgnoringCase (java.lang.String, java.lang.String) String a String b private static synthetic boolean lambda$isRestrictedPath$0 (java.nio.file.Path) java.nio.file.Path x$0 static void <clinit> () }
com/android/externalstorage/MountReceiver.class
MountReceiver.java package com.android.externalstorage public com.android.externalstorage.MountReceiver extends android.content.BroadcastReceiver { public void <init> () public void onReceive (android.content.Context, android.content.Intent) android.content.Context context android.content.Intent intent android.content.ContentProviderClient client }
com/android/externalstorage/R$string.class
R.java package com.android.externalstorage public final com.android.externalstorage.R$string extends java.lang.Object { public static final int app_label public static final int root_documents public static final int root_internal_storage public static final int storage_description public void <init> () }
com/android/externalstorage/R.class
R.java package com.android.externalstorage public final com.android.externalstorage.R extends java.lang.Object { public void <init> () }
com/android/externalstorage/TestDocumentsProvider$2.class
TestDocumentsProvider.java package com.android.externalstorage com.android.externalstorage.TestDocumentsProvider$2 extends java.lang.Thread { final synthetic com.android.externalstorage.TestDocumentsProvider this$0 void <init> (com.android.externalstorage.TestDocumentsProvider) com.android.externalstorage.TestDocumentsProvider this$0 public void run () }
com/android/externalstorage/TestDocumentsProvider$3.class
TestDocumentsProvider.java package com.android.externalstorage com.android.externalstorage.TestDocumentsProvider$3 extends android.os.AsyncTask { final synthetic android.os.ParcelFileDescriptor[] val$fds final synthetic java.io.ByteArrayInputStream val$bis final synthetic com.android.externalstorage.TestDocumentsProvider this$0 void <init> (com.android.externalstorage.TestDocumentsProvider, android.os.ParcelFileDescriptor[], java.io.ByteArrayInputStream) com.android.externalstorage.TestDocumentsProvider this$0 protected transient java.lang.Object doInBackground (java.lang.Object[]) java.io.IOException e Object[] params java.io.FileOutputStream fos }
com/android/externalstorage/TestDocumentsProvider$4.class
TestDocumentsProvider.java package com.android.externalstorage com.android.externalstorage.TestDocumentsProvider$4 extends java.lang.Object implements android.os.CancellationSignal$OnCancelListener { final synthetic Thread val$blocked void <init> (java.lang.Thread) public void onCancel () }
com/android/externalstorage/TestDocumentsProvider$CloudCursor.class
TestDocumentsProvider.java package com.android.externalstorage com.android.externalstorage.TestDocumentsProvider$CloudCursor extends android.database.MatrixCursor { public Object keepAlive public final android.os.Bundle extras public void <init> (java.lang.String[]) String[] columnNames public android.os.Bundle getExtras () }
com/android/externalstorage/TestDocumentsProvider$CloudTask.class
TestDocumentsProvider.java package com.android.externalstorage com.android.externalstorage.TestDocumentsProvider$CloudTask extends java.lang.Object implements java.lang.Runnable { private final android.content.ContentResolver mResolver private final android.net.Uri mNotifyUri private volatile boolean mFinished public void <init> (android.content.ContentResolver, android.net.Uri) android.content.ContentResolver resolver android.net.Uri notifyUri public void run () public boolean includeIfFinished (android.database.MatrixCursor) android.database.MatrixCursor result }
com/android/externalstorage/TestDocumentsProvider.class
TestDocumentsProvider.java package com.android.externalstorage public com.android.externalstorage.TestDocumentsProvider extends android.provider.DocumentsProvider { private static final String TAG private static final boolean LAG private static final boolean ROOT_LAME_PROJECTION private static final boolean DOCUMENT_LAME_PROJECTION private static final boolean ROOTS_WEDGE private static final boolean ROOTS_CRASH private static final boolean ROOTS_REFRESH private static final boolean DOCUMENT_CRASH private static final boolean RECENT_WEDGE private static final boolean CHILD_WEDGE private static final boolean CHILD_CRASH private static final boolean THUMB_HUNDREDS private static final boolean THUMB_WEDGE private static final boolean THUMB_CRASH private static final String MY_ROOT_ID private static final String MY_DOC_ID private static final String MY_DOC_NULL private static final String[] DEFAULT_ROOT_PROJECTION private static final String[] DEFAULT_DOCUMENT_PROJECTION private String mAuthority private java.lang.ref.WeakReference mTask public void <init> () private static java.lang.String[] resolveRootProjection (java.lang.String[]) String[] projection private static java.lang.String[] resolveDocumentProjection (java.lang.String[]) String[] projection public void attachInfo (android.content.Context, android.content.pm.ProviderInfo) android.content.Context context android.content.pm.ProviderInfo info public android.database.Cursor queryRoots (java.lang.String[]) throws java.io.FileNotFoundException String[] projection android.database.MatrixCursor result android.database.MatrixCursor$RowBuilder row public android.database.Cursor queryDocument (java.lang.String, java.lang.String[]) throws java.io.FileNotFoundException String documentId String[] projection android.database.MatrixCursor result public java.lang.String createDocument (java.lang.String, java.lang.String, java.lang.String) throws java.io.FileNotFoundException String parentDocumentId String mimeType String displayName public android.database.Cursor queryChildDocuments (java.lang.String, java.lang.String[], java.lang.String) throws java.io.FileNotFoundException com.android.externalstorage.TestDocumentsProvider$CloudTask task String parentDocumentId String[] projection String sortOrder android.content.ContentResolver resolver android.net.Uri notifyUri com.android.externalstorage.TestDocumentsProvider$CloudCursor result public android.database.Cursor queryRecentDocuments (java.lang.String, java.lang.String[]) throws java.io.FileNotFoundException String rootId String[] projection android.database.MatrixCursor result public android.os.ParcelFileDescriptor openDocument (java.lang.String, java.lang.String, android.os.CancellationSignal) throws java.io.FileNotFoundException String docId String mode android.os.CancellationSignal signal public android.content.res.AssetFileDescriptor openDocumentThumbnail (java.lang.String, android.graphics.Point, android.os.CancellationSignal) throws java.io.FileNotFoundException android.os.ParcelFileDescriptor[] fds java.io.IOException e String docId android.graphics.Point sizeHint android.os.CancellationSignal signal android.graphics.Bitmap bitmap android.graphics.Canvas canvas android.graphics.Paint paint java.io.ByteArrayOutputStream bos java.io.ByteArrayInputStream bis public boolean onCreate () private static void lagUntilCanceled (android.os.CancellationSignal) android.os.CancellationSignal signal private static void wedgeUntilCanceled (android.os.CancellationSignal) android.os.CancellationSignal signal private static void waitForCancelOrTimeout (android.os.CancellationSignal, long) Thread blocked android.os.CancellationSignal signal long timeoutMillis private static void includeFile (android.database.MatrixCursor, java.lang.String, int) android.database.MatrixCursor result String docId int flags android.database.MatrixCursor$RowBuilder row static void <clinit> () }