1/*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19package android.os.statsd.adaptiveauth;
20
21import "frameworks/proto_logging/stats/atoms.proto";
22import "frameworks/proto_logging/stats/atom_field_options.proto";
23
24option java_package = "com.android.os.adaptiveauth";
25option java_multiple_files = true;
26
27extend Atom {
28  optional AdaptiveAuthUnlockAfterLockReported adaptive_auth_unlock_after_lock_reported = 820 [(module) = "framework"];
29}
30
31/**
32 * Logs unlock and lock info when a successful primary auth or biometric auth happens after the
33 * device is locked by adaptive auth
34 *
35 * Pushed from:
36 *   frameworks/base/services/core/java/com/android/server/adaptiveauth/AdaptiveAuthService.java
37 *
38 */
39message AdaptiveAuthUnlockAfterLockReported {
40  // The last time that the device is locked by adaptive auth in milliseconds since boot
41  // (see SystemClock.elapsedRealtime())
42  optional int64 last_lock_timestamp_since_boot = 1;
43
44  // The time that a successful primary or biometric auth happens in milliseconds since boot
45  // (See SystemClock.elapsedRealtime()) and since the last locked time by adaptive auth
46  optional int64 unlock_timestamp_since_boot = 2;
47
48  enum UnlockType {
49      UNKNOWN = 0;
50      PRIMARY_AUTH = 1;
51      BIOMETRIC_AUTH = 2;
52  }
53  optional UnlockType unlock_type = 3;
54}
55