diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-06-22 11:10:26 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-06-22 11:10:26 -0700 |
commit | db45e0bdd02c2b9416b89999422561929feb5cc0 (patch) | |
tree | c70db6c9053a7a11d5e0b413fbd5dc978d0b5cb6 /core/java/android/net/DhcpStateMachine.java | |
parent | 0310f4dad3b6ab8b050f6072050dc80374abafc2 (diff) | |
parent | ecce539f3d739fbf4b395639a485fddf51f688d6 (diff) | |
download | frameworks_base-db45e0bdd02c2b9416b89999422561929feb5cc0.zip frameworks_base-db45e0bdd02c2b9416b89999422561929feb5cc0.tar.gz frameworks_base-db45e0bdd02c2b9416b89999422561929feb5cc0.tar.bz2 |
am ecce539f: Merge "Release wakelock after use" into honeycomb-mr2
* commit 'ecce539f3d739fbf4b395639a485fddf51f688d6':
Release wakelock after use
Diffstat (limited to 'core/java/android/net/DhcpStateMachine.java')
-rw-r--r-- | core/java/android/net/DhcpStateMachine.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/net/DhcpStateMachine.java b/core/java/android/net/DhcpStateMachine.java index c49c019..445b2f7 100644 --- a/core/java/android/net/DhcpStateMachine.java +++ b/core/java/android/net/DhcpStateMachine.java @@ -117,13 +117,14 @@ public class DhcpStateMachine extends StateMachine { PowerManager powerManager = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE); mDhcpRenewWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, WAKELOCK_TAG); + mDhcpRenewWakeLock.setReferenceCounted(false); mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //DHCP renew if (DBG) Log.d(TAG, "Sending a DHCP renewal " + this); - //acquire a 40s wakelock to finish DHCP renewal + //Lock released after 40s in worst case scenario mDhcpRenewWakeLock.acquire(40000); sendMessage(CMD_RENEW_DHCP); } @@ -166,6 +167,7 @@ public class DhcpStateMachine extends StateMachine { switch (message.what) { case CMD_RENEW_DHCP: Log.e(TAG, "Error! Failed to handle a DHCP renewal on " + mInterfaceName); + mDhcpRenewWakeLock.release(); break; case SM_QUIT_CMD: mContext.unregisterReceiver(mBroadcastReceiver); @@ -268,10 +270,12 @@ public class DhcpStateMachine extends StateMachine { /* Notify controller before starting DHCP */ mController.sendMessage(CMD_PRE_DHCP_ACTION); transitionTo(mWaitBeforeRenewalState); + //mDhcpRenewWakeLock is released in WaitBeforeRenewalState } else { if (!runDhcp(DhcpAction.RENEW)) { transitionTo(mStoppedState); } + mDhcpRenewWakeLock.release(); } break; case CMD_START_DHCP: @@ -318,6 +322,10 @@ public class DhcpStateMachine extends StateMachine { } return retValue; } + @Override + public void exit() { + mDhcpRenewWakeLock.release(); + } } private boolean runDhcp(DhcpAction dhcpAction) { |