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> ()
}