am 9d25b82d: Merge "Rename LOG_ASSERT to ALOG_ASSERT"
* commit '9d25b82d280c2d979d500e7da4447148f32f820b': Rename LOG_ASSERT to ALOG_ASSERT
This commit is contained in:
committed by
Android Git Automerger
commit
c3c36b4fe5
@@ -309,7 +309,7 @@ iterateOverNativeFiles(JNIEnv *env, jstring javaFilePath, jstring javaCpuAbi, js
|
|||||||
}
|
}
|
||||||
|
|
||||||
const char* lastSlash = strrchr(fileName, '/');
|
const char* lastSlash = strrchr(fileName, '/');
|
||||||
LOG_ASSERT(lastSlash != NULL, "last slash was null somehow for %s\n", fileName);
|
ALOG_ASSERT(lastSlash != NULL, "last slash was null somehow for %s\n", fileName);
|
||||||
|
|
||||||
// Check to make sure the CPU ABI of this file is one we support.
|
// Check to make sure the CPU ABI of this file is one we support.
|
||||||
const char* cpuAbiOffset = fileName + APK_LIB_LEN;
|
const char* cpuAbiOffset = fileName + APK_LIB_LEN;
|
||||||
|
|||||||
@@ -692,7 +692,7 @@ status_t IPCThreadState::waitForResponse(Parcel *reply, status_t *acquireResult)
|
|||||||
|
|
||||||
case BR_ACQUIRE_RESULT:
|
case BR_ACQUIRE_RESULT:
|
||||||
{
|
{
|
||||||
LOG_ASSERT(acquireResult != NULL, "Unexpected brACQUIRE_RESULT");
|
ALOG_ASSERT(acquireResult != NULL, "Unexpected brACQUIRE_RESULT");
|
||||||
const int32_t result = mIn.readInt32();
|
const int32_t result = mIn.readInt32();
|
||||||
if (!acquireResult) continue;
|
if (!acquireResult) continue;
|
||||||
*acquireResult = result ? NO_ERROR : INVALID_OPERATION;
|
*acquireResult = result ? NO_ERROR : INVALID_OPERATION;
|
||||||
@@ -703,7 +703,7 @@ status_t IPCThreadState::waitForResponse(Parcel *reply, status_t *acquireResult)
|
|||||||
{
|
{
|
||||||
binder_transaction_data tr;
|
binder_transaction_data tr;
|
||||||
err = mIn.read(&tr, sizeof(tr));
|
err = mIn.read(&tr, sizeof(tr));
|
||||||
LOG_ASSERT(err == NO_ERROR, "Not enough command data for brREPLY");
|
ALOG_ASSERT(err == NO_ERROR, "Not enough command data for brREPLY");
|
||||||
if (err != NO_ERROR) goto finish;
|
if (err != NO_ERROR) goto finish;
|
||||||
|
|
||||||
if (reply) {
|
if (reply) {
|
||||||
@@ -752,7 +752,7 @@ finish:
|
|||||||
|
|
||||||
status_t IPCThreadState::talkWithDriver(bool doReceive)
|
status_t IPCThreadState::talkWithDriver(bool doReceive)
|
||||||
{
|
{
|
||||||
LOG_ASSERT(mProcess->mDriverFD >= 0, "Binder driver is not opened");
|
ALOG_ASSERT(mProcess->mDriverFD >= 0, "Binder driver is not opened");
|
||||||
|
|
||||||
binder_write_read bwr;
|
binder_write_read bwr;
|
||||||
|
|
||||||
@@ -905,7 +905,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
|||||||
case BR_ACQUIRE:
|
case BR_ACQUIRE:
|
||||||
refs = (RefBase::weakref_type*)mIn.readInt32();
|
refs = (RefBase::weakref_type*)mIn.readInt32();
|
||||||
obj = (BBinder*)mIn.readInt32();
|
obj = (BBinder*)mIn.readInt32();
|
||||||
LOG_ASSERT(refs->refBase() == obj,
|
ALOG_ASSERT(refs->refBase() == obj,
|
||||||
"BR_ACQUIRE: object %p does not match cookie %p (expected %p)",
|
"BR_ACQUIRE: object %p does not match cookie %p (expected %p)",
|
||||||
refs, obj, refs->refBase());
|
refs, obj, refs->refBase());
|
||||||
obj->incStrong(mProcess.get());
|
obj->incStrong(mProcess.get());
|
||||||
@@ -921,7 +921,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
|||||||
case BR_RELEASE:
|
case BR_RELEASE:
|
||||||
refs = (RefBase::weakref_type*)mIn.readInt32();
|
refs = (RefBase::weakref_type*)mIn.readInt32();
|
||||||
obj = (BBinder*)mIn.readInt32();
|
obj = (BBinder*)mIn.readInt32();
|
||||||
LOG_ASSERT(refs->refBase() == obj,
|
ALOG_ASSERT(refs->refBase() == obj,
|
||||||
"BR_RELEASE: object %p does not match cookie %p (expected %p)",
|
"BR_RELEASE: object %p does not match cookie %p (expected %p)",
|
||||||
refs, obj, refs->refBase());
|
refs, obj, refs->refBase());
|
||||||
IF_LOG_REMOTEREFS() {
|
IF_LOG_REMOTEREFS() {
|
||||||
@@ -946,7 +946,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
|||||||
// NOTE: This assertion is not valid, because the object may no
|
// NOTE: This assertion is not valid, because the object may no
|
||||||
// longer exist (thus the (BBinder*)cast above resulting in a different
|
// longer exist (thus the (BBinder*)cast above resulting in a different
|
||||||
// memory address).
|
// memory address).
|
||||||
//LOG_ASSERT(refs->refBase() == obj,
|
//ALOG_ASSERT(refs->refBase() == obj,
|
||||||
// "BR_DECREFS: object %p does not match cookie %p (expected %p)",
|
// "BR_DECREFS: object %p does not match cookie %p (expected %p)",
|
||||||
// refs, obj, refs->refBase());
|
// refs, obj, refs->refBase());
|
||||||
mPendingWeakDerefs.push(refs);
|
mPendingWeakDerefs.push(refs);
|
||||||
@@ -958,7 +958,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
|||||||
|
|
||||||
{
|
{
|
||||||
const bool success = refs->attemptIncStrong(mProcess.get());
|
const bool success = refs->attemptIncStrong(mProcess.get());
|
||||||
LOG_ASSERT(success && refs->refBase() == obj,
|
ALOG_ASSERT(success && refs->refBase() == obj,
|
||||||
"BR_ATTEMPT_ACQUIRE: object %p does not match cookie %p (expected %p)",
|
"BR_ATTEMPT_ACQUIRE: object %p does not match cookie %p (expected %p)",
|
||||||
refs, obj, refs->refBase());
|
refs, obj, refs->refBase());
|
||||||
|
|
||||||
@@ -971,7 +971,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
|||||||
{
|
{
|
||||||
binder_transaction_data tr;
|
binder_transaction_data tr;
|
||||||
result = mIn.read(&tr, sizeof(tr));
|
result = mIn.read(&tr, sizeof(tr));
|
||||||
LOG_ASSERT(result == NO_ERROR,
|
ALOG_ASSERT(result == NO_ERROR,
|
||||||
"Not enough command data for brTRANSACTION");
|
"Not enough command data for brTRANSACTION");
|
||||||
if (result != NO_ERROR) break;
|
if (result != NO_ERROR) break;
|
||||||
|
|
||||||
@@ -1114,7 +1114,7 @@ void IPCThreadState::freeBuffer(Parcel* parcel, const uint8_t* data, size_t data
|
|||||||
IF_LOG_COMMANDS() {
|
IF_LOG_COMMANDS() {
|
||||||
alog << "Writing BC_FREE_BUFFER for " << data << endl;
|
alog << "Writing BC_FREE_BUFFER for " << data << endl;
|
||||||
}
|
}
|
||||||
LOG_ASSERT(data != NULL, "Called with NULL data");
|
ALOG_ASSERT(data != NULL, "Called with NULL data");
|
||||||
if (parcel != NULL) parcel->closeFileDescriptors();
|
if (parcel != NULL) parcel->closeFileDescriptors();
|
||||||
IPCThreadState* state = self();
|
IPCThreadState* state = self();
|
||||||
state->mOut.writeInt32(BC_FREE_BUFFER);
|
state->mOut.writeInt32(BC_FREE_BUFFER);
|
||||||
|
|||||||
@@ -332,7 +332,7 @@ void RefBase::incStrong(const void* id) const
|
|||||||
|
|
||||||
refs->addStrongRef(id);
|
refs->addStrongRef(id);
|
||||||
const int32_t c = android_atomic_inc(&refs->mStrong);
|
const int32_t c = android_atomic_inc(&refs->mStrong);
|
||||||
LOG_ASSERT(c > 0, "incStrong() called on %p after last strong ref", refs);
|
ALOG_ASSERT(c > 0, "incStrong() called on %p after last strong ref", refs);
|
||||||
#if PRINT_REFS
|
#if PRINT_REFS
|
||||||
ALOGD("incStrong of %p from %p: cnt=%d\n", this, id, c);
|
ALOGD("incStrong of %p from %p: cnt=%d\n", this, id, c);
|
||||||
#endif
|
#endif
|
||||||
@@ -352,7 +352,7 @@ void RefBase::decStrong(const void* id) const
|
|||||||
#if PRINT_REFS
|
#if PRINT_REFS
|
||||||
ALOGD("decStrong of %p from %p: cnt=%d\n", this, id, c);
|
ALOGD("decStrong of %p from %p: cnt=%d\n", this, id, c);
|
||||||
#endif
|
#endif
|
||||||
LOG_ASSERT(c >= 1, "decStrong() called on %p too many times", refs);
|
ALOG_ASSERT(c >= 1, "decStrong() called on %p too many times", refs);
|
||||||
if (c == 1) {
|
if (c == 1) {
|
||||||
refs->mBase->onLastStrongRef(id);
|
refs->mBase->onLastStrongRef(id);
|
||||||
if ((refs->mFlags&OBJECT_LIFETIME_MASK) == OBJECT_LIFETIME_STRONG) {
|
if ((refs->mFlags&OBJECT_LIFETIME_MASK) == OBJECT_LIFETIME_STRONG) {
|
||||||
@@ -369,7 +369,7 @@ void RefBase::forceIncStrong(const void* id) const
|
|||||||
|
|
||||||
refs->addStrongRef(id);
|
refs->addStrongRef(id);
|
||||||
const int32_t c = android_atomic_inc(&refs->mStrong);
|
const int32_t c = android_atomic_inc(&refs->mStrong);
|
||||||
LOG_ASSERT(c >= 0, "forceIncStrong called on %p after ref count underflow",
|
ALOG_ASSERT(c >= 0, "forceIncStrong called on %p after ref count underflow",
|
||||||
refs);
|
refs);
|
||||||
#if PRINT_REFS
|
#if PRINT_REFS
|
||||||
ALOGD("forceIncStrong of %p from %p: cnt=%d\n", this, id, c);
|
ALOGD("forceIncStrong of %p from %p: cnt=%d\n", this, id, c);
|
||||||
@@ -399,7 +399,7 @@ void RefBase::weakref_type::incWeak(const void* id)
|
|||||||
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
||||||
impl->addWeakRef(id);
|
impl->addWeakRef(id);
|
||||||
const int32_t c = android_atomic_inc(&impl->mWeak);
|
const int32_t c = android_atomic_inc(&impl->mWeak);
|
||||||
LOG_ASSERT(c >= 0, "incWeak called on %p after last weak ref", this);
|
ALOG_ASSERT(c >= 0, "incWeak called on %p after last weak ref", this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -408,7 +408,7 @@ void RefBase::weakref_type::decWeak(const void* id)
|
|||||||
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
||||||
impl->removeWeakRef(id);
|
impl->removeWeakRef(id);
|
||||||
const int32_t c = android_atomic_dec(&impl->mWeak);
|
const int32_t c = android_atomic_dec(&impl->mWeak);
|
||||||
LOG_ASSERT(c >= 1, "decWeak called on %p too many times", this);
|
ALOG_ASSERT(c >= 1, "decWeak called on %p too many times", this);
|
||||||
if (c != 1) return;
|
if (c != 1) return;
|
||||||
|
|
||||||
if ((impl->mFlags&OBJECT_LIFETIME_WEAK) == OBJECT_LIFETIME_STRONG) {
|
if ((impl->mFlags&OBJECT_LIFETIME_WEAK) == OBJECT_LIFETIME_STRONG) {
|
||||||
@@ -442,7 +442,7 @@ bool RefBase::weakref_type::attemptIncStrong(const void* id)
|
|||||||
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
||||||
|
|
||||||
int32_t curCount = impl->mStrong;
|
int32_t curCount = impl->mStrong;
|
||||||
LOG_ASSERT(curCount >= 0, "attemptIncStrong called on %p after underflow",
|
ALOG_ASSERT(curCount >= 0, "attemptIncStrong called on %p after underflow",
|
||||||
this);
|
this);
|
||||||
while (curCount > 0 && curCount != INITIAL_STRONG_VALUE) {
|
while (curCount > 0 && curCount != INITIAL_STRONG_VALUE) {
|
||||||
if (android_atomic_cmpxchg(curCount, curCount+1, &impl->mStrong) == 0) {
|
if (android_atomic_cmpxchg(curCount, curCount+1, &impl->mStrong) == 0) {
|
||||||
@@ -503,7 +503,7 @@ bool RefBase::weakref_type::attemptIncWeak(const void* id)
|
|||||||
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
weakref_impl* const impl = static_cast<weakref_impl*>(this);
|
||||||
|
|
||||||
int32_t curCount = impl->mWeak;
|
int32_t curCount = impl->mWeak;
|
||||||
LOG_ASSERT(curCount >= 0, "attemptIncWeak called on %p after underflow",
|
ALOG_ASSERT(curCount >= 0, "attemptIncWeak called on %p after underflow",
|
||||||
this);
|
this);
|
||||||
while (curCount > 0) {
|
while (curCount > 0) {
|
||||||
if (android_atomic_cmpxchg(curCount, curCount+1, &impl->mWeak) == 0) {
|
if (android_atomic_cmpxchg(curCount, curCount+1, &impl->mWeak) == 0) {
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ String16::String16(const char16_t* o)
|
|||||||
{
|
{
|
||||||
size_t len = strlen16(o);
|
size_t len = strlen16(o);
|
||||||
SharedBuffer* buf = SharedBuffer::alloc((len+1)*sizeof(char16_t));
|
SharedBuffer* buf = SharedBuffer::alloc((len+1)*sizeof(char16_t));
|
||||||
LOG_ASSERT(buf, "Unable to allocate shared buffer");
|
ALOG_ASSERT(buf, "Unable to allocate shared buffer");
|
||||||
if (buf) {
|
if (buf) {
|
||||||
char16_t* str = (char16_t*)buf->data();
|
char16_t* str = (char16_t*)buf->data();
|
||||||
strcpy16(str, o);
|
strcpy16(str, o);
|
||||||
@@ -126,7 +126,7 @@ String16::String16(const char16_t* o)
|
|||||||
String16::String16(const char16_t* o, size_t len)
|
String16::String16(const char16_t* o, size_t len)
|
||||||
{
|
{
|
||||||
SharedBuffer* buf = SharedBuffer::alloc((len+1)*sizeof(char16_t));
|
SharedBuffer* buf = SharedBuffer::alloc((len+1)*sizeof(char16_t));
|
||||||
LOG_ASSERT(buf, "Unable to allocate shared buffer");
|
ALOG_ASSERT(buf, "Unable to allocate shared buffer");
|
||||||
if (buf) {
|
if (buf) {
|
||||||
char16_t* str = (char16_t*)buf->data();
|
char16_t* str = (char16_t*)buf->data();
|
||||||
memcpy(str, o, len*sizeof(char16_t));
|
memcpy(str, o, len*sizeof(char16_t));
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ static char* allocFromUTF8(const char* in, size_t len)
|
|||||||
{
|
{
|
||||||
if (len > 0) {
|
if (len > 0) {
|
||||||
SharedBuffer* buf = SharedBuffer::alloc(len+1);
|
SharedBuffer* buf = SharedBuffer::alloc(len+1);
|
||||||
LOG_ASSERT(buf, "Unable to allocate shared buffer");
|
ALOG_ASSERT(buf, "Unable to allocate shared buffer");
|
||||||
if (buf) {
|
if (buf) {
|
||||||
char* str = (char*)buf->data();
|
char* str = (char*)buf->data();
|
||||||
memcpy(str, in, len);
|
memcpy(str, in, len);
|
||||||
@@ -103,7 +103,7 @@ static char* allocFromUTF16(const char16_t* in, size_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SharedBuffer* buf = SharedBuffer::alloc(bytes+1);
|
SharedBuffer* buf = SharedBuffer::alloc(bytes+1);
|
||||||
LOG_ASSERT(buf, "Unable to allocate shared buffer");
|
ALOG_ASSERT(buf, "Unable to allocate shared buffer");
|
||||||
if (!buf) {
|
if (!buf) {
|
||||||
return getEmptyString();
|
return getEmptyString();
|
||||||
}
|
}
|
||||||
@@ -125,7 +125,7 @@ static char* allocFromUTF32(const char32_t* in, size_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SharedBuffer* buf = SharedBuffer::alloc(bytes+1);
|
SharedBuffer* buf = SharedBuffer::alloc(bytes+1);
|
||||||
LOG_ASSERT(buf, "Unable to allocate shared buffer");
|
ALOG_ASSERT(buf, "Unable to allocate shared buffer");
|
||||||
if (!buf) {
|
if (!buf) {
|
||||||
return getEmptyString();
|
return getEmptyString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ VectorImpl::VectorImpl(const VectorImpl& rhs)
|
|||||||
|
|
||||||
VectorImpl::~VectorImpl()
|
VectorImpl::~VectorImpl()
|
||||||
{
|
{
|
||||||
LOG_ASSERT(!mCount,
|
ALOG_ASSERT(!mCount,
|
||||||
"[%p] "
|
"[%p] "
|
||||||
"subclasses of VectorImpl must call finish_vector()"
|
"subclasses of VectorImpl must call finish_vector()"
|
||||||
" in their destructor. Leaking %d bytes.",
|
" in their destructor. Leaking %d bytes.",
|
||||||
@@ -66,7 +66,7 @@ VectorImpl::~VectorImpl()
|
|||||||
|
|
||||||
VectorImpl& VectorImpl::operator = (const VectorImpl& rhs)
|
VectorImpl& VectorImpl::operator = (const VectorImpl& rhs)
|
||||||
{
|
{
|
||||||
LOG_ASSERT(mItemSize == rhs.mItemSize,
|
ALOG_ASSERT(mItemSize == rhs.mItemSize,
|
||||||
"Vector<> have different types (this=%p, rhs=%p)", this, &rhs);
|
"Vector<> have different types (this=%p, rhs=%p)", this, &rhs);
|
||||||
if (this != &rhs) {
|
if (this != &rhs) {
|
||||||
release_storage();
|
release_storage();
|
||||||
@@ -248,7 +248,7 @@ ssize_t VectorImpl::replaceAt(size_t index)
|
|||||||
|
|
||||||
ssize_t VectorImpl::replaceAt(const void* prototype, size_t index)
|
ssize_t VectorImpl::replaceAt(const void* prototype, size_t index)
|
||||||
{
|
{
|
||||||
LOG_ASSERT(index<size(),
|
ALOG_ASSERT(index<size(),
|
||||||
"[%p] replace: index=%d, size=%d", this, (int)index, (int)size());
|
"[%p] replace: index=%d, size=%d", this, (int)index, (int)size());
|
||||||
|
|
||||||
void* item = editItemLocation(index);
|
void* item = editItemLocation(index);
|
||||||
@@ -267,7 +267,7 @@ ssize_t VectorImpl::replaceAt(const void* prototype, size_t index)
|
|||||||
|
|
||||||
ssize_t VectorImpl::removeItemsAt(size_t index, size_t count)
|
ssize_t VectorImpl::removeItemsAt(size_t index, size_t count)
|
||||||
{
|
{
|
||||||
LOG_ASSERT((index+count)<=size(),
|
ALOG_ASSERT((index+count)<=size(),
|
||||||
"[%p] remove: index=%d, count=%d, size=%d",
|
"[%p] remove: index=%d, count=%d, size=%d",
|
||||||
this, (int)index, (int)count, (int)size());
|
this, (int)index, (int)count, (int)size());
|
||||||
|
|
||||||
@@ -291,7 +291,7 @@ void VectorImpl::clear()
|
|||||||
|
|
||||||
void* VectorImpl::editItemLocation(size_t index)
|
void* VectorImpl::editItemLocation(size_t index)
|
||||||
{
|
{
|
||||||
LOG_ASSERT(index<capacity(),
|
ALOG_ASSERT(index<capacity(),
|
||||||
"[%p] editItemLocation: index=%d, capacity=%d, count=%d",
|
"[%p] editItemLocation: index=%d, capacity=%d, count=%d",
|
||||||
this, (int)index, (int)capacity(), (int)mCount);
|
this, (int)index, (int)capacity(), (int)mCount);
|
||||||
|
|
||||||
@@ -303,7 +303,7 @@ void* VectorImpl::editItemLocation(size_t index)
|
|||||||
|
|
||||||
const void* VectorImpl::itemLocation(size_t index) const
|
const void* VectorImpl::itemLocation(size_t index) const
|
||||||
{
|
{
|
||||||
LOG_ASSERT(index<capacity(),
|
ALOG_ASSERT(index<capacity(),
|
||||||
"[%p] itemLocation: index=%d, capacity=%d, count=%d",
|
"[%p] itemLocation: index=%d, capacity=%d, count=%d",
|
||||||
this, (int)index, (int)capacity(), (int)mCount);
|
this, (int)index, (int)capacity(), (int)mCount);
|
||||||
|
|
||||||
@@ -349,7 +349,7 @@ void* VectorImpl::_grow(size_t where, size_t amount)
|
|||||||
// ALOGV("_grow(this=%p, where=%d, amount=%d) count=%d, capacity=%d",
|
// ALOGV("_grow(this=%p, where=%d, amount=%d) count=%d, capacity=%d",
|
||||||
// this, (int)where, (int)amount, (int)mCount, (int)capacity());
|
// this, (int)where, (int)amount, (int)mCount, (int)capacity());
|
||||||
|
|
||||||
LOG_ASSERT(where <= mCount,
|
ALOG_ASSERT(where <= mCount,
|
||||||
"[%p] _grow: where=%d, amount=%d, count=%d",
|
"[%p] _grow: where=%d, amount=%d, count=%d",
|
||||||
this, (int)where, (int)amount, (int)mCount); // caller already checked
|
this, (int)where, (int)amount, (int)mCount); // caller already checked
|
||||||
|
|
||||||
@@ -402,7 +402,7 @@ void VectorImpl::_shrink(size_t where, size_t amount)
|
|||||||
// ALOGV("_shrink(this=%p, where=%d, amount=%d) count=%d, capacity=%d",
|
// ALOGV("_shrink(this=%p, where=%d, amount=%d) count=%d, capacity=%d",
|
||||||
// this, (int)where, (int)amount, (int)mCount, (int)capacity());
|
// this, (int)where, (int)amount, (int)mCount, (int)capacity());
|
||||||
|
|
||||||
LOG_ASSERT(where + amount <= mCount,
|
ALOG_ASSERT(where + amount <= mCount,
|
||||||
"[%p] _shrink: where=%d, amount=%d, count=%d",
|
"[%p] _shrink: where=%d, amount=%d, count=%d",
|
||||||
this, (int)where, (int)amount, (int)mCount); // caller already checked
|
this, (int)where, (int)amount, (int)mCount); // caller already checked
|
||||||
|
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ status_t TestPlayerStub::resetInternal()
|
|||||||
mContentUrl = NULL;
|
mContentUrl = NULL;
|
||||||
|
|
||||||
if (mPlayer) {
|
if (mPlayer) {
|
||||||
LOG_ASSERT(mDeletePlayer != NULL, "mDeletePlayer is null");
|
ALOG_ASSERT(mDeletePlayer != NULL, "mDeletePlayer is null");
|
||||||
(*mDeletePlayer)(mPlayer);
|
(*mDeletePlayer)(mPlayer);
|
||||||
mPlayer = NULL;
|
mPlayer = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ AudioResampler::AudioResampler(int bitDepth, int inChannelCount,
|
|||||||
if ((bitDepth != 16) ||(inChannelCount < 1) || (inChannelCount > 2)) {
|
if ((bitDepth != 16) ||(inChannelCount < 1) || (inChannelCount > 2)) {
|
||||||
ALOGE("Unsupported sample format, %d bits, %d channels", bitDepth,
|
ALOGE("Unsupported sample format, %d bits, %d channels", bitDepth,
|
||||||
inChannelCount);
|
inChannelCount);
|
||||||
// LOG_ASSERT(0);
|
// ALOG_ASSERT(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// initialize common members
|
// initialize common members
|
||||||
@@ -164,7 +164,7 @@ void AudioResamplerOrder1::resample(int32_t* out, size_t outFrameCount,
|
|||||||
AudioBufferProvider* provider) {
|
AudioBufferProvider* provider) {
|
||||||
|
|
||||||
// should never happen, but we overflow if it does
|
// should never happen, but we overflow if it does
|
||||||
// LOG_ASSERT(outFrameCount < 32767);
|
// ALOG_ASSERT(outFrameCount < 32767);
|
||||||
|
|
||||||
// select the appropriate resampler
|
// select the appropriate resampler
|
||||||
switch (mChannelCount) {
|
switch (mChannelCount) {
|
||||||
@@ -261,7 +261,7 @@ void AudioResamplerOrder1::resampleStereo16(int32_t* out, size_t outFrameCount,
|
|||||||
provider->releaseBuffer(&mBuffer);
|
provider->releaseBuffer(&mBuffer);
|
||||||
|
|
||||||
// verify that the releaseBuffer resets the buffer frameCount
|
// verify that the releaseBuffer resets the buffer frameCount
|
||||||
// LOG_ASSERT(mBuffer.frameCount == 0);
|
// ALOG_ASSERT(mBuffer.frameCount == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@ void AudioResamplerOrder1::resampleMono16(int32_t* out, size_t outFrameCount,
|
|||||||
provider->releaseBuffer(&mBuffer);
|
provider->releaseBuffer(&mBuffer);
|
||||||
|
|
||||||
// verify that the releaseBuffer resets the buffer frameCount
|
// verify that the releaseBuffer resets the buffer frameCount
|
||||||
// LOG_ASSERT(mBuffer.frameCount == 0);
|
// ALOG_ASSERT(mBuffer.frameCount == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ void AudioResamplerCubic::resample(int32_t* out, size_t outFrameCount,
|
|||||||
AudioBufferProvider* provider) {
|
AudioBufferProvider* provider) {
|
||||||
|
|
||||||
// should never happen, but we overflow if it does
|
// should never happen, but we overflow if it does
|
||||||
// LOG_ASSERT(outFrameCount < 32767);
|
// ALOG_ASSERT(outFrameCount < 32767);
|
||||||
|
|
||||||
// select the appropriate resampler
|
// select the appropriate resampler
|
||||||
switch (mChannelCount) {
|
switch (mChannelCount) {
|
||||||
|
|||||||
@@ -535,7 +535,7 @@ EventHub::Device* EventHub::getDeviceByPathLocked(const char* devicePath) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
size_t EventHub::getEvents(int timeoutMillis, RawEvent* buffer, size_t bufferSize) {
|
size_t EventHub::getEvents(int timeoutMillis, RawEvent* buffer, size_t bufferSize) {
|
||||||
LOG_ASSERT(bufferSize >= 1);
|
ALOG_ASSERT(bufferSize >= 1);
|
||||||
|
|
||||||
AutoMutex _l(mLock);
|
AutoMutex _l(mLock);
|
||||||
|
|
||||||
|
|||||||
@@ -384,7 +384,7 @@ void InputDispatcher::dispatchOnceInnerLocked(nsecs_t* nextWakeupTime) {
|
|||||||
|
|
||||||
// Now we have an event to dispatch.
|
// Now we have an event to dispatch.
|
||||||
// All events are eventually dequeued and processed this way, even if we intend to drop them.
|
// All events are eventually dequeued and processed this way, even if we intend to drop them.
|
||||||
LOG_ASSERT(mPendingEvent != NULL);
|
ALOG_ASSERT(mPendingEvent != NULL);
|
||||||
bool done = false;
|
bool done = false;
|
||||||
DropReason dropReason = DROP_REASON_NOT_DROPPED;
|
DropReason dropReason = DROP_REASON_NOT_DROPPED;
|
||||||
if (!(mPendingEvent->policyFlags & POLICY_FLAG_PASS_TO_USER)) {
|
if (!(mPendingEvent->policyFlags & POLICY_FLAG_PASS_TO_USER)) {
|
||||||
@@ -453,7 +453,7 @@ void InputDispatcher::dispatchOnceInnerLocked(nsecs_t* nextWakeupTime) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -590,7 +590,7 @@ void InputDispatcher::dropInboundEventLocked(EventEntry* entry, DropReason dropR
|
|||||||
reason = "inbound event was dropped because it is stale";
|
reason = "inbound event was dropped because it is stale";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1025,7 +1025,7 @@ void InputDispatcher::dispatchEventToCurrentInputTargetsLocked(nsecs_t currentTi
|
|||||||
toString(resumeWithAppendedMotionSample));
|
toString(resumeWithAppendedMotionSample));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LOG_ASSERT(eventEntry->dispatchInProgress); // should already have been set to true
|
ALOG_ASSERT(eventEntry->dispatchInProgress); // should already have been set to true
|
||||||
|
|
||||||
pokeUserActivityLocked(eventEntry);
|
pokeUserActivityLocked(eventEntry);
|
||||||
|
|
||||||
@@ -1886,7 +1886,7 @@ void InputDispatcher::prepareDispatchCycleLocked(nsecs_t currentTime,
|
|||||||
|
|
||||||
// Make sure we are never called for streaming when splitting across multiple windows.
|
// Make sure we are never called for streaming when splitting across multiple windows.
|
||||||
bool isSplit = inputTarget->flags & InputTarget::FLAG_SPLIT;
|
bool isSplit = inputTarget->flags & InputTarget::FLAG_SPLIT;
|
||||||
LOG_ASSERT(! (resumeWithAppendedMotionSample && isSplit));
|
ALOG_ASSERT(! (resumeWithAppendedMotionSample && isSplit));
|
||||||
|
|
||||||
// Skip this event if the connection status is not normal.
|
// Skip this event if the connection status is not normal.
|
||||||
// We don't want to enqueue additional outbound events if the connection is broken.
|
// We don't want to enqueue additional outbound events if the connection is broken.
|
||||||
@@ -1900,7 +1900,7 @@ void InputDispatcher::prepareDispatchCycleLocked(nsecs_t currentTime,
|
|||||||
|
|
||||||
// Split a motion event if needed.
|
// Split a motion event if needed.
|
||||||
if (isSplit) {
|
if (isSplit) {
|
||||||
LOG_ASSERT(eventEntry->type == EventEntry::TYPE_MOTION);
|
ALOG_ASSERT(eventEntry->type == EventEntry::TYPE_MOTION);
|
||||||
|
|
||||||
MotionEntry* originalMotionEntry = static_cast<MotionEntry*>(eventEntry);
|
MotionEntry* originalMotionEntry = static_cast<MotionEntry*>(eventEntry);
|
||||||
if (inputTarget->pointerIds.count() != originalMotionEntry->pointerCount) {
|
if (inputTarget->pointerIds.count() != originalMotionEntry->pointerCount) {
|
||||||
@@ -2143,11 +2143,11 @@ void InputDispatcher::startDispatchCycleLocked(nsecs_t currentTime,
|
|||||||
connection->getInputChannelName());
|
connection->getInputChannelName());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LOG_ASSERT(connection->status == Connection::STATUS_NORMAL);
|
ALOG_ASSERT(connection->status == Connection::STATUS_NORMAL);
|
||||||
LOG_ASSERT(! connection->outboundQueue.isEmpty());
|
ALOG_ASSERT(! connection->outboundQueue.isEmpty());
|
||||||
|
|
||||||
DispatchEntry* dispatchEntry = connection->outboundQueue.head;
|
DispatchEntry* dispatchEntry = connection->outboundQueue.head;
|
||||||
LOG_ASSERT(! dispatchEntry->inProgress);
|
ALOG_ASSERT(! dispatchEntry->inProgress);
|
||||||
|
|
||||||
// Mark the dispatch entry as in progress.
|
// Mark the dispatch entry as in progress.
|
||||||
dispatchEntry->inProgress = true;
|
dispatchEntry->inProgress = true;
|
||||||
@@ -2279,7 +2279,7 @@ void InputDispatcher::startDispatchCycleLocked(nsecs_t currentTime,
|
|||||||
}
|
}
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2526,7 +2526,7 @@ void InputDispatcher::synthesizeCancelationEventsForConnectionLocked(
|
|||||||
|
|
||||||
InputDispatcher::MotionEntry*
|
InputDispatcher::MotionEntry*
|
||||||
InputDispatcher::splitMotionEvent(const MotionEntry* originalMotionEntry, BitSet32 pointerIds) {
|
InputDispatcher::splitMotionEvent(const MotionEntry* originalMotionEntry, BitSet32 pointerIds) {
|
||||||
LOG_ASSERT(pointerIds.value != 0);
|
ALOG_ASSERT(pointerIds.value != 0);
|
||||||
|
|
||||||
uint32_t splitPointerIndexMap[MAX_POINTERS];
|
uint32_t splitPointerIndexMap[MAX_POINTERS];
|
||||||
PointerProperties splitPointerProperties[MAX_POINTERS];
|
PointerProperties splitPointerProperties[MAX_POINTERS];
|
||||||
@@ -3944,7 +3944,7 @@ bool InputDispatcher::afterKeyEventLockedInterruptible(const sp<Connection>& con
|
|||||||
return true; // skip next cycle
|
return true; // skip next cycle
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_ASSERT(connection->outboundQueue.head == dispatchEntry);
|
ALOG_ASSERT(connection->outboundQueue.head == dispatchEntry);
|
||||||
|
|
||||||
// Latch the fallback keycode for this key on an initial down.
|
// Latch the fallback keycode for this key on an initial down.
|
||||||
// The fallback keycode cannot change at any other point in the lifecycle.
|
// The fallback keycode cannot change at any other point in the lifecycle.
|
||||||
@@ -3957,7 +3957,7 @@ bool InputDispatcher::afterKeyEventLockedInterruptible(const sp<Connection>& con
|
|||||||
connection->inputState.setFallbackKey(originalKeyCode, fallbackKeyCode);
|
connection->inputState.setFallbackKey(originalKeyCode, fallbackKeyCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_ASSERT(fallbackKeyCode != -1);
|
ALOG_ASSERT(fallbackKeyCode != -1);
|
||||||
|
|
||||||
// Cancel the fallback key if the policy decides not to send it anymore.
|
// Cancel the fallback key if the policy decides not to send it anymore.
|
||||||
// We will continue to dispatch the key to the policy but we will no
|
// We will continue to dispatch the key to the policy but we will no
|
||||||
@@ -4109,7 +4109,7 @@ void InputDispatcher::InjectionState::release() {
|
|||||||
if (refCount == 0) {
|
if (refCount == 0) {
|
||||||
delete this;
|
delete this;
|
||||||
} else {
|
} else {
|
||||||
LOG_ASSERT(refCount > 0);
|
ALOG_ASSERT(refCount > 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4130,7 +4130,7 @@ void InputDispatcher::EventEntry::release() {
|
|||||||
if (refCount == 0) {
|
if (refCount == 0) {
|
||||||
delete this;
|
delete this;
|
||||||
} else {
|
} else {
|
||||||
LOG_ASSERT(refCount > 0);
|
ALOG_ASSERT(refCount > 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -331,7 +331,7 @@ void InputReader::processEventsLocked(const RawEvent* rawEvents, size_t count) {
|
|||||||
handleConfigurationChangedLocked(rawEvent->when);
|
handleConfigurationChangedLocked(rawEvent->when);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false); // can't happen
|
ALOG_ASSERT(false); // can't happen
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2140,7 +2140,7 @@ void CursorInputMapper::dumpParameters(String8& dump) {
|
|||||||
dump.append(INDENT4 "Mode: navigation\n");
|
dump.append(INDENT4 "Mode: navigation\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
dump.appendFormat(INDENT4 "OrientationAware: %s\n",
|
dump.appendFormat(INDENT4 "OrientationAware: %s\n",
|
||||||
@@ -2597,7 +2597,7 @@ void TouchInputMapper::dumpParameters(String8& dump) {
|
|||||||
dump.append(INDENT4 "DeviceType: pointer\n");
|
dump.append(INDENT4 "DeviceType: pointer\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
dump.appendFormat(INDENT4 "AssociatedDisplay: id=%d, isExternal=%s\n",
|
dump.appendFormat(INDENT4 "AssociatedDisplay: id=%d, isExternal=%s\n",
|
||||||
@@ -3179,7 +3179,7 @@ void TouchInputMapper::dumpCalibration(String8& dump) {
|
|||||||
dump.append(INDENT4 "touch.size.calibration: area\n");
|
dump.append(INDENT4 "touch.size.calibration: area\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mCalibration.haveSizeScale) {
|
if (mCalibration.haveSizeScale) {
|
||||||
@@ -3209,7 +3209,7 @@ void TouchInputMapper::dumpCalibration(String8& dump) {
|
|||||||
dump.append(INDENT4 "touch.pressure.calibration: amplitude\n");
|
dump.append(INDENT4 "touch.pressure.calibration: amplitude\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mCalibration.havePressureScale) {
|
if (mCalibration.havePressureScale) {
|
||||||
@@ -3229,7 +3229,7 @@ void TouchInputMapper::dumpCalibration(String8& dump) {
|
|||||||
dump.append(INDENT4 "touch.orientation.calibration: vector\n");
|
dump.append(INDENT4 "touch.orientation.calibration: vector\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Distance
|
// Distance
|
||||||
@@ -3241,7 +3241,7 @@ void TouchInputMapper::dumpCalibration(String8& dump) {
|
|||||||
dump.append(INDENT4 "touch.distance.calibration: scaled\n");
|
dump.append(INDENT4 "touch.distance.calibration: scaled\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mCalibration.haveDistanceScale) {
|
if (mCalibration.haveDistanceScale) {
|
||||||
@@ -3635,7 +3635,7 @@ void TouchInputMapper::dispatchTouches(nsecs_t when, uint32_t policyFlags) {
|
|||||||
// Although applications receive new locations as part of individual pointer up
|
// Although applications receive new locations as part of individual pointer up
|
||||||
// events, they do not generally handle them except when presented in a move event.
|
// events, they do not generally handle them except when presented in a move event.
|
||||||
if (moveNeeded) {
|
if (moveNeeded) {
|
||||||
LOG_ASSERT(moveIdBits.value == dispatchedIdBits.value);
|
ALOG_ASSERT(moveIdBits.value == dispatchedIdBits.value);
|
||||||
dispatchMotion(when, policyFlags, mSource,
|
dispatchMotion(when, policyFlags, mSource,
|
||||||
AMOTION_EVENT_ACTION_MOVE, 0, metaState, buttonState, 0,
|
AMOTION_EVENT_ACTION_MOVE, 0, metaState, buttonState, 0,
|
||||||
mCurrentCookedPointerData.pointerProperties,
|
mCurrentCookedPointerData.pointerProperties,
|
||||||
@@ -3746,7 +3746,7 @@ void TouchInputMapper::cookPointerData() {
|
|||||||
size = mRawPointerAxes.toolMinor.valid
|
size = mRawPointerAxes.toolMinor.valid
|
||||||
? avg(in.toolMajor, in.toolMinor) : in.toolMajor;
|
? avg(in.toolMajor, in.toolMinor) : in.toolMajor;
|
||||||
} else {
|
} else {
|
||||||
LOG_ASSERT(false, "No touch or tool axes. "
|
ALOG_ASSERT(false, "No touch or tool axes. "
|
||||||
"Size calibration should have been resolved to NONE.");
|
"Size calibration should have been resolved to NONE.");
|
||||||
touchMajor = 0;
|
touchMajor = 0;
|
||||||
touchMinor = 0;
|
touchMinor = 0;
|
||||||
@@ -4465,7 +4465,7 @@ bool TouchInputMapper::preparePointerGestures(nsecs_t when,
|
|||||||
// The pointer follows the active touch point.
|
// The pointer follows the active touch point.
|
||||||
// When in HOVER, emit HOVER_MOVE events at the pointer location.
|
// When in HOVER, emit HOVER_MOVE events at the pointer location.
|
||||||
// When in TAP_DRAG, emit MOVE events at the pointer location.
|
// When in TAP_DRAG, emit MOVE events at the pointer location.
|
||||||
LOG_ASSERT(activeTouchId >= 0);
|
ALOG_ASSERT(activeTouchId >= 0);
|
||||||
|
|
||||||
mPointerGesture.currentGestureMode = PointerGesture::HOVER;
|
mPointerGesture.currentGestureMode = PointerGesture::HOVER;
|
||||||
if (mPointerGesture.lastGestureMode == PointerGesture::TAP) {
|
if (mPointerGesture.lastGestureMode == PointerGesture::TAP) {
|
||||||
@@ -4565,7 +4565,7 @@ bool TouchInputMapper::preparePointerGestures(nsecs_t when,
|
|||||||
//
|
//
|
||||||
// When the two fingers move enough or when additional fingers are added, we make
|
// When the two fingers move enough or when additional fingers are added, we make
|
||||||
// a decision to transition into SWIPE or FREEFORM mode accordingly.
|
// a decision to transition into SWIPE or FREEFORM mode accordingly.
|
||||||
LOG_ASSERT(activeTouchId >= 0);
|
ALOG_ASSERT(activeTouchId >= 0);
|
||||||
|
|
||||||
bool settled = when >= mPointerGesture.firstTouchTime
|
bool settled = when >= mPointerGesture.firstTouchTime
|
||||||
+ mConfig.pointerGestureMultitouchSettleInterval;
|
+ mConfig.pointerGestureMultitouchSettleInterval;
|
||||||
@@ -4774,7 +4774,7 @@ bool TouchInputMapper::preparePointerGestures(nsecs_t when,
|
|||||||
"activeGestureId=%d, currentTouchPointerCount=%d",
|
"activeGestureId=%d, currentTouchPointerCount=%d",
|
||||||
activeTouchId, mPointerGesture.activeGestureId, currentFingerCount);
|
activeTouchId, mPointerGesture.activeGestureId, currentFingerCount);
|
||||||
#endif
|
#endif
|
||||||
LOG_ASSERT(mPointerGesture.activeGestureId >= 0);
|
ALOG_ASSERT(mPointerGesture.activeGestureId >= 0);
|
||||||
|
|
||||||
mPointerGesture.currentGestureIdBits.clear();
|
mPointerGesture.currentGestureIdBits.clear();
|
||||||
mPointerGesture.currentGestureIdBits.markBit(mPointerGesture.activeGestureId);
|
mPointerGesture.currentGestureIdBits.markBit(mPointerGesture.activeGestureId);
|
||||||
@@ -4796,7 +4796,7 @@ bool TouchInputMapper::preparePointerGestures(nsecs_t when,
|
|||||||
"activeGestureId=%d, currentTouchPointerCount=%d",
|
"activeGestureId=%d, currentTouchPointerCount=%d",
|
||||||
activeTouchId, mPointerGesture.activeGestureId, currentFingerCount);
|
activeTouchId, mPointerGesture.activeGestureId, currentFingerCount);
|
||||||
#endif
|
#endif
|
||||||
LOG_ASSERT(mPointerGesture.activeGestureId >= 0);
|
ALOG_ASSERT(mPointerGesture.activeGestureId >= 0);
|
||||||
|
|
||||||
mPointerGesture.currentGestureIdBits.clear();
|
mPointerGesture.currentGestureIdBits.clear();
|
||||||
|
|
||||||
@@ -5164,7 +5164,7 @@ void TouchInputMapper::dispatchMotion(nsecs_t when, uint32_t policyFlags, uint32
|
|||||||
pointerCount += 1;
|
pointerCount += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_ASSERT(pointerCount != 0);
|
ALOG_ASSERT(pointerCount != 0);
|
||||||
|
|
||||||
if (changedId >= 0 && pointerCount == 1) {
|
if (changedId >= 0 && pointerCount == 1) {
|
||||||
// Replace initial down and final up action.
|
// Replace initial down and final up action.
|
||||||
@@ -5176,7 +5176,7 @@ void TouchInputMapper::dispatchMotion(nsecs_t when, uint32_t policyFlags, uint32
|
|||||||
action = AMOTION_EVENT_ACTION_UP;
|
action = AMOTION_EVENT_ACTION_UP;
|
||||||
} else {
|
} else {
|
||||||
// Can't happen.
|
// Can't happen.
|
||||||
LOG_ASSERT(false);
|
ALOG_ASSERT(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved)
|
|||||||
ALOGE("GetEnv failed!");
|
ALOGE("GetEnv failed!");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
LOG_ASSERT(env, "Could not retrieve the env!");
|
ALOG_ASSERT(env, "Could not retrieve the env!");
|
||||||
|
|
||||||
register_android_server_PowerManagerService(env);
|
register_android_server_PowerManagerService(env);
|
||||||
register_android_server_InputApplicationHandle(env);
|
register_android_server_InputApplicationHandle(env);
|
||||||
|
|||||||
Reference in New Issue
Block a user