save uncrypt status to last_install

Save the uncrypt time cost to /cache/recovery/uncrypt_status. Recovery
reads the file and saves its contents to last_install.

Bug: 31383361
Test: Tested on angler and uncrypt_time reports correctly.

Change-Id: I5cd3f7b6ca069d69086d09acfea8fc4f1215c833
Merged-In: I5cd3f7b6ca069d69086d09acfea8fc4f1215c833
This commit is contained in:
Tianjie Xu
2016-09-12 22:55:36 +00:00
parent 61590bbf0d
commit fe16b5ccaf
2 changed files with 34 additions and 1 deletions
+13 -1
View File
@@ -27,10 +27,11 @@
#include <string>
#include <vector>
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/parseint.h>
#include <android-base/stringprintf.h>
#include <android-base/strings.h>
#include <android-base/logging.h>
#include "common.h"
#include "error_code.h"
@@ -47,6 +48,7 @@ extern RecoveryUI* ui;
#define ASSUMED_UPDATE_BINARY_NAME "META-INF/com/google/android/update-binary"
#define PUBLIC_KEYS_FILE "/res/keys"
static constexpr const char* METADATA_PATH = "META-INF/com/android/metadata";
static constexpr const char* UNCRYPT_STATUS = "/cache/recovery/uncrypt_status";
// Default allocation of progress bar segments to operations
static const int VERIFICATION_PROGRESS_TIME = 60;
@@ -384,6 +386,16 @@ install_package(const char* path, bool* wipe_cache, const char* install_file,
fprintf(install_log, "%s\n", s.c_str());
}
if (ensure_path_mounted(UNCRYPT_STATUS) != 0) {
LOG(WARNING) << "Can't mount " << UNCRYPT_STATUS;
} else {
std::string uncrypt_status;
if (!android::base::ReadFileToString(UNCRYPT_STATUS, &uncrypt_status)) {
PLOG(WARNING) << "failed to read uncrypt status";
} else {
fprintf(install_log, "%s\n", android::base::Trim(uncrypt_status).c_str());
}
}
fclose(install_log);
}
return result;