Back to project page RetroTimer.
The source code is released under:
GNU General Public License
If you think the Android project RetroTimer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (C) 2010-2014 Eric Hansander *// ww w . j a v a 2s .co m * This file is part of Retro Timer. * * Retro Timer is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Retro Timer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Retro Timer. If not, see <http://www.gnu.org/licenses/>. * * This file incorporates work covered by the following copyright and * permission notice: * * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package se.erichansander.retrotimer; import android.content.Context; import android.os.PowerManager; /** * Hold a wakelock that can be acquired in the AlarmReceiver and released in the * TimerAlert activity. * * This file is borrowed almost without modification from the DeskClock app * included with Android. */ class WakeLockHolder { private static final String TAG = "WakeLockHolder"; private static PowerManager.WakeLock sCpuWakeLock; public static void acquireScreenCpuWakeLock(Context context) { // this check basically ensures no nesting of WakeLocks, even though // setReferenceCounted() is left at default true. if (sCpuWakeLock != null) { return; } PowerManager pm = (PowerManager) context .getSystemService(Context.POWER_SERVICE); sCpuWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, TAG); sCpuWakeLock.acquire(); } public static void releaseCpuLock() { if (sCpuWakeLock != null) { sCpuWakeLock.release(); sCpuWakeLock = null; } } }