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) {