Allow timed wakelocks to be released gracefully.

When using a reference-counted wakelock together with a timeout, we
can end up with an over-released wakelock which causes an app crash.

To mitigate this, only throw based on count of external
acquire/release events.

Bug: 62326550
Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.PowerManager_WakeLockTest
Change-Id: I66480cb9798f9404ae3d45a70d68eae136d289de
1 file changed