Пример #1
0
        @Override
        @TargetApi(Build.VERSION_CODES.M)
        public void onReceive(Context context, Intent intent) {
          Log.i(TAG, "Received " + intent);
          Util.logExtras(intent);

          PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
          Log.i(TAG, "device idle=" + pm.isDeviceIdleMode());

          // Reload rules when coming from idle mode
          if (!pm.isDeviceIdleMode()) reload(null, "idle state changed", SinkholeService.this);
        }
 void onDeviceIdleModeChanged() {
   final boolean deviceIdle = mPowerManager.isDeviceIdleMode();
   if (DEBUG) Slog.i(TAG, "DeviceIdleMode changed to " + deviceIdle);
   synchronized (mLock) {
     final long timeSinceLastParole = checkAndGetTimeLocked() - mLastAppIdleParoledTime;
     if (!deviceIdle && timeSinceLastParole >= DEFAULT_PAROLE_INTERVAL) {
       if (DEBUG)
         Slog.i(TAG, "Bringing idle apps out of inactive state due to deviceIdleMode=false");
       postNextParoleTimeout();
       setAppIdleParoled(true);
     } else if (deviceIdle) {
       if (DEBUG) Slog.i(TAG, "Device idle, back to prison");
       setAppIdleParoled(false);
     }
   }
 }