import com.owncloud.android.operations.SynchronizeFolderOperation;
import com.owncloud.android.operations.UnshareLinkOperation;
import com.owncloud.android.syncadapter.FileSyncAdapter;
-import com.owncloud.android.ui.dialog.EditNameDialog;
+import com.owncloud.android.ui.dialog.CreateFolderDialogFragment;
import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
-import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener;
import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.OnSslUntrustedCertListener;
import com.owncloud.android.ui.fragment.FileDetailFragment;
import com.owncloud.android.ui.fragment.FileFragment;
*/
public class FileDisplayActivity extends HookActivity implements
-FileFragment.ContainerActivity, OnNavigationListener,
-OnSslUntrustedCertListener, EditNameDialogListener {
+FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener {
private ArrayAdapter<String> mDirectories;
return null;
}
- protected FileFragment getSecondFragment() {
+ public FileFragment getSecondFragment() {
Fragment second = getSupportFragmentManager().findFragmentByTag(FileDisplayActivity.TAG_SECOND_FRAGMENT);
if (second != null) {
return (FileFragment)second;
boolean retval = true;
switch (item.getItemId()) {
case R.id.action_create_dir: {
- EditNameDialog dialog = EditNameDialog.newInstance(getString(R.string.uploader_info_dirname), "", -1, -1, this);
+ CreateFolderDialogFragment dialog =
+ CreateFolderDialogFragment.newInstance(getCurrentDir());
dialog.show(getSupportFragmentManager(), "createdirdialog");
break;
}
unregisterReceiver(mDownloadFinishReceiver);
mDownloadFinishReceiver = null;
}
+
+ dismissLoadingDialog();
+
Log_OC.d(TAG, "onPause() end");
}
Toast.LENGTH_LONG);
msg.show();
}
- ((FileDetailFragment)details).updateFileDetails(false, false);
+ if (uploadWasFine || getFile().fileExists()) {
+ ((FileDetailFragment)details).updateFileDetails(false, true);
+ } else {
+ cleanSecondFragment();
+ }
// Force the preview if the file is an image
if (uploadWasFine && PreviewImageFragment.canBePreviewed(getFile())) {
if (component.equals(new ComponentName(FileDisplayActivity.this, FileDownloader.class))) {
Log_OC.d(TAG, "Download service connected");
mDownloaderBinder = (FileDownloaderBinder) service;
- if (mWaitingToPreview != null) {
- requestForDownload();
+ if (mWaitingToPreview != null)
+ if (getStorageManager() != null) {
+ mWaitingToPreview = getStorageManager().getFileById(mWaitingToPreview.getFileId()); // update the file
+ if (!mWaitingToPreview.isDown()) {
+ requestForDownload();
+ }
}
} else if (component.equals(new ComponentName(FileDisplayActivity.this, FileUploader.class))) {
OCFile removedFile = operation.getFile();
FileFragment second = getSecondFragment();
if (second != null && removedFile.equals(second.getFile())) {
+ if (second instanceof PreviewMediaFragment) {
+ ((PreviewMediaFragment)second).stopPreview(true);
+ }
+ setFile(getStorageManager().getFileById(removedFile.getParentId()));
cleanSecondFragment();
}
if (getStorageManager().getFileById(removedFile.getParentId()).equals(getCurrentDir())) {
refreshListOfFilesFragment();
}
-
+ invalidateOptionsMenu();
} else {
Toast msg = Toast.makeText(this, R.string.remove_fail_msg, Toast.LENGTH_LONG);
msg.show();
OCFile renamedFile = operation.getFile();
if (result.isSuccess()) {
FileFragment details = getSecondFragment();
- if (details != null && details instanceof FileDetailFragment && renamedFile.equals(details.getFile()) ) {
- ((FileDetailFragment) details).updateFileDetails(renamedFile, getAccount());
+ if (details != null)
+ if (details instanceof FileDetailFragment && renamedFile.equals(details.getFile()) ) {
+ ((FileDetailFragment) details).updateFileDetails(renamedFile, getAccount());
+ showDetails(renamedFile);
+
+ } else if (details instanceof PreviewMediaFragment && renamedFile.equals(details.getFile())) {
+ ((PreviewMediaFragment) details).updateFile(renamedFile);
+ if (PreviewMediaFragment.canBePreviewed(renamedFile)) {
+ int position = ((PreviewMediaFragment)details).getPosition();
+ startMediaPreview(renamedFile, position, true);
+ } else {
+ getFileOperationsHelper().openFile(renamedFile);
+ }
}
+
if (getStorageManager().getFileById(renamedFile.getParentId()).equals(getCurrentDir())) {
refreshListOfFilesFragment();
}
}
- public void onDismiss(EditNameDialog dialog) {
- if (dialog.getResult()) {
- String newDirectoryName = dialog.getNewFilename().trim();
- Log_OC.d(TAG, "'create directory' dialog dismissed with new name " + newDirectoryName);
- if (newDirectoryName.length() > 0) {
- String path = getCurrentDir().getRemotePath();
-
- // Create directory
- path += newDirectoryName + OCFile.PATH_SEPARATOR;
- RemoteOperation operation = new CreateFolderOperation(path, false, getStorageManager());
- operation.execute( getAccount(),
- FileDisplayActivity.this,
- FileDisplayActivity.this,
- getHandler(),
- FileDisplayActivity.this);
-
- showLoadingDialog();
- }
- }
- }
-
-
private void requestForDownload() {
Account account = getAccount();
if (!mDownloaderBinder.isDownloading(account, mWaitingToPreview)) {
Account account = getAccount();
if (mDownloaderBinder != null && mDownloaderBinder.isDownloading(account, file)) {
mDownloaderBinder.cancel(account, file);
+ refreshListOfFilesFragment();
onTransferStateChanged(file, false, false);
} else if (mUploaderBinder != null && mUploaderBinder.isUploading(account, file)) {
mUploaderBinder.cancel(account, file);
+ refreshListOfFilesFragment();
if (!file.fileExists()) {
cleanSecondFragment();