Merge "Show Reachability only once per user on device lifetime" into tm-qpr-dev am: fa30f6e5d7 am: a21ef72d8f

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22237105

Change-Id: I4bacaa440c519c0e3a34130e8b264ea0aa405b6e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIConfiguration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIConfiguration.java
index 902c41c..4e10ce8 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIConfiguration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIConfiguration.java
@@ -156,15 +156,13 @@
 
     void setDontShowReachabilityEducationAgain(TaskInfo taskInfo) {
         mCompatUISharedPreferences.edit().putBoolean(
-                getDontShowAgainReachabilityEduKey(taskInfo.userId,
-                        taskInfo.topActivity.getPackageName()), true).apply();
+                getDontShowAgainReachabilityEduKey(taskInfo.userId), true).apply();
     }
 
     boolean shouldShowReachabilityEducation(@NonNull TaskInfo taskInfo) {
         return getHasSeenLetterboxEducation(taskInfo.userId)
                 && !mCompatUISharedPreferences.getBoolean(
-                getDontShowAgainReachabilityEduKey(taskInfo.userId,
-                        taskInfo.topActivity.getPackageName()), /* default= */false);
+                getDontShowAgainReachabilityEduKey(taskInfo.userId), /* default= */false);
     }
 
     boolean getHasSeenLetterboxEducation(int userId) {
@@ -206,8 +204,8 @@
         }
     }
 
-    private static String getDontShowAgainReachabilityEduKey(int userId, String packageName) {
-        return HAS_SEEN_REACHABILITY_EDUCATION_KEY_PREFIX + "_" + packageName + "@" + userId;
+    private static String getDontShowAgainReachabilityEduKey(int userId) {
+        return HAS_SEEN_REACHABILITY_EDUCATION_KEY_PREFIX + "@" + userId;
     }
 
     private static String getDontShowLetterboxEduKey(int userId) {
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduWindowManagerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduWindowManagerTest.java
index 3f79df6..12ceb0a 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduWindowManagerTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduWindowManagerTest.java
@@ -66,6 +66,8 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.HashSet;
+import java.util.Set;
 import java.util.function.Consumer;
 
 /**
@@ -118,6 +120,18 @@
         mExecutor = new TestShellExecutor();
         mCompatUIConfiguration = new CompatUIConfiguration(mContext, mExecutor) {
 
+            final Set<Integer> mHasSeenSet = new HashSet<>();
+
+            @Override
+            boolean getHasSeenLetterboxEducation(int userId) {
+                return mHasSeenSet.contains(userId);
+            }
+
+            @Override
+            void setSeenLetterboxEducation(int userId) {
+                mHasSeenSet.add(userId);
+            }
+
             @Override
             protected String getCompatUISharedPreferenceName() {
                 return TEST_COMPAT_UI_SHARED_PREFERENCES;