Package org.robolectric.shadows
Class ShadowPowerManager
java.lang.Object
org.robolectric.shadows.ShadowPowerManager
@Implements(value=android.os.PowerManager.class, looseSignatures=true) public class ShadowPowerManager extends Object
Shadow of PowerManager
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ShadowPowerManager.ShadowWakeLock
-
Constructor Summary
Constructors Constructor Description ShadowPowerManager()
-
Method Summary
Modifier and Type Method Description protected void
addThermalStatusListener(Object listener)
This function adds a listener for thermal status change.static void
clearWakeLocks()
Clears most recent recorded wakelock.boolean
getAdaptivePowerSaveEnabled()
Gets the value set bysetAdaptivePowerSaveEnabled(boolean)
.protected Duration
getBatteryDischargePrediction()
Returns the current battery life remaining estimate.protected int
getCurrentThermalStatus()
This function returns the current thermal status of the device.static PowerManager.WakeLock
getLatestWakeLock()
Retrieves the most recent wakelock registered by the applicationprotected int
getLocationPowerSaveMode()
Returns how location features should behave when battery saver is on.com.google.common.collect.ImmutableList<String>
getRebootReasons()
Returns the list of reasons for each reboot, in chronological order.int
getTimesRebooted()
Returns the number of timesreboot(String)
was called.protected boolean
isAmbientDisplayAvailable()
Returns true by default, or the value specified viasetAmbientDisplayAvailable(boolean)
.protected boolean
isAmbientDisplaySuppressed()
Returns true ifsuppressAmbientDisplay(String, boolean)
has been called with any token.protected boolean
isBatteryDischargePredictionPersonalized()
Returns whether the current battery life remaining estimate is personalized based on device usage history or not.protected boolean
isDeviceIdleMode()
protected boolean
isIgnoringBatteryOptimizations(String packageName)
protected boolean
isInteractive()
protected boolean
isLightDeviceIdleMode()
protected boolean
isPowerSaveMode()
protected boolean
isRebootingUserspaceSupported()
Returns last value specified insetIsRebootingUserspaceSupported(boolean)
orfalse
by default.protected boolean
isScreenOn()
protected boolean
isWakeLockLevelSupported(int level)
protected PowerManager.WakeLock
newWakeLock(int flags, String tag)
protected void
reboot(String reason)
protected void
removeThermalStatusListener(Object listener)
This function removes a listener for thermal status change.static void
reset()
Discards the most recentPowerManager.WakeLock
sprotected boolean
setAdaptivePowerSaveEnabled(boolean enabled)
Sets whether Adaptive Power Saver is enabled.void
setAmbientDisplayAvailable(boolean available)
Sets the value returned byisAmbientDisplayAvailable()
.protected void
setBatteryDischargePrediction(Duration timeRemaining, boolean isPersonalized)
Differs from real implementation as device charging state is not checked.void
setCurrentThermalStatus(int thermalStatus)
Sets the value returned bygetCurrentThermalStatus()
.void
setIgnoringBatteryOptimizations(String packageName, boolean value)
void
setIsDeviceIdleMode(boolean isDeviceIdleMode)
Sets the value returned byisDeviceIdleMode()
.void
setIsInteractive(boolean interactive)
Deprecated.PreferturnScreenOn(boolean)
instead.void
setIsLightDeviceIdleMode(boolean lightDeviceIdleMode)
Sets the value returned byisLightDeviceIdleMode()
.void
setIsPowerSaveMode(boolean powerSaveMode)
void
setIsRebootingUserspaceSupported(boolean supported)
Sets the value returned byisRebootingUserspaceSupported()
.void
setIsScreenOn(boolean screenOn)
Deprecated.UsesetIsInteractive(boolean)
instead.void
setIsWakeLockLevelSupported(int level, boolean supported)
void
setLocationPowerSaveMode(int locationMode)
Sets the value returned bygetLocationPowerSaveMode()
when battery saver is on.protected void
suppressAmbientDisplay(String token, boolean suppress)
If true, suppress the device's ambient display.void
turnScreenOn(boolean screenOn)
Emulates turning the screen on/off if the screen is not already on/off.
-
Constructor Details
-
ShadowPowerManager
public ShadowPowerManager()
-
-
Method Details
-
newWakeLock
-
isScreenOn
-
setIsScreenOn
Deprecated.UsesetIsInteractive(boolean)
instead. -
isInteractive
-
setIsInteractive
Deprecated.PreferturnScreenOn(boolean)
instead. -
turnScreenOn
public void turnScreenOn(boolean screenOn)Emulates turning the screen on/off if the screen is not already on/off. -
isPowerSaveMode
-
setIsPowerSaveMode
public void setIsPowerSaveMode(boolean powerSaveMode) -
isWakeLockLevelSupported
-
setIsWakeLockLevelSupported
public void setIsWakeLockLevelSupported(int level, boolean supported) -
isDeviceIdleMode
- Returns:
- false by default, or the value specified via
setIsDeviceIdleMode(boolean)
-
setIsDeviceIdleMode
public void setIsDeviceIdleMode(boolean isDeviceIdleMode)Sets the value returned byisDeviceIdleMode()
. -
isLightDeviceIdleMode
- Returns:
- false by default, or the value specified via
setIsLightDeviceIdleMode(boolean)
-
setIsLightDeviceIdleMode
public void setIsLightDeviceIdleMode(boolean lightDeviceIdleMode)Sets the value returned byisLightDeviceIdleMode()
. -
getLocationPowerSaveMode
Returns how location features should behave when battery saver is on. When battery saver is off, this will always return#LOCATION_MODE_NO_CHANGE
. -
setLocationPowerSaveMode
public void setLocationPowerSaveMode(int locationMode)Sets the value returned bygetLocationPowerSaveMode()
when battery saver is on. -
getCurrentThermalStatus
This function returns the current thermal status of the device. -
addThermalStatusListener
This function adds a listener for thermal status change. -
removeThermalStatusListener
This function removes a listener for thermal status change. -
setCurrentThermalStatus
public void setCurrentThermalStatus(int thermalStatus)Sets the value returned bygetCurrentThermalStatus()
. -
reset
Discards the most recentPowerManager.WakeLock
s -
getLatestWakeLock
Retrieves the most recent wakelock registered by the application- Returns:
- Most recent wake lock.
-
clearWakeLocks
public static void clearWakeLocks()Clears most recent recorded wakelock. -
isIgnoringBatteryOptimizations
-
setIgnoringBatteryOptimizations
-
setBatteryDischargePrediction
@Implementation(minSdk=31) protected void setBatteryDischargePrediction(Duration timeRemaining, boolean isPersonalized)Differs from real implementation as device charging state is not checked.- Parameters:
timeRemaining
- The time remaining as aDuration
.isPersonalized
- true if personalized based on device usage history, false otherwise.
-
getBatteryDischargePrediction
Returns the current battery life remaining estimate.Differs from real implementation as the time that
setBatteryDischargePrediction(java.time.Duration, boolean)
was called is not taken into account.- Returns:
- The estimated battery life remaining as a
Duration
. Will benull
if the prediction has not been set.
-
isBatteryDischargePredictionPersonalized
Returns whether the current battery life remaining estimate is personalized based on device usage history or not. This value does not take a device's powered or charging state into account.- Returns:
- A boolean indicating if the current discharge estimate is personalized based on historical device usage or not.
-
reboot
-
getTimesRebooted
public int getTimesRebooted()Returns the number of timesreboot(String)
was called. -
getRebootReasons
Returns the list of reasons for each reboot, in chronological order. -
setAmbientDisplayAvailable
public void setAmbientDisplayAvailable(boolean available)Sets the value returned byisAmbientDisplayAvailable()
. -
setIsRebootingUserspaceSupported
public void setIsRebootingUserspaceSupported(boolean supported)Sets the value returned byisRebootingUserspaceSupported()
. -
isAmbientDisplayAvailable
Returns true by default, or the value specified viasetAmbientDisplayAvailable(boolean)
. -
suppressAmbientDisplay
If true, suppress the device's ambient display. Ambient display is defined as anything visible on the display whenPowerManager.isInteractive()
is false.- Parameters:
token
- An identifier for the ambient display suppression.suppress
- Iftrue
, suppresses the ambient display. Otherwise, unsuppresses the ambient display for the given token.
-
isAmbientDisplaySuppressed
Returns true ifsuppressAmbientDisplay(String, boolean)
has been called with any token. -
isRebootingUserspaceSupported
Returns last value specified insetIsRebootingUserspaceSupported(boolean)
orfalse
by default. -
setAdaptivePowerSaveEnabled
Sets whether Adaptive Power Saver is enabled.This has no effect, other than the value of
getAdaptivePowerSaveEnabled()
is changed, which can be used to ensure this method is called correctly.- Returns:
- true if the value has changed.
-
getAdaptivePowerSaveEnabled
public boolean getAdaptivePowerSaveEnabled()Gets the value set bysetAdaptivePowerSaveEnabled(boolean)
.
-