Merge "Sets a simple locus id when Overview is enabled" into sc-dev
diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java
index 9d99f97..fa5ab1c 100644
--- a/quickstep/src/com/android/quickstep/RecentsActivity.java
+++ b/quickstep/src/com/android/quickstep/RecentsActivity.java
@@ -268,6 +268,7 @@
         // onActivityStart callback.
         mFallbackRecentsView.setContentAlpha(1);
         super.onStart();
+        mFallbackRecentsView.updateLocusId();
     }
 
     @Override
@@ -276,6 +277,7 @@
 
         // Workaround for b/78520668, explicitly trim memory once UI is hidden
         onTrimMemory(TRIM_MEMORY_UI_HIDDEN);
+        mFallbackRecentsView.updateLocusId();
     }
 
     @Override
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 2b256a4..97e09dd 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -63,6 +63,7 @@
 import android.annotation.TargetApi;
 import android.app.ActivityManager.RunningTaskInfo;
 import android.content.Context;
+import android.content.LocusId;
 import android.content.res.Configuration;
 import android.graphics.BlendMode;
 import android.graphics.Canvas;
@@ -75,6 +76,7 @@
 import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
+import android.os.Bundle;
 import android.os.UserHandle;
 import android.text.Layout;
 import android.text.StaticLayout;
@@ -943,6 +945,7 @@
                 cancelSplitSelect(false);
             }
         }
+        updateLocusId();
     }
 
     /**
@@ -3859,4 +3862,19 @@
     public RecentsAnimationController getRecentsAnimationController() {
         return mRecentsAnimationController;
     }
+
+    /** Update the current activity locus id to show the enabled state of Overview */
+    public void updateLocusId() {
+        String locusId = "Overview";
+
+        if (mOverviewStateEnabled && mActivity.isStarted()) {
+            locusId += "|ENABLED";
+        } else {
+            locusId += "|DISABLED";
+        }
+
+        final LocusId id = new LocusId(locusId);
+        // Set locus context is a binder call, don't want it to happen during a transition
+        UI_HELPER_EXECUTOR.post(() -> mActivity.setLocusContext(id, Bundle.EMPTY));
+    }
 }