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

am: c68e6d6708

Change-Id: I23ee644fb2f73fc3cece4faf59eb63417cfe3ea6
This commit is contained in:
Tianjie Xu
2016-09-28 19:59:12 +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

@@ -716,6 +716,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);
}
}
}
}