find_my_device_controller_impl.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef ASH_COMPONENTS_PHONEHUB_FIND_MY_DEVICE_CONTROLLER_IMPL_H_
  5. #define ASH_COMPONENTS_PHONEHUB_FIND_MY_DEVICE_CONTROLLER_IMPL_H_
  6. #include "ash/components/phonehub/do_not_disturb_controller.h"
  7. #include "ash/components/phonehub/find_my_device_controller.h"
  8. namespace ash {
  9. namespace phonehub {
  10. class MessageSender;
  11. class UserActionRecorder;
  12. // Responsible for sending and receiving updates in regards to the Find My
  13. // Device feature which involves ringing the user's remote phone.
  14. class FindMyDeviceControllerImpl : public FindMyDeviceController {
  15. public:
  16. FindMyDeviceControllerImpl(MessageSender* message_sender,
  17. UserActionRecorder* user_action_recorder);
  18. ~FindMyDeviceControllerImpl() override;
  19. private:
  20. friend class FindMyDeviceControllerImplTest;
  21. // FindMyDeviceController:
  22. void SetPhoneRingingStatusInternal(Status status) override;
  23. void RequestNewPhoneRingingState(bool ringing) override;
  24. Status GetPhoneRingingStatus() override;
  25. Status phone_ringing_status_ = Status::kRingingOff;
  26. MessageSender* message_sender_;
  27. UserActionRecorder* user_action_recorder_;
  28. };
  29. } // namespace phonehub
  30. } // namespace ash
  31. #endif // ASH_COMPONENTS_PHONEHUB_FIND_MY_DEVICE_CONTROLLER_IMPL_H_