diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java index 777104d89c0b1..7c08a7bbc8262 100644 --- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java +++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java @@ -543,6 +543,11 @@ public final class SystemUiDeviceConfigFlags { */ public static final String TASK_MANAGER_ENABLED = "task_manager_enabled"; + /** + * (boolean) Whether the task manager should show an attention grabbing dot when tasks changed. + */ + public static final String TASK_MANAGER_SHOW_FOOTER_DOT = "task_manager_show_footer_dot"; + /** * (boolean) Whether the clipboard overlay is enabled. diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 1dd41a35374fe..99f4c767c0de1 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -2477,7 +2477,7 @@ Active apps - Even if you\u2019re not using these apps, they\u2019re still active and might affect battery life + These apps are active and running, even when you\u2019re not using them. This improves their functionality, but it may also affect battery life. Stop diff --git a/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt b/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt index 8d2b14a60632a..80eacd1f3e638 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt @@ -44,6 +44,7 @@ import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.android.internal.config.sysui.SystemUiDeviceConfigFlags.TASK_MANAGER_ENABLED +import com.android.internal.config.sysui.SystemUiDeviceConfigFlags.TASK_MANAGER_SHOW_FOOTER_DOT import com.android.systemui.Dumpable import com.android.systemui.R import com.android.systemui.animation.DialogLaunchAnimator @@ -81,6 +82,8 @@ class FgsManagerController @Inject constructor( companion object { private val LOG_TAG = FgsManagerController::class.java.simpleName + private const val DEFAULT_TASK_MANAGER_ENABLED = true + private const val DEFAULT_TASK_MANAGER_SHOW_FOOTER_DOT = false } var changesSinceDialog = false @@ -88,6 +91,8 @@ class FgsManagerController @Inject constructor( var isAvailable = false private set + var showFooterDot = false + private set private val lock = Any() @@ -151,10 +156,14 @@ class FgsManagerController @Inject constructor( deviceConfigProxy.addOnPropertiesChangedListener(NAMESPACE_SYSTEMUI, backgroundExecutor) { isAvailable = it.getBoolean(TASK_MANAGER_ENABLED, isAvailable) + showFooterDot = + it.getBoolean(TASK_MANAGER_SHOW_FOOTER_DOT, showFooterDot) } - isAvailable = deviceConfigProxy - .getBoolean(NAMESPACE_SYSTEMUI, TASK_MANAGER_ENABLED, true) + isAvailable = deviceConfigProxy.getBoolean(NAMESPACE_SYSTEMUI, + TASK_MANAGER_ENABLED, DEFAULT_TASK_MANAGER_ENABLED) + showFooterDot = deviceConfigProxy.getBoolean(NAMESPACE_SYSTEMUI, + TASK_MANAGER_SHOW_FOOTER_DOT, DEFAULT_TASK_MANAGER_SHOW_FOOTER_DOT) dumpManager.registerDumpable(this) diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFgsManagerFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSFgsManagerFooter.java index abebf3e80b21b..ba6b1dd28c97d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFgsManagerFooter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFgsManagerFooter.java @@ -149,8 +149,8 @@ public class QSFgsManagerFooter implements View.OnClickListener, if (mFgsManagerController.shouldUpdateFooterVisibility()) { mRootView.setVisibility(mNumPackages > 0 && mFgsManagerController.isAvailable() ? View.VISIBLE : View.GONE); - int dotVis = - mFgsManagerController.getChangesSinceDialog() ? View.VISIBLE : View.GONE; + int dotVis = mFgsManagerController.getShowFooterDot() + && mFgsManagerController.getChangesSinceDialog() ? View.VISIBLE : View.GONE; mDotView.setVisibility(dotVis); mCollapsedDotView.setVisibility(dotVis); if (mVisibilityChangedListener != null) {