xref: /aosp_15_r20/system/libsysprop/srcs/android/sysprop/CrashRecoveryProperties.sysprop (revision 84dc9db433a600c0ca231d638135de5b8181a4b9)
1# Copyright (C) 2024 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15module: "android.sysprop.CrashRecoveryProperties"
16owner: Platform
17
18prop {
19    api_name: "lastFactoryResetTimeMs"
20    type: Long
21    scope: Public
22    access: ReadWrite
23    prop_name: "persist.crashrecovery.last_factory_reset"
24}
25
26# Below two properties track individual system server boot events, and are reset once the boot
27# threshold is met, or the boot loop trigger window is exceeded between boot events.
28prop {
29    api_name: "rescueBootStart"
30    type: Long
31    scope: Public
32    access: ReadWrite
33    prop_name: "crashrecovery.rescue_boot_start"
34}
35
36prop {
37    api_name: "rescueBootCount"
38    type: Integer
39    scope: Public
40    access: ReadWrite
41    prop_name: "crashrecovery.rescue_boot_count"
42}
43
44# Below two properties track multiple calls made to observers tracking boot loops. They are reset
45# when the de-escalation window is exceeded between boot events.
46prop {
47    api_name: "bootMitigationStart"
48    type: Long
49    scope: Public
50    access: ReadWrite
51    prop_name: "crashrecovery.boot_mitigation_start"
52}
53
54prop {
55    api_name: "bootMitigationCount"
56    type: Integer
57    scope: Public
58    access: ReadWrite
59    prop_name: "crashrecovery.boot_mitigation_count"
60}
61
62prop {
63    api_name: "attemptingReboot"
64    type: Boolean
65    scope: Public
66    access: ReadWrite
67    prop_name: "crashrecovery.attempting_reboot"
68}
69
70prop {
71    api_name: "attemptingFactoryReset"
72    type: Boolean
73    scope: Public
74    access: ReadWrite
75    prop_name: "crashrecovery.attempting_factory_reset"
76}
77
78prop {
79    api_name: "maxRescueLevelAttempted"
80    type: Integer
81    scope: Public
82    access: ReadWrite
83    prop_name: "crashrecovery.max_rescue_level_attempted"
84}
85
86prop {
87    api_name: "enableRescueParty"
88    type: Boolean
89    scope: Public
90    access: ReadWrite
91    prop_name: "persist.crashrecovery.enable_rescue"
92}
93