项目:simple-share-android
文件:DocumentsContract.java
public static boolean uncompressDocument(ContentResolver resolver,Uri fromDocumentUri) {
final ContentProviderClient client = resolver.acquireUnstableContentProviderClient(
fromDocumentUri.getAuthority());
try {
final Bundle in = new Bundle();
in.putString(Document.COLUMN_DOCUMENT_ID,getDocumentId(fromDocumentUri));
in.putParcelable(DocumentsContract.EXTRA_URI,fromDocumentUri);
resolver.call(fromDocumentUri,METHOD_UNCOMPRESS_DOCUMENT,null,in);
return true;
} catch (Exception e) {
Log.w(TAG,"Failed to uncompress document",e);
return false;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:easyfilemanager
文件:StandaloneActivity.java
@Override
protected Uri doInBackground(Void... params) {
final ContentResolver resolver = getContentResolver();
final DocumentInfo cwd = getCurrentDirectory();
ContentProviderClient client = null;
Uri childUri = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
resolver,cwd.derivedUri.getAuthority());
childUri = DocumentsContract.createDocument(
resolver,cwd.derivedUri,mMimeType,mdisplayName);
} catch (Exception e) {
Log.w(TAG,"Failed to create document",e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
if (childUri != null) {
saveStackBlocking();
}
return childUri;
}
项目:easyfilemanager
文件:CreateFileFragment.java
@Override
protected Uri doInBackground(Void... params) {
final ContentResolver resolver = mActivity.getContentResolver();
ContentProviderClient client = null;
Uri childUri = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
resolver,mCwd.derivedUri.getAuthority());
childUri = DocumentsContract.createDocument(
resolver,mCwd.derivedUri,mdisplayName);
} catch (Exception e) {
Log.w(DocumentsActivity.TAG,e);
CrashReportingManager.logException(e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
return childUri;
}
项目:simple-share-android
文件:RenameFragment.java
@Override
protected DocumentInfo doInBackground(Void... params) {
final ContentResolver resolver = mActivity.getContentResolver();
ContentProviderClient client = null;
try {
final Uri childUri = DocumentsContract.renameDocument(
resolver,mDoc.derivedUri,mFileName);
return DocumentInfo.fromUri(resolver,childUri);
} catch (Exception e) {
Log.w(TAG,"Failed to rename directory",e);
CrashReportingManager.logException(e);
return null;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:easyfilemanager
文件:CreateDirectoryFragment.java
@Override
protected DocumentInfo doInBackground(Void... params) {
final ContentResolver resolver = mActivity.getContentResolver();
ContentProviderClient client = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(resolver,mCwd.derivedUri.getAuthority());
final Uri childUri = DocumentsContract.createDocument(
resolver,Document.MIME_TYPE_DIR,mdisplayName);
return DocumentInfo.fromUri(resolver,childUri);
} catch (Exception e) {
Log.w(TAG,"Failed to create directory",e);
CrashReportingManager.logException(e);
return null;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:easyfilemanager
文件:RecentLoader.java
public void runInternal() {
ContentProviderClient client = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
getContext().getContentResolver(),authority);
final Uri uri = DocumentsContract.buildrecentDocumentsUri(authority,rootId);
final Cursor cursor = client.query(
uri,DirectoryLoader.getQuerySortOrder(mSortOrder));
mWithRoot = new RootCursorWrapper(authority,rootId,cursor,MAX_DOCS_FROM_ROOT);
} catch (Exception e) {
Log.w(TAG,"Failed to load " + authority + "," + rootId,e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
set(mWithRoot);
mFirstPassLatch.countDown();
if (mFirstPassDone) {
onContentChanged();
}
}
项目:easyfilemanager
文件:DocumentsContract.java
/**
* Return thumbnail representing the document at the given URI. Callers are
* responsible for their own in-memory caching.
*
* @param documentUri document to return thumbnail for,which must have
* {@link Document#FLAG_SUPPORTS_THUMBNAIL} set.
* @param size optimal thumbnail size desired. A provider may return a
* thumbnail of a different size,but never more than double the
* requested size.
* @param signal signal used to indicate if caller is no longer interested
* in the thumbnail.
* @return decoded thumbnail,or {@code null} if problem was encountered.
* @see DocumentsProvider#opendocumentThumbnail(String,Point,* CancellationSignal)
*/
public static Bitmap getDocumentThumbnail(
ContentResolver resolver,Uri documentUri,Point size,CancellationSignal signal) {
final ContentProviderClient client = ContentProviderClientCompat.acquireUnstableContentProviderClient(resolver,documentUri.getAuthority());
try {
if(UsbStorageProvider.AUTHORITY.equals(documentUri.getAuthority())) {
return ImageUtils.getThumbnail(resolver,documentUri,size.x,size.y);
}
return getDocumentThumbnails(client,size,signal);
} catch (Exception e) {
if (!(e instanceof OperationCanceledException)) {
Log.w(TAG,"Failed to load thumbnail for " + documentUri + ": " + e);
}
return null;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:EasyAppleSyncAdapter
文件:BaseSyncAdapter.java
@Override
public void onPerformSync(Account account,Bundle extras,String authority,ContentProviderClient provider,SyncResult syncResult) {
// required for dav4android (ServiceLoader)
Thread.currentThread().setContextClassLoader(getContext().getClassLoader());
try {
syncLocalAndRemoteCollections(account,provider);
syncCalendarsEvents(account,provider,extras);
// notify any registered caller that sync operation is finished
getContext().getContentResolver().notifyChange(GlobalConstant.CONTENT_URI,false);
} catch (InvalidAccountException | CalendarStorageException e) {
e.printstacktrace();
}
}
项目:TVGuide
文件:TvGuideSyncAdapter.java
@Override
public void onPerformSync(Account account,SyncResult syncResult) {
if ( Utility.isNotDuplicateSync(getContext())) {
if (BuildConfig.DEBUG) Log.d(LOG_TAG,"Start sync!");
sendSyncStatus(START_SYNC);
final TvService service = Tvapiclient.getClient().create(TvService.class);
syncCategories(service,syncResult);
syncChannels(service,syncResult);
syncPrograms(service,syncResult);
notifyTvGuide(syncResult.stats.numInserts,syncResult.stats.numIoExceptions);
prefhelper.setLastSyncTime(getContext().getString(R.string.pref_last_sync_time_key),System.currentTimeMillis());
prefhelper.setFirstRun(getContext().getString(R.string.pref_fist_run_key),false);
sendSyncStatus(END_SYNC);
if (BuildConfig.DEBUG) Log.d(LOG_TAG,"End sync!");
}
}
项目:simple-share-android
文件:DocumentsContract.java
/**
* Return thumbnail representing the document at the given URI. Callers are
* responsible for their own in-memory caching.
*
* @param documentUri document to return thumbnail for,"Failed to load thumbnail for " + documentUri + ": " + e);
}
return null;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:easyfilemanager
文件:DocumentsContract.java
public static boolean uncompressDocument(ContentResolver resolver,e);
return false;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:easyfilemanager
文件:DocumentInfo.java
public void updateFromUri(ContentResolver resolver,Uri uri) throws FileNotFoundException {
ContentProviderClient client = null;
Cursor cursor = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
resolver,uri.getAuthority());
cursor = client.query(uri,null);
if (!cursor.movetoFirst()) {
throw new FileNotFoundException("Missing details for " + uri);
}
updateFromCursor(cursor,uri.getAuthority());
} catch (Throwable t) {
throw asFileNotFoundException(t);
} finally {
IoUtils.closeQuietly(cursor);
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:simple-share-android
文件:DocumentsActivity.java
@Override
protected Uri doInBackground(Void... params) {
final ContentResolver resolver = getContentResolver();
final DocumentInfo cwd = getCurrentDirectory();
ContentProviderClient client = null;
Uri childUri = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
resolver,cwd.derivedUri.getAuthority());
childUri = DocumentsContract.createDocument(
resolver,e);
CrashReportingManager.logException(e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
if (childUri != null) {
saveStackBlocking();
}
return childUri;
}
项目:simple-share-android
文件:RecentLoader.java
public void runInternal() {
ContentProviderClient client = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
getContext().getContentResolver(),e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
set(mWithRoot);
mFirstPassLatch.countDown();
if (mFirstPassDone) {
onContentChanged();
}
}
项目:FireFiles
文件:DocumentsActivity.java
@Override
protected Uri doInBackground(Void... params) {
final ContentResolver resolver = getContentResolver();
final DocumentInfo cwd = getCurrentDirectory();
ContentProviderClient client = null;
Uri childUri = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
resolver,e);
CrashReportingManager.logException(e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
if (childUri != null) {
saveStackBlocking();
}
return childUri;
}
项目:FireFiles
文件:CreateFileFragment.java
@Override
protected Uri doInBackground(Void... params) {
final ContentResolver resolver = mActivity.getContentResolver();
ContentProviderClient client = null;
Uri childUri = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
resolver,e);
CrashReportingManager.logException(e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
return childUri;
}
项目:FireFiles
文件:RenameFragment.java
@Override
protected DocumentInfo doInBackground(Void... params) {
final ContentResolver resolver = mActivity.getContentResolver();
ContentProviderClient client = null;
try {
final Uri childUri = DocumentsContract.renameDocument(
resolver,e);
CrashReportingManager.logException(e);
return null;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:FireFiles
文件:RecentLoader.java
public void runInternal() {
ContentProviderClient client = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
getContext().getContentResolver(),e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
set(mWithRoot);
mFirstPassLatch.countDown();
if (mFirstPassDone) {
onContentChanged();
}
}
项目:FireFiles
文件:DocumentsContract.java
public static boolean isChildDocument(ContentProviderClient client,Uri parentDocumentUri,Uri childDocumentUri) throws @R_502_1510@ {
final Bundle in = new Bundle();
in.putParcelable(DocumentsContract.EXTRA_URI,parentDocumentUri);
in.putParcelable(DocumentsContract.EXTRA_TARGET_URI,childDocumentUri);
final Bundle out = client.call(METHOD_IS_CHILD_DOCUMENT,in);
if (out == null) {
throw new @R_502_1510@("Failed to get a reponse from isChildDocument query.");
}
if (!out.containsKey(DocumentsContract.EXTRA_RESULT)) {
throw new @R_502_1510@("Response did not include result field..");
}
return out.getBoolean(DocumentsContract.EXTRA_RESULT);
}
项目:simple-share-android
文件:DocumentsContract.java
public static boolean isChildDocument(ContentProviderClient client,in);
if (out == null) {
throw new @R_502_1510@("Failed to get a reponse from isChildDocument query.");
}
if (!out.containsKey(DocumentsContract.EXTRA_RESULT)) {
throw new @R_502_1510@("Response did not include result field..");
}
return out.getBoolean(DocumentsContract.EXTRA_RESULT);
}
项目:FireFiles
文件:DocumentsContract.java
public static boolean uncompressDocument(ContentResolver resolver,e);
return false;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:simplest-sync-adapter
文件:SyncAdapter.java
/**
* Called by the Android system in response to a request to run the sync adapter. The work
* required to read data from the network,parse it,and store it in the content provider
* should be done here. Extending AbstractThreadedSyncAdapter ensures that all methods within SyncAdapter
* run on a background thread. For this reason,blocking I/O and other long-running tasks can be
* run <em>in situ</em>,and you don't have to set up a separate thread for them.
*
* <p>
* <p>This is where we actually perform any work required to perform a sync.
* {@link AbstractThreadedSyncAdapter} guarantees that this will be called on a non-UI thread,* so it is safe to perform blocking I/O here.
* <p>
*
* <p>The syncResult argument allows you to pass @R_224_4045@ion back to the method that triggered
* the sync.
*/
@Override
public void onPerformSync(Account account,SyncResult syncResult) {
// Your code to sync data
// between mobile database and
// the server goes here.
for (int i = 0; i < 15; i++) {
try {
Thread.sleep(1000);
Log.i(TAG,">>>> sleeping the thread: " + (i + 1));
} catch (InterruptedException e) {
e.printstacktrace();
}
} // end for
// write DB data sanity checks at the end.
}
项目:simple-share-android
文件:CreateFileFragment.java
@Override
protected Uri doInBackground(Void... params) {
final ContentResolver resolver = mActivity.getContentResolver();
ContentProviderClient client = null;
Uri childUri = null;
try {
client = DocumentsApplication.acquireUnstableProviderOrThrow(
resolver,e);
CrashReportingManager.logException(e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
return childUri;
}
项目:springreplugin
文件:PluginProviderClient2.java
/**
* 调用插件里的Provider
*
* @see android.content.ContentProviderClient#query(Uri,String[],String,String)
*/
public static Cursor query(Context c,Uri uri,String[] projection,String selection,String[] selectionArgs,String sortOrder) {
ContentProviderClient client = PluginProviderClient.acquireContentProviderClient(c,"");
if (client != null) {
try {
Uri toUri = toCalledUri(c,uri);
return client.query(toUri,projection,selection,selectionArgs,sortOrder);
} catch (@R_502_1510@ e) {
if (LogDebug.LOG) {
Log.d(TAG,e.toString());
}
}
}
if (LogDebug.LOG) {
Log.d(TAG,String.format("call query1 %s fail",uri.toString()));
}
return null;
}
项目:springreplugin
文件:PluginProviderClient2.java
/**
* 调用插件里的Provider
*
* @see android.content.ContentProviderClient#query(Uri,CancellationSignal)
*/
@TargetApi(16)
public static Cursor query(Context c,String sortOrder,CancellationSignal cancellationSignal) {
ContentProviderClient client = PluginProviderClient.acquireContentProviderClient(c,sortOrder,cancellationSignal);
} catch (@R_502_1510@ e) {
if (LogDebug.LOG) {
Log.d(TAG,e.toString());
}
}
}
if (LogDebug.LOG) {
Log.d(TAG,String.format("call query2 %s fail",uri.toString()));
}
return null;
}
项目:springreplugin
文件:PluginProviderClient2.java
/**
* 调用插件里的Provider
*
* @see android.content.ContentProviderClient#update(Uri,ContentValues,String[])
*/
public static int update(Context c,ContentValues values,String[] selectionArgs) {
ContentProviderClient client = PluginProviderClient.acquireContentProviderClient(c,uri);
return client.update(toUri,values,selectionArgs);
} catch (@R_502_1510@ e) {
if (LogDebug.LOG) {
Log.d(TAG,String.format("call update %s",uri.toString()));
}
return -1;
}
项目:AOSP-Kayboard-7.1.2
文件:BinaryDictionaryFileDumper.java
/**
* Queries a content provider for word list data for some locale and stage the returned files
*
* This will query a content provider for word list data for a given locale,and copy the
* files locally so that they can be mmap'ed. This may overwrite prevIoUsly cached word lists
* with newer versions if a newer version is made available by the content provider.
* @throw FileNotFoundException if the provider returns non-existent data.
* @throw IOException if the provider-returned data Could not be read.
*/
public static void installDictToStagingFromContentProvider(final Locale locale,final Context context,final boolean hasDefaultWordList) {
final ContentProviderClient providerClient;
try {
providerClient = context.getContentResolver().
acquireContentProviderClient(getProviderUriBuilder("").build());
} catch (final SecurityException e) {
Log.e(TAG,"No permission to communicate with the dictionary provider",e);
return;
}
if (null == providerClient) {
Log.e(TAG,"Can't establish communication with the dictionary provider");
return;
}
try {
final List<WordListInfo> idList = getWordListWordListInfos(locale,context,hasDefaultWordList);
for (WordListInfo id : idList) {
installWordListToStaging(id.mId,id.mLocale,id.mRawChecksum,providerClient,context);
}
} finally {
providerClient.release();
}
}
项目:FBEventSync
文件:SyncContext.java
项目:simple-share-android
文件:ContentProviderClientCompat.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bundle call(ContentResolver resolver,ContentProviderClient client,String method,String arg,Bundle extras) throws Exception{
if(Utils.hasJellyBeanMR1()){
return client.call(method,arg,extras);
}
else{
return resolver.call(uri,method,extras);
}
}
项目:airgram
文件:ContactsSyncAdapterService.java
@Override
public void onPerformSync(Account account,SyncResult syncResult) {
try {
ContactsSyncAdapterService.performSync(mContext,account,extras,authority,syncResult);
} catch (OperationCanceledException e) {
FileLog.e("tmessages",e);
}
}
项目:easyfilemanager
文件:DocumentsApplication.java
public static ContentProviderClient acquireUnstableProviderOrThrow(
ContentResolver resolver,String authority) throws @R_502_1510@ {
final ContentProviderClient client = ContentProviderClientCompat.acquireUnstableContentProviderClient(resolver,authority);
if (client == null) {
throw new @R_502_1510@("Failed to acquire provider for " + authority);
}
ContentProviderClientCompat.setDetectNotResponding(client,PROVIDER_ANR_TIMEOUT);
return client;
}
项目:easyfilemanager
文件:DetailFragment.java
@Override
protected Void doInBackground(Void... params) {
filePath = doc.path;
if (!Utils.isDir(doc.mimeType)) {
final boolean allowThumbnail = MimePredicate.mimeMatches(MimePredicate.VISUAL_MIMES,doc.mimeType);
int thumbSize = getResources().getDimensionPixelSize(R.dimen.grid_width);
Point mThumbSize = new Point(thumbSize,thumbSize);
final Uri uri = DocumentsContract.buildDocumentUri(doc.authority,doc.documentId);
final Context context = getActivity();
final ContentResolver resolver = context.getContentResolver();
ContentProviderClient client = null;
try {
if (doc.mimeType.equals(Document.MIME_TYPE_APK) && !TextUtils.isEmpty(filePath)) {
result = ((BitmapDrawable) IconUtils.loadPackagePathIcon(context,filePath,Document.MIME_TYPE_APK)).getBitmap();
} else {
client = DocumentsApplication.acquireUnstableProviderOrThrow(resolver,uri.getAuthority());
result = DocumentsContract.getDocumentThumbnail(resolver,uri,mThumbSize,null);
}
} catch (Exception e) {
if (!(e instanceof OperationCanceledException)) {
Log.w(TAG_DETAIL,"Failed to load thumbnail for " + uri + ": " + e);
}
CrashReportingManager.logException(e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
sizeString = Formatter.formatFileSize(context,doc.size);
}
else{
if(!TextUtils.isEmpty(filePath)){
File dir = new File(filePath);
sizeString = Formatter.formatFileSize(getActivity(),Utils.getDirectorySize(dir));
}
}
return null;
}
项目:easyfilemanager
文件:DirectoryFragment.java
@Override
protected Bitmap doInBackground(Uri... params) {
if (isCancelled())
return null;
final Context context = mIconThumb.getContext();
final ContentResolver resolver = context.getContentResolver();
ContentProviderClient client = null;
Bitmap result = null;
try {
if (Utils.isAPK(mMimeType)) {
result = ((BitmapDrawable) IconUtils.loadPackagePathIcon(context,mPath,Document.MIME_TYPE_APK)).getBitmap();
} else {
client = DocumentsApplication.acquireUnstableProviderOrThrow(resolver,mUri.getAuthority());
result = DocumentsContract.getDocumentThumbnail(resolver,mUri,mSignal);
}
if (null == result){
result = ImageUtils.getThumbnail(mPath,mThumbSize.x,mThumbSize.y);
}
if (result != null) {
final ThumbnailCache thumbs = DocumentsApplication.getThumbnailsCache(context,mThumbSize);
thumbs.put(mUri,result);
}
} catch (Exception e) {
if (!(e instanceof OperationCanceledException)) {
Log.w(TAG,"Failed to load thumbnail for " + mUri + ": " + e);
}
CrashReportingManager.logException(e);
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
return result;
}
项目:easyfilemanager
文件:DirectoryFragment.java
private synchronized ContentProviderClient getExternalStorageClient() {
if (mExternalStorageClient == null) {
mExternalStorageClient = getActivity().
getContentResolver().acquireContentProviderClient(ExternalStorageProvider.AUTHORITY);
}
return mExternalStorageClient;
}
项目:easyfilemanager
文件:DocumentsContract.java
/**
* Create a new document with given MIME type and display name.
*
* @param parentDocumentUri directory with
* {@link DocumentsContract.Document#FLAG_DIR_SUPPORTS_CREATE}
* @param mimeType MIME type of new document
* @param displayName name of new document
* @return newly created document,or {@code null} if Failed
*/
public static Uri createDocument(ContentResolver resolver,String mimeType,String displayName) {
final ContentProviderClient client = resolver.acquireUnstableContentProviderClient(
parentDocumentUri.getAuthority());
try {
return createDocument(client,parentDocumentUri,mimeType,displayName);
} catch (Exception e) {
Log.w(TAG,e);
return null;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:simple-share-android
文件:DocumentsContract.java
public static Uri moveDocument(ContentProviderClient client,Uri sourceDocumentUri,Uri sourceParentDocumentUri,Uri targetParentDocumentUri) throws @R_502_1510@ {
final Bundle in = new Bundle();
in.putParcelable(DocumentsContract.EXTRA_URI,sourceDocumentUri);
in.putParcelable(DocumentsContract.EXTRA_PARENT_URI,sourceParentDocumentUri);
in.putParcelable(DocumentsContract.EXTRA_TARGET_URI,targetParentDocumentUri);
final Bundle out = client.call(METHOD_MOVE_DOCUMENT,in);
return out.getParcelable(DocumentsContract.EXTRA_URI);
}
项目:easyfilemanager
文件:DocumentsContract.java
/**
* Delete the given document.
*
* @param documentUri document with {@link Document#FLAG_SUPPORTS_DELETE}
* @return if the document was deleted successfully.
*/
public static boolean deleteDocument(ContentResolver resolver,Uri documentUri) {
final ContentProviderClient client = resolver.acquireUnstableContentProviderClient(
documentUri.getAuthority());
try {
deleteDocument(client,documentUri);
return true;
} catch (Exception e) {
Log.w(TAG,"Failed to delete document",e);
return false;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:easyfilemanager
文件:DocumentsContract.java
public static void deleteDocument(ContentProviderClient client,Uri documentUri)
throws @R_502_1510@ {
final Bundle in = new Bundle();
in.putParcelable(DocumentsContract.EXTRA_URI,documentUri);
client.call(METHOD_DELETE_DOCUMENT,in);
}
项目:easyfilemanager
文件:DocumentsContract.java
/**
* copies the given document.
*
* @param sourceDocumentUri document with {@link DocumentsContract.Document#FLAG_SUPPORTS_copY}
* @param targetParentDocumentUri document which will become a parent of the source
* document's copy.
* @return the copied document,or {@code null} if Failed.
*/
public static Uri copyDocument(ContentResolver resolver,Uri targetParentDocumentUri) {
final ContentProviderClient client = resolver.acquireUnstableContentProviderClient(
sourceDocumentUri.getAuthority());
try {
return copyDocument(client,sourceDocumentUri,targetParentDocumentUri);
} catch (Exception e) {
Log.w(TAG,"Failed to copy document",e);
return null;
} finally {
ContentProviderClientCompat.releaseQuietly(client);
}
}
项目:simple-share-android
文件:DirectoryFragment.java
private synchronized ContentProviderClient getExternalStorageClient() {
if (mExternalStorageClient == null) {
mExternalStorageClient = getActivity().
getContentResolver().acquireContentProviderClient(ExternalStorageProvider.AUTHORITY);
}
return mExternalStorageClient;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。