:~/xxx$ grep -rsn "ro.bootmode"
system/core/libcutils/android_reboot.c:239:int android_reboot(int cmd, int flags, const char *arg)
W PackageManager: Failed to parse /system/app/xdivert: Not a powerOffAlarmApp: /system/app/xdivert
PackageManagerService.java
private void scanDirLI(File dir, final int parseFlags, int scanFlags, long currentTime) {
Runnable scanTask = new Runnable() {
public void run() {
try {
scanPackageTracedLI(ref_file, ref_parseFlags | PackageParser.PARSE_MUST_BE_APK,
ref_scanFlags, ref_currentTime, null);
} catch (PackageManagerException e) {
Slog.w(TAG, "Failed to parse " + ref_file + ": " + e.getMessage());
// Delete invalid userdata apps
}
PackageParser.java
/* * Check if the package belongs to power off alarm packages */
private boolean isPowerOffAlarmPackage(String packageName) {}
<string-array name="power_off_alarm_apps">
<item>android</item>
<item>com.android.location.fused</item>
<item>com.android.settings</item>
<item>com.android.defcontainer</item>
<item>com.android.poweronalert</item>
<item>com.android.shell</item>
<item>com.android.deskclock</item>
<item>com.android.providers.media</item>
<item>com.android.inputdevices</item>
<item>com.android.providers.settings</item>
<item>com.android.externalstorage</item>
<item>com.android.providers.downloads.ui</item>
<item>com.android.packageinstaller</item>
</string-array>