acquire method
Implementation
Future<void> acquire({
required String miniProgramId,
required Object owner,
required double level,
}) => _enqueue(() async {
_ensureActive();
_validateLevel(level);
final previous = _requests.remove(owner);
_requests[owner] = _BrightnessRequest(appId: miniProgramId, level: level);
if (_suspended) {
return;
}
try {
await provider.setBrightness(level);
} on Object catch (error) {
_requests.remove(owner);
if (previous != null) {
_requests[owner] = previous;
}
await _restoreCurrentBestEffort();
throw _normalizeFailure(error);
}
});