|
@@ -39,9 +39,12 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
|
import androidx.work.Worker
|
|
import androidx.work.Worker
|
|
import androidx.work.WorkerParameters
|
|
import androidx.work.WorkerParameters
|
|
import com.google.gson.Gson
|
|
import com.google.gson.Gson
|
|
|
|
+import com.google.gson.GsonBuilder
|
|
import com.nextcloud.client.account.User
|
|
import com.nextcloud.client.account.User
|
|
import com.nextcloud.client.account.UserAccountManager
|
|
import com.nextcloud.client.account.UserAccountManager
|
|
import com.nextcloud.java.util.Optional
|
|
import com.nextcloud.java.util.Optional
|
|
|
|
+import com.nextcloud.utils.InterfaceSerializer
|
|
|
|
+import com.nextcloud.utils.InterfaceSerializer.interfaceSerializer
|
|
import com.owncloud.android.R
|
|
import com.owncloud.android.R
|
|
import com.owncloud.android.authentication.AuthenticatorActivity
|
|
import com.owncloud.android.authentication.AuthenticatorActivity
|
|
import com.owncloud.android.datamodel.FileDataStorageManager
|
|
import com.owncloud.android.datamodel.FileDataStorageManager
|
|
@@ -85,7 +88,6 @@ class FilesDownloadWorker(
|
|
companion object {
|
|
companion object {
|
|
private val TAG = FilesDownloadWorker::class.java.simpleName
|
|
private val TAG = FilesDownloadWorker::class.java.simpleName
|
|
|
|
|
|
- var user: User? = null
|
|
|
|
const val USER = "USER"
|
|
const val USER = "USER"
|
|
const val FILE = "FILE"
|
|
const val FILE = "FILE"
|
|
const val BEHAVIOUR = "BEHAVIOUR"
|
|
const val BEHAVIOUR = "BEHAVIOUR"
|
|
@@ -144,9 +146,17 @@ class FilesDownloadWorker(
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // FIXME stackoverflow
|
|
|
|
+ private fun getUserGson(): Gson {
|
|
|
|
+ return GsonBuilder()
|
|
|
|
+ .registerTypeAdapter(User::class.java, interfaceSerializer(User::class.java))
|
|
|
|
+ .create()
|
|
|
|
+ }
|
|
|
|
+
|
|
private fun getRequestDownloads(): AbstractList<String> {
|
|
private fun getRequestDownloads(): AbstractList<String> {
|
|
conflictUploadId = inputData.keyValueMap[CONFLICT_UPLOAD_ID] as Long?
|
|
conflictUploadId = inputData.keyValueMap[CONFLICT_UPLOAD_ID] as Long?
|
|
val file = gson.fromJson(inputData.keyValueMap[FILE] as String, OCFile::class.java)
|
|
val file = gson.fromJson(inputData.keyValueMap[FILE] as String, OCFile::class.java)
|
|
|
|
+ val user = getUserGson().fromJson(inputData.keyValueMap[USER] as String, User::class.java)
|
|
val downloadTypeAsString = inputData.keyValueMap[DOWNLOAD_TYPE] as String?
|
|
val downloadTypeAsString = inputData.keyValueMap[DOWNLOAD_TYPE] as String?
|
|
val downloadType = if (downloadTypeAsString != null) {
|
|
val downloadType = if (downloadTypeAsString != null) {
|
|
if (downloadTypeAsString == DownloadType.DOWNLOAD.toString()) {
|
|
if (downloadTypeAsString == DownloadType.DOWNLOAD.toString()) {
|