Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3541)

Unified Diff: chromeos/dbus/power_manager_client.cc

Issue 10382118: Don't show system notifications while the screen is locked. (Closed) Base URL: http://git.chromium.org/git/chromium/src@master
Patch Set: Rebase Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/dbus/power_manager_client.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/power_manager_client.cc
diff --git a/chromeos/dbus/power_manager_client.cc b/chromeos/dbus/power_manager_client.cc
index 5c03a1a54229bb564d615993f94efb53bbf9745d..e09e2f86af292d113988091a72994762b80c3504 100644
--- a/chromeos/dbus/power_manager_client.cc
+++ b/chromeos/dbus/power_manager_client.cc
@@ -29,6 +29,7 @@ class PowerManagerClientImpl : public PowerManagerClient {
public:
explicit PowerManagerClientImpl(dbus::Bus* bus)
: power_manager_proxy_(NULL),
+ screen_locked_(false),
weak_ptr_factory_(this) {
power_manager_proxy_ = bus->GetObjectProxy(
power_manager::kPowerManagerServiceName,
@@ -270,6 +271,10 @@ class PowerManagerClientImpl : public PowerManagerClient {
SimpleMethodCallToPowerManager(power_manager::kScreenIsUnlockedMethod);
}
+ virtual bool GetIsScreenLocked() OVERRIDE {
+ return screen_locked_;
+ }
+
private:
// Called when a dbus signal is initially connected.
void SignalConnected(const std::string& interface_name,
@@ -437,10 +442,12 @@ class PowerManagerClientImpl : public PowerManagerClient {
// as expected. As per http://crbug.com/126217, this will help determine
// if the problem is with dbus or in chrome.
LOG(WARNING) << "LockScreen signal received from power manager.";
+ screen_locked_ = true;
FOR_EACH_OBSERVER(Observer, observers_, LockScreen());
}
void ScreenUnlockSignalReceived(dbus::Signal* signal) {
+ screen_locked_ = false;
FOR_EACH_OBSERVER(Observer, observers_, UnlockScreen());
}
@@ -502,6 +509,7 @@ class PowerManagerClientImpl : public PowerManagerClient {
dbus::ObjectProxy* power_manager_proxy_;
dbus::ObjectProxy* session_manager_proxy_;
ObserverList<Observer> observers_;
+ bool screen_locked_;
base::WeakPtrFactory<PowerManagerClientImpl> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(PowerManagerClientImpl);
@@ -515,7 +523,8 @@ class PowerManagerClientStubImpl : public PowerManagerClient {
: discharging_(true),
battery_percentage_(40),
brightness_(50.0),
- pause_count_(2) {
+ pause_count_(2),
+ screen_locked_(false) {
}
virtual ~PowerManagerClientStubImpl() {}
@@ -589,14 +598,18 @@ class PowerManagerClientStubImpl : public PowerManagerClient {
const PowerStateRequestIdCallback& callback) OVERRIDE {}
virtual void NotifyScreenLockRequested() OVERRIDE {
+ screen_locked_ = true;
FOR_EACH_OBSERVER(Observer, observers_, LockScreen());
}
virtual void NotifyScreenLockCompleted() OVERRIDE {}
virtual void NotifyScreenUnlockRequested() OVERRIDE {
+ screen_locked_ = false;
FOR_EACH_OBSERVER(Observer, observers_, UnlockScreen());
}
-
virtual void NotifyScreenUnlockCompleted() OVERRIDE {}
+ virtual bool GetIsScreenLocked() OVERRIDE {
+ return screen_locked_;
+ }
private:
void Update() {
@@ -644,6 +657,7 @@ class PowerManagerClientStubImpl : public PowerManagerClient {
ObserverList<Observer> observers_;
base::RepeatingTimer<PowerManagerClientStubImpl> timer_;
PowerSupplyStatus status_;
+ bool screen_locked_;
};
PowerManagerClient::PowerManagerClient() {
« no previous file with comments | « chromeos/dbus/power_manager_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698