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