X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/47c90583eaa4afe92eb0526577c026101b97658a..10e856c2e8e56e43647153faaee6e9e7ab4a3bcd:/src/com/owncloud/android/files/FileOperationsHelper.java diff --git a/src/com/owncloud/android/files/FileOperationsHelper.java b/src/com/owncloud/android/files/FileOperationsHelper.java index 1c0db87b..c14d84dc 100644 --- a/src/com/owncloud/android/files/FileOperationsHelper.java +++ b/src/com/owncloud/android/files/FileOperationsHelper.java @@ -30,11 +30,10 @@ import com.owncloud.android.R; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.accounts.OwnCloudAccount; import com.owncloud.android.lib.network.webdav.WebdavUtils; -import com.owncloud.android.lib.operations.common.ShareType; -import com.owncloud.android.operations.CreateShareOperation; -import com.owncloud.android.operations.UnshareLinkOperation; +import com.owncloud.android.lib.utils.OwnCloudVersion; +import com.owncloud.android.services.OperationsService; import com.owncloud.android.ui.activity.FileActivity; -import com.owncloud.android.ui.dialog.ActivityChooserDialog; +import com.owncloud.android.ui.dialog.ShareLinkToDialog; import com.owncloud.android.utils.Log_OC; /** @@ -90,7 +89,7 @@ public class FileOperationsHelper { String link = "https://fake.url"; Intent intent = createShareWithLinkIntent(link); String[] packagesToExclude = new String[] { callerActivity.getPackageName() }; - DialogFragment chooserDialog = ActivityChooserDialog.newInstance(intent, packagesToExclude, file); + DialogFragment chooserDialog = ShareLinkToDialog.newInstance(intent, packagesToExclude, file); chooserDialog.show(callerActivity.getSupportFragmentManager(), FTAG_CHOOSER_DIALOG); } else { @@ -109,12 +108,13 @@ public class FileOperationsHelper { if (file != null) { callerActivity.showLoadingDialog(); - CreateShareOperation createShare = new CreateShareOperation(file.getRemotePath(), ShareType.PUBLIC_LINK, "", false, "", 1, sendIntent); - createShare.execute(callerActivity.getStorageManager(), - callerActivity, - callerActivity.getRemoteOperationListener(), - callerActivity.getHandler(), - callerActivity); + + Intent service = new Intent(callerActivity, OperationsService.class); + service.setAction(OperationsService.ACTION_CREATE_SHARE); + service.putExtra(OperationsService.EXTRA_ACCOUNT, callerActivity.getAccount()); + service.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath()); + service.putExtra(OperationsService.EXTRA_SEND_INTENT, sendIntent); + callerActivity.startService(service); } else { Log_OC.wtf(TAG, "Trying to open a NULL OCFile"); @@ -136,7 +136,10 @@ public class FileOperationsHelper { public boolean isSharedSupported(FileActivity callerActivity) { if (callerActivity.getAccount() != null) { AccountManager accountManager = AccountManager.get(callerActivity); - return Boolean.parseBoolean(accountManager.getUserData(callerActivity.getAccount(), OwnCloudAccount.Constants.KEY_SUPPORTS_SHARE_API)); + String version = accountManager.getUserData(callerActivity.getAccount(), OwnCloudAccount.Constants.KEY_OC_VERSION); + String versionString = accountManager.getUserData(callerActivity.getAccount(), OwnCloudAccount.Constants.KEY_OC_VERSION_STRING); + return (new OwnCloudVersion(version, versionString)).isSharedSupported(); + //return Boolean.parseBoolean(accountManager.getUserData(callerActivity.getAccount(), OwnCloudAccount.Constants.KEY_SUPPORTS_SHARE_API)); } return false; } @@ -146,13 +149,12 @@ public class FileOperationsHelper { if (isSharedSupported(callerActivity)) { // Unshare the file - UnshareLinkOperation unshare = new UnshareLinkOperation(file); - unshare.execute(callerActivity.getStorageManager(), - callerActivity, - callerActivity.getRemoteOperationListener(), - callerActivity.getHandler(), - callerActivity); - + Intent service = new Intent(callerActivity, OperationsService.class); + service.setAction(OperationsService.ACTION_UNSHARE); + service.putExtra(OperationsService.EXTRA_ACCOUNT, callerActivity.getAccount()); + service.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath()); + callerActivity.startService(service); + callerActivity.showLoadingDialog(); } else {