Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa30f6e5 authored by Massimo Carli's avatar Massimo Carli Committed by Android (Google) Code Review
Browse files

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

parents b1f2fb99 5901d8f7
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -156,15 +156,13 @@ public class CompatUIConfiguration implements DeviceConfig.OnPropertiesChangedLi

    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 @@ public class CompatUIConfiguration implements DeviceConfig.OnPropertiesChangedLi
        }
    }

    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) {
+14 −0
Original line number Diff line number Diff line
@@ -66,6 +66,8 @@ import org.mockito.Captor;
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 @@ public class LetterboxEduWindowManagerTest extends ShellTestCase {
        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;