X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/9d65b669996fb94a0ce99fdda0272f4795d8c2a2..72d9d63acb800adefdd32e63196e0434ec0f7d96:/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 a698cebb..db4e2628 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -21,7 +21,6 @@ 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; @@ -69,16 +68,19 @@ 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.oc_framework.accounts.OwnCloudAccount; -import com.owncloud.android.oc_framework.operations.OnRemoteOperationListener; -import com.owncloud.android.oc_framework.operations.RemoteOperation; -import com.owncloud.android.oc_framework.operations.RemoteOperationResult; -import com.owncloud.android.oc_framework.operations.RemoteOperationResult.ResultCode; -import com.owncloud.android.operations.GetSharedFilesOperation; + +import com.owncloud.android.operations.GetSharesOperation; + +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; import com.owncloud.android.operations.SynchronizeFolderOperation; +import com.owncloud.android.operations.common.SyncOperation; import com.owncloud.android.syncadapter.FileSyncService; import com.owncloud.android.ui.dialog.EditNameDialog; import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener; @@ -124,6 +126,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private static final String KEY_WAITING_TO_PREVIEW = "WAITING_TO_PREVIEW"; private static final String KEY_SYNC_IN_PROGRESS = "SYNC_IN_PROGRESS"; + private static final String KEY_REFRESH_SHARES_IN_PROGRESS = "SHARES_IN_PROGRESS"; public static final int DIALOG_SHORT_WAIT = 0; private static final int DIALOG_CHOOSE_UPLOAD_SOURCE = 1; @@ -146,6 +149,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private Handler mHandler; private boolean mSyncInProgress = false; + private boolean mRefreshSharesInProgress = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -178,10 +182,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa if(savedInstanceState != null) { mWaitingToPreview = (OCFile) savedInstanceState.getParcelable(FileDisplayActivity.KEY_WAITING_TO_PREVIEW); mSyncInProgress = savedInstanceState.getBoolean(KEY_SYNC_IN_PROGRESS); + mRefreshSharesInProgress = savedInstanceState.getBoolean(KEY_REFRESH_SHARES_IN_PROGRESS); } else { mWaitingToPreview = null; mSyncInProgress = false; + mRefreshSharesInProgress = false; } /// USER INTERFACE @@ -671,6 +677,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa super.onSaveInstanceState(outState); outState.putParcelable(FileDisplayActivity.KEY_WAITING_TO_PREVIEW, mWaitingToPreview); outState.putBoolean(FileDisplayActivity.KEY_SYNC_IN_PROGRESS, mSyncInProgress); + outState.putBoolean(FileDisplayActivity.KEY_REFRESH_SHARES_IN_PROGRESS, mRefreshSharesInProgress); Log_OC.d(TAG, "onSaveInstanceState() end"); } @@ -922,7 +929,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa /// get the shared files if (isSharedSupported()) { - startGetSharedFiles(); + startGetShares(); } String synchFolderRemotePath = intent.getStringExtra(FileSyncService.SYNC_FOLDER_REMOTE_PATH); @@ -954,7 +961,12 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa setFile(currentFile); } - setSupportProgressBarIndeterminateVisibility(inProgress); + if (!mRefreshSharesInProgress) { + setSupportProgressBarIndeterminateVisibility(inProgress); + } else { + setSupportProgressBarIndeterminateVisibility(true); + } + removeStickyBroadcast(intent); mSyncInProgress = inProgress; @@ -1287,8 +1299,8 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa } else if (operation instanceof CreateFolderOperation) { onCreateFolderOperationFinish((CreateFolderOperation)operation, result); - } else if (operation instanceof GetSharedFilesOperation) { - onGetSharedFilesOperationFinish((GetSharedFilesOperation) operation, result); + } else if (operation instanceof GetSharesOperation) { + onGetSharesOperationFinish((GetSharesOperation) operation, result); } } @@ -1298,15 +1310,15 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa * @param operation Get Shared Files * @param result Result of the operation */ - private void onGetSharedFilesOperationFinish(GetSharedFilesOperation operation, RemoteOperationResult result) { - // TODO + private void onGetSharesOperationFinish(GetSharesOperation operation, RemoteOperationResult result) { // Refresh the filelist with the information - refeshListOfFilesFragment(); -// OCFileListFragment fileListFragment = getListOfFilesFragment(); -// if (fileListFragment != null) { -// fileListFragment.listDirectory(getCurrentDir()); -// } + refeshListOfFilesFragment(); + + mRefreshSharesInProgress = false; + if (!mSyncInProgress) { + setSupportProgressBarIndeterminateVisibility(false); + } } /** @@ -1518,13 +1530,13 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa } - private void startGetSharedFiles() { + private void startGetShares() { // Get shared files/folders - AccountManager accountMngr = AccountManager.get(this); - String urlServer = accountMngr.getUserData(getAccount(), OwnCloudAccount.Constants.KEY_OC_BASE_URL); + SyncOperation getShares = new GetSharesOperation(); + getShares.execute(mStorageManager, this, this, mHandler, this); - RemoteOperation getSharedFiles = new GetSharedFilesOperation(urlServer, mStorageManager); - getSharedFiles.execute(getAccount(), this, this, mHandler, this); + mRefreshSharesInProgress = true; + setSupportProgressBarIndeterminateVisibility(true); }