X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/af87d2bb52ee6222c0389c4f95abf862e67b7d25..d963d702fb65d5620803d961cdfe149aabbb5b37:/src/com/owncloud/android/ui/activity/FileDisplayActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 04d0eeec..4f2a5c6e 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -21,6 +21,7 @@ package com.owncloud.android.ui.activity; import java.io.File; import android.accounts.Account; +import android.accounts.AccountManager; import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; @@ -68,10 +69,17 @@ import com.owncloud.android.files.services.FileUploader; import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder; import com.owncloud.android.files.services.FileUploader.FileUploaderBinder; import com.owncloud.android.operations.CreateFolderOperation; + +import com.owncloud.android.operations.GetSharesOperation; + +import com.owncloud.android.lib.accounts.OwnCloudAccount; +import com.owncloud.android.lib.network.OwnCloudClient; +import com.owncloud.android.lib.network.OwnCloudClientFactory; import com.owncloud.android.lib.operations.common.OnRemoteOperationListener; import com.owncloud.android.lib.operations.common.RemoteOperation; import com.owncloud.android.lib.operations.common.RemoteOperationResult; import com.owncloud.android.lib.operations.common.RemoteOperationResult.ResultCode; + import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.RenameFileOperation; import com.owncloud.android.operations.SynchronizeFileOperation; @@ -223,7 +231,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa protected void onAccountSet(boolean stateWasRecovered) { if (getAccount() != null) { mStorageManager = new FileDataStorageManager(getAccount(), getContentResolver()); - + /// Check whether the 'main' OCFile handled by the Activity is contained in the current Account OCFile file = getFile(); // get parent from path @@ -245,6 +253,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa } setFile(file); setNavigationListWithFolder(file); + if (!stateWasRecovered) { Log_OC.e(TAG, "Initializing Fragments in onAccountChanged.."); initFragmentsWithFile(); @@ -916,6 +925,11 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa && mStorageManager != null ) { + /// get the shared files + if (isSharedSupported()) { + startGetShares(); + } + String synchFolderRemotePath = intent.getStringExtra(FileSyncService.SYNC_FOLDER_REMOTE_PATH); OCFile currentFile = (getFile() == null) ? null : mStorageManager.getFileByPath(getFile().getRemotePath()); @@ -1278,10 +1292,24 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa } else if (operation instanceof CreateFolderOperation) { onCreateFolderOperationFinish((CreateFolderOperation)operation, result); - } + } else if (operation instanceof GetSharesOperation) { + onGetSharesOperationFinish((GetSharesOperation) operation, result); + } } + /** Updates the data about shared files + * + * @param operation Get Shared Files + * @param result Result of the operation + */ + private void onGetSharesOperationFinish(GetSharesOperation operation, RemoteOperationResult result) { + // TODO + // Refresh the filelist with the information + refeshListOfFilesFragment(); + + } + /** * Updates the view associated to the activity after the finish of an operation trying to remove a * file. @@ -1491,6 +1519,13 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa } + private void startGetShares() { + // Get shared files/folders + RemoteOperation getShares = new GetSharesOperation(mStorageManager); + getShares.execute(getAccount(), this, this, mHandler, this); + + } + // public void enableDisableViewGroup(ViewGroup viewGroup, boolean enabled) { // int childCount = viewGroup.getChildCount(); // for (int i = 0; i < childCount; i++) {