diff options
| -rw-r--r-- | core/jni/android_view_DisplayEventReceiver.cpp | 6 | ||||
| -rw-r--r-- | libs/hwui/FontRenderer.cpp | 4 | ||||
| -rw-r--r-- | media/jni/android_media_MediaDrm.cpp | 2 | ||||
| -rw-r--r-- | native/android/input.cpp | 2 | ||||
| -rw-r--r-- | native/android/looper.cpp | 22 | ||||
| -rw-r--r-- | services/java/com/android/server/am/ActivityStack.java | 1 | ||||
| -rw-r--r-- | services/java/com/android/server/am/TaskRecord.java | 2 |
7 files changed, 25 insertions, 14 deletions
diff --git a/core/jni/android_view_DisplayEventReceiver.cpp b/core/jni/android_view_DisplayEventReceiver.cpp index 64fb27b3e18a..01ab2ffa957c 100644 --- a/core/jni/android_view_DisplayEventReceiver.cpp +++ b/core/jni/android_view_DisplayEventReceiver.cpp @@ -87,7 +87,7 @@ status_t NativeDisplayEventReceiver::initialize() { return result; } - int rc = mMessageQueue->getLooper()->addFd(mReceiver.getFd(), 0, ALOOPER_EVENT_INPUT, + int rc = mMessageQueue->getLooper()->addFd(mReceiver.getFd(), 0, Looper::EVENT_INPUT, this, NULL); if (rc < 0) { return UNKNOWN_ERROR; @@ -125,13 +125,13 @@ status_t NativeDisplayEventReceiver::scheduleVsync() { } int NativeDisplayEventReceiver::handleEvent(int receiveFd, int events, void* data) { - if (events & (ALOOPER_EVENT_ERROR | ALOOPER_EVENT_HANGUP)) { + if (events & (Looper::EVENT_ERROR | Looper::EVENT_HANGUP)) { ALOGE("Display event receiver pipe was closed or an error occurred. " "events=0x%x", events); return 0; // remove the callback } - if (!(events & ALOOPER_EVENT_INPUT)) { + if (!(events & Looper::EVENT_INPUT)) { ALOGW("Received spurious callback for unhandled poll event. " "events=0x%x", events); return 1; // keep the callback diff --git a/libs/hwui/FontRenderer.cpp b/libs/hwui/FontRenderer.cpp index 00e78708dd31..0be17ff868b4 100644 --- a/libs/hwui/FontRenderer.cpp +++ b/libs/hwui/FontRenderer.cpp @@ -732,7 +732,9 @@ void FontRenderer::blurImage(uint8_t** image, int32_t width, int32_t height, int if (mRs == 0) { mRs = new RSC::RS(); - if (!mRs->init(RSC::RS_INIT_LOW_LATENCY | RSC::RS_INIT_SYNCHRONOUS)) { + // a null path is OK because there are no custom kernels used + // hence nothing gets cached by RS + if (!mRs->init("", RSC::RS_INIT_LOW_LATENCY | RSC::RS_INIT_SYNCHRONOUS)) { ALOGE("blur RS failed to init"); } diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp index 6d90ccb213b0..eb7d51c7ca0a 100644 --- a/media/jni/android_media_MediaDrm.cpp +++ b/media/jni/android_media_MediaDrm.cpp @@ -491,7 +491,7 @@ static sp<JDrm> setDrm( if (old != NULL) { old->decStrong(thiz); } - env->SetIntField(thiz, gFields.context, (int)drm.get()); + env->SetLongField(thiz, gFields.context, reinterpret_cast<jlong>(drm.get())); return old; } diff --git a/native/android/input.cpp b/native/android/input.cpp index e9d08b4d839f..fc521386e6e1 100644 --- a/native/android/input.cpp +++ b/native/android/input.cpp @@ -273,7 +273,7 @@ float AMotionEvent_getHistoricalAxisValue(const AInputEvent* motion_event, void AInputQueue_attachLooper(AInputQueue* queue, ALooper* looper, int ident, ALooper_callbackFunc callback, void* data) { InputQueue* iq = static_cast<InputQueue*>(queue); - Looper* l = static_cast<Looper*>(looper); + Looper* l = reinterpret_cast<Looper*>(looper); iq->attachLooper(l, ident, callback, data); } diff --git a/native/android/looper.cpp b/native/android/looper.cpp index 455e950da033..24cb2342501d 100644 --- a/native/android/looper.cpp +++ b/native/android/looper.cpp @@ -25,20 +25,28 @@ using android::Looper; using android::sp; using android::IPCThreadState; +static inline Looper* ALooper_to_Looper(ALooper* alooper) { + return reinterpret_cast<Looper*>(alooper); +} + +static inline ALooper* Looper_to_ALooper(Looper* looper) { + return reinterpret_cast<ALooper*>(looper); +} + ALooper* ALooper_forThread() { - return Looper::getForThread().get(); + return Looper_to_ALooper(Looper::getForThread().get()); } ALooper* ALooper_prepare(int opts) { - return Looper::prepare(opts).get(); + return Looper_to_ALooper(Looper::prepare(opts).get()); } void ALooper_acquire(ALooper* looper) { - static_cast<Looper*>(looper)->incStrong((void*)ALooper_acquire); + ALooper_to_Looper(looper)->incStrong((void*)ALooper_acquire); } void ALooper_release(ALooper* looper) { - static_cast<Looper*>(looper)->decStrong((void*)ALooper_acquire); + ALooper_to_Looper(looper)->decStrong((void*)ALooper_acquire); } int ALooper_pollOnce(int timeoutMillis, int* outFd, int* outEvents, void** outData) { @@ -64,14 +72,14 @@ int ALooper_pollAll(int timeoutMillis, int* outFd, int* outEvents, void** outDat } void ALooper_wake(ALooper* looper) { - static_cast<Looper*>(looper)->wake(); + ALooper_to_Looper(looper)->wake(); } int ALooper_addFd(ALooper* looper, int fd, int ident, int events, ALooper_callbackFunc callback, void* data) { - return static_cast<Looper*>(looper)->addFd(fd, ident, events, callback, data); + return ALooper_to_Looper(looper)->addFd(fd, ident, events, callback, data); } int ALooper_removeFd(ALooper* looper, int fd) { - return static_cast<Looper*>(looper)->removeFd(fd); + return ALooper_to_Looper(looper)->removeFd(fd); } diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java index 690574cc7368..8faee556af7e 100644 --- a/services/java/com/android/server/am/ActivityStack.java +++ b/services/java/com/android/server/am/ActivityStack.java @@ -2501,6 +2501,7 @@ final class ActivityStack { // activity into the stopped state and then finish it. if (localLOGV) Slog.v(TAG, "Enqueueing pending finish: " + r); mStackSupervisor.mFinishingActivities.add(r); + r.resumeKeyDispatchingLocked(); mStackSupervisor.getFocusedStack().resumeTopActivityLocked(null); return r; } diff --git a/services/java/com/android/server/am/TaskRecord.java b/services/java/com/android/server/am/TaskRecord.java index 5f32dbb4b419..9105103ac632 100644 --- a/services/java/com/android/server/am/TaskRecord.java +++ b/services/java/com/android/server/am/TaskRecord.java @@ -163,7 +163,7 @@ final class TaskRecord extends ThumbnailHolder { final void setFrontOfTask() { boolean foundFront = false; final int numActivities = mActivities.size(); - for (int activityNdx = 0; numActivities < activityNdx; ++activityNdx) { + for (int activityNdx = 0; activityNdx < numActivities; ++activityNdx) { final ActivityRecord r = mActivities.get(activityNdx); if (foundFront || r.finishing) { r.frontOfTask = false; |