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

Commit f84b9570 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 9744320 from 03175f43 to tm-qpr3-release

Change-Id: I48f7bf92ce61491c40496b8731409119d50a7869
parents c3a68520 03175f43
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -121,6 +121,19 @@ public final class WindowContainerTransaction implements Parcelable {
        return this;
    }

    /**
     * Sets the densityDpi value in the configuration for the given container.
     * @hide
     */
    @NonNull
    public WindowContainerTransaction setDensityDpi(@NonNull WindowContainerToken container,
            int densityDpi) {
        Change chg = getOrCreateChange(container.asBinder());
        chg.mConfiguration.densityDpi = densityDpi;
        chg.mConfigSetMask |= ActivityInfo.CONFIG_DENSITY;
        return this;
    }

    /**
     * Notify {@link com.android.server.wm.PinnedTaskController} that the picture-in-picture task
     * has finished the enter animation with the given bounds.
+29 −31
Original line number Diff line number Diff line
@@ -27,12 +27,12 @@ import static com.android.internal.app.procstats.ProcessStats.ADJ_SCREEN_MOD;
import static com.android.internal.app.procstats.ProcessStats.ADJ_SCREEN_OFF;
import static com.android.internal.app.procstats.ProcessStats.ADJ_SCREEN_ON;
import static com.android.internal.app.procstats.ProcessStats.STATE_BACKUP;
import static com.android.internal.app.procstats.ProcessStats.STATE_BOUND_TOP_OR_FGS;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_ACTIVITY;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_ACTIVITY_CLIENT;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_EMPTY;
import static com.android.internal.app.procstats.ProcessStats.STATE_BOUND_FGS;
import static com.android.internal.app.procstats.ProcessStats.STATE_BOUND_TOP;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED;
import static com.android.internal.app.procstats.ProcessStats.STATE_COUNT;
import static com.android.internal.app.procstats.ProcessStats.STATE_FGS;
import static com.android.internal.app.procstats.ProcessStats.STATE_FROZEN;
import static com.android.internal.app.procstats.ProcessStats.STATE_HEAVY_WEIGHT;
import static com.android.internal.app.procstats.ProcessStats.STATE_HOME;
import static com.android.internal.app.procstats.ProcessStats.STATE_IMPORTANT_BACKGROUND;
@@ -72,7 +72,8 @@ public final class DumpUtils {
        STATE_NAMES = new String[STATE_COUNT];
        STATE_NAMES[STATE_PERSISTENT]               = "Persist";
        STATE_NAMES[STATE_TOP]                      = "Top";
        STATE_NAMES[STATE_BOUND_TOP_OR_FGS]         = "BTopFgs";
        STATE_NAMES[STATE_BOUND_FGS]                = "BFgs";
        STATE_NAMES[STATE_BOUND_TOP]                = "BTop";
        STATE_NAMES[STATE_FGS]                      = "Fgs";
        STATE_NAMES[STATE_IMPORTANT_FOREGROUND]     = "ImpFg";
        STATE_NAMES[STATE_IMPORTANT_BACKGROUND]     = "ImpBg";
@@ -83,14 +84,14 @@ public final class DumpUtils {
        STATE_NAMES[STATE_HEAVY_WEIGHT]             = "HeavyWt";
        STATE_NAMES[STATE_HOME]                     = "Home";
        STATE_NAMES[STATE_LAST_ACTIVITY]            = "LastAct";
        STATE_NAMES[STATE_CACHED_ACTIVITY]          = "CchAct";
        STATE_NAMES[STATE_CACHED_ACTIVITY_CLIENT]   = "CchCAct";
        STATE_NAMES[STATE_CACHED_EMPTY]             = "CchEmty";
        STATE_NAMES[STATE_CACHED]                   = "Cached";
        STATE_NAMES[STATE_FROZEN]                   = "Frozen";

        STATE_LABELS = new String[STATE_COUNT];
        STATE_LABELS[STATE_PERSISTENT]              = "Persistent";
        STATE_LABELS[STATE_TOP]                     = "       Top";
        STATE_LABELS[STATE_BOUND_TOP_OR_FGS]        = "Bnd TopFgs";
        STATE_LABELS[STATE_BOUND_FGS]               = "   Bnd Fgs";
        STATE_LABELS[STATE_BOUND_TOP]               = "   Bnd Top";
        STATE_LABELS[STATE_FGS]                     = "       Fgs";
        STATE_LABELS[STATE_IMPORTANT_FOREGROUND]    = "    Imp Fg";
        STATE_LABELS[STATE_IMPORTANT_BACKGROUND]    = "    Imp Bg";
@@ -101,16 +102,16 @@ public final class DumpUtils {
        STATE_LABELS[STATE_HEAVY_WEIGHT]            = " Heavy Wgt";
        STATE_LABELS[STATE_HOME]                    = "    (Home)";
        STATE_LABELS[STATE_LAST_ACTIVITY]           = "(Last Act)";
        STATE_LABELS[STATE_CACHED_ACTIVITY]         = " (Cch Act)";
        STATE_LABELS[STATE_CACHED_ACTIVITY_CLIENT]  = "(Cch CAct)";
        STATE_LABELS[STATE_CACHED_EMPTY]            = "(Cch Emty)";
        STATE_LABELS[STATE_CACHED]                  = "  (Cached)";
        STATE_LABELS[STATE_FROZEN]                  = "    Frozen";
        STATE_LABEL_CACHED                          = "  (Cached)";
        STATE_LABEL_TOTAL                           = "     TOTAL";

        STATE_NAMES_CSV = new String[STATE_COUNT];
        STATE_NAMES_CSV[STATE_PERSISTENT]               = "pers";
        STATE_NAMES_CSV[STATE_TOP]                      = "top";
        STATE_NAMES_CSV[STATE_BOUND_TOP_OR_FGS]         = "btopfgs";
        STATE_NAMES_CSV[STATE_BOUND_FGS]                = "bfgs";
        STATE_NAMES_CSV[STATE_BOUND_TOP]                = "btop";
        STATE_NAMES_CSV[STATE_FGS]                      = "fgs";
        STATE_NAMES_CSV[STATE_IMPORTANT_FOREGROUND]     = "impfg";
        STATE_NAMES_CSV[STATE_IMPORTANT_BACKGROUND]     = "impbg";
@@ -121,14 +122,14 @@ public final class DumpUtils {
        STATE_NAMES_CSV[STATE_HEAVY_WEIGHT]             = "heavy";
        STATE_NAMES_CSV[STATE_HOME]                     = "home";
        STATE_NAMES_CSV[STATE_LAST_ACTIVITY]            = "lastact";
        STATE_NAMES_CSV[STATE_CACHED_ACTIVITY]          = "cch-activity";
        STATE_NAMES_CSV[STATE_CACHED_ACTIVITY_CLIENT]   = "cch-aclient";
        STATE_NAMES_CSV[STATE_CACHED_EMPTY]             = "cch-empty";
        STATE_NAMES_CSV[STATE_CACHED]                   = "cached";
        STATE_NAMES_CSV[STATE_FROZEN]                   = "frzn";

        STATE_TAGS = new String[STATE_COUNT];
        STATE_TAGS[STATE_PERSISTENT]                = "p";
        STATE_TAGS[STATE_TOP]                       = "t";
        STATE_TAGS[STATE_BOUND_TOP_OR_FGS]          = "d";
        STATE_TAGS[STATE_BOUND_FGS]                 = "y";
        STATE_TAGS[STATE_BOUND_TOP]                 = "z";
        STATE_TAGS[STATE_FGS]                       = "g";
        STATE_TAGS[STATE_IMPORTANT_FOREGROUND]      = "f";
        STATE_TAGS[STATE_IMPORTANT_BACKGROUND]      = "b";
@@ -139,15 +140,14 @@ public final class DumpUtils {
        STATE_TAGS[STATE_HEAVY_WEIGHT]              = "w";
        STATE_TAGS[STATE_HOME]                      = "h";
        STATE_TAGS[STATE_LAST_ACTIVITY]             = "l";
        STATE_TAGS[STATE_CACHED_ACTIVITY]           = "a";
        STATE_TAGS[STATE_CACHED_ACTIVITY_CLIENT]    = "c";
        STATE_TAGS[STATE_CACHED_EMPTY]              = "e";
        STATE_TAGS[STATE_CACHED]                    = "a";
        STATE_TAGS[STATE_FROZEN]                    = "e";

        STATE_PROTO_ENUMS = new int[STATE_COUNT];
        STATE_PROTO_ENUMS[STATE_PERSISTENT] = ProcessStatsEnums.PROCESS_STATE_PERSISTENT;
        STATE_PROTO_ENUMS[STATE_TOP] = ProcessStatsEnums.PROCESS_STATE_TOP;
        STATE_PROTO_ENUMS[STATE_BOUND_TOP_OR_FGS] =
                ProcessStatsEnums.PROCESS_STATE_BOUND_TOP_OR_FGS;
        STATE_PROTO_ENUMS[STATE_BOUND_FGS] = ProcessStatsEnums.PROCESS_STATE_BOUND_FGS;
        STATE_PROTO_ENUMS[STATE_BOUND_TOP] = ProcessStatsEnums.PROCESS_STATE_BOUND_TOP;
        STATE_PROTO_ENUMS[STATE_FGS] = ProcessStatsEnums.PROCESS_STATE_FGS;
        STATE_PROTO_ENUMS[STATE_IMPORTANT_FOREGROUND] =
                ProcessStatsEnums.PROCESS_STATE_IMPORTANT_FOREGROUND;
@@ -161,10 +161,8 @@ public final class DumpUtils {
        STATE_PROTO_ENUMS[STATE_HEAVY_WEIGHT] = ProcessStatsEnums.PROCESS_STATE_HEAVY_WEIGHT;
        STATE_PROTO_ENUMS[STATE_HOME] = ProcessStatsEnums.PROCESS_STATE_HOME;
        STATE_PROTO_ENUMS[STATE_LAST_ACTIVITY] = ProcessStatsEnums.PROCESS_STATE_LAST_ACTIVITY;
        STATE_PROTO_ENUMS[STATE_CACHED_ACTIVITY] = ProcessStatsEnums.PROCESS_STATE_CACHED_ACTIVITY;
        STATE_PROTO_ENUMS[STATE_CACHED_ACTIVITY_CLIENT] =
                ProcessStatsEnums.PROCESS_STATE_CACHED_ACTIVITY_CLIENT;
        STATE_PROTO_ENUMS[STATE_CACHED_EMPTY] = ProcessStatsEnums.PROCESS_STATE_CACHED_EMPTY;
        STATE_PROTO_ENUMS[STATE_CACHED] = ProcessStatsEnums.PROCESS_STATE_CACHED_ACTIVITY;
        STATE_PROTO_ENUMS[STATE_FROZEN] = ProcessStatsEnums.PROCESS_STATE_FROZEN;

        // Remap states, as defined by ProcessStats.java, to a reduced subset of states for data
        // aggregation / size reduction purposes.
@@ -173,7 +171,9 @@ public final class DumpUtils {
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_PERSISTENT;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_TOP] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_TOP;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_BOUND_TOP_OR_FGS] =
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_BOUND_FGS] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_BOUND_TOP_OR_FGS;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_BOUND_TOP] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_BOUND_TOP_OR_FGS;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_FGS] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_FGS;
@@ -196,11 +196,9 @@ public final class DumpUtils {
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_LAST_ACTIVITY] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_CACHED_ACTIVITY] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_CACHED_ACTIVITY_CLIENT] =
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_CACHED] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_CACHED_EMPTY] =
        PROCESS_STATS_STATE_TO_AGGREGATED_STATE[STATE_FROZEN] =
                ProcessStatsEnums.AGGREGATED_PROCESS_STATE_CACHED;
    }

+20 −21
Original line number Diff line number Diff line
@@ -28,10 +28,9 @@ import static com.android.internal.app.procstats.ProcessStats.PSS_USS_AVERAGE;
import static com.android.internal.app.procstats.ProcessStats.PSS_USS_MAXIMUM;
import static com.android.internal.app.procstats.ProcessStats.PSS_USS_MINIMUM;
import static com.android.internal.app.procstats.ProcessStats.STATE_BACKUP;
import static com.android.internal.app.procstats.ProcessStats.STATE_BOUND_TOP_OR_FGS;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_ACTIVITY;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_ACTIVITY_CLIENT;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED_EMPTY;
import static com.android.internal.app.procstats.ProcessStats.STATE_BOUND_FGS;
import static com.android.internal.app.procstats.ProcessStats.STATE_BOUND_TOP;
import static com.android.internal.app.procstats.ProcessStats.STATE_CACHED;
import static com.android.internal.app.procstats.ProcessStats.STATE_COUNT;
import static com.android.internal.app.procstats.ProcessStats.STATE_FGS;
import static com.android.internal.app.procstats.ProcessStats.STATE_HEAVY_WEIGHT;
@@ -85,9 +84,9 @@ public final class ProcessState {
        STATE_PERSISTENT,               // ActivityManager.PROCESS_STATE_PERSISTENT
        STATE_PERSISTENT,               // ActivityManager.PROCESS_STATE_PERSISTENT_UI
        STATE_TOP,                      // ActivityManager.PROCESS_STATE_TOP
        STATE_BOUND_TOP_OR_FGS,         // ActivityManager.PROCESS_STATE_BOUND_TOP
        STATE_BOUND_TOP,                // ActivityManager.PROCESS_STATE_BOUND_TOP
        STATE_FGS,                      // ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE
        STATE_BOUND_TOP_OR_FGS,         // ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE
        STATE_BOUND_FGS,                // ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE
        STATE_IMPORTANT_FOREGROUND,     // ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND
        STATE_IMPORTANT_BACKGROUND,     // ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND
        STATE_IMPORTANT_BACKGROUND,     // ActivityManager.PROCESS_STATE_TRANSIENT_BACKGROUND
@@ -98,10 +97,10 @@ public final class ProcessState {
        STATE_HEAVY_WEIGHT,             // ActivityManager.PROCESS_STATE_HEAVY_WEIGHT
        STATE_HOME,                     // ActivityManager.PROCESS_STATE_HOME
        STATE_LAST_ACTIVITY,            // ActivityManager.PROCESS_STATE_LAST_ACTIVITY
        STATE_CACHED_ACTIVITY,          // ActivityManager.PROCESS_STATE_CACHED_ACTIVITY
        STATE_CACHED_ACTIVITY_CLIENT,   // ActivityManager.PROCESS_STATE_CACHED_ACTIVITY_CLIENT
        STATE_CACHED_ACTIVITY,          // ActivityManager.PROCESS_STATE_CACHED_RECENT
        STATE_CACHED_EMPTY,             // ActivityManager.PROCESS_STATE_CACHED_EMPTY
        STATE_CACHED,                   // ActivityManager.PROCESS_STATE_CACHED_ACTIVITY
        STATE_CACHED,                   // ActivityManager.PROCESS_STATE_CACHED_ACTIVITY_CLIENT
        STATE_CACHED,                   // ActivityManager.PROCESS_STATE_CACHED_RECENT
        STATE_CACHED,                   // ActivityManager.PROCESS_STATE_CACHED_EMPTY
    };

    public static final Comparator<ProcessState> COMPARATOR = new Comparator<ProcessState>() {
@@ -926,8 +925,11 @@ public final class ProcessState {
                screenStates, memStates, new int[] { STATE_PERSISTENT }, now, totalTime, true);
        dumpProcessSummaryDetails(pw, prefix, DumpUtils.STATE_LABELS[STATE_TOP],
                screenStates, memStates, new int[] {STATE_TOP}, now, totalTime, true);
        dumpProcessSummaryDetails(pw, prefix, DumpUtils.STATE_LABELS[STATE_BOUND_TOP_OR_FGS],
                screenStates, memStates, new int[] { STATE_BOUND_TOP_OR_FGS}, now, totalTime,
        dumpProcessSummaryDetails(pw, prefix, DumpUtils.STATE_LABELS[STATE_BOUND_TOP],
                screenStates, memStates, new int[] { STATE_BOUND_TOP }, now, totalTime,
                true);
        dumpProcessSummaryDetails(pw, prefix, DumpUtils.STATE_LABELS[STATE_BOUND_FGS],
                screenStates, memStates, new int[] { STATE_BOUND_FGS }, now, totalTime,
                true);
        dumpProcessSummaryDetails(pw, prefix, DumpUtils.STATE_LABELS[STATE_FGS],
                screenStates, memStates, new int[] { STATE_FGS}, now, totalTime,
@@ -953,9 +955,6 @@ public final class ProcessState {
                screenStates, memStates, new int[] {STATE_HOME}, now, totalTime, true);
        dumpProcessSummaryDetails(pw, prefix, DumpUtils.STATE_LABELS[STATE_LAST_ACTIVITY],
                screenStates, memStates, new int[] {STATE_LAST_ACTIVITY}, now, totalTime, true);
        dumpProcessSummaryDetails(pw, prefix, DumpUtils.STATE_LABEL_CACHED,
                screenStates, memStates, new int[] {STATE_CACHED_ACTIVITY,
                        STATE_CACHED_ACTIVITY_CLIENT, STATE_CACHED_EMPTY}, now, totalTime, true);
    }

    public void dumpProcessState(PrintWriter pw, String prefix,
@@ -1563,7 +1562,10 @@ public final class ProcessState {
                case STATE_TOP:
                    topMs += duration;
                    break;
                case STATE_BOUND_TOP_OR_FGS:
                case STATE_BOUND_FGS:
                    boundFgsMs += duration;
                    break;
                case STATE_BOUND_TOP:
                    boundTopMs += duration;
                    break;
                case STATE_FGS:
@@ -1583,13 +1585,10 @@ public final class ProcessState {
                case STATE_PERSISTENT:
                    otherMs += duration;
                    break;
                case STATE_CACHED_ACTIVITY:
                case STATE_CACHED_ACTIVITY_CLIENT:
                case STATE_CACHED_EMPTY:
                case STATE_CACHED:
                    cachedMs += duration;
                    break;
                    // TODO (b/261910877) Add support for tracking boundFgsMs and
                    // frozenMs.
                    // TODO (b/261910877) Add support for tracking frozenMs.
            }
        }
        statsEventOutput.write(
+20 −19
Original line number Diff line number Diff line
@@ -81,21 +81,21 @@ public final class ProcessStats implements Parcelable {
    public static final int STATE_NOTHING = -1;
    public static final int STATE_PERSISTENT = 0;
    public static final int STATE_TOP = 1;
    public static final int STATE_BOUND_TOP_OR_FGS = 2;
    public static final int STATE_BOUND_TOP = 2;
    public static final int STATE_FGS = 3;
    public static final int STATE_IMPORTANT_FOREGROUND = 4;
    public static final int STATE_IMPORTANT_BACKGROUND = 5;
    public static final int STATE_BACKUP = 6;
    public static final int STATE_SERVICE = 7;
    public static final int STATE_SERVICE_RESTARTING = 8;
    public static final int STATE_RECEIVER = 9;
    public static final int STATE_HEAVY_WEIGHT = 10;
    public static final int STATE_HOME = 11;
    public static final int STATE_LAST_ACTIVITY = 12;
    public static final int STATE_CACHED_ACTIVITY = 13;
    public static final int STATE_CACHED_ACTIVITY_CLIENT = 14;
    public static final int STATE_CACHED_EMPTY = 15;
    public static final int STATE_COUNT = STATE_CACHED_EMPTY+1;
    public static final int STATE_BOUND_FGS = 4;
    public static final int STATE_IMPORTANT_FOREGROUND = 5;
    public static final int STATE_IMPORTANT_BACKGROUND = 6;
    public static final int STATE_BACKUP = 7;
    public static final int STATE_SERVICE = 8;
    public static final int STATE_SERVICE_RESTARTING = 9;
    public static final int STATE_RECEIVER = 10;
    public static final int STATE_HEAVY_WEIGHT = 11;
    public static final int STATE_HOME = 12;
    public static final int STATE_LAST_ACTIVITY = 13;
    public static final int STATE_CACHED = 14;
    public static final int STATE_FROZEN = 15;
    public static final int STATE_COUNT = STATE_FROZEN + 1;

    public static final int PSS_SAMPLE_COUNT = 0;
    public static final int PSS_MINIMUM = 1;
@@ -154,9 +154,10 @@ public final class ProcessStats implements Parcelable {
    public static final int[] ALL_SCREEN_ADJ = new int[] { ADJ_SCREEN_OFF, ADJ_SCREEN_ON };

    public static final int[] NON_CACHED_PROC_STATES = new int[] {
            STATE_PERSISTENT, STATE_TOP, STATE_BOUND_TOP_OR_FGS, STATE_FGS,
            STATE_PERSISTENT, STATE_TOP, STATE_FGS,
            STATE_IMPORTANT_FOREGROUND, STATE_IMPORTANT_BACKGROUND, STATE_BACKUP,
            STATE_SERVICE, STATE_SERVICE_RESTARTING, STATE_RECEIVER, STATE_HEAVY_WEIGHT
            STATE_SERVICE, STATE_SERVICE_RESTARTING, STATE_RECEIVER, STATE_HEAVY_WEIGHT,
            STATE_BOUND_TOP, STATE_BOUND_FGS
    };

    public static final int[] BACKGROUND_PROC_STATES = new int[] {
@@ -165,11 +166,11 @@ public final class ProcessStats implements Parcelable {
    };

    public static final int[] ALL_PROC_STATES = new int[] { STATE_PERSISTENT,
            STATE_TOP, STATE_BOUND_TOP_OR_FGS, STATE_FGS, STATE_IMPORTANT_FOREGROUND,
            STATE_TOP, STATE_FGS, STATE_IMPORTANT_FOREGROUND,
            STATE_IMPORTANT_BACKGROUND, STATE_BACKUP,
            STATE_SERVICE, STATE_SERVICE_RESTARTING, STATE_RECEIVER,
            STATE_HEAVY_WEIGHT, STATE_HOME, STATE_LAST_ACTIVITY, STATE_CACHED_ACTIVITY,
            STATE_CACHED_ACTIVITY_CLIENT, STATE_CACHED_EMPTY
            STATE_HEAVY_WEIGHT, STATE_HOME, STATE_LAST_ACTIVITY, STATE_CACHED,
            STATE_BOUND_TOP, STATE_BOUND_FGS, STATE_FROZEN
    };

    // Should report process stats.
+23 −0
Original line number Diff line number Diff line
@@ -170,6 +170,8 @@ public class LockPatternUtils {
    private static final String LOCK_SCREEN_OWNER_INFO_ENABLED =
            Settings.Secure.LOCK_SCREEN_OWNER_INFO_ENABLED;

    private static final String LOCK_PIN_ENHANCED_PRIVACY = "pin_enhanced_privacy";

    private static final String LOCK_SCREEN_DEVICE_OWNER_INFO = "lockscreen.device_owner_info";

    private static final String ENABLED_TRUST_AGENTS = "lockscreen.enabledtrustagents";
@@ -998,6 +1000,27 @@ public class LockPatternUtils {
        return getString(Settings.Secure.LOCK_PATTERN_VISIBLE, userId) != null;
    }

    /**
     * @return Whether enhanced pin privacy is enabled.
     */
    public boolean isPinEnhancedPrivacyEnabled(int userId) {
        return getBoolean(LOCK_PIN_ENHANCED_PRIVACY, false, userId);
    }

    /**
     * Set whether enhanced pin privacy is enabled.
     */
    public void setPinEnhancedPrivacyEnabled(boolean enabled, int userId) {
        setBoolean(LOCK_PIN_ENHANCED_PRIVACY, enabled, userId);
    }

    /**
     * @return Whether enhanced pin privacy was ever chosen.
     */
    public boolean isPinEnhancedPrivacyEverChosen(int userId) {
        return getString(LOCK_PIN_ENHANCED_PRIVACY, userId) != null;
    }

    /**
     * Set whether the visible password is enabled for cryptkeeper screen.
     */
Loading