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

Commit 319f8f1b authored by Kalesh Singh's avatar Kalesh Singh Committed by Automerger Merge Worker
Browse files

Merge changes Ieadd31ef,I173058d7,I089d37fc into tm-qpr-dev am: 9465fd4c

parents 1a9b904c 9465fd4c
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -250,6 +250,13 @@ final class ActivityManagerConstants extends ContentObserver {
     */
    private static final String KEY_PROACTIVE_KILLS_ENABLED = "proactive_kills_enabled";

    /**
      * Trim LRU cached app when swap falls below this minimum percentage.
      *
      * Depends on KEY_PROACTIVE_KILLS_ENABLED
      */
    private static final String KEY_LOW_SWAP_THRESHOLD_PERCENT = "low_swap_threshold_percent";

    /**
     * Default value for mFlagBackgroundActivityStartsEnabled if not explicitly set in
     * Settings.Global. This allows it to be set experimentally unless it has been
@@ -840,6 +847,8 @@ final class ActivityManagerConstants extends ContentObserver {

    private static final boolean DEFAULT_PROACTIVE_KILLS_ENABLED = false;

    private static final float DEFAULT_LOW_SWAP_THRESHOLD_PERCENT = 0.10f;

    private static final String KEY_MIN_ASSOC_LOG_DURATION = "min_assoc_log_duration";

    public static long MIN_ASSOC_LOG_DURATION = DEFAULT_MIN_ASSOC_LOG_DURATION;
@@ -871,6 +880,7 @@ final class ActivityManagerConstants extends ContentObserver {
    public static int BINDER_HEAVY_HITTER_AUTO_SAMPLER_BATCHSIZE;
    public static float BINDER_HEAVY_HITTER_AUTO_SAMPLER_THRESHOLD;
    public static boolean PROACTIVE_KILLS_ENABLED = DEFAULT_PROACTIVE_KILLS_ENABLED;
    public static float LOW_SWAP_THRESHOLD_PERCENT = DEFAULT_LOW_SWAP_THRESHOLD_PERCENT;

    private final OnPropertiesChangedListener mOnDeviceConfigChangedListener =
            new OnPropertiesChangedListener() {
@@ -1001,6 +1011,9 @@ final class ActivityManagerConstants extends ContentObserver {
                            case KEY_PROACTIVE_KILLS_ENABLED:
                                updateProactiveKillsEnabled();
                                break;
                            case KEY_LOW_SWAP_THRESHOLD_PERCENT:
                                updateLowSwapThresholdPercent();
                                break;
                            default:
                                break;
                        }
@@ -1610,6 +1623,13 @@ final class ActivityManagerConstants extends ContentObserver {
                DEFAULT_PROACTIVE_KILLS_ENABLED);
    }

    private void updateLowSwapThresholdPercent() {
        LOW_SWAP_THRESHOLD_PERCENT = DeviceConfig.getFloat(
                DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
                KEY_LOW_SWAP_THRESHOLD_PERCENT,
                DEFAULT_LOW_SWAP_THRESHOLD_PERCENT);
    }

    private void updateMinAssocLogDuration() {
        MIN_ASSOC_LOG_DURATION = DeviceConfig.getLong(
                DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, KEY_MIN_ASSOC_LOG_DURATION,
@@ -1799,6 +1819,8 @@ final class ActivityManagerConstants extends ContentObserver {
        pw.print("="); pw.println(mNetworkAccessTimeoutMs);
        pw.print("  "); pw.print(KEY_PROACTIVE_KILLS_ENABLED);
        pw.print("="); pw.println(PROACTIVE_KILLS_ENABLED);
        pw.print("  "); pw.print(KEY_LOW_SWAP_THRESHOLD_PERCENT);
        pw.print("="); pw.println(LOW_SWAP_THRESHOLD_PERCENT);

        pw.println();
        if (mOverrideMaxCachedProcesses >= 0) {
+1 −1
Original line number Diff line number Diff line
@@ -1065,7 +1065,7 @@ public class OomAdjuster {
        int numTrimming = 0;

        boolean proactiveKillsEnabled = mConstants.PROACTIVE_KILLS_ENABLED;
        double lowSwapThresholdPercent = 0.10;  // TODO: Configure from phenotype
        double lowSwapThresholdPercent = mConstants.LOW_SWAP_THRESHOLD_PERCENT;
        double freeSwapPercent =  proactiveKillsEnabled ? getFreeSwapPercent() : 1.00;
        ProcessRecord lruCachedApp = null;