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

This commit is contained in:
Massimo Carli
2023-03-24 19:17:08 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 6 deletions

View File

@@ -156,15 +156,13 @@ public class CompatUIConfiguration implements DeviceConfig.OnPropertiesChangedLi
void setDontShowReachabilityEducationAgain(TaskInfo taskInfo) { void setDontShowReachabilityEducationAgain(TaskInfo taskInfo) {
mCompatUISharedPreferences.edit().putBoolean( mCompatUISharedPreferences.edit().putBoolean(
getDontShowAgainReachabilityEduKey(taskInfo.userId, getDontShowAgainReachabilityEduKey(taskInfo.userId), true).apply();
taskInfo.topActivity.getPackageName()), true).apply();
} }
boolean shouldShowReachabilityEducation(@NonNull TaskInfo taskInfo) { boolean shouldShowReachabilityEducation(@NonNull TaskInfo taskInfo) {
return getHasSeenLetterboxEducation(taskInfo.userId) return getHasSeenLetterboxEducation(taskInfo.userId)
&& !mCompatUISharedPreferences.getBoolean( && !mCompatUISharedPreferences.getBoolean(
getDontShowAgainReachabilityEduKey(taskInfo.userId, getDontShowAgainReachabilityEduKey(taskInfo.userId), /* default= */false);
taskInfo.topActivity.getPackageName()), /* default= */false);
} }
boolean getHasSeenLetterboxEducation(int userId) { boolean getHasSeenLetterboxEducation(int userId) {
@@ -206,8 +204,8 @@ public class CompatUIConfiguration implements DeviceConfig.OnPropertiesChangedLi
} }
} }
private static String getDontShowAgainReachabilityEduKey(int userId, String packageName) { private static String getDontShowAgainReachabilityEduKey(int userId) {
return HAS_SEEN_REACHABILITY_EDUCATION_KEY_PREFIX + "_" + packageName + "@" + userId; return HAS_SEEN_REACHABILITY_EDUCATION_KEY_PREFIX + "@" + userId;
} }
private static String getDontShowLetterboxEduKey(int userId) { private static String getDontShowLetterboxEduKey(int userId) {

View File

@@ -66,6 +66,8 @@ import org.mockito.Captor;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;
/** /**
@@ -118,6 +120,18 @@ public class LetterboxEduWindowManagerTest extends ShellTestCase {
mExecutor = new TestShellExecutor(); mExecutor = new TestShellExecutor();
mCompatUIConfiguration = new CompatUIConfiguration(mContext, mExecutor) { 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 @Override
protected String getCompatUISharedPreferenceName() { protected String getCompatUISharedPreferenceName() {
return TEST_COMPAT_UI_SHARED_PREFERENCES; return TEST_COMPAT_UI_SHARED_PREFERENCES;