Merge "resolved conflicts for merge of 487ae9b8 to lmp-mr1-dev-plus-aosp" into lmp-mr1-dev-plus-aosp
This commit is contained in:
committed by
Android (Google) Code Review
commit
83892ecb5c
@@ -247,8 +247,8 @@ enum {
|
||||
#define Res_MAKEINTERNAL(entry) (0x01000000 | (entry&0xFFFF))
|
||||
#define Res_MAKEARRAY(entry) (0x02000000 | (entry&0xFFFF))
|
||||
|
||||
#define Res_MAXPACKAGE 255
|
||||
#define Res_MAXTYPE 255
|
||||
static const size_t Res_MAXPACKAGE = 255;
|
||||
static const size_t Res_MAXTYPE = 255;
|
||||
|
||||
/**
|
||||
* Representation of a value in a resource, supplying type
|
||||
|
||||
@@ -45,6 +45,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
|
||||
LOCAL_MODULE:= libandroidfw
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_CFLAGS += -DSTATIC_ANDROIDFW_FOR_TOOLS
|
||||
LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
|
||||
LOCAL_SRC_FILES:= $(hostSources)
|
||||
LOCAL_C_INCLUDES := external/zlib
|
||||
|
||||
@@ -65,11 +66,13 @@ LOCAL_C_INCLUDES := \
|
||||
system/core/include
|
||||
LOCAL_STATIC_LIBRARIES := libziparchive
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libbinder \
|
||||
liblog \
|
||||
libcutils \
|
||||
libutils \
|
||||
libz
|
||||
libbinder \
|
||||
liblog \
|
||||
libcutils \
|
||||
libutils \
|
||||
libz
|
||||
|
||||
LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@ using namespace android;
|
||||
# define O_BINARY 0
|
||||
#endif
|
||||
|
||||
static const bool kIsDebug = false;
|
||||
|
||||
static Mutex gAssetLock;
|
||||
static int32_t gCount = 0;
|
||||
static Asset* gHead = NULL;
|
||||
@@ -89,7 +91,9 @@ Asset::Asset(void)
|
||||
gTail->mNext = this;
|
||||
gTail = this;
|
||||
}
|
||||
//ALOGI("Creating Asset %p #%d\n", this, gCount);
|
||||
if (kIsDebug) {
|
||||
ALOGI("Creating Asset %p #%d\n", this, gCount);
|
||||
}
|
||||
}
|
||||
|
||||
Asset::~Asset(void)
|
||||
@@ -109,7 +113,9 @@ Asset::~Asset(void)
|
||||
mPrev->mNext = mNext;
|
||||
}
|
||||
mNext = mPrev = NULL;
|
||||
//ALOGI("Destroying Asset in %p #%d\n", this, gCount);
|
||||
if (kIsDebug) {
|
||||
ALOGI("Destroying Asset in %p #%d\n", this, gCount);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
|
||||
using namespace android;
|
||||
|
||||
static const bool kIsDebug = false;
|
||||
|
||||
/*
|
||||
* Names for default app, locale, and vendor. We might want to change
|
||||
* these to be an actual locale, e.g. always use en-US as the default.
|
||||
@@ -152,15 +154,19 @@ AssetManager::AssetManager(CacheMode cacheMode)
|
||||
mResources(NULL), mConfig(new ResTable_config),
|
||||
mCacheMode(cacheMode), mCacheValid(false)
|
||||
{
|
||||
int count = android_atomic_inc(&gCount)+1;
|
||||
//ALOGI("Creating AssetManager %p #%d\n", this, count);
|
||||
int count = android_atomic_inc(&gCount) + 1;
|
||||
if (kIsDebug) {
|
||||
ALOGI("Creating AssetManager %p #%d\n", this, count);
|
||||
}
|
||||
memset(mConfig, 0, sizeof(ResTable_config));
|
||||
}
|
||||
|
||||
AssetManager::~AssetManager(void)
|
||||
{
|
||||
int count = android_atomic_dec(&gCount);
|
||||
//ALOGI("Destroying AssetManager in %p #%d\n", this, count);
|
||||
if (kIsDebug) {
|
||||
ALOGI("Destroying AssetManager in %p #%d\n", this, count);
|
||||
}
|
||||
|
||||
delete mConfig;
|
||||
delete mResources;
|
||||
@@ -1864,7 +1870,9 @@ AssetManager::SharedZip::SharedZip(const String8& path, time_t modWhen)
|
||||
: mPath(path), mZipFile(NULL), mModWhen(modWhen),
|
||||
mResourceTableAsset(NULL), mResourceTable(NULL)
|
||||
{
|
||||
//ALOGI("Creating SharedZip %p %s\n", this, (const char*)mPath);
|
||||
if (kIsDebug) {
|
||||
ALOGI("Creating SharedZip %p %s\n", this, (const char*)mPath);
|
||||
}
|
||||
ALOGV("+++ opening zip '%s'\n", mPath.string());
|
||||
mZipFile = ZipFileRO::open(mPath.string());
|
||||
if (mZipFile == NULL) {
|
||||
@@ -1958,7 +1966,9 @@ bool AssetManager::SharedZip::getOverlay(size_t idx, asset_path* out) const
|
||||
|
||||
AssetManager::SharedZip::~SharedZip()
|
||||
{
|
||||
//ALOGI("Destroying SharedZip %p %s\n", this, (const char*)mPath);
|
||||
if (kIsDebug) {
|
||||
ALOGI("Destroying SharedZip %p %s\n", this, (const char*)mPath);
|
||||
}
|
||||
if (mResourceTable != NULL) {
|
||||
delete mResourceTable;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
namespace android {
|
||||
|
||||
static const bool DEBUG = false;
|
||||
static const bool kIsDebug = false;
|
||||
|
||||
/*
|
||||
* File Format (v1):
|
||||
@@ -62,7 +62,7 @@ BackupDataWriter::BackupDataWriter(int fd)
|
||||
m_entityCount(0)
|
||||
{
|
||||
m_pos = (ssize_t) lseek(fd, 0, SEEK_CUR);
|
||||
if (DEBUG) ALOGI("BackupDataWriter(%d) @ %ld", fd, (long)m_pos);
|
||||
if (kIsDebug) ALOGI("BackupDataWriter(%d) @ %ld", fd, (long)m_pos);
|
||||
}
|
||||
|
||||
BackupDataWriter::~BackupDataWriter()
|
||||
@@ -79,7 +79,7 @@ BackupDataWriter::write_padding_for(int n)
|
||||
paddingSize = padding_extra(n);
|
||||
if (paddingSize > 0) {
|
||||
uint32_t padding = 0xbcbcbcbc;
|
||||
if (DEBUG) ALOGI("writing %zd padding bytes for %d", paddingSize, n);
|
||||
if (kIsDebug) ALOGI("writing %zd padding bytes for %d", paddingSize, n);
|
||||
amt = write(m_fd, &padding, paddingSize);
|
||||
if (amt != paddingSize) {
|
||||
m_status = errno;
|
||||
@@ -112,7 +112,7 @@ BackupDataWriter::WriteEntityHeader(const String8& key, size_t dataSize)
|
||||
} else {
|
||||
k = key;
|
||||
}
|
||||
if (DEBUG) {
|
||||
if (kIsDebug) {
|
||||
ALOGD("Writing header: prefix='%s' key='%s' dataSize=%zu", m_keyPrefix.string(),
|
||||
key.string(), dataSize);
|
||||
}
|
||||
@@ -126,7 +126,7 @@ BackupDataWriter::WriteEntityHeader(const String8& key, size_t dataSize)
|
||||
header.keyLen = tolel(keyLen);
|
||||
header.dataSize = tolel(dataSize);
|
||||
|
||||
if (DEBUG) ALOGI("writing entity header, %zu bytes", sizeof(entity_header_v1));
|
||||
if (kIsDebug) ALOGI("writing entity header, %zu bytes", sizeof(entity_header_v1));
|
||||
amt = write(m_fd, &header, sizeof(entity_header_v1));
|
||||
if (amt != sizeof(entity_header_v1)) {
|
||||
m_status = errno;
|
||||
@@ -134,7 +134,7 @@ BackupDataWriter::WriteEntityHeader(const String8& key, size_t dataSize)
|
||||
}
|
||||
m_pos += amt;
|
||||
|
||||
if (DEBUG) ALOGI("writing entity header key, %zd bytes", keyLen+1);
|
||||
if (kIsDebug) ALOGI("writing entity header key, %zd bytes", keyLen+1);
|
||||
amt = write(m_fd, k.string(), keyLen+1);
|
||||
if (amt != keyLen+1) {
|
||||
m_status = errno;
|
||||
@@ -152,10 +152,10 @@ BackupDataWriter::WriteEntityHeader(const String8& key, size_t dataSize)
|
||||
status_t
|
||||
BackupDataWriter::WriteEntityData(const void* data, size_t size)
|
||||
{
|
||||
if (DEBUG) ALOGD("Writing data: size=%lu", (unsigned long) size);
|
||||
if (kIsDebug) ALOGD("Writing data: size=%lu", (unsigned long) size);
|
||||
|
||||
if (m_status != NO_ERROR) {
|
||||
if (DEBUG) {
|
||||
if (kIsDebug) {
|
||||
ALOGD("Not writing data - stream in error state %d (%s)", m_status, strerror(m_status));
|
||||
}
|
||||
return m_status;
|
||||
@@ -167,7 +167,7 @@ BackupDataWriter::WriteEntityData(const void* data, size_t size)
|
||||
ssize_t amt = write(m_fd, data, size);
|
||||
if (amt != (ssize_t)size) {
|
||||
m_status = errno;
|
||||
if (DEBUG) ALOGD("write returned error %d (%s)", m_status, strerror(m_status));
|
||||
if (kIsDebug) ALOGD("write returned error %d (%s)", m_status, strerror(m_status));
|
||||
return m_status;
|
||||
}
|
||||
m_pos += amt;
|
||||
@@ -189,7 +189,7 @@ BackupDataReader::BackupDataReader(int fd)
|
||||
{
|
||||
memset(&m_header, 0, sizeof(m_header));
|
||||
m_pos = (ssize_t) lseek(fd, 0, SEEK_CUR);
|
||||
if (DEBUG) ALOGI("BackupDataReader(%d) @ %ld", fd, (long)m_pos);
|
||||
if (kIsDebug) ALOGI("BackupDataReader(%d) @ %ld", fd, (long)m_pos);
|
||||
}
|
||||
|
||||
BackupDataReader::~BackupDataReader()
|
||||
@@ -342,15 +342,19 @@ BackupDataReader::ReadEntityData(void* data, size_t size)
|
||||
return -1;
|
||||
}
|
||||
int remaining = m_dataEndPos - m_pos;
|
||||
//ALOGD("ReadEntityData size=%d m_pos=0x%x m_dataEndPos=0x%x remaining=%d\n",
|
||||
// size, m_pos, m_dataEndPos, remaining);
|
||||
if (kIsDebug) {
|
||||
ALOGD("ReadEntityData size=%d m_pos=0x%x m_dataEndPos=0x%x remaining=%d\n",
|
||||
size, m_pos, m_dataEndPos, remaining);
|
||||
}
|
||||
if (remaining <= 0) {
|
||||
return 0;
|
||||
}
|
||||
if (((int)size) > remaining) {
|
||||
size = remaining;
|
||||
}
|
||||
//ALOGD(" reading %d bytes", size);
|
||||
if (kIsDebug) {
|
||||
ALOGD(" reading %d bytes", size);
|
||||
}
|
||||
int amt = read(m_fd, data, size);
|
||||
if (amt < 0) {
|
||||
m_status = errno;
|
||||
|
||||
@@ -68,14 +68,11 @@ struct file_metadata_v1 {
|
||||
|
||||
const static int CURRENT_METADATA_VERSION = 1;
|
||||
|
||||
#if 1
|
||||
#define LOGP(f, x...)
|
||||
#else
|
||||
static const bool kIsDebug = false;
|
||||
#if TEST_BACKUP_HELPERS
|
||||
#define LOGP(f, x...) printf(f "\n", x)
|
||||
#define LOGP(f, x...) if (kIsDebug) printf(f "\n", x)
|
||||
#else
|
||||
#define LOGP(x...) ALOGD(x)
|
||||
#endif
|
||||
#define LOGP(x...) if (kIsDebug) ALOGD(x)
|
||||
#endif
|
||||
|
||||
const static int ROUND_UP[4] = { 0, 3, 2, 1 };
|
||||
@@ -204,13 +201,6 @@ write_snapshot_file(int fd, const KeyedVector<String8,FileRec>& snapshot)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
write_delete_file(BackupDataWriter* dataStream, const String8& key)
|
||||
{
|
||||
LOGP("write_delete_file %s\n", key.string());
|
||||
return dataStream->WriteEntityHeader(key, -1);
|
||||
}
|
||||
|
||||
static int
|
||||
write_update_file(BackupDataWriter* dataStream, int fd, int mode, const String8& key,
|
||||
char const* realFilename)
|
||||
@@ -225,8 +215,6 @@ write_update_file(BackupDataWriter* dataStream, int fd, int mode, const String8&
|
||||
file_metadata_v1 metadata;
|
||||
|
||||
char* buf = (char*)malloc(bufsize);
|
||||
int crc = crc32(0L, Z_NULL, 0);
|
||||
|
||||
|
||||
fileSize = lseek(fd, 0, SEEK_END);
|
||||
lseek(fd, 0, SEEK_SET);
|
||||
@@ -442,18 +430,6 @@ back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Utility function, equivalent to stpcpy(): perform a strcpy, but instead of
|
||||
// returning the initial dest, return a pointer to the trailing NUL.
|
||||
static char* strcpy_ptr(char* dest, const char* str) {
|
||||
if (dest && str) {
|
||||
while ((*dest = *str) != 0) {
|
||||
dest++;
|
||||
str++;
|
||||
}
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
|
||||
static void calc_tar_checksum(char* buf) {
|
||||
// [ 148 : 8 ] checksum -- to be calculated with this field as space chars
|
||||
memset(buf + 148, ' ', 8);
|
||||
@@ -635,7 +611,6 @@ int write_tarfile(const String8& packageName, const String8& domain,
|
||||
|
||||
// construct the pax extended header data block
|
||||
memset(paxData, 0, BUFSIZE - (paxData - buf));
|
||||
int len;
|
||||
|
||||
// size header -- calc len in digits by actually rendering the number
|
||||
// to a string - brute force but simple
|
||||
@@ -1200,7 +1175,6 @@ test_read_header_and_entity(BackupDataReader& reader, const char* str)
|
||||
size_t bufSize = strlen(str)+1;
|
||||
char* buf = (char*)malloc(bufSize);
|
||||
String8 string;
|
||||
int cookie = 0x11111111;
|
||||
size_t actualSize;
|
||||
bool done;
|
||||
int type;
|
||||
@@ -1490,7 +1464,6 @@ int
|
||||
backup_helper_test_null_base()
|
||||
{
|
||||
int err;
|
||||
int oldSnapshotFD;
|
||||
int dataStreamFD;
|
||||
int newSnapshotFD;
|
||||
|
||||
@@ -1539,7 +1512,6 @@ int
|
||||
backup_helper_test_missing_file()
|
||||
{
|
||||
int err;
|
||||
int oldSnapshotFD;
|
||||
int dataStreamFD;
|
||||
int newSnapshotFD;
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ bool ObbFile::parseObbFile(int fd)
|
||||
if (fileLength < 0) {
|
||||
ALOGW("error seeking in ObbFile: %s\n", strerror(errno));
|
||||
} else {
|
||||
ALOGW("file is only %lld (less than %d minimum)\n", fileLength, kFooterMinSize);
|
||||
ALOGW("file is only %lld (less than %d minimum)\n", (long long int)fileLength, kFooterMinSize);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -150,8 +150,8 @@ bool ObbFile::parseObbFile(int fd)
|
||||
footerSize = get4LE((unsigned char*)footer);
|
||||
if (footerSize > (size_t)fileLength - kFooterTagSize
|
||||
|| footerSize > kMaxBufSize) {
|
||||
ALOGW("claimed footer size is too large (0x%08zx; file size is 0x%08llx)\n",
|
||||
footerSize, fileLength);
|
||||
ALOGW("claimed footer size is too large (0x%08zx; file size is 0x%08lld)\n",
|
||||
footerSize, (long long int)fileLength);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ bool ObbFile::parseObbFile(int fd)
|
||||
|
||||
off64_t fileOffset = fileLength - footerSize - kFooterTagSize;
|
||||
if (lseek64(fd, fileOffset, SEEK_SET) != fileOffset) {
|
||||
ALOGW("seek %lld failed: %s\n", fileOffset, strerror(errno));
|
||||
ALOGW("seek %lld failed: %s\n", (long long int)fileOffset, strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -41,6 +41,8 @@
|
||||
_rc; })
|
||||
#endif
|
||||
|
||||
static const bool kIsDebug = false;
|
||||
|
||||
static inline size_t min_of(size_t a, size_t b) { return (a < b) ? a : b; }
|
||||
|
||||
using namespace android;
|
||||
@@ -209,7 +211,9 @@ int StreamingZipInflater::readNextChunk() {
|
||||
size_t toRead = min_of(mInBufSize, mInTotalSize - mInNextChunkOffset);
|
||||
if (toRead > 0) {
|
||||
ssize_t didRead = TEMP_FAILURE_RETRY(::read(mFd, mInBuf, toRead));
|
||||
//ALOGV("Reading input chunk, size %08x didread %08x", toRead, didRead);
|
||||
if (kIsDebug) {
|
||||
ALOGV("Reading input chunk, size %08zx didread %08zx", toRead, didRead);
|
||||
}
|
||||
if (didRead < 0) {
|
||||
ALOGE("Error reading asset data: %s", strerror(errno));
|
||||
return didRead;
|
||||
|
||||
@@ -34,14 +34,6 @@
|
||||
#include <assert.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/*
|
||||
* We must open binary files using open(path, ... | O_BINARY) under Windows.
|
||||
* Otherwise strange read errors will happen.
|
||||
*/
|
||||
#ifndef O_BINARY
|
||||
# define O_BINARY 0
|
||||
#endif
|
||||
|
||||
using namespace android;
|
||||
|
||||
class _ZipEntryRO {
|
||||
|
||||
@@ -37,12 +37,17 @@ testFiles := \
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libandroidfw_tests
|
||||
|
||||
LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
|
||||
# gtest is broken.
|
||||
LOCAL_CFLAGS += -Wno-unnamed-type-template-args
|
||||
|
||||
LOCAL_SRC_FILES := $(testFiles)
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libandroidfw \
|
||||
libutils \
|
||||
libcutils \
|
||||
liblog
|
||||
liblog
|
||||
|
||||
include $(BUILD_HOST_NATIVE_TEST)
|
||||
|
||||
@@ -54,6 +59,11 @@ ifneq ($(SDK_ONLY),true)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libandroidfw_tests
|
||||
|
||||
LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
|
||||
# gtest is broken.
|
||||
LOCAL_CFLAGS += -Wno-unnamed-type-template-args
|
||||
|
||||
LOCAL_SRC_FILES := $(testFiles) \
|
||||
BackupData_test.cpp \
|
||||
ObbFile_test.cpp
|
||||
|
||||
Reference in New Issue
Block a user