Search in sources :

Example 36 with OCFile

use of com.owncloud.android.datamodel.OCFile in project android by owncloud.

the class OCFileListFragment method isGridViewPreferred.

/**
     * Determines if user set folder to grid or list view. If folder is not set itself,
     * it finds a parent that is set (at least root is set).
     * @param file      Folder to check.
     * @return          'true' is folder should be shown in grid mode, 'false' if list mode is preferred.
     */
public boolean isGridViewPreferred(OCFile file) {
    if (file != null) {
        OCFile fileToTest = file;
        OCFile parentDir;
        String parentPath = null;
        FileDataStorageManager storageManager = mContainerActivity.getStorageManager();
        SharedPreferences setting = getActivity().getSharedPreferences(GRID_IS_PREFERED_PREFERENCE, Context.MODE_PRIVATE);
        if (setting.contains(String.valueOf(fileToTest.getFileId()))) {
            return setting.getBoolean(String.valueOf(fileToTest.getFileId()), false);
        } else {
            do {
                if (fileToTest.getParentId() != FileDataStorageManager.ROOT_PARENT_ID) {
                    parentPath = new File(fileToTest.getRemotePath()).getParent();
                    parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath : parentPath + OCFile.PATH_SEPARATOR;
                    parentDir = storageManager.getFileByPath(parentPath);
                } else {
                    parentDir = storageManager.getFileByPath(OCFile.ROOT_PATH);
                }
                while (parentDir == null) {
                    parentPath = new File(parentPath).getParent();
                    parentPath = parentPath.endsWith(OCFile.PATH_SEPARATOR) ? parentPath : parentPath + OCFile.PATH_SEPARATOR;
                    parentDir = storageManager.getFileByPath(parentPath);
                }
                fileToTest = parentDir;
            } while (endWhile(parentDir, setting));
            return setting.getBoolean(String.valueOf(fileToTest.getFileId()), false);
        }
    } else {
        return false;
    }
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) SharedPreferences(android.content.SharedPreferences) FileDataStorageManager(com.owncloud.android.datamodel.FileDataStorageManager) OCFile(com.owncloud.android.datamodel.OCFile) File(java.io.File)

Example 37 with OCFile

use of com.owncloud.android.datamodel.OCFile in project android by owncloud.

the class PreviewVideoActivity method onAccountSet.

@Override
protected void onAccountSet(boolean stateWasRecovered) {
    super.onAccountSet(stateWasRecovered);
    if (getAccount() != null) {
        OCFile file = getFile();
        /// Validate handled file  (first image to preview)
        if (file == null) {
            throw new IllegalStateException("Instanced with a NULL OCFile");
        }
        if (!file.isVideo()) {
            throw new IllegalArgumentException("Non-video file passed as argument");
        }
        file = getStorageManager().getFileById(file.getFileId());
        if (file != null) {
            if (file.isDown()) {
                mVideoPlayer.setVideoURI(file.getStorageUri());
            } else {
                // not working yet
                String url;
                try {
                    url = AccountUtils.constructFullURLForAccount(this, getAccount()) + file.getRemotePath();
                    mVideoPlayer.setVideoURI(Uri.parse(url));
                } catch (AccountNotFoundException e) {
                    onError(null, MediaService.OC_MEDIA_ERROR, R.string.media_err_no_account);
                }
            }
            // create and prepare control panel for the user
            mMediaController = new MediaController(this);
            mMediaController.setMediaPlayer(mVideoPlayer);
            mMediaController.setAnchorView(mVideoPlayer);
            mVideoPlayer.setMediaController(mMediaController);
        } else {
            finish();
        }
    } else {
        finish();
    }
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) MediaController(android.widget.MediaController) AccountNotFoundException(com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException)

Example 38 with OCFile

use of com.owncloud.android.datamodel.OCFile in project android by owncloud.

the class FileStorageUtils method sortByName.

/**
     * Sorts list by Name
     * @param files     files to sort
     */
public static Vector<OCFile> sortByName(Vector<OCFile> files) {
    final Integer val;
    if (mSortAscending) {
        val = 1;
    } else {
        val = -1;
    }
    Collections.sort(files, new Comparator<OCFile>() {

        public int compare(OCFile o1, OCFile o2) {
            if (o1.isFolder() && o2.isFolder()) {
                return val * new AlphanumComparator().compare(o1, o2);
            } else if (o1.isFolder()) {
                return -1;
            } else if (o2.isFolder()) {
                return 1;
            }
            return val * new AlphanumComparator().compare(o1, o2);
        }
    });
    return files;
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) AlphanumComparator(third_parties.daveKoeller.AlphanumComparator)

Example 39 with OCFile

use of com.owncloud.android.datamodel.OCFile in project android by owncloud.

the class FileStorageUtils method createOCFileFrom.

/**
     * Creates and populates a new {@link OCFile} object with the data read from the server.
     * 
     * @param remote    remote file read from the server (remote file or folder).
     * @return          New OCFile instance representing the remote resource described by remote.
     */
public static OCFile createOCFileFrom(RemoteFile remote) {
    OCFile file = new OCFile(remote.getRemotePath());
    file.setCreationTimestamp(remote.getCreationTimestamp());
    if (remote.getMimeType().equalsIgnoreCase("DIR")) {
        file.setFileLength(remote.getSize());
    } else {
        file.setFileLength(remote.getLength());
    }
    file.setMimetype(remote.getMimeType());
    file.setModificationTimestamp(remote.getModifiedTimestamp());
    file.setEtag(remote.getEtag());
    file.setPermissions(remote.getPermissions());
    file.setRemoteId(remote.getRemoteId());
    return file;
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile)

Example 40 with OCFile

use of com.owncloud.android.datamodel.OCFile in project android by owncloud.

the class GetShareWithUsersAsyncTask method doInBackground.

@Override
protected Pair<RemoteOperation, RemoteOperationResult> doInBackground(Object... params) {
    GetSharesForFileOperation operation = null;
    RemoteOperationResult result = null;
    if (params != null && params.length == 3) {
        OCFile file = (OCFile) params[0];
        Account account = (Account) params[1];
        FileDataStorageManager fileDataStorageManager = (FileDataStorageManager) params[2];
        try {
            // Get shares request
            operation = new GetSharesForFileOperation(file.getRemotePath(), false, false);
            OwnCloudAccount ocAccount = new OwnCloudAccount(account, MainApp.getAppContext());
            OwnCloudClient client = OwnCloudClientManagerFactory.getDefaultSingleton().getClientFor(ocAccount, MainApp.getAppContext());
            result = operation.execute(client, fileDataStorageManager);
        } catch (Exception e) {
            result = new RemoteOperationResult(e);
            Log_OC.e(TAG, "Exception while getting shares", e);
        }
    } else {
        result = new RemoteOperationResult(RemoteOperationResult.ResultCode.UNKNOWN_ERROR);
    }
    return new Pair(operation, result);
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) Account(android.accounts.Account) OwnCloudAccount(com.owncloud.android.lib.common.OwnCloudAccount) RemoteOperationResult(com.owncloud.android.lib.common.operations.RemoteOperationResult) FileDataStorageManager(com.owncloud.android.datamodel.FileDataStorageManager) GetSharesForFileOperation(com.owncloud.android.operations.GetSharesForFileOperation) OwnCloudAccount(com.owncloud.android.lib.common.OwnCloudAccount) OwnCloudClient(com.owncloud.android.lib.common.OwnCloudClient) Pair(android.util.Pair)

Aggregations

OCFile (com.owncloud.android.datamodel.OCFile)84 File (java.io.File)14 FileDataStorageManager (com.owncloud.android.datamodel.FileDataStorageManager)9 RemoteOperationResult (com.owncloud.android.lib.common.operations.RemoteOperationResult)8 Intent (android.content.Intent)7 Account (android.accounts.Account)6 OCFileListFragment (com.owncloud.android.ui.fragment.OCFileListFragment)6 FileFragment (com.owncloud.android.ui.fragment.FileFragment)5 Vector (java.util.Vector)5 Bundle (android.os.Bundle)4 OwnCloudAccount (com.owncloud.android.lib.common.OwnCloudAccount)4 RemoteFile (com.owncloud.android.lib.resources.files.RemoteFile)4 SuppressLint (android.annotation.SuppressLint)3 Bitmap (android.graphics.Bitmap)3 View (android.view.View)3 ImageView (android.widget.ImageView)3 TextView (android.widget.TextView)3 ThumbnailsCacheManager (com.owncloud.android.datamodel.ThumbnailsCacheManager)3 TransferProgressController (com.owncloud.android.ui.controller.TransferProgressController)3 SharedPreferences (android.content.SharedPreferences)2