chromium/chrome/browser/policy/messaging_layer/proto/synced/lock_unlock_event.proto

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Events related to the locking and unlocking of the screen.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

import "components/reporting/proto/synced/session_affiliated_user.proto";

package ash.reporting;

enum UnlockType {
  UNLOCK_TYPE_UNKNOWN = 0;
  PASSWORD = 1;
  PIN = 2;
  FINGERPRINT = 3;
  EASY_UNLOCK = 4;
  CHALLENGE_RESPONSE = 5;
}

message LockEvent {}

message UnlockEvent {
  optional bool success = 1;
  optional UnlockType unlock_type = 2;
}

message LockUnlockRecord {
  optional int64 event_timestamp_sec = 1;

  optional .reporting.SessionAffiliatedUser affiliated_user = 2;

  oneof event {
    LockEvent lock_event = 3;
    UnlockEvent unlock_event = 4;
  }

  optional .reporting.SessionUnaffiliatedUser unaffiliated_user = 5;
}