157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby/* 257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * Copyright (C) 2012 The Android Open Source Project 357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * 457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * Licensed under the Apache License, Version 2.0 (the "License"); 557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * you may not use this file except in compliance with the License. 657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * You may obtain a copy of the License at 757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * 857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * http://www.apache.org/licenses/LICENSE-2.0 957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * 1057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * Unless required by applicable law or agreed to in writing, software 1157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * distributed under the License is distributed on an "AS IS" BASIS, 1257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * See the License for the specific language governing permissions and 1457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * limitations under the License. 1557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby */ 1657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby 1757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambypackage com.android.cellbroadcastreceiver; 1857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby 1957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambyimport android.content.Context; 2057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambyimport android.os.PowerManager; 2157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambyimport android.util.Log; 2257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby 2357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby/** 2457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby * Hold a wakelock that can be acquired in the CellBroadcastAlertService and 25468a41702543cb74189153a79af5b38a344e9960Sanket Padawe * released in the CellBroadcastAlertDialog Activity. 2657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby */ 2757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hambyclass CellBroadcastAlertWakeLock { 2857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby private static final String TAG = "CellBroadcastAlertWakeLock"; 2957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby 3057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby private static PowerManager.WakeLock sCpuWakeLock; 3157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby 3257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby private CellBroadcastAlertWakeLock() {} 3357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby 3457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby static void acquireScreenCpuWakeLock(Context context) { 3557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby if (sCpuWakeLock != null) { 3657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby return; 3757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby } 3857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); 3957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby sCpuWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK 4057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, TAG); 4157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby sCpuWakeLock.acquire(); 4257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby Log.d(TAG, "acquired screen + CPU wake lock"); 4357273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby } 4457273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby 4557273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby static void releaseCpuLock() { 4657273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby if (sCpuWakeLock != null) { 4757273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby sCpuWakeLock.release(); 4857273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby sCpuWakeLock = null; 4957273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby Log.d(TAG, "released screen + CPU wake lock"); 5057273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby } 5157273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby } 5257273ebfa13f96bf5aba9902b70e2b179fec9e4cJake Hamby} 53