Home | History | Annotate | Download | only in nfc
      1 package com.android.nfc;
      2 
      3 import android.app.KeyguardManager;
      4 import android.content.Context;
      5 import android.os.PowerManager;
      6 
      7 /**
      8  * Helper class for determining the current screen state for NFC activities.
      9  */
     10 class ScreenStateHelper {
     11 
     12     static final int SCREEN_STATE_UNKNOWN = 0;
     13     static final int SCREEN_STATE_OFF = 1;
     14     static final int SCREEN_STATE_ON_LOCKED = 2;
     15     static final int SCREEN_STATE_ON_UNLOCKED = 3;
     16 
     17     private final PowerManager mPowerManager;
     18     private final KeyguardManager mKeyguardManager;
     19 
     20     ScreenStateHelper(Context context) {
     21         mKeyguardManager = (KeyguardManager)
     22                 context.getSystemService(Context.KEYGUARD_SERVICE);
     23         mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
     24     }
     25 
     26     int checkScreenState() {
     27         //TODO: fix deprecated api
     28         if (!mPowerManager.isScreenOn()) {
     29             return SCREEN_STATE_OFF;
     30         } else if (mKeyguardManager.isKeyguardLocked()) {
     31             return SCREEN_STATE_ON_LOCKED;
     32         } else {
     33             return SCREEN_STATE_ON_UNLOCKED;
     34         }
     35     }
     36 
     37     /**
     38      * For debugging only - no i18n
     39      */
     40     static String screenStateToString(int screenState) {
     41         switch (screenState) {
     42             case SCREEN_STATE_OFF:
     43                 return "OFF";
     44             case SCREEN_STATE_ON_LOCKED:
     45                 return "ON_LOCKED";
     46             case SCREEN_STATE_ON_UNLOCKED:
     47                 return "ON_UNLOCKED";
     48             default:
     49                 return "UNKNOWN";
     50         }
     51     }
     52 }
     53