diff options
| author | 2025-01-30 22:03:50 -0800 | |
|---|---|---|
| committer | 2025-01-30 22:03:50 -0800 | |
| commit | 8a2dfbcc45ab4501bbfc28f848575727cca44190 (patch) | |
| tree | 706b23ff5c7c52fb839b5e2ec3e035715dc870f5 | |
| parent | 564db10849e88a2d47e0ff3f6a32f562cec223c2 (diff) | |
| parent | 7544e55ff4365e8bdb467cb9c593e61f1318a2c7 (diff) | |
Merge changes from topic "zram_maintenance_support_check" into main am: a0a129fcdc am: 7544e55ff4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3465212
Change-Id: I52479c4389fb394476405bc28c532dfbc9ad688e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/ZramMaintenance.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/ZramMaintenance.java b/services/core/java/com/android/server/ZramMaintenance.java index ca1eba93fc6e..099e5b3fe440 100644 --- a/services/core/java/com/android/server/ZramMaintenance.java +++ b/services/core/java/com/android/server/ZramMaintenance.java @@ -28,6 +28,7 @@ import android.os.PersistableBundle; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemProperties; +import android.provider.DeviceConfig; import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; @@ -56,20 +57,21 @@ public class ZramMaintenance extends JobService { @VisibleForTesting public static final String KEY_CHECK_STATUS = "check_status"; + private static final String SYSTEM_PROPERTY_PREFIX = "mm."; private static final String FIRST_DELAY_SECONDS_PROP = - "mm.zram.maintenance.first_delay_seconds"; + "zram.maintenance.first_delay_seconds"; // The default is 1 hour. private static final long DEFAULT_FIRST_DELAY_SECONDS = 3600; private static final String PERIODIC_DELAY_SECONDS_PROP = - "mm.zram.maintenance.periodic_delay_seconds"; + "zram.maintenance.periodic_delay_seconds"; // The default is 1 hour. private static final long DEFAULT_PERIODIC_DELAY_SECONDS = 3600; private static final String REQUIRE_DEVICE_IDLE_PROP = - "mm.zram.maintenance.require_device_idle"; + "zram.maintenance.require_device_idle"; private static final boolean DEFAULT_REQUIRE_DEVICE_IDLE = true; private static final String REQUIRE_BATTERY_NOT_LOW_PROP = - "mm.zram.maintenance.require_battry_not_low"; + "zram.maintenance.require_battry_not_low"; private static final boolean DEFAULT_REQUIRE_BATTERY_NOT_LOW = true; @@ -124,7 +126,7 @@ public class ZramMaintenance extends JobService { } else { Slog.w(TAG, "binder not found"); } - Duration delay = Duration.ofSeconds(SystemProperties.getLong(PERIODIC_DELAY_SECONDS_PROP, + Duration delay = Duration.ofSeconds(getLongProperty(PERIODIC_DELAY_SECONDS_PROP, DEFAULT_PERIODIC_DELAY_SECONDS)); scheduleZramMaintenance(context, delay, checkStatus); } @@ -134,7 +136,7 @@ public class ZramMaintenance extends JobService { */ public static void startZramMaintenance(Context context) { Duration delay = Duration.ofSeconds( - SystemProperties.getLong(FIRST_DELAY_SECONDS_PROP, DEFAULT_FIRST_DELAY_SECONDS)); + getLongProperty(FIRST_DELAY_SECONDS_PROP, DEFAULT_FIRST_DELAY_SECONDS)); scheduleZramMaintenance(context, delay, true); } @@ -148,13 +150,23 @@ public class ZramMaintenance extends JobService { js.schedule(new JobInfo.Builder(JOB_ID, sZramMaintenance) .setMinimumLatency(delay.toMillis()) .setRequiresDeviceIdle( - SystemProperties.getBoolean(REQUIRE_DEVICE_IDLE_PROP, + getBooleanProperty(REQUIRE_DEVICE_IDLE_PROP, DEFAULT_REQUIRE_DEVICE_IDLE)) .setRequiresBatteryNotLow( - SystemProperties.getBoolean(REQUIRE_BATTERY_NOT_LOW_PROP, + getBooleanProperty(REQUIRE_BATTERY_NOT_LOW_PROP, DEFAULT_REQUIRE_BATTERY_NOT_LOW)) .setExtras(bundle) .build()); } } + + private static long getLongProperty(String name, long defaultValue) { + return DeviceConfig.getLong(DeviceConfig.NAMESPACE_MM, name, + SystemProperties.getLong(SYSTEM_PROPERTY_PREFIX + name, defaultValue)); + } + + private static boolean getBooleanProperty(String name, boolean defaultValue) { + return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_MM, name, + SystemProperties.getBoolean(SYSTEM_PROPERTY_PREFIX + name, defaultValue)); + } } |