X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/002e1bf9e3872734f050638c7291540879cd42e8..5dc43aab3cc1243f9989dd6a0c7dd3350c3f709b:/src/com/owncloud/android/Uploader.java diff --git a/src/com/owncloud/android/Uploader.java b/src/com/owncloud/android/Uploader.java index 2a831792..0ff09079 100644 --- a/src/com/owncloud/android/Uploader.java +++ b/src/com/owncloud/android/Uploader.java @@ -3,9 +3,8 @@ * Copyright (C) 2012-2013 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -16,6 +15,7 @@ * along with this program. If not, see . * */ + package com.owncloud.android; import java.io.File; @@ -45,7 +45,6 @@ import android.os.Parcelable; import android.provider.MediaStore.Audio; import android.provider.MediaStore.Images; import android.provider.MediaStore.Video; -import android.util.Log; import android.view.View; import android.view.Window; import android.widget.AdapterView; @@ -55,14 +54,13 @@ import android.widget.EditText; import android.widget.SimpleAdapter; import android.widget.Toast; -import com.owncloud.android.authenticator.AccountAuthenticator; +import com.owncloud.android.authentication.AccountAuthenticator; import com.owncloud.android.datamodel.DataStorageManager; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.services.FileUploader; -import com.owncloud.android.network.OwnCloudClientUtils; -import eu.alefzero.webdav.WebdavClient; +import com.owncloud.android.R; /** * This can be used to upload things to an ownCloud instance. @@ -86,7 +84,6 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro private final static int DIALOG_WAITING = 1; private final static int DIALOG_NO_STREAM = 2; private final static int DIALOG_MULTIPLE_ACCOUNT = 3; - //private final static int DIALOG_GET_DIRNAME = 4; private final static int REQUEST_CODE_SETUP_ACCOUNT = 0; @@ -96,16 +93,14 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro getWindow().requestFeature(Window.FEATURE_NO_TITLE); mParents = new Stack(); mParents.add(""); - /*if (getIntent().hasExtra(Intent.EXTRA_STREAM)) { - prepareStreamsToUpload();*/ if (prepareStreamsToUpload()) { mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE); Account[] accounts = mAccountManager.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); if (accounts.length == 0) { - Log.i(TAG, "No ownCloud account is available"); + Log_OC.i(TAG, "No ownCloud account is available"); showDialog(DIALOG_NO_ACCOUNT); } else if (accounts.length > 1) { - Log.i(TAG, "More then one ownCloud is available"); + Log_OC.i(TAG, "More then one ownCloud is available"); showDialog(DIALOG_MULTIPLE_ACCOUNT); } else { mAccount = accounts[0]; @@ -141,8 +136,8 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro // in API7 < this constatant is defined in // Settings.ADD_ACCOUNT_SETTINGS // and Settings.EXTRA_AUTHORITIES - Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); - intent.putExtra("authorities", new String[] { AccountAuthenticator.AUTH_TOKEN_TYPE }); + Intent intent = new Intent(android.provider.Settings.ACTION_ADD_ACCOUNT); + intent.putExtra("authorities", new String[] { AccountAuthenticator.AUTHORITY }); startActivityForResult(intent, REQUEST_CODE_SETUP_ACCOUNT); } else { // since in API7 there is no direct call for @@ -234,7 +229,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // click on folder in the list - Log.d(TAG, "on item click"); + Log_OC.d(TAG, "on item click"); Vector tmpfiles = mStorageManager.getDirectoryContent(mFile); if (tmpfiles.size() <= 0) return; // filter on dirtype @@ -257,7 +252,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro mUploadPath = ""; // first element in mParents is root dir, represented by ""; init mUploadPath with "/" results in a "//" prefix for (String p : mParents) mUploadPath += p + OCFile.PATH_SEPARATOR; - Log.d(TAG, "Uploading file to dir " + mUploadPath); + Log_OC.d(TAG, "Uploading file to dir " + mUploadPath); uploadFiles(); @@ -270,7 +265,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - Log.i(TAG, "result received. req: " + requestCode + " res: " + resultCode); + Log_OC.i(TAG, "result received. req: " + requestCode + " res: " + resultCode); if (requestCode == REQUEST_CODE_SETUP_ACCOUNT) { dismissDialog(DIALOG_NO_ACCOUNT); if (resultCode == RESULT_CANCELED) { @@ -296,7 +291,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro for (String a : mParents) full_path += a + "/"; - Log.d(TAG, "Populating view with content of : " + full_path); + Log_OC.d(TAG, "Populating view with content of : " + full_path); mFile = mStorageManager.getFileByPath(full_path); if (mFile != null) { @@ -333,15 +328,19 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro public void uploadFiles() { try { - WebdavClient webdav = OwnCloudClientUtils.createOwnCloudClient(mAccount, getApplicationContext()); + //WebdavClient webdav = OwnCloudClientUtils.createOwnCloudClient(mAccount, getApplicationContext()); ArrayList local = new ArrayList(); ArrayList remote = new ArrayList(); + /* TODO - mCreateDir can never be true at this moment; we will replace wdc.createDirectory by CreateFolderOperation when that is fixed + WebdavClient wdc = OwnCloudClientUtils.createOwnCloudClient(mAccount, getApplicationContext()); // create last directory in path if necessary if (mCreateDir) { - webdav.createDirectory(mUploadPath); + wdc.createDirectory(mUploadPath); } + */ + // this checks the mimeType for (Parcelable mStream : mStreamsToUpload) { @@ -419,6 +418,7 @@ public class Uploader extends ListActivity implements OnItemClickListener, andro startService(intent); finish(); } + } catch (SecurityException e) { String message = String.format(getString(R.string.uploader_error_forbidden_content), getString(R.string.app_name)); Toast.makeText(this, message, Toast.LENGTH_LONG).show();