diff options
author | Dianne Hackborn <hackbod@google.com> | 2010-09-13 16:02:57 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2010-09-13 16:56:10 -0700 |
commit | e746f03c6c8b8d0897d322ab524d545ace200fcd (patch) | |
tree | c994b35c248fe2f75bbb4060b1441289a9cca292 /core/java/android/os/PowerManager.java | |
parent | 1510770165b7bc675e5171560e907c0269dbe0fa (diff) | |
parent | 53686433a9790bcfe7211a661b26783ee12bb436 (diff) | |
download | frameworks_base-e746f03c6c8b8d0897d322ab524d545ace200fcd.zip frameworks_base-e746f03c6c8b8d0897d322ab524d545ace200fcd.tar.gz frameworks_base-e746f03c6c8b8d0897d322ab524d545ace200fcd.tar.bz2 |
resolved conflicts for merge of 53686433 to master
Change-Id: I27004dc464f5771d3205ae5757c6eccc5b16854d
Diffstat (limited to 'core/java/android/os/PowerManager.java')
-rw-r--r-- | core/java/android/os/PowerManager.java | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index f4ca8bc..3876a3e 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -209,6 +209,7 @@ public class PowerManager int mCount = 0; boolean mRefCounted = true; boolean mHeld = false; + WorkSource mWorkSource; WakeLock(int flags, String tag) { @@ -247,7 +248,7 @@ public class PowerManager synchronized (mToken) { if (!mRefCounted || mCount++ == 0) { try { - mService.acquireWakeLock(mFlags, mToken, mTag); + mService.acquireWakeLock(mFlags, mToken, mTag, mWorkSource); } catch (RemoteException e) { } mHeld = true; @@ -313,6 +314,32 @@ public class PowerManager } } + public void setWorkSource(WorkSource ws) { + synchronized (mToken) { + if (ws != null && ws.size() == 0) { + ws = null; + } + boolean changed = true; + if (ws == null) { + mWorkSource = null; + } else if (mWorkSource == null) { + changed = mWorkSource != null; + mWorkSource = new WorkSource(ws); + } else { + changed = mWorkSource.diff(ws); + if (changed) { + mWorkSource.set(ws); + } + } + if (changed && mHeld) { + try { + mService.updateWakeLockWorkSource(mToken, mWorkSource); + } catch (RemoteException e) { + } + } + } + } + public String toString() { synchronized (mToken) { return "WakeLock{" |