X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/3e196f1f7dc64eb483df96ab3e950be32a5e718b..2ef886af316609c2e4a1fe5f2ee32345a8008e33:/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 6a9bc493..69d44212 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -21,6 +21,8 @@ package com.owncloud.android.ui.activity; import java.io.File; import java.io.IOException; +import org.apache.commons.httpclient.methods.PostMethod; + import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AuthenticatorException; @@ -48,6 +50,7 @@ import android.provider.MediaStore; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; +import android.support.v4.widget.SwipeRefreshLayout; import android.util.Log; import android.view.View; import android.view.ViewGroup; @@ -78,8 +81,10 @@ import com.owncloud.android.lib.common.network.CertificateCombinedException; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.operations.CreateFolderOperation; import com.owncloud.android.operations.CreateShareOperation; +import com.owncloud.android.operations.MoveFileOperation; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.RenameFileOperation; import com.owncloud.android.operations.SynchronizeFileOperation; @@ -99,7 +104,6 @@ import com.owncloud.android.ui.preview.PreviewMediaFragment; import com.owncloud.android.ui.preview.PreviewVideoActivity; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ErrorMessageAdapter; -import com.owncloud.android.utils.Log_OC; /** @@ -110,8 +114,9 @@ import com.owncloud.android.utils.Log_OC; */ public class FileDisplayActivity extends HookActivity implements -FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener { - +FileFragment.ContainerActivity, OnNavigationListener, +OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { + private ArrayAdapter mDirectories; private SyncBroadcastReceiver mSyncBroadcastReceiver; @@ -135,6 +140,7 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener private static final int ACTION_SELECT_CONTENT_FROM_APPS = 1; private static final int ACTION_SELECT_MULTIPLE_FILES = 2; + public static final int ACTION_MOVE_FILES = 3; private static final String TAG = FileDisplayActivity.class.getSimpleName(); @@ -210,8 +216,6 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener @Override protected void onDestroy() { - Log_OC.d(TAG, "onDestroy() FileDisplyActivty"); -// Log_OC.stopLogging(); super.onDestroy(); } @@ -289,7 +293,7 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener if (listOfFiles != null) { listOfFiles.listDirectory(getCurrentDir()); } else { - Log.e(TAG, "Still have a chance to lose the initializacion of list fragment >("); + Log_OC.e(TAG, "Still have a chance to lose the initializacion of list fragment >("); } /// Second fragment @@ -305,12 +309,12 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener } } else { - Log.wtf(TAG, "initFragments() called with invalid NULLs!"); + Log_OC.wtf(TAG, "initFragments() called with invalid NULLs!"); if (getAccount() == null) { - Log.wtf(TAG, "\t account is NULL"); + Log_OC.wtf(TAG, "\t account is NULL"); } if (getFile() == null) { - Log.wtf(TAG, "\t file is NULL"); + Log_OC.wtf(TAG, "\t file is NULL"); } } } @@ -568,6 +572,20 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener } else if (requestCode == ACTION_SELECT_MULTIPLE_FILES && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) { requestMultipleUpload(data, resultCode); + } else if (requestCode == ACTION_MOVE_FILES && (resultCode == RESULT_OK || + resultCode == MoveActivity.RESULT_OK_AND_MOVE)){ + + final Intent fData = data; + final int fResultCode = resultCode; + getHandler().postDelayed( + new Runnable() { + @Override + public void run() { + requestMoveOperation(fData, fResultCode); + } + }, + DELAY_TO_REQUEST_OPERATION_ON_ACTIVITY_RESULTS + ); } } @@ -648,6 +666,18 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener startService(i); } + /** + * Request the operation for moving the file/folder from one path to another + * + * @param data Intent received + * @param resultCode Result code received + */ + private void requestMoveOperation(Intent data, int resultCode) { + OCFile folderToMoveAt = (OCFile) data.getParcelableExtra(MoveActivity.EXTRA_CURRENT_FOLDER); + OCFile targetFile = (OCFile) data.getParcelableExtra(MoveActivity.EXTRA_TARGET_FILE); + getFileOperationsHelper().moveFile(folderToMoveAt, targetFile); + } + @Override public void onBackPressed() { OCFileListFragment listOfFiles = getListOfFilesFragment(); @@ -1012,7 +1042,7 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener } ocFileListFragment.setMessageForEmptyList(getString(message)); } else { - Log.e(TAG, "OCFileListFragment is null"); + Log_OC.e(TAG, "OCFileListFragment is null"); } } @@ -1333,7 +1363,9 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener } else if (operation instanceof UnshareLinkOperation) { onUnshareLinkOperationFinish((UnshareLinkOperation)operation, result); - } + } else if (operation instanceof MoveFileOperation) { + onMoveFileOperationFinish((MoveFileOperation)operation, result); + } } @@ -1412,12 +1444,13 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener /** - * Updates the view associated to the activity after the finish of an operation trying create a new folder + * Updates the view associated to the activity after the finish of an operation trying to move a + * file. * - * @param operation Creation operation performed. - * @param result Result of the creation. + * @param operation Move operation performed. + * @param result Result of the move operation. */ - private void onCreateFolderOperationFinish(CreateFolderOperation operation, RemoteOperationResult result) { + private void onMoveFileOperationFinish(MoveFileOperation operation, RemoteOperationResult result) { if (result.isSuccess()) { dismissLoadingDialog(); refreshListOfFilesFragment(); @@ -1504,6 +1537,30 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener } } + /** + * Updates the view associated to the activity after the finish of an operation trying create a new folder + * + * @param operation Creation operation performed. + * @param result Result of the creation. + */ + private void onCreateFolderOperationFinish(CreateFolderOperation operation, RemoteOperationResult result) { + if (result.isSuccess()) { + dismissLoadingDialog(); + refreshListOfFilesFragment(); + } else { + dismissLoadingDialog(); + try { + Toast msg = Toast.makeText(FileDisplayActivity.this, + ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()), + Toast.LENGTH_LONG); + msg.show(); + + } catch (NotFoundException e) { + Log_OC.e(TAG, "Error while trying to show fail message " , e); + } + } + } + /** * {@inheritDoc} @@ -1672,4 +1729,17 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener onTransferStateChanged(file, false, false); } + @Override + public void onRefresh() { + OCFileListFragment listOfFiles = getListOfFilesFragment(); + if (listOfFiles != null) { + OCFile folder = listOfFiles.getCurrentFile(); + if (folder != null) { + /*mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId()); + listDirectory(mFile);*/ + startSyncFolderOperation(folder); + } + } + } + }