Skip to content

Commit 8b6aa99

Browse files
committed
wip
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent 18dbf53 commit 8b6aa99

3 files changed

Lines changed: 42 additions & 39 deletions

File tree

app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadHelper.kt

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.nextcloud.client.jobs.BackgroundJobManager
2424
import com.nextcloud.client.network.Connectivity
2525
import com.nextcloud.client.network.ConnectivityService
2626
import com.nextcloud.client.notifications.AppWideNotificationManager
27+
import com.nextcloud.model.OCUploadLocalPathData
2728
import com.nextcloud.utils.extensions.checkWCFRestrictions
2829
import com.nextcloud.utils.extensions.createOwncloudClient
2930
import com.nextcloud.utils.extensions.getUploadIds
@@ -253,49 +254,46 @@ class FileUploadHelper {
253254
}
254255

255256
@JvmOverloads
257+
fun uploadNewFiles(data: OCUploadLocalPathData, showSameFileAlreadyExistsNotification: Boolean = true) {
258+
val uploads = getUploadsFromLocalPaths(data)
259+
backgroundJobManager.startFilesUploadJob(
260+
data.user,
261+
uploads.getUploadIds(),
262+
showSameFileAlreadyExistsNotification
263+
)
264+
}
265+
256266
@Suppress("LongParameterList")
257-
fun uploadNewFiles(
258-
user: User,
259-
localPaths: Array<String>,
260-
remotePaths: Array<String>,
261-
localBehavior: Int,
262-
createRemoteFolder: Boolean,
263-
createdBy: Int,
264-
requiresWifi: Boolean,
265-
requiresCharging: Boolean,
266-
nameCollisionPolicy: NameCollisionPolicy,
267-
showSameFileAlreadyExistsNotification: Boolean = true
268-
) {
269-
val uploads = localPaths.mapIndexed { index, localPath ->
270-
fun createOCUpload(): OCUpload {
271-
val result = OCUpload(localPath, remotePaths[index], user.accountName).apply {
272-
this.nameCollisionPolicy = nameCollisionPolicy
273-
isUseWifiOnly = requiresWifi
274-
isWhileChargingOnly = requiresCharging
275-
uploadStatus = UploadStatus.UPLOAD_IN_PROGRESS
276-
this.createdBy = createdBy
277-
isCreateRemoteFolder = createRemoteFolder
278-
localAction = localBehavior
279-
}
267+
fun uploadAndCopyNewFilesForAlbum(data: OCUploadLocalPathData, albumName: String) {
268+
val uploads = getUploadsFromLocalPaths(data)
269+
backgroundJobManager.startAlbumFilesUploadJob(
270+
data.user,
271+
uploads.getUploadIds(),
272+
albumName
273+
)
274+
}
280275

276+
private fun getUploadsFromLocalPaths(data: OCUploadLocalPathData): List<OCUpload> =
277+
data.localPaths.mapIndexed { index, localPath ->
278+
fun createOCUpload(): OCUpload {
279+
val result = data.toOCUpload(localPath, index)
281280
val id = uploadsStorageManager.uploadDao.insertOrReplace(result.toUploadEntity())
282281
result.uploadId = id
283282
return result
284283
}
285284

285+
val remotePath = data.remotePaths[index]
286286
val entity = getUploadByPaths(
287-
accountName = user.accountName,
287+
accountName = data.user.accountName,
288288
localPath = localPath,
289-
remotePath = remotePaths[index]
289+
remotePath = remotePath
290290
)
291291
if (entity != null) {
292-
reusePendingUpload(entity, user) ?: createOCUpload()
292+
reusePendingUpload(entity, data.user) ?: createOCUpload()
293293
} else {
294294
createOCUpload()
295295
}
296296
}
297-
backgroundJobManager.startFilesUploadJob(user, uploads.getUploadIds(), showSameFileAlreadyExistsNotification)
298-
}
299297

300298
private fun reusePendingUpload(entity: UploadEntity, user: User): OCUpload? {
301299
val capability = fileStorageManager.getCapability(user)

app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import com.nextcloud.utils.ContactManager
2222
import com.nextcloud.utils.GlideHelper
2323
import com.nextcloud.utils.extensions.getType
2424
import com.nextcloud.utils.extensions.setVisibleIf
25+
import com.nextcloud.utils.thumbnail.ThumbnailArguments
2526
import com.nextcloud.utils.thumbnail.ThumbnailGenerator
2627
import com.owncloud.android.R
2728
import com.owncloud.android.databinding.UnifiedSearchItemBinding
@@ -109,7 +110,11 @@ class UnifiedSearchItemViewHolder(
109110
ImageViewCompat.setImageTintList(this, null)
110111
}
111112
} else {
112-
thumbnailGenerator.setThumbnail(file, binding.thumbnail, shimmer = binding.thumbnailShimmer)
113+
thumbnailGenerator.setThumbnail(
114+
file,
115+
binding.thumbnail,
116+
ThumbnailArguments.withShimmer(binding.thumbnailShimmer)
117+
)
113118
}
114119
}
115120

app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -885,18 +885,18 @@ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
885885
// hide FAB in multi selection mode
886886
setFabVisible(false);
887887

888-
if (OCFileListFragment.this instanceof GalleryFragment) {
889-
// hide the 3 dot menu icon while picking media for Albums
890-
if (requireActivity() instanceof AlbumsPickerActivity) {
891-
item.setVisible(false);
892-
893-
final MenuItem addAlbumItem = menu.findItem(R.id.add_to_album);
894-
// show add to album button when picking files from media to add to album
895-
addAlbumItem.setVisible(true);
896-
}
888+
if (OCFileListFragment.this instanceof GalleryFragment && getActivity() instanceof AlbumsPickerActivity) {
889+
item.setVisible(false);
890+
final MenuItem addAlbumItem = menu.findItem(R.id.add_to_album);
891+
// show add to album button when picking files from media to add to album
892+
addAlbumItem.setVisible(true);
893+
}
894+
895+
final var adapter = getCommonAdapter();
896+
if (adapter != null) {
897+
adapter.setMultiSelect(true);
897898
}
898899

899-
getCommonAdapter().setMultiSelect(true);
900900
return true;
901901
}
902902

0 commit comments

Comments
 (0)