Bladeren bron

Changes from comments in PR#967

masensio 10 jaren geleden
bovenliggende
commit
3c07444ff7

+ 4 - 2
src/com/owncloud/android/ui/activity/Uploader.java

@@ -2,6 +2,7 @@
  *   ownCloud Android client application
  *
  *   @author Bartek Przybylski
+ *   @author masensio
  *   Copyright (C) 2012  Bartek Przybylski
  *   Copyright (C) 2015 ownCloud Inc.
  *
@@ -538,7 +539,8 @@ public class Uploader extends FileActivity
                     if (data == null) {
                         mRemoteCacheData.add(filePath);
                         CopyTmpFileAsyncTask copyTask = new CopyTmpFileAsyncTask(this);
-                        Object[] params = { uri, filePath, mRemoteCacheData.size()-1 };
+                        Object[] params = { uri, filePath, mRemoteCacheData.size()-1,
+                                getAccount().name, getContentResolver()};
                         mNumCacheFile++;
                         showWaitingCopyDialog();
                         copyTask.execute(params);
@@ -666,7 +668,7 @@ public class Uploader extends FileActivity
      * @param index
      */
     @Override
-    public void OnCopyTmpFileTaskListener(String result, int index) {
+    public void onTmpFileCopied(String result, int index) {
         if (mNumCacheFile -- == 0) {
             dismissWaitingCopyDialog();
         }

+ 17 - 11
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
@@ -20,7 +21,6 @@ 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;
 
@@ -39,8 +39,6 @@ public class CopyTmpFileAsyncTask  extends AsyncTask<Object, Void, String> {
 
     private final String TAG = CopyTmpFileAsyncTask.class.getSimpleName();
     private final WeakReference<OnCopyTmpFileTaskListener> mListener;
-    private String mAccountName;
-    private ContentResolver mContentResolver;
     private int mIndex;
 
     public int getIndex(){
@@ -48,26 +46,34 @@ public class CopyTmpFileAsyncTask  extends AsyncTask<Object, Void, String> {
     }
 
     public CopyTmpFileAsyncTask(Activity activity) {
-        mContentResolver = ((FileActivity) activity).getContentResolver();
-        mAccountName = ((FileActivity) activity).getAccount().name;
         mListener = new WeakReference<OnCopyTmpFileTaskListener>((OnCopyTmpFileTaskListener)activity);
     }
 
+    /**
+     * 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 == 3) {
+        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()) {
@@ -112,7 +118,7 @@ public class CopyTmpFileAsyncTask  extends AsyncTask<Object, Void, String> {
                 result =  null;
             }
         } else {
-            Log_OC.e(TAG, "Error in parameters number");
+             throw new IllegalArgumentException("Error in parameters number");
         }
 
         return result;
@@ -124,7 +130,7 @@ public class CopyTmpFileAsyncTask  extends AsyncTask<Object, Void, String> {
         OnCopyTmpFileTaskListener listener = mListener.get();
         if (listener!= null)
         {
-            listener.OnCopyTmpFileTaskListener(result, mIndex);
+            listener.onTmpFileCopied(result, mIndex);
         }
     }
 
@@ -133,6 +139,6 @@ public class CopyTmpFileAsyncTask  extends AsyncTask<Object, Void, String> {
      */
     public interface OnCopyTmpFileTaskListener{
 
-        void OnCopyTmpFileTaskListener(String result, int index);
+        void onTmpFileCopied(String result, int index);
     }
 }