blob: 7ba06593e7bb417e6e994d5f8e6bc03df8a28e13 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PROXIMITY_AUTH_SCREENLOCK_STATE_H
#define COMPONENTS_PROXIMITY_AUTH_SCREENLOCK_STATE_H
namespace proximity_auth {
// Possible user states of the proximity auth feature on the lock or sign-in
// screen.
enum class ScreenlockState {
// Proximity-based authentication is not enabled, or the screen is not
// locked.
INACTIVE,
// Bluetooth is not on.
NO_BLUETOOTH,
// The local device is in process of turning on Bluetooth.
BLUETOOTH_CONNECTING,
// No phones eligible to unlock the local device can be found.
NO_PHONE,
// A phone eligible to unlock the local device is found, but cannot be
// authenticated.
PHONE_NOT_AUTHENTICATED,
// A phone eligible to unlock the local device is found, but it's locked.
PHONE_LOCKED,
// A phone eligible to unlock the local device is found, but it does not have
// a lock screen enabled.
PHONE_NOT_LOCKABLE,
// An enabled phone is found, but it is not allowed to unlock the local device
// because it does not support reporting its lock screen state.
PHONE_UNSUPPORTED,
// A phone eligible to unlock the local device is found, but its received
// signal strength is too low, i.e. the phone is roughly more than 30 feet
// away, and therefore is not allowed to unlock the device.
RSSI_TOO_LOW,
// A phone eligible to unlock the local device is found, but the local
// device's transmission power is too high, indicating that the phone is
// (probably) more than 1 foot away, and therefore is not allowed to unlock
// the device.
TX_POWER_TOO_HIGH,
// A phone eligible to unlock the local device is found; but (a) the phone is
// locked, and (b) the local device's transmission power is too high,
// indicating that the phone is (probably) more than 1 foot away, and
// therefore is not allowed to unlock the device.
PHONE_LOCKED_AND_TX_POWER_TOO_HIGH,
// The local device can be unlocked using proximity-based authentication.
AUTHENTICATED,
};
} // namespace proximity_auth
#endif // COMPONENTS_PROXIMITY_AUTH_SCREENLOCK_STATE_H