@@ -74,6 +74,7 @@ import com.nextcloud.client.media.PlayerServiceConnection
7474import com.nextcloud.client.network.ClientFactory.CreationException
7575import com.nextcloud.client.preferences.AppPreferences
7676import com.nextcloud.client.utils.IntentUtil
77+ import com.nextcloud.model.OCUploadLocalPathData
7778import com.nextcloud.model.WorkerState.OfflineOperationsCompleted
7879import com.nextcloud.ui.composeActivity.ComposeProcessTextAlias
7980import com.nextcloud.utils.extensions.getParcelableArgument
@@ -91,7 +92,6 @@ import com.owncloud.android.datamodel.FileDataStorageManager
9192import com.owncloud.android.datamodel.OCFile
9293import com.owncloud.android.datamodel.SyncedFolderProvider
9394import com.owncloud.android.datamodel.VirtualFolderType
94- import com.owncloud.android.files.services.NameCollisionPolicy
9595import com.owncloud.android.lib.common.OwnCloudClient
9696import com.owncloud.android.lib.common.operations.RemoteOperation
9797import com.owncloud.android.lib.common.operations.RemoteOperationResult
@@ -111,7 +111,6 @@ import com.owncloud.android.operations.RefreshFolderOperation
111111import com.owncloud.android.operations.RemoveFileOperation
112112import com.owncloud.android.operations.RenameFileOperation
113113import com.owncloud.android.operations.SynchronizeFileOperation
114- import com.owncloud.android.operations.UploadFileOperation
115114import com.owncloud.android.operations.albums.CopyFileToAlbumOperation
116115import com.owncloud.android.syncadapter.FileSyncAdapter
117116import com.owncloud.android.ui.CompletionCallback
@@ -138,6 +137,7 @@ import com.owncloud.android.ui.fragment.SharedListFragment
138137import com.owncloud.android.ui.fragment.TaskRetainerFragment
139138import com.owncloud.android.ui.fragment.UnifiedSearchFragment
140139import com.owncloud.android.ui.fragment.albums.AlbumItemsFragment
140+ import com.owncloud.android.ui.fragment.albums.AlbumOperationListener
141141import com.owncloud.android.ui.fragment.albums.AlbumsFragment
142142import com.owncloud.android.ui.helpers.FileOperationsHelper
143143import com.owncloud.android.ui.helpers.UriUploader
@@ -205,7 +205,9 @@ class FileDisplayActivity :
205205 private val folderDownloadStartedReceiver = FolderDownloadStartedReceiver ()
206206 private val folderDownloadCompletedReceiver = FolderDownloadCompletedReceiver ()
207207
208- private var mLastSslUntrustedServerResult: RemoteOperationResult <* >? = null
208+ private lateinit var albumOperationListener: AlbumOperationListener
209+
210+ var mLastSslUntrustedServerResult: RemoteOperationResult <* >? = null
209211
210212 private var mWaitingToPreview: OCFile ? = null
211213
@@ -273,6 +275,7 @@ class FileDisplayActivity :
273275
274276 super .onCreate(savedInstanceState)
275277 lastDisplayedAccountName = preferences.lastDisplayedAccountName
278+ albumOperationListener = AlbumOperationListener (this )
276279 folderRefreshScheduler = FolderRefreshScheduler (this )
277280
278281 intent?.let {
@@ -991,7 +994,7 @@ class FileDisplayActivity :
991994 ! isSearchOpen() &&
992995 isRoot(getCurrentDir()) &&
993996 this .leftFragment is OCFileListFragment &&
994- ! isAlbumItemsFragment()
997+ ! isAlbumItemsFragment
995998
996999 /* *
9971000 * Called, when the user selected something for uploading
@@ -1124,19 +1127,15 @@ class FileDisplayActivity :
11241127 return @isNetworkAndServerAvailable
11251128 }
11261129
1127- FileUploadHelper .instance().uploadNewFiles(
1128- user.orElseThrow(
1129- Supplier { RuntimeException () }
1130- ),
1130+ val data = OCUploadLocalPathData .forFile(
1131+ user.orElseThrow(Supplier { RuntimeException () }),
11311132 filePaths,
11321133 decryptedRemotePaths,
11331134 behaviour,
1134- true ,
1135- UploadFileOperation .CREATED_BY_USER ,
1136- false ,
1137- false ,
1138- NameCollisionPolicy .ASK_USER
1135+ createRemoteFolder = true
11391136 )
1137+
1138+ FileUploadHelper .instance().uploadNewFiles(data)
11401139 }
11411140 } else {
11421141 fileDataStorageManager.addCreateFileOfflineOperation(filePaths, decryptedRemotePaths)
@@ -1253,7 +1252,7 @@ class FileDisplayActivity :
12531252 }
12541253
12551254 // pop back if current fragment is AlbumItemsFragment
1256- isAlbumItemsFragment() -> {
1255+ isAlbumItemsFragment -> {
12571256 before()
12581257 popBack()
12591258 after()
@@ -2154,19 +2153,19 @@ class FileDisplayActivity :
21542153 }
21552154
21562155 is CreateNewAlbumRemoteOperation -> {
2157- onCreateAlbumOperationFinish(operation, result)
2156+ albumOperationListener. onCreateAlbumOperationFinish(operation, result)
21582157 }
21592158
21602159 is CopyFileToAlbumOperation -> {
2161- onCopyAlbumFileOperationFinish(operation, result)
2160+ albumOperationListener. onCopyAlbumFileOperationFinish(operation, result)
21622161 }
21632162
21642163 is RenameAlbumRemoteOperation -> {
2165- onRenameAlbumOperationFinish(operation, result)
2164+ albumOperationListener. onRenameAlbumOperationFinish(operation, result)
21662165 }
21672166
21682167 is RemoveAlbumRemoteOperation -> {
2169- onRemoveAlbumOperationFinish(operation, result)
2168+ albumOperationListener. onRemoveAlbumOperationFinish(operation, result)
21702169 }
21712170 }
21722171 }
@@ -2429,92 +2428,6 @@ class FileDisplayActivity :
24292428 }
24302429 }
24312430
2432- private fun onRemoveAlbumOperationFinish (operation : RemoveAlbumRemoteOperation , result : RemoteOperationResult <* >) {
2433- if (result.isSuccess) {
2434- val fragment = supportFragmentManager.findFragmentByTag(AlbumItemsFragment .TAG )
2435- if (fragment is AlbumItemsFragment ) {
2436- fragment.onAlbumDeleted()
2437- }
2438- } else {
2439- DisplayUtils .showSnackMessage(
2440- this ,
2441- ErrorMessageAdapter .getErrorCauseMessage(result, operation, getResources())
2442- )
2443-
2444- if (result.isSslRecoverableException) {
2445- mLastSslUntrustedServerResult = result
2446- showUntrustedCertDialog(mLastSslUntrustedServerResult)
2447- }
2448- }
2449- }
2450-
2451- private fun onCopyAlbumFileOperationFinish (operation : CopyFileToAlbumOperation , result : RemoteOperationResult <* >) {
2452- if (result.isSuccess) {
2453- // when item added from inside of Album
2454- val fragment = supportFragmentManager.findFragmentByTag(AlbumItemsFragment .TAG )
2455- if (fragment is AlbumItemsFragment ) {
2456- fragment.refreshData()
2457- } else {
2458- // files added directly from Media tab
2459- DisplayUtils .showSnackMessage(this , getResources().getString(R .string.album_file_added_message))
2460- }
2461- Log_OC .e(TAG , " Files copied successfully" )
2462- } else {
2463- try {
2464- DisplayUtils .showSnackMessage(
2465- this ,
2466- ErrorMessageAdapter .getErrorCauseMessage(result, operation, getResources())
2467- )
2468- } catch (e: Resources .NotFoundException ) {
2469- Log_OC .e(TAG , " Error while trying to show fail message " , e)
2470- }
2471- }
2472- }
2473-
2474- private fun onRenameAlbumOperationFinish (operation : RenameAlbumRemoteOperation , result : RemoteOperationResult <* >) {
2475- if (result.isSuccess) {
2476- val fragment = supportFragmentManager.findFragmentByTag(AlbumItemsFragment .TAG )
2477- if (fragment is AlbumItemsFragment ) {
2478- fragment.onAlbumRenamed(operation.newAlbumName)
2479- }
2480- } else {
2481- DisplayUtils .showSnackMessage(
2482- this ,
2483- ErrorMessageAdapter .getErrorCauseMessage(result, operation, getResources())
2484- )
2485-
2486- if (result.isSslRecoverableException) {
2487- mLastSslUntrustedServerResult = result
2488- showUntrustedCertDialog(mLastSslUntrustedServerResult)
2489- }
2490- }
2491- }
2492-
2493- private fun onCreateAlbumOperationFinish (
2494- operation : CreateNewAlbumRemoteOperation ,
2495- result : RemoteOperationResult <* >
2496- ) {
2497- if (result.isSuccess) {
2498- val fragment = supportFragmentManager.findFragmentByTag(AlbumsFragment .TAG )
2499- if (fragment is AlbumsFragment ) {
2500- fragment.navigateToAlbumItemsFragment(operation.newAlbumName, true )
2501- }
2502- } else {
2503- try {
2504- if (RemoteOperationResult .ResultCode .FOLDER_ALREADY_EXISTS == result.code) {
2505- DisplayUtils .showSnackMessage(this , R .string.album_already_exists)
2506- } else {
2507- DisplayUtils .showSnackMessage(
2508- this ,
2509- ErrorMessageAdapter .getErrorCauseMessage(result, operation, getResources())
2510- )
2511- }
2512- } catch (e: Resources .NotFoundException ) {
2513- Log_OC .e(TAG , " Error while trying to show fail message " , e)
2514- }
2515- }
2516- }
2517-
25182431 /* *
25192432 * {@inheritDoc}
25202433 */
0 commit comments