Search in sources :

Example 11 with FileFragment

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));
            }
        }
    }
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) FileFragment(com.owncloud.android.ui.fragment.FileFragment) FileDetailFragment(com.owncloud.android.ui.fragment.FileDetailFragment)

Example 12 with FileFragment

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);
}
Also used : FileFragment(com.owncloud.android.ui.fragment.FileFragment)

Example 13 with FileFragment

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);
        }
    }
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) PreviewTextFileFragment(com.owncloud.android.ui.preview.PreviewTextFileFragment) User(com.nextcloud.client.account.User) FileFragment(com.owncloud.android.ui.fragment.FileFragment) PreviewTextFileFragment(com.owncloud.android.ui.preview.PreviewTextFileFragment) PreviewMediaFragment(com.owncloud.android.ui.preview.PreviewMediaFragment) FileDetailFragment(com.owncloud.android.ui.fragment.FileDetailFragment) PreviewTextFragment(com.owncloud.android.ui.preview.PreviewTextFragment) OCFileListFragment(com.owncloud.android.ui.fragment.OCFileListFragment) UnifiedSearchFragment(com.owncloud.android.ui.fragment.UnifiedSearchFragment) Fragment(androidx.fragment.app.Fragment) TaskRetainerFragment(com.owncloud.android.ui.fragment.TaskRetainerFragment) FileFragment(com.owncloud.android.ui.fragment.FileFragment) PreviewTextStringFragment(com.owncloud.android.ui.preview.PreviewTextStringFragment) PreviewTextFragment(com.owncloud.android.ui.preview.PreviewTextFragment) PreviewTextFileFragment(com.owncloud.android.ui.preview.PreviewTextFileFragment) GalleryFragment(com.owncloud.android.ui.fragment.GalleryFragment) SortingOrderDialogFragment(com.owncloud.android.ui.dialog.SortingOrderDialogFragment) PreviewImageFragment(com.owncloud.android.ui.preview.PreviewImageFragment) PreviewMediaFragment(com.owncloud.android.ui.preview.PreviewMediaFragment) FileDetailFragment(com.owncloud.android.ui.fragment.FileDetailFragment) PreviewPdfFragment(com.owncloud.android.ui.preview.pdf.PreviewPdfFragment)

Example 14 with FileFragment

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);
        }
    }
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) GalleryFragment(com.owncloud.android.ui.fragment.GalleryFragment) FileFragment(com.owncloud.android.ui.fragment.FileFragment) PreviewTextFileFragment(com.owncloud.android.ui.preview.PreviewTextFileFragment) PreviewMediaFragment(com.owncloud.android.ui.preview.PreviewMediaFragment) OCFileListFragment(com.owncloud.android.ui.fragment.OCFileListFragment) UnifiedSearchFragment(com.owncloud.android.ui.fragment.UnifiedSearchFragment) Fragment(androidx.fragment.app.Fragment) TaskRetainerFragment(com.owncloud.android.ui.fragment.TaskRetainerFragment) FileFragment(com.owncloud.android.ui.fragment.FileFragment) PreviewTextStringFragment(com.owncloud.android.ui.preview.PreviewTextStringFragment) PreviewTextFragment(com.owncloud.android.ui.preview.PreviewTextFragment) PreviewTextFileFragment(com.owncloud.android.ui.preview.PreviewTextFileFragment) GalleryFragment(com.owncloud.android.ui.fragment.GalleryFragment) SortingOrderDialogFragment(com.owncloud.android.ui.dialog.SortingOrderDialogFragment) PreviewImageFragment(com.owncloud.android.ui.preview.PreviewImageFragment) PreviewMediaFragment(com.owncloud.android.ui.preview.PreviewMediaFragment) FileDetailFragment(com.owncloud.android.ui.fragment.FileDetailFragment) PreviewPdfFragment(com.owncloud.android.ui.preview.pdf.PreviewPdfFragment)

Example 15 with FileFragment

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;
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) FileFragment(com.owncloud.android.ui.fragment.FileFragment) PreviewTextFileFragment(com.owncloud.android.ui.preview.PreviewTextFileFragment) PreviewMediaFragment(com.owncloud.android.ui.preview.PreviewMediaFragment) FileDetailFragment(com.owncloud.android.ui.fragment.FileDetailFragment) PreviewPdfFragment(com.owncloud.android.ui.preview.pdf.PreviewPdfFragment) OCFileListFragment(com.owncloud.android.ui.fragment.OCFileListFragment) UnifiedSearchFragment(com.owncloud.android.ui.fragment.UnifiedSearchFragment) SuppressLint(android.annotation.SuppressLint)

Aggregations

FileFragment (com.owncloud.android.ui.fragment.FileFragment)16 OCFile (com.owncloud.android.datamodel.OCFile)9 FileDetailFragment (com.owncloud.android.ui.fragment.FileDetailFragment)6 OCFileListFragment (com.owncloud.android.ui.fragment.OCFileListFragment)5 UnifiedSearchFragment (com.owncloud.android.ui.fragment.UnifiedSearchFragment)5 PreviewMediaFragment (com.owncloud.android.ui.preview.PreviewMediaFragment)5 PreviewTextFileFragment (com.owncloud.android.ui.preview.PreviewTextFileFragment)5 PreviewPdfFragment (com.owncloud.android.ui.preview.pdf.PreviewPdfFragment)5 Fragment (androidx.fragment.app.Fragment)4 SortingOrderDialogFragment (com.owncloud.android.ui.dialog.SortingOrderDialogFragment)4 GalleryFragment (com.owncloud.android.ui.fragment.GalleryFragment)4 TaskRetainerFragment (com.owncloud.android.ui.fragment.TaskRetainerFragment)4 PreviewImageFragment (com.owncloud.android.ui.preview.PreviewImageFragment)4 PreviewTextFragment (com.owncloud.android.ui.preview.PreviewTextFragment)4 PreviewTextStringFragment (com.owncloud.android.ui.preview.PreviewTextStringFragment)4 SuppressLint (android.annotation.SuppressLint)1 IntentFilter (android.content.IntentFilter)1 Bundle (android.os.Bundle)1 User (com.nextcloud.client.account.User)1 PreviewAudioFragment (com.owncloud.android.ui.preview.PreviewAudioFragment)1