blob: b044c28790debc91e7b446cbd2a55ac84868afd1 [file] [log] [blame]
package com.android.nfc;
import android.app.KeyguardManager;
import android.content.Context;
import android.os.PowerManager;
/**
* Helper class for determining the current screen state for NFC activities.
*/
class ScreenStateHelper {
static final int SCREEN_STATE_UNKNOWN = 0;
static final int SCREEN_STATE_OFF = 1;
static final int SCREEN_STATE_ON_LOCKED = 2;
static final int SCREEN_STATE_ON_UNLOCKED = 3;
private final PowerManager mPowerManager;
private final KeyguardManager mKeyguardManager;
ScreenStateHelper(Context context) {
mKeyguardManager = (KeyguardManager)
context.getSystemService(Context.KEYGUARD_SERVICE);
mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
}
int checkScreenState() {
//TODO: fix deprecated api
if (!mPowerManager.isScreenOn()) {
return SCREEN_STATE_OFF;
} else if (mKeyguardManager.isKeyguardLocked()) {
return SCREEN_STATE_ON_LOCKED;
} else {
return SCREEN_STATE_ON_UNLOCKED;
}
}
/**
* For debugging only - no i18n
*/
static String screenStateToString(int screenState) {
switch (screenState) {
case SCREEN_STATE_OFF:
return "OFF";
case SCREEN_STATE_ON_LOCKED:
return "ON_LOCKED";
case SCREEN_STATE_ON_UNLOCKED:
return "ON_UNLOCKED";
default:
return "UNKNOWN";
}
}
}