1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // Copyright 2013 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "ash/system/brightness/brightness_controller_chromeos.h"
- #include <utility>
- #include "base/metrics/user_metrics.h"
- #include "chromeos/dbus/power/power_manager_client.h"
- #include "chromeos/dbus/power_manager/backlight.pb.h"
- #include "ui/base/accelerators/accelerator.h"
- namespace ash {
- namespace system {
- void BrightnessControllerChromeos::HandleBrightnessDown(
- const ui::Accelerator& accelerator) {
- if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_DOWN)
- base::RecordAction(base::UserMetricsAction("Accel_BrightnessDown_F6"));
- chromeos::PowerManagerClient::Get()->DecreaseScreenBrightness(true);
- }
- void BrightnessControllerChromeos::HandleBrightnessUp(
- const ui::Accelerator& accelerator) {
- if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_UP)
- base::RecordAction(base::UserMetricsAction("Accel_BrightnessUp_F7"));
- chromeos::PowerManagerClient::Get()->IncreaseScreenBrightness();
- }
- void BrightnessControllerChromeos::SetBrightnessPercent(double percent,
- bool gradual) {
- power_manager::SetBacklightBrightnessRequest request;
- request.set_percent(percent);
- request.set_transition(
- gradual
- ? power_manager::SetBacklightBrightnessRequest_Transition_FAST
- : power_manager::SetBacklightBrightnessRequest_Transition_INSTANT);
- request.set_cause(
- power_manager::SetBacklightBrightnessRequest_Cause_USER_REQUEST);
- chromeos::PowerManagerClient::Get()->SetScreenBrightness(request);
- }
- void BrightnessControllerChromeos::GetBrightnessPercent(
- base::OnceCallback<void(absl::optional<double>)> callback) {
- chromeos::PowerManagerClient::Get()->GetScreenBrightnessPercent(
- std::move(callback));
- }
- } // namespace system
- } // namespace ash
|