Merge changes from topic "developer option for app freezer" into rvc-dev
* changes: Resources and strings for freezer settings Settings option to enable/disable the app freezer ActivityManager API to check availability of app freezer
This commit is contained in:
committed by
Android (Google) Code Review
commit
ce9b47859d
@@ -673,4 +673,9 @@ interface IActivityManager {
|
||||
* @param state The customized state data
|
||||
*/
|
||||
void setProcessStateSummary(in byte[] state);
|
||||
|
||||
/**
|
||||
* Return whether the app freezer is supported (true) or not (false) by this system.
|
||||
*/
|
||||
boolean isAppFreezerSupported();
|
||||
}
|
||||
|
||||
@@ -14032,6 +14032,14 @@ public final class Settings {
|
||||
public static final String ZRAM_ENABLED =
|
||||
"zram_enabled";
|
||||
|
||||
/**
|
||||
* Whether the app freezer is enabled on this device.
|
||||
* The value of "enabled" enables the app freezer, "disabled" disables it and
|
||||
* "device_default" will let the system decide whether to enable the freezer or not
|
||||
* @hide
|
||||
*/
|
||||
public static final String CACHED_APPS_FREEZER_ENABLED = "cached_apps_freezer";
|
||||
|
||||
/**
|
||||
* Configuration flags for smart replies in notifications.
|
||||
* This is encoded as a key=value list, separated by commas. Ex:
|
||||
|
||||
@@ -169,6 +169,7 @@ message GlobalSettingsProto {
|
||||
|
||||
optional SettingProto boot_count = 22 [ (android.privacy).dest = DEST_AUTOMATIC ];
|
||||
optional SettingProto bugreport_in_power_menu = 23 [ (android.privacy).dest = DEST_AUTOMATIC ];
|
||||
optional SettingProto cached_apps_freezer_enabled = 152 [ (android.privacy).dest = DEST_AUTOMATIC ];
|
||||
optional SettingProto call_auto_retry = 24 [ (android.privacy).dest = DEST_AUTOMATIC ];
|
||||
|
||||
message CaptivePortal {
|
||||
@@ -1059,5 +1060,5 @@ message GlobalSettingsProto {
|
||||
|
||||
// Please insert fields in alphabetical order and group them into messages
|
||||
// if possible (to avoid reaching the method limit).
|
||||
// Next tag = 152;
|
||||
// Next tag = 153;
|
||||
}
|
||||
|
||||
@@ -633,4 +633,18 @@
|
||||
<item>@color/bt_color_bg_7</item>
|
||||
</integer-array>
|
||||
|
||||
<!-- Cached apps freezer modes -->
|
||||
<array name="cached_apps_freezer_entries">
|
||||
<item>@string/cached_apps_freezer_device_default</item>
|
||||
<item>@string/cached_apps_freezer_enabled</item>
|
||||
<item>@string/cached_apps_freezer_disabled</item>
|
||||
</array>
|
||||
|
||||
<!-- Values for cached apps freezer modes -->
|
||||
<array name="cached_apps_freezer_values">
|
||||
<item>device_default</item>
|
||||
<item>enabled</item>
|
||||
<item>disabled</item>
|
||||
</array>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -1365,4 +1365,12 @@
|
||||
<!-- Name for the guest user [CHAR LIMIT=35] -->
|
||||
<string name="guest_nickname">Guest</string>
|
||||
|
||||
<!-- List entry in developer settings to choose default device/system behavior for the app freezer [CHAR LIMIT=30]-->
|
||||
<string name="cached_apps_freezer_device_default">Device default</string>
|
||||
<!-- List entry in developer settings to disable the app freezer in developer settings [CHAR LIMIT=30]-->
|
||||
<string name="cached_apps_freezer_disabled">Disabled</string>
|
||||
<!-- List entry in developer settings to enable the app freezer in developer settings [CHAR LIMIT=30]-->
|
||||
<string name="cached_apps_freezer_enabled">Enabled</string>
|
||||
<!-- Developer setting dialog prompting the user to reboot after changing the app freezer setting [CHAR LIMIT=NONE]-->
|
||||
<string name="cached_apps_freezer_reboot_dialog_text">Your device must be rebooted for this change to apply. Reboot now or cancel.</string>
|
||||
</resources>
|
||||
|
||||
@@ -375,6 +375,9 @@ class SettingsProtoDumpUtil {
|
||||
dumpSetting(s, p,
|
||||
Settings.Global.BUGREPORT_IN_POWER_MENU,
|
||||
GlobalSettingsProto.BUGREPORT_IN_POWER_MENU);
|
||||
dumpSetting(s, p,
|
||||
Settings.Global.CACHED_APPS_FREEZER_ENABLED,
|
||||
GlobalSettingsProto.CACHED_APPS_FREEZER_ENABLED);
|
||||
dumpSetting(s, p,
|
||||
Settings.Global.CALL_AUTO_RETRY,
|
||||
GlobalSettingsProto.CALL_AUTO_RETRY);
|
||||
|
||||
@@ -587,7 +587,8 @@ public class SettingsBackupTest {
|
||||
Settings.Global.POWER_BUTTON_VERY_LONG_PRESS,
|
||||
Settings.Global.SHOW_MEDIA_ON_QUICK_SETTINGS, // Temporary for R beta
|
||||
Settings.Global.INTEGRITY_CHECK_INCLUDES_RULE_PROVIDER,
|
||||
Settings.Global.ADVANCED_BATTERY_USAGE_AMOUNT);
|
||||
Settings.Global.ADVANCED_BATTERY_USAGE_AMOUNT,
|
||||
Settings.Global.CACHED_APPS_FREEZER_ENABLED);
|
||||
|
||||
private static final Set<String> BACKUP_BLACKLISTED_SECURE_SETTINGS =
|
||||
newHashSet(
|
||||
|
||||
@@ -20201,4 +20201,15 @@ public class ActivityManagerService extends IActivityManager.Stub
|
||||
mUsageStatsService.reportLocusUpdate(activity, userId, locusId, appToken);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAppFreezerSupported() {
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
|
||||
try {
|
||||
return mOomAdjuster.mCachedAppOptimizer.isFreezerSupported();
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import android.os.Trace;
|
||||
import android.provider.DeviceConfig;
|
||||
import android.provider.DeviceConfig.OnPropertiesChangedListener;
|
||||
import android.provider.DeviceConfig.Properties;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.EventLog;
|
||||
import android.util.Slog;
|
||||
@@ -407,7 +408,7 @@ public final class CachedAppOptimizer {
|
||||
/**
|
||||
* Determines whether the freezer is correctly supported by this system
|
||||
*/
|
||||
public boolean isFreezerSupported() {
|
||||
public static boolean isFreezerSupported() {
|
||||
boolean supported = false;
|
||||
FileReader fr = null;
|
||||
|
||||
@@ -443,7 +444,13 @@ public final class CachedAppOptimizer {
|
||||
*/
|
||||
@GuardedBy("mPhenotypeFlagLock")
|
||||
private void updateUseFreezer() {
|
||||
if (DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT,
|
||||
final String configOverride = Settings.Global.getString(mAm.mContext.getContentResolver(),
|
||||
Settings.Global.CACHED_APPS_FREEZER_ENABLED);
|
||||
|
||||
if ("disabled".equals(configOverride)) {
|
||||
mUseFreezer = false;
|
||||
} else if ("enabled".equals(configOverride)
|
||||
|| DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT,
|
||||
KEY_USE_FREEZER, DEFAULT_USE_FREEZER)) {
|
||||
mUseFreezer = isFreezerSupported();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user