In the simulator, make sure that the preview thread is a Java thread,

since we won't be going through the binder in single process mode.
This commit is contained in:
Marco Nelissen 2009-08-13 09:24:47 -07:00
parent 991ac9e1d9
commit 7907df75e0
2 changed files with 18 additions and 3 deletions

View File

@ -25,6 +25,10 @@ LOCAL_SRC_FILES:= \
LOCAL_MODULE:= libcamerastub
ifeq ($(TARGET_SIMULATOR),true)
LOCAL_CFLAGS += -DSINGLE_PROCESS
endif
LOCAL_SHARED_LIBRARIES:= libui
include $(BUILD_STATIC_LIBRARY)
@ -48,7 +52,11 @@ LOCAL_SHARED_LIBRARIES:= \
LOCAL_MODULE:= libcameraservice
LOCAL_CFLAGS+=-DLOG_TAG=\"CameraService\"
LOCAL_CFLAGS += -DLOG_TAG=\"CameraService\"
ifeq ($(TARGET_SIMULATOR),true)
LOCAL_CFLAGS += -DSINGLE_PROCESS
endif
ifeq ($(USE_CAMERA_STUB), true)
LOCAL_STATIC_LIBRARIES += libcamerastub

View File

@ -67,8 +67,15 @@ private:
class PreviewThread : public Thread {
CameraHardwareStub* mHardware;
public:
PreviewThread(CameraHardwareStub* hw)
: Thread(false), mHardware(hw) { }
PreviewThread(CameraHardwareStub* hw) :
#ifdef SINGLE_PROCESS
// In single process mode this thread needs to be a java thread,
// since we won't be calling through the binder.
Thread(true),
#else
Thread(false),
#endif
mHardware(hw) { }
virtual void onFirstRef() {
run("CameraPreviewThread", PRIORITY_URGENT_DISPLAY);
}