Skip to content

Commit 08c2c3a

Browse files
committed
Use jetpack lifecycle
Signed-off-by: alperozturk <[email protected]>
1 parent 3deeaee commit 08c2c3a

File tree

5 files changed

+22
-35
lines changed

5 files changed

+22
-35
lines changed

app/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,8 @@ dependencies {
291291
implementation 'androidx.webkit:webkit:1.11.0'
292292
implementation 'androidx.cardview:cardview:1.0.0'
293293
implementation 'androidx.exifinterface:exifinterface:1.3.7'
294-
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0"
294+
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.1"
295+
implementation "androidx.lifecycle:lifecycle-service:2.8.1"
295296
implementation "androidx.work:work-runtime:$workRuntime"
296297
implementation "androidx.work:work-runtime-ktx:$workRuntime"
297298
implementation "androidx.fragment:fragment-ktx:1.7.1"

app/src/main/java/com/nextcloud/client/jobs/transfer/FileTransferService.kt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@
77
*/
88
package com.nextcloud.client.jobs.transfer
99

10-
import android.app.Service
1110
import android.content.Context
1211
import android.content.Intent
1312
import android.os.IBinder
13+
import androidx.lifecycle.Lifecycle
14+
import androidx.lifecycle.LifecycleService
1415
import com.nextcloud.client.account.User
1516
import com.nextcloud.client.core.AsyncRunner
1617
import com.nextcloud.client.core.LocalBinder
@@ -23,18 +24,16 @@ import com.nextcloud.client.logger.Logger
2324
import com.nextcloud.client.network.ClientFactory
2425
import com.nextcloud.client.network.ConnectivityService
2526
import com.nextcloud.client.notifications.AppNotificationManager
26-
import com.nextcloud.model.AppLifecycle
2727
import com.nextcloud.utils.ForegroundServiceHelper
2828
import com.nextcloud.utils.extensions.getParcelableArgument
29-
import com.owncloud.android.MainApp
3029
import com.owncloud.android.datamodel.FileDataStorageManager
3130
import com.owncloud.android.datamodel.ForegroundServiceType
3231
import com.owncloud.android.datamodel.UploadsStorageManager
3332
import dagger.android.AndroidInjection
3433
import javax.inject.Inject
3534
import javax.inject.Named
3635

37-
class FileTransferService : Service() {
36+
class FileTransferService : LifecycleService() {
3837

3938
companion object {
4039
const val TAG = "DownloaderService"
@@ -98,12 +97,12 @@ class FileTransferService : Service() {
9897
AndroidInjection.inject(this)
9998
}
10099

101-
override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {
102-
if (intent.action != ACTION_TRANSFER) {
100+
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
101+
if (intent == null || intent.action != ACTION_TRANSFER) {
103102
return START_NOT_STICKY
104103
}
105104

106-
if (!isRunning && MainApp.getAppLifeCycle() == AppLifecycle.Foreground) {
105+
if (!isRunning && lifecycle.currentState == Lifecycle.State.STARTED) {
107106
ForegroundServiceHelper.startService(
108107
this,
109108
AppNotificationManager.TRANSFER_NOTIFICATION_ID,
@@ -121,8 +120,8 @@ class FileTransferService : Service() {
121120
return START_NOT_STICKY
122121
}
123122

124-
override fun onBind(intent: Intent?): IBinder? {
125-
val user = intent?.getParcelableArgument(EXTRA_USER, User::class.java) ?: return null
123+
override fun onBind(intent: Intent): IBinder? {
124+
val user = intent.getParcelableArgument(EXTRA_USER, User::class.java) ?: return null
126125
return Binder(getTransferManager(user), this)
127126
}
128127

app/src/main/java/com/nextcloud/model/AppLifecycle.kt

Lines changed: 0 additions & 12 deletions
This file was deleted.

app/src/main/java/com/owncloud/android/MainApp.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
import com.nextcloud.client.preferences.AppPreferences;
5959
import com.nextcloud.client.preferences.AppPreferencesImpl;
6060
import com.nextcloud.client.preferences.DarkMode;
61-
import com.nextcloud.model.AppLifecycle;
6261
import com.nextcloud.utils.extensions.ContextExtensionsKt;
6362
import com.nmc.android.ui.LauncherActivity;
6463
import com.owncloud.android.authentication.AuthenticatorActivity;
@@ -376,22 +375,10 @@ public void onCreate() {
376375
registerGlobalPassCodeProtection();
377376
}
378377

379-
private static AppLifecycle lifecycle = AppLifecycle.Foreground;
380-
381-
public static AppLifecycle getAppLifeCycle() {
382-
return lifecycle;
383-
}
384-
385-
private void setAppLifeCycle(AppLifecycle appLifecycle) {
386-
lifecycle = appLifecycle;
387-
}
388-
389378
private final LifecycleEventObserver lifecycleEventObserver = ((lifecycleOwner, event) -> {
390379
if (event == Lifecycle.Event.ON_START) {
391-
setAppLifeCycle(AppLifecycle.Foreground);
392380
Log_OC.d(TAG, "APP IN FOREGROUND");
393381
} else if (event == Lifecycle.Event.ON_STOP) {
394-
setAppLifeCycle(AppLifecycle.Background);
395382
passCodeManager.setCanAskPin(true);
396383
Log_OC.d(TAG, "APP IN BACKGROUND");
397384
} else if (event == Lifecycle.Event.ON_RESUME) {

gradle/verification-metadata.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,9 @@
235235
<trusted-key id="A42FEF087AF29AE864684EAEE6039456D5BBD4F8" group="io.fabric8" name="kubernetes-client-bom" version="5.12.4"/>
236236
<trusted-key id="A5BD02B93E7A40482EB1D66A5F69AD087600B22C" group="org.ow2.asm"/>
237237
<trusted-key id="A5F483CD733A4EBAEA378B2AE88979FB9B30ACF2">
238+
<trusting group="androidx.annotation"/>
238239
<trusting group="androidx.fragment"/>
240+
<trusting group="androidx.lifecycle"/>
239241
<trusting group="androidx.webkit" name="webkit" version="1.11.0"/>
240242
<trusting group="^androidx[.]compose($|([.].*))" regex="true"/>
241243
</trusted-key>
@@ -1808,6 +1810,11 @@
18081810
<sha256 value="9affa24c6160dc8cadaac9422d4f714e5009537d0243afc4bc74b5b7cf0de4ad" origin="Generated by Gradle"/>
18091811
</artifact>
18101812
</component>
1813+
<component group="androidx.lifecycle" name="lifecycle-livedata" version="2.8.1">
1814+
<artifact name="lifecycle-livedata-2.8.1.aar">
1815+
<sha256 value="1a280b5d6351515907aaa19d3179ec8076095985e979e323a5972bdc5d6b7945" origin="Generated by Gradle"/>
1816+
</artifact>
1817+
</component>
18111818
<component group="androidx.lifecycle" name="lifecycle-livedata-core" version="2.0.0">
18121819
<artifact name="lifecycle-livedata-core-2.0.0.aar">
18131820
<sha256 value="fde334ec7e22744c0f5bfe7caf1a84c9d717327044400577bdf9bd921ec4f7bc" origin="Generated by Gradle" reason="Artifact is not signed"/>
@@ -6579,6 +6586,11 @@
65796586
<sha256 value="3edce6b711ba368efe16b9b7aacb0214fbd648414cb9b965953a2e7ed89a819a" origin="Generated by Gradle"/>
65806587
</artifact>
65816588
</component>
6589+
<component group="com.google.errorprone" name="error_prone_annotations" version="2.3.4">
6590+
<artifact name="error_prone_annotations-2.3.4.pom">
6591+
<sha256 value="1326738a4b4f7ccacf607b866a11fb85193ef60f6a59461187ce7265f9be5bed" origin="Generated by Gradle"/>
6592+
</artifact>
6593+
</component>
65826594
<component group="com.google.errorprone" name="error_prone_annotations" version="2.5.1">
65836595
<artifact name="error_prone_annotations-2.5.1.pom">
65846596
<sha256 value="983ad7fe0fa6f6f91e2d20477f5089eccc3f4d8ec6c51d6eb45583970e279d3c" origin="Generated by Gradle"/>

0 commit comments

Comments
 (0)