Search in sources :

Example 46 with OCFile

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

the class UploaderAdapter method getView.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View vi = convertView;
    if (convertView == null) {
        vi = inflater.inflate(R.layout.uploader_list_item_layout, null);
    }
    HashMap<String, OCFile> data = (HashMap<String, OCFile>) getItem(position);
    OCFile file = data.get("dirname");
    TextView filename = vi.findViewById(R.id.filename);
    filename.setText(file.getFileName());
    ImageView fileIcon = vi.findViewById(R.id.thumbnail);
    fileIcon.setTag(file.getFileId());
    TextView lastModV = vi.findViewById(R.id.last_mod);
    lastModV.setText(DisplayUtils.getRelativeTimestamp(mContext, file.getModificationTimestamp()));
    TextView fileSizeV = vi.findViewById(R.id.file_size);
    TextView fileSizeSeparatorV = vi.findViewById(R.id.file_separator);
    if (!file.isFolder()) {
        fileSizeV.setVisibility(View.VISIBLE);
        fileSizeSeparatorV.setVisibility(View.VISIBLE);
        fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));
    } else {
        fileSizeV.setVisibility(View.GONE);
        fileSizeSeparatorV.setVisibility(View.GONE);
    }
    if (file.isFolder()) {
        final boolean isShared = file.isSharedWithMe() || file.isSharedWithSharee();
        final Drawable icon = MimeTypeUtil.getFolderTypeIcon(isShared, file.isSharedViaLink(), file.isEncrypted(), user, file.getMountType(), mContext);
        fileIcon.setImageDrawable(icon);
    } else {
        // get Thumbnail if file is image
        if (MimeTypeUtil.isImage(file) && file.getRemoteId() != null) {
            // Thumbnail in Cache?
            Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache(String.valueOf(file.getRemoteId()));
            if (thumbnail != null && !file.isUpdateThumbnailNeeded()) {
                fileIcon.setImageBitmap(thumbnail);
            } else {
                // generate new Thumbnail
                if (ThumbnailsCacheManager.cancelPotentialThumbnailWork(file, fileIcon)) {
                    final ThumbnailsCacheManager.ThumbnailGenerationTask task = new ThumbnailsCacheManager.ThumbnailGenerationTask(fileIcon, mStorageManager, user);
                    if (thumbnail == null) {
                        if (MimeTypeUtil.isVideo(file)) {
                            thumbnail = ThumbnailsCacheManager.mDefaultVideo;
                        } else {
                            thumbnail = ThumbnailsCacheManager.mDefaultImg;
                        }
                    }
                    final AsyncThumbnailDrawable asyncDrawable = new AsyncThumbnailDrawable(mContext.getResources(), thumbnail, task);
                    fileIcon.setImageDrawable(asyncDrawable);
                    task.execute(new ThumbnailsCacheManager.ThumbnailGenerationTaskObject(file, file.getRemoteId()));
                }
            }
        } else {
            final Drawable icon = MimeTypeUtil.getFileTypeIcon(file.getMimeType(), file.getFileName(), user, mContext);
            fileIcon.setImageDrawable(icon);
        }
    }
    return vi;
}
Also used : HashMap(java.util.HashMap) AsyncThumbnailDrawable(com.owncloud.android.datamodel.ThumbnailsCacheManager.AsyncThumbnailDrawable) Drawable(android.graphics.drawable.Drawable) ImageView(android.widget.ImageView) TextView(android.widget.TextView) View(android.view.View) OCFile(com.owncloud.android.datamodel.OCFile) Bitmap(android.graphics.Bitmap) ThumbnailsCacheManager(com.owncloud.android.datamodel.ThumbnailsCacheManager) AsyncThumbnailDrawable(com.owncloud.android.datamodel.ThumbnailsCacheManager.AsyncThumbnailDrawable) TextView(android.widget.TextView) ImageView(android.widget.ImageView)

Example 47 with OCFile

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

the class FileSyncAdapter method syncChildren.

/**
 * Triggers the synchronization of any folder contained in the list of received files.
 *
 * No consideration of etag here because it MUST walk down anyway, in case that kept-in-sync files
 * have local changes.
 *
 * @param files         Files to recursively synchronize.
 */
private void syncChildren(List<OCFile> files) {
    int i;
    OCFile newFile;
    for (i = 0; i < files.size() && !mCancellation; i++) {
        newFile = files.get(i);
        if (newFile.isFolder()) {
            synchronizeFolder(newFile);
        }
    }
    if (mCancellation && i < files.size()) {
        Log_OC.d(TAG, "Leaving synchronization before synchronizing " + files.get(i).getRemotePath() + " due to cancellation request");
    }
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile)

Example 48 with OCFile

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

the class ContactsPreferenceActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.contacts_preference);
    // setup toolbar
    setupToolbar();
    // setup drawer
    // setupDrawer(R.id.nav_contacts); // TODO needed?
    // show sidebar?
    boolean showSidebar = getIntent().getBooleanExtra(EXTRA_SHOW_SIDEBAR, true);
    if (!showSidebar) {
        setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        }
        if (mDrawerToggle != null) {
            mDrawerToggle.setDrawerIndicatorEnabled(false);
        }
    }
    Intent intent = getIntent();
    if (savedInstanceState == null) {
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        if (intent == null || intent.getParcelableExtra(EXTRA_FILE) == null || intent.getParcelableExtra(EXTRA_USER) == null) {
            BackupFragment fragment = BackupFragment.create(showSidebar);
            transaction.add(R.id.frame_container, fragment);
        } else {
            OCFile file = intent.getParcelableExtra(EXTRA_FILE);
            User user = intent.getParcelableExtra(EXTRA_USER);
            BackupListFragment contactListFragment = BackupListFragment.newInstance(file, user);
            transaction.add(R.id.frame_container, contactListFragment);
        }
        transaction.commit();
    }
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) FragmentTransaction(androidx.fragment.app.FragmentTransaction) User(com.nextcloud.client.account.User) BackupFragment(com.owncloud.android.ui.fragment.contactsbackup.BackupFragment) Intent(android.content.Intent) BackupListFragment(com.owncloud.android.ui.fragment.contactsbackup.BackupListFragment)

Example 49 with OCFile

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

the class ConflictsResolveDialog method newInstance.

public static ConflictsResolveDialog newInstance(OCFile existingFile, OCFile newFile, User user) {
    ConflictsResolveDialog dialog = new ConflictsResolveDialog();
    Bundle args = new Bundle();
    args.putParcelable(KEY_EXISTING_FILE, existingFile);
    args.putSerializable(KEY_NEW_FILE, new File(newFile.getStoragePath()));
    args.putParcelable(KEY_USER, user);
    dialog.setArguments(args);
    return dialog;
}
Also used : Bundle(android.os.Bundle) OCFile(com.owncloud.android.datamodel.OCFile) File(java.io.File)

Example 50 with OCFile

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

the class SendFilesDialog method newInstance.

public static SendFilesDialog newInstance(Set<OCFile> files) {
    SendFilesDialog dialogFragment = new SendFilesDialog();
    Bundle args = new Bundle();
    args.putParcelableArray(KEY_OCFILES, files.toArray(new OCFile[0]));
    dialogFragment.setArguments(args);
    return dialogFragment;
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) Bundle(android.os.Bundle)

Aggregations

OCFile (com.owncloud.android.datamodel.OCFile)307 File (java.io.File)56 Test (org.junit.Test)44 FileDataStorageManager (com.owncloud.android.datamodel.FileDataStorageManager)43 RemoteOperationResult (com.owncloud.android.lib.common.operations.RemoteOperationResult)40 ArrayList (java.util.ArrayList)28 Intent (android.content.Intent)27 OCFileListFragment (com.owncloud.android.ui.fragment.OCFileListFragment)22 OCUpload (com.owncloud.android.db.OCUpload)20 ScreenshotTest (com.owncloud.android.utils.ScreenshotTest)20 FileFragment (com.owncloud.android.ui.fragment.FileFragment)19 User (com.nextcloud.client.account.User)17 RemoteFile (com.owncloud.android.lib.resources.files.model.RemoteFile)16 Bundle (android.os.Bundle)13 Fragment (androidx.fragment.app.Fragment)12 RemoteFile (com.owncloud.android.lib.resources.files.RemoteFile)12 FileDetailFragment (com.owncloud.android.ui.fragment.FileDetailFragment)12 Account (android.accounts.Account)11 SuppressLint (android.annotation.SuppressLint)11 PreviewTextFragment (com.owncloud.android.ui.preview.PreviewTextFragment)11