|
@@ -17,6 +17,8 @@
|
|
|
|
|
|
package com.owncloud.android.files;
|
|
package com.owncloud.android.files;
|
|
|
|
|
|
|
|
+import java.io.File;
|
|
|
|
+import java.io.IOException;
|
|
import org.apache.http.protocol.HTTP;
|
|
import org.apache.http.protocol.HTTP;
|
|
|
|
|
|
import android.accounts.AccountManager;
|
|
import android.accounts.AccountManager;
|
|
@@ -35,6 +37,7 @@ import com.owncloud.android.lib.resources.status.OwnCloudVersion;
|
|
import com.owncloud.android.services.OperationsService;
|
|
import com.owncloud.android.services.OperationsService;
|
|
import com.owncloud.android.ui.activity.FileActivity;
|
|
import com.owncloud.android.ui.activity.FileActivity;
|
|
import com.owncloud.android.ui.dialog.ShareLinkToDialog;
|
|
import com.owncloud.android.ui.dialog.ShareLinkToDialog;
|
|
|
|
+import com.owncloud.android.utils.FileStorageUtils;
|
|
import com.owncloud.android.utils.Log_OC;
|
|
import com.owncloud.android.utils.Log_OC;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -46,7 +49,9 @@ public class FileOperationsHelper {
|
|
|
|
|
|
private static final String TAG = FileOperationsHelper.class.getName();
|
|
private static final String TAG = FileOperationsHelper.class.getName();
|
|
|
|
|
|
- private static final String FTAG_CHOOSER_DIALOG = "CHOOSER_DIALOG";
|
|
|
|
|
|
+ private static final String FTAG_CHOOSER_DIALOG = "CHOOSER_DIALOG";
|
|
|
|
+
|
|
|
|
+ public final static int REQUEST_CODE_FILE_OPEN_HELPER = 100;
|
|
|
|
|
|
|
|
|
|
public void openFile(OCFile file, FileActivity callerActivity) {
|
|
public void openFile(OCFile file, FileActivity callerActivity) {
|
|
@@ -184,5 +189,41 @@ public class FileOperationsHelper {
|
|
Log_OC.wtf(TAG, "Trying to send a NULL OCFile");
|
|
Log_OC.wtf(TAG, "Trying to send a NULL OCFile");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public void sendFileToApp(Intent sendIntent, FileActivity callerActivity) {
|
|
|
|
+ Uri filePath = sendIntent.getParcelableExtra(Intent.EXTRA_STREAM);
|
|
|
|
+ File file = new File(filePath.getPath());
|
|
|
|
+ Log_OC.d(TAG, "FILE " + filePath.getPath());
|
|
|
|
+ if (file.exists()) {
|
|
|
|
+ File folder = new File(FileStorageUtils.getTemporalPath(callerActivity.getAccount().name) + "/send");
|
|
|
|
+ boolean success = true;
|
|
|
|
+ if (!folder.exists()) {
|
|
|
|
+ success = folder.mkdir();
|
|
|
|
+ }
|
|
|
|
+ if (success) {
|
|
|
|
+ File tmpFile = new File(folder.getAbsolutePath()+ "/" + file.getName());
|
|
|
|
+ try {
|
|
|
|
+ tmpFile.createNewFile();
|
|
|
|
+ FileStorageUtils.copyFile(file, tmpFile);
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ Log_OC.e(TAG, "An error occurred while it was trying to copy in a temporal folder " + e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ // Update Uri
|
|
|
|
+ Uri uri = Uri.fromFile(tmpFile);
|
|
|
|
+ sendIntent.removeExtra(Intent.EXTRA_STREAM);
|
|
|
|
+ sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
|
|
|
|
+ callerActivity.startActivityForResult(sendIntent, REQUEST_CODE_FILE_OPEN_HELPER);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ // Show a Message
|
|
|
|
+ Toast t = Toast.makeText(callerActivity, callerActivity.getString(R.string.send_file_missing_file), Toast.LENGTH_LONG);
|
|
|
|
+ t.show();
|
|
|
|
+ Log_OC.d(TAG, "Missing file");
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|