Commit 0c6a0691 authored by Tetsui Ohkubo's avatar Tetsui Ohkubo Committed by Commit Bot

Unified: Recording indicator in UserChooserView.

The CL adds media recording indicator to UserChooserView. Microphone and
camera can be used by another user when multi user login is enabled.
The indicator shows that they are in use by the background user.

Screenshot: http://screen/drwebysXfDm

TEST=manual
BUG=845806

Change-Id: I02f8912d520315f1509e9f27ec818a0eeaccbe0e
Reviewed-on: https://chromium-review.googlesource.com/1181001Reviewed-by: default avatarYoshiki Iguchi <yoshiki@chromium.org>
Commit-Queue: Tetsui Ohkubo <tetsui@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585080}
parent f18439bd
This diff is collapsed.
......@@ -5,8 +5,14 @@
#ifndef ASH_SYSTEM_UNIFIED_USER_CHOOSER_VIEW_H_
#define ASH_SYSTEM_UNIFIED_USER_CHOOSER_VIEW_H_
#include "ash/media_controller.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/view.h"
namespace views {
class ImageView;
} // namespace views
namespace ash {
class UnifiedSystemTrayController;
......@@ -17,13 +23,40 @@ views::View* CreateUserAvatarView(int user_index);
// Get accessibility string for |user_index|.
base::string16 GetUserItemAccessibleString(int user_index);
// A button item of a switchable user.
class UserItemButton : public views::Button, public views::ButtonListener {
public:
UserItemButton(int user_index,
UnifiedSystemTrayController* controller,
bool has_close_button);
~UserItemButton() override = default;
void SetCaptureState(mojom::MediaCaptureState capture_state);
// views::ButtonListener:
void ButtonPressed(views::Button* sender, const ui::Event& event) override;
private:
const int user_index_;
UnifiedSystemTrayController* const controller_;
views::ImageView* const capture_icon_;
DISALLOW_COPY_AND_ASSIGN(UserItemButton);
};
// A detailed view of user chooser.
class UserChooserView : public views::View {
class UserChooserView : public views::View, public MediaCaptureObserver {
public:
UserChooserView(UnifiedSystemTrayController* controller);
~UserChooserView() override;
// MediaCaptureObserver:
void OnMediaCaptureChanged(
const std::vector<mojom::MediaCaptureState>& capture_states) override;
private:
std::vector<UserItemButton*> user_item_buttons_;
DISALLOW_COPY_AND_ASSIGN(UserChooserView);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment