Merge "Support test skipping when power save modes aren't enabled."
This commit is contained in:
@@ -1565,8 +1565,10 @@ public class AppStandbyController
|
||||
@Override
|
||||
@StandbyBuckets public int getAppStandbyBucket(String packageName, int userId,
|
||||
long elapsedRealtime, boolean shouldObfuscateInstantApps) {
|
||||
if (!mAppIdleEnabled || (shouldObfuscateInstantApps
|
||||
&& mInjector.isPackageEphemeral(userId, packageName))) {
|
||||
if (!mAppIdleEnabled) {
|
||||
return STANDBY_BUCKET_EXEMPTED;
|
||||
}
|
||||
if (shouldObfuscateInstantApps && mInjector.isPackageEphemeral(userId, packageName)) {
|
||||
return STANDBY_BUCKET_ACTIVE;
|
||||
}
|
||||
|
||||
|
||||
@@ -683,6 +683,7 @@ package android.app.usage {
|
||||
|
||||
public final class UsageStatsManager {
|
||||
method public void forceUsageSourceSettingRead();
|
||||
method public boolean isAppStandbyEnabled();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1834,6 +1835,7 @@ package android.os {
|
||||
}
|
||||
|
||||
public final class PowerManager {
|
||||
method public boolean areAutoPowerSaveModesEnabled();
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void forceLowPowerStandbyActive(boolean);
|
||||
field public static final String ACTION_ENHANCED_DISCHARGE_PREDICTION_CHANGED = "android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED";
|
||||
field @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public static final int SYSTEM_WAKELOCK = -2147483648; // 0x80000000
|
||||
|
||||
@@ -44,6 +44,7 @@ interface IUsageStatsManager {
|
||||
UsageEvents queryEventsForPackageForUser(long beginTime, long endTime, int userId, String pkg, String callingPackage);
|
||||
@UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
|
||||
void setAppInactive(String packageName, boolean inactive, int userId);
|
||||
boolean isAppStandbyEnabled();
|
||||
@UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
|
||||
boolean isAppInactive(String packageName, int userId, String callingPackage);
|
||||
void onCarrierPrivilegedAppsChanged();
|
||||
|
||||
@@ -641,6 +641,19 @@ public final class UsageStatsManager {
|
||||
return aggregatedStats;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the app standby bucket feature is enabled.
|
||||
* @hide
|
||||
*/
|
||||
@TestApi
|
||||
public boolean isAppStandbyEnabled() {
|
||||
try {
|
||||
return mService.isAppStandbyEnabled();
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the specified app is currently considered inactive. This will be true if the
|
||||
* app hasn't been used directly or indirectly for a period of time defined by the system. This
|
||||
|
||||
@@ -53,6 +53,7 @@ interface IPowerManager
|
||||
float getBrightnessConstraint(int constraint);
|
||||
@UnsupportedAppUsage
|
||||
boolean isInteractive();
|
||||
boolean areAutoPowerSaveModesEnabled();
|
||||
boolean isPowerSaveMode();
|
||||
PowerSaveState getPowerSaveState(int serviceType);
|
||||
boolean setPowerSaveModeEnabled(boolean mode);
|
||||
|
||||
@@ -1865,6 +1865,21 @@ public final class PowerManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the platform has auto power save modes (eg. Doze & app standby) enabled.
|
||||
* This doesn't necessarily mean that the individual features are enabled. For example, if this
|
||||
* returns true, Doze might be enabled while app standby buckets remain disabled.
|
||||
* @hide
|
||||
*/
|
||||
@TestApi
|
||||
public boolean areAutoPowerSaveModesEnabled() {
|
||||
try {
|
||||
return mService.areAutoPowerSaveModesEnabled();
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the device is currently in power save mode. When in this mode,
|
||||
* applications should reduce their functionality in order to conserve battery as
|
||||
|
||||
@@ -5824,6 +5824,17 @@ public final class PowerManagerService extends SystemService
|
||||
}
|
||||
}
|
||||
|
||||
@Override // Binder call
|
||||
public boolean areAutoPowerSaveModesEnabled() {
|
||||
final long ident = Binder.clearCallingIdentity();
|
||||
try {
|
||||
return mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_enableAutoPowerModes);
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(ident);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // Binder call
|
||||
public boolean isPowerSaveMode() {
|
||||
final long ident = Binder.clearCallingIdentity();
|
||||
|
||||
@@ -2288,6 +2288,11 @@ public class UsageStatsService extends SystemService implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAppStandbyEnabled() {
|
||||
return mAppStandby.isAppIdleEnabled();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAppInactive(String packageName, int userId, String callingPackage) {
|
||||
final int callingUid = Binder.getCallingUid();
|
||||
|
||||
Reference in New Issue
Block a user