From 8591f035a471de19262ce9abcdb53e03953fc371 Mon Sep 17 00:00:00 2001 From: septs Date: Sun, 16 Mar 2025 09:49:19 +0800 Subject: [PATCH] feat: keep screen on for download wizard --- .../im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt | 7 +++++++ .../openeuicc/ui/wizard/DownloadWizardProgressFragment.kt | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt index a9f868f..561e540 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt @@ -3,6 +3,7 @@ package im.angry.openeuicc.ui.wizard import android.app.assist.AssistContent import android.os.Bundle import android.view.View +import android.view.WindowManager import android.view.inputmethod.InputMethodManager import android.widget.Button import android.widget.ProgressBar @@ -315,5 +316,11 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() { } open fun beforeNext() {} + + protected fun setKeepScreenOn(enabled: Boolean) { + val flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON + val window = (requireActivity() as DownloadWizardActivity).window + if (enabled) window.addFlags(flags) else window.clearFlags(flags) + } } } \ No newline at end of file diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt index 1b816d4..708f77b 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardProgressFragment.kt @@ -96,6 +96,7 @@ class DownloadWizardProgressFragment : DownloadWizardActivity.DownloadWizardStep override fun onStart() { super.onStart() + setKeepScreenOn(true) lifecycleScope.launch { showProgressBar(-1) // set indeterminate first @@ -140,6 +141,11 @@ class DownloadWizardProgressFragment : DownloadWizardActivity.DownloadWizardStep } } + override fun onStop() { + super.onStop() + setKeepScreenOn(false) + } + private suspend fun startDownloadOrSubscribe(): EuiccChannelManagerService.ForegroundTaskSubscriberFlow? = if (state.downloadStarted) { // This will also return null if task ID is -1 (uninitialized), too -- 2.45.3