mirror of
https://github.com/nextcloud/android.git
synced 2024-11-26 15:15:51 +03:00
Add long running task support
Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
parent
85b68c2307
commit
7970ba7b75
3 changed files with 25 additions and 1 deletions
|
@ -239,6 +239,12 @@
|
|||
android:exported="false"
|
||||
android:configChanges="orientation|screenLayout|screenSize|keyboardHidden"
|
||||
android:theme="@style/Theme.ownCloud.Media" />
|
||||
<service
|
||||
android:name="androidx.work.impl.foreground.SystemForegroundService"
|
||||
android:directBootAware="false"
|
||||
android:enabled="@bool/enable_system_foreground_service_default"
|
||||
android:exported="false"
|
||||
android:foregroundServiceType="dataSync" />
|
||||
<service
|
||||
android:name=".authentication.AccountAuthenticatorService"
|
||||
android:exported="false">
|
||||
|
|
|
@ -111,7 +111,7 @@ class DownloadNotificationManager(
|
|||
@Suppress("MagicNumber")
|
||||
fun showCompleteNotification(text: String) {
|
||||
Handler(Looper.getMainLooper()).postDelayed({
|
||||
updateNotificationText(null,text, true)
|
||||
updateNotificationText(null, text, true)
|
||||
dismissNotification()
|
||||
}, 3000)
|
||||
}
|
||||
|
@ -156,4 +156,12 @@ class DownloadNotificationManager(
|
|||
)
|
||||
)
|
||||
}
|
||||
|
||||
fun getId(): Int {
|
||||
return id
|
||||
}
|
||||
|
||||
fun getNotification(): Notification {
|
||||
return notificationBuilder.build()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,8 +36,10 @@ import com.nextcloud.client.account.UserAccountManager
|
|||
import com.nextcloud.java.util.Optional
|
||||
import com.nextcloud.model.WorkerState
|
||||
import com.nextcloud.model.WorkerStateLiveData
|
||||
import com.nextcloud.utils.ForegroundServiceHelper
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager
|
||||
import com.owncloud.android.datamodel.ForegroundServiceType
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
import com.owncloud.android.files.services.IndexedForest
|
||||
import com.owncloud.android.lib.common.OwnCloudAccount
|
||||
|
@ -123,6 +125,14 @@ class FileDownloadWorker(
|
|||
|
||||
addAccountUpdateListener()
|
||||
|
||||
setForegroundAsync(
|
||||
ForegroundServiceHelper.createWorkerForegroundInfo(
|
||||
notificationManager.getId(),
|
||||
notificationManager.getNotification(),
|
||||
ForegroundServiceType.DataSync
|
||||
)
|
||||
)
|
||||
|
||||
requestDownloads.forEach {
|
||||
downloadFile(it)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue