Merge "Log the error when uncrypt timeouts" am: c1973ecbd2 am: c68e6d6708

am: 3aeade44a9

Change-Id: I913474dbf87b30683267d8f6a458927b7d331c4c
This commit is contained in:
Tianjie Xu
2016-09-28 20:05:15 +00:00
committed by android-build-merger
2 changed files with 16 additions and 0 deletions

View File

@@ -93,6 +93,14 @@ public class RecoverySystem {
*/
public static final File UNCRYPT_PACKAGE_FILE = new File(RECOVERY_DIR, "uncrypt_file");
/**
* UNCRYPT_STATUS_FILE stores the time cost (and error code in the case of a failure)
* of uncrypt.
*
* @hide
*/
public static final File UNCRYPT_STATUS_FILE = new File(RECOVERY_DIR, "uncrypt_status");
// Length limits for reading files.
private static final int LOG_FILE_MAX_LENGTH = 64 * 1024;

View File

@@ -717,6 +717,14 @@ public final class ShutdownThread extends Thread {
}
if (!done[0]) {
Log.w(TAG, "Timed out waiting for uncrypt.");
final int uncryptTimeoutError = 100;
String timeoutMessage = String.format("uncrypt_time: %d\n" + "uncrypt_error: %d\n",
MAX_UNCRYPT_WAIT_TIME / 1000, uncryptTimeoutError);
try {
FileUtils.stringToFile(RecoverySystem.UNCRYPT_STATUS_FILE, timeoutMessage);
} catch (IOException e) {
Log.e(TAG, "Failed to write timeout message to uncrypt status", e);
}
}
}
}