Commit 555545cd authored by Xiyuan Xia's avatar Xiyuan Xia Committed by Commit Bot

[Lock screen media controls] Hide when created in suspended state

Hide the controls when the lock screen is created as a result of
closing lid and in suspend state already.

Bug: 1097101
Change-Id: Ifb1f92bc054c7278992d95c13d5f5e5d750c94c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2254468
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Roman Sorokin [CET] <rsorokin@chromium.org>
Auto-Submit: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: default avatarRoman Sorokin [CET] <rsorokin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780425}
parent 49de2f1f
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "ash/style/ash_color_provider.h" #include "ash/style/ash_color_provider.h"
#include "base/metrics/histogram_functions.h" #include "base/metrics/histogram_functions.h"
#include "base/power_monitor/power_monitor.h" #include "base/power_monitor/power_monitor.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/media_message_center/media_controls_progress_view.h" #include "components/media_message_center/media_controls_progress_view.h"
#include "components/media_message_center/media_notification_util.h" #include "components/media_message_center/media_notification_util.h"
#include "components/vector_icons/vector_icons.h" #include "components/vector_icons/vector_icons.h"
...@@ -213,8 +214,15 @@ LockScreenMediaControlsView::LockScreenMediaControlsView( ...@@ -213,8 +214,15 @@ LockScreenMediaControlsView::LockScreenMediaControlsView(
DCHECK(callbacks.hide_media_controls); DCHECK(callbacks.hide_media_controls);
DCHECK(callbacks.show_media_controls); DCHECK(callbacks.show_media_controls);
// Media controls should observer power events. // Media controls should observe power events and handle the case of being
// created in suspended state.
base::PowerMonitor::AddObserver(this); base::PowerMonitor::AddObserver(this);
if (base::PowerMonitor::IsProcessSuspended()) {
// Post OnSuspend call to run after LockContentsView is initialized.
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(&LockScreenMediaControlsView::OnSuspend,
weak_ptr_factory_.GetWeakPtr()));
}
// Media controls have not been dismissed initially. // Media controls have not been dismissed initially.
Shell::Get()->media_controller()->SetMediaControlsDismissed(false); Shell::Get()->media_controller()->SetMediaControlsDismissed(false);
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "ash/ash_export.h" #include "ash/ash_export.h"
#include "base/containers/flat_set.h" #include "base/containers/flat_set.h"
#include "base/memory/weak_ptr.h"
#include "base/power_monitor/power_observer.h" #include "base/power_monitor/power_observer.h"
#include "base/timer/timer.h" #include "base/timer/timer.h"
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
...@@ -268,6 +269,8 @@ class ASH_EXPORT LockScreenMediaControlsView ...@@ -268,6 +269,8 @@ class ASH_EXPORT LockScreenMediaControlsView
// True if the user is in the process of gesture-dragging |contents_view_|. // True if the user is in the process of gesture-dragging |contents_view_|.
bool is_in_drag_ = false; bool is_in_drag_ = false;
base::WeakPtrFactory<LockScreenMediaControlsView> weak_ptr_factory_{this};
DISALLOW_COPY_AND_ASSIGN(LockScreenMediaControlsView); DISALLOW_COPY_AND_ASSIGN(LockScreenMediaControlsView);
}; };
......
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