X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/b064bd45916f17bf1ae0fc43e2c23a2f1fb8d925..9d4ce6becd3973fb8aff57a2ac2c8b9c9df8a2ec:/src/com/owncloud/android/utils/CopyTmpFileAsyncTask.java?ds=sidebyside diff --git a/src/com/owncloud/android/utils/CopyTmpFileAsyncTask.java b/src/com/owncloud/android/utils/CopyTmpFileAsyncTask.java index a680d0d2..887a2f5b 100644 --- a/src/com/owncloud/android/utils/CopyTmpFileAsyncTask.java +++ b/src/com/owncloud/android/utils/CopyTmpFileAsyncTask.java @@ -1,6 +1,7 @@ /** * ownCloud Android client application * + * @author masensio * Copyright (C) 2015 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify @@ -18,14 +19,11 @@ */ package com.owncloud.android.utils; -import android.app.Activity; import android.content.ContentResolver; -import android.content.Context; import android.net.Uri; import android.os.AsyncTask; import com.owncloud.android.lib.common.utils.Log_OC; -import com.owncloud.android.ui.activity.FileActivity; import java.io.File; import java.io.FileOutputStream; @@ -39,29 +37,41 @@ public class CopyTmpFileAsyncTask extends AsyncTask { private final String TAG = CopyTmpFileAsyncTask.class.getSimpleName(); private final WeakReference mListener; - private String mAccountName; - private ContentResolver mContentResolver; + private int mIndex; - public CopyTmpFileAsyncTask(Activity activity) { - mContentResolver = ((FileActivity) activity).getContentResolver(); - mAccountName = ((FileActivity) activity).getAccount().name; - mListener = new WeakReference((OnCopyTmpFileTaskListener)activity); + public int getIndex(){ + return mIndex; } + public CopyTmpFileAsyncTask(OnCopyTmpFileTaskListener listener) { + mListener = new WeakReference(listener); + } + + /** + * Params for execute: + * - Uri: uri of file + * - String: path for saving the file into the app + * - int: index of upload + * - String: accountName + * - ContentResolver: content resolver + */ @Override protected String doInBackground(Object[] params) { String result = null; - if (params.length == 2) { + if (params != null && params.length == 5) { Uri uri = (Uri) params[0]; String filePath = (String) params[1]; + mIndex = ((Integer) params[2]).intValue(); + String accountName = (String) params[3]; + ContentResolver contentResolver = (ContentResolver) params[4]; - String fullTempPath = FileStorageUtils.getTemporalPath(mAccountName) + filePath; + String fullTempPath = FileStorageUtils.getTemporalPath(accountName) + filePath; InputStream inputStream = null; FileOutputStream outputStream = null; try { - inputStream = mContentResolver.openInputStream(uri); + inputStream = contentResolver.openInputStream(uri); File cacheFile = new File(fullTempPath); File tempDir = cacheFile.getParentFile(); if (!tempDir.exists()) { @@ -106,7 +116,7 @@ public class CopyTmpFileAsyncTask extends AsyncTask { result = null; } } else { - Log_OC.e(TAG, "Error in parameters number"); + throw new IllegalArgumentException("Error in parameters number"); } return result; @@ -118,7 +128,7 @@ public class CopyTmpFileAsyncTask extends AsyncTask { OnCopyTmpFileTaskListener listener = mListener.get(); if (listener!= null) { - listener.OnCopyTmpFileTaskListener(result); + listener.onTmpFileCopied(result, mIndex); } } @@ -127,6 +137,6 @@ public class CopyTmpFileAsyncTask extends AsyncTask { */ public interface OnCopyTmpFileTaskListener{ - void OnCopyTmpFileTaskListener(String result); + void onTmpFileCopied(String result, int index); } }