use of com.owncloud.android.ui.fragment.FileFragment in project android by nextcloud.
the class FileDisplayActivity method refreshSecondFragment.
protected void refreshSecondFragment(String downloadEvent, String downloadedRemotePath, boolean success) {
FileFragment secondFragment = getSecondFragment();
boolean waitedPreview = (mWaitingToPreview != null && mWaitingToPreview.getRemotePath().equals(downloadedRemotePath));
if (secondFragment instanceof FileDetailFragment) {
FileDetailFragment detailsFragment = (FileDetailFragment) secondFragment;
OCFile fileInFragment = detailsFragment.getFile();
if (fileInFragment != null && !downloadedRemotePath.equals(fileInFragment.getRemotePath())) {
// the user browsed to other file ; forget the automatic preview
mWaitingToPreview = null;
} else if (downloadEvent.equals(FileDownloader.getDownloadAddedMessage())) {
// grant that the right panel updates the progress bar
detailsFragment.listenForTransferProgress();
detailsFragment.updateFileDetails(true, false);
} else if (downloadEvent.equals(FileDownloader.getDownloadFinishMessage())) {
// update the right panel
boolean detailsFragmentChanged = false;
if (waitedPreview) {
if (success) {
mWaitingToPreview = getStorageManager().getFileById(// update the file from database,
mWaitingToPreview.getFileId());
// for the local storage path
if (PreviewMediaFragment.canBePreviewed(mWaitingToPreview)) {
startMediaPreview(mWaitingToPreview, 0, true, true);
detailsFragmentChanged = true;
} else if (MimeTypeUtil.isVCard(mWaitingToPreview.getMimetype())) {
startContactListFragment(mWaitingToPreview);
detailsFragmentChanged = true;
} else if (PreviewTextFragment.canBePreviewed(mWaitingToPreview)) {
startTextPreview(mWaitingToPreview, true);
detailsFragmentChanged = true;
} else {
getFileOperationsHelper().openFile(mWaitingToPreview);
}
}
mWaitingToPreview = null;
}
if (!detailsFragmentChanged) {
detailsFragment.updateFileDetails(false, (success));
}
}
}
}
use of com.owncloud.android.ui.fragment.FileFragment in project android by owncloud.
the class PreviewImagePagerAdapter method updateWithDownloadError.
private void updateWithDownloadError(int position) {
FileFragment fragmentToUpdate = mCachedFragments.get(position);
if (fragmentToUpdate != null) {
mObsoleteFragments.add(fragmentToUpdate);
}
mDownloadErrors.add(position);
}
use of com.owncloud.android.ui.fragment.FileFragment in project android by nextcloud.
the class FileDisplayActivity method onRenameFileOperationFinish.
/**
* Updates the view associated to the activity after the finish of an operation trying to rename a file.
*
* @param operation Renaming operation performed.
* @param result Result of the renaming.
*/
private void onRenameFileOperationFinish(RenameFileOperation operation, RemoteOperationResult result) {
Optional<User> optionalUser = getUser();
OCFile renamedFile = operation.getFile();
if (result.isSuccess() && optionalUser.isPresent()) {
final User currentUser = optionalUser.get();
Fragment leftFragment = getLeftFragment();
if (leftFragment instanceof FileFragment) {
final FileFragment fileFragment = (FileFragment) leftFragment;
if (fileFragment instanceof FileDetailFragment && renamedFile.equals(fileFragment.getFile())) {
((FileDetailFragment) fileFragment).updateFileDetails(renamedFile, currentUser);
showDetails(renamedFile);
} else if (fileFragment instanceof PreviewMediaFragment && renamedFile.equals(fileFragment.getFile())) {
((PreviewMediaFragment) fileFragment).updateFile(renamedFile);
if (PreviewMediaFragment.canBePreviewed(renamedFile)) {
long position = ((PreviewMediaFragment) fileFragment).getPosition();
startMediaPreview(renamedFile, position, true, true, true);
} else {
getFileOperationsHelper().openFile(renamedFile);
}
} else if (fileFragment instanceof PreviewTextFragment && renamedFile.equals(fileFragment.getFile())) {
((PreviewTextFileFragment) fileFragment).updateFile(renamedFile);
if (PreviewTextFileFragment.canBePreviewed(renamedFile)) {
startTextPreview(renamedFile, true);
} else {
getFileOperationsHelper().openFile(renamedFile);
}
}
}
OCFile file = getStorageManager().getFileById(renamedFile.getParentId());
if (file != null && file.equals(getCurrentDir())) {
updateListOfFilesFragment(false);
}
} else {
DisplayUtils.showSnackMessage(this, ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()));
if (result.isSslRecoverableException()) {
mLastSslUntrustedServerResult = result;
showUntrustedCertDialog(mLastSslUntrustedServerResult);
}
}
}
use of com.owncloud.android.ui.fragment.FileFragment in project android by nextcloud.
the class FileDisplayActivity method onRemoveFileOperationFinish.
/**
* Updates the view associated to the activity after the finish of an operation trying to remove a file.
*
* @param operation Removal operation performed.
* @param result Result of the removal.
*/
private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) {
if (!operation.isInBackground()) {
DisplayUtils.showSnackMessage(this, ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()));
}
if (result.isSuccess()) {
OCFile removedFile = operation.getFile();
tryStopPlaying(removedFile);
Fragment leftFragment = getLeftFragment();
// check if file is still available, if so do nothing
boolean fileAvailable = getStorageManager().fileExists(removedFile.getFileId());
if (leftFragment instanceof FileFragment && !fileAvailable && removedFile.equals(((FileFragment) leftFragment).getFile())) {
if (leftFragment instanceof PreviewMediaFragment) {
((PreviewMediaFragment) leftFragment).stopPreview(true);
}
setFile(getStorageManager().getFileById(removedFile.getParentId()));
cleanSecondFragment();
}
OCFile parentFile = getStorageManager().getFileById(removedFile.getParentId());
if (parentFile != null && parentFile.equals(getCurrentDir())) {
updateListOfFilesFragment(false);
} else if (getLeftFragment() instanceof GalleryFragment) {
((GalleryFragment) getLeftFragment()).onRefresh();
}
supportInvalidateOptionsMenu();
} else {
if (result.isSslRecoverableException()) {
mLastSslUntrustedServerResult = result;
showUntrustedCertDialog(mLastSslUntrustedServerResult);
}
}
}
use of com.owncloud.android.ui.fragment.FileFragment in project android by nextcloud.
the class FileDisplayActivity method onOptionsItemSelected.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
boolean retval = true;
int itemId = item.getItemId();
if (itemId == android.R.id.home) {
FileFragment second = getSecondFragment();
OCFile currentDir = getCurrentDir();
if (isDrawerOpen()) {
closeDrawer();
} else if (currentDir != null && currentDir.getParentId() != 0 || second != null && second.getFile() != null || isSearchOpen()) {
onBackPressed();
} else if (getLeftFragment() instanceof FileDetailFragment || getLeftFragment() instanceof PreviewMediaFragment || getLeftFragment() instanceof UnifiedSearchFragment || getLeftFragment() instanceof PreviewPdfFragment) {
onBackPressed();
} else {
openDrawer();
}
} else if (itemId == R.id.action_select_all) {
OCFileListFragment fragment = getListOfFilesFragment();
if (fragment != null) {
fragment.selectAllFiles(true);
}
} else {
retval = super.onOptionsItemSelected(item);
}
return retval;
}
Aggregations