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