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;
}
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");
}
}
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();
}
}
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;
}
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;
}
Aggregations