From 7101d52abd1d6d1ad5f0b43b29cffef080c6f212 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Mon, 18 Nov 2024 18:59:59 +0100 Subject: [PATCH] fix: sleep timer doesn't work if playing downloads offline --- .../java/com/github/libretube/ui/tools/SleepTimer.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/tools/SleepTimer.kt b/app/src/main/java/com/github/libretube/ui/tools/SleepTimer.kt index bc5cc6d98..3ce167fda 100644 --- a/app/src/main/java/com/github/libretube/ui/tools/SleepTimer.kt +++ b/app/src/main/java/com/github/libretube/ui/tools/SleepTimer.kt @@ -6,7 +6,8 @@ import android.os.Looper import android.os.Process import androidx.core.os.postDelayed import com.github.libretube.R -import com.github.libretube.ui.activities.MainActivity +import com.github.libretube.helpers.ContextHelper +import com.github.libretube.ui.base.BaseActivity import com.google.android.material.snackbar.Snackbar import java.util.Timer import kotlin.concurrent.scheduleAtFixedRate @@ -45,9 +46,9 @@ object SleepTimer { private fun showTimerEndedSnackBar(context: Context) { var killApp = true - val mainActivity = context as? MainActivity ?: return + val activity = ContextHelper.unwrapActivity(context) val snackBar = Snackbar.make( - mainActivity.binding.root, + activity.window.decorView.rootView, R.string.take_a_break, Snackbar.LENGTH_INDEFINITE ) @@ -64,8 +65,8 @@ object SleepTimer { handler.postDelayed(REACTION_INTERVAL * 1000) { if (killApp) { // kill the application - mainActivity.finishAffinity() - mainActivity.finish() + activity.finishAffinity() + activity.finish() Process.killProcess(Process.myPid()) } }