public interface PowerSavingHandler
PowerSavingHandler
interface defines methods for getting notified of power state change requests on a
specific Peripheral
instance. PowerSavingHandler
can be registered using the
PowerManaged.enablePowerSaving(int, com.oracle.deviceaccess.power.PowerSavingHandler)
method.PowerManaged
Modifier and Type | Method and Description |
---|---|
long |
handlePowerStateChangeRequest(Peripheral peripheral,
int currentState,
int requestedState,
long duration)
Invoked to allow the application to handle a power state change request on the designated
Peripheral
instance. |
long handlePowerStateChangeRequest(Peripheral peripheral, int currentState, int requestedState, long duration)
Peripheral
instance. The application may veto the power state change by returning 0
. Otherwise it should return a
duration lesser or equals to the proposed state change duration. An application may veto altogether a power state
change from PowerManaged.POWER_ON
to PowerManaged.LOWEST_POWER
if for example the application is
currently using or is about to use the designated peripheral. An application may grant a power state change
duration lesser than the specified duration if for example the application anticipates it will use the designated
peripheral earlier than the specified duration.
A transition to the PowerManaged.POWER_ON
state can never be vetoed such as to no deny peripheral access
to other applications and the duration
parameter is always set to PowerManaged.UNLIMITED_DURATION
and the return value is ignored and assumed to be PowerManaged.UNLIMITED_DURATION
.peripheral
- the Peripheral
instance for which a power state change is requested.currentState
- the current power state: PowerManaged.POWER_ON
, PowerManaged.LOW_POWER
,
PowerManaged.LOWEST_POWER
or PowerManaged.POWER_OFF
.requestedState
- the requested power state: PowerManaged.POWER_ON
, PowerManaged.LOW_POWER
,
PowerManaged.LOWEST_POWER
or PowerManaged.POWER_OFF
.duration
- the expected duration (in milliseconds) of the new requested state;
PowerManaged.UNLIMITED_DURATION
if unlimited or unknown.duration
or 0
if the power state change
is vetoed or PowerManaged.UNLIMITED_DURATION
if unlimited or unknown.Copyright (c) 1990, 2013, Oracle and/or its affiliates. All rights reserved.