blob: 8ae51e35f6b5e7852fcc97eb35184b1d37b9f442 [file] [log] [blame]
// Copyright 2021 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/utility/haptics_util.h"
#include "ui/events/devices/haptic_touchpad_effects.h"
#include "ui/ozone/public/input_controller.h"
#include "ui/ozone/public/ozone_platform.h"
namespace ash {
namespace haptics_util {
namespace {
ui::InputController* g_test_input_controller = nullptr;
} // namespace
void SetInputControllerForTesting(ui::InputController* input_controller) {
g_test_input_controller = input_controller;
}
void PlayHapticTouchpadEffect(ui::HapticTouchpadEffect effect,
ui::HapticTouchpadEffectStrength strength) {
ui::InputController* input_controller =
g_test_input_controller
? g_test_input_controller
: ui::OzonePlatform::GetInstance()->GetInputController();
DCHECK(input_controller);
input_controller->PlayHapticTouchpadEffect(effect, strength);
}
void PlayHapticToggleEffect(bool on,
ui::HapticTouchpadEffectStrength strength) {
PlayHapticTouchpadEffect(on ? ui::HapticTouchpadEffect::kToggleOn
: ui::HapticTouchpadEffect::kToggleOff,
strength);
}
} // namespace haptics_util
} // namespace ash