diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/camera/Android.mk | 4 | ||||
-rw-r--r-- | libs/camera/Camera.cpp | 13 | ||||
-rw-r--r-- | libs/camera/CameraParameters.cpp | 83 | ||||
-rw-r--r-- | libs/camera/ICamera.cpp | 22 | ||||
-rw-r--r-- | libs/ui/EventHub.cpp | 26 | ||||
-rw-r--r-- | libs/ui/InputReader.cpp | 25 | ||||
-rw-r--r-- | libs/ui/tests/InputReader_test.cpp | 4 |
7 files changed, 154 insertions, 23 deletions
diff --git a/libs/camera/Android.mk b/libs/camera/Android.mk index df27cb1..65211f8 100644 --- a/libs/camera/Android.mk +++ b/libs/camera/Android.mk @@ -18,6 +18,10 @@ LOCAL_SHARED_LIBRARIES := \ LOCAL_MODULE:= libcamera_client +ifeq ($(BOARD_USE_CAF_LIBCAMERA_GB_REL),true) + LOCAL_CFLAGS += -DCAF_CAMERA_GB_REL +endif + ifeq ($(BOARD_CAMERA_USE_GETBUFFERINFO),true) LOCAL_CFLAGS += -DUSE_GETBUFFERINFO endif diff --git a/libs/camera/Camera.cpp b/libs/camera/Camera.cpp index 1ddf2f2..432565e 100644 --- a/libs/camera/Camera.cpp +++ b/libs/camera/Camera.cpp @@ -208,6 +208,16 @@ status_t Camera::getBufferInfo(sp<IMemory>& Frame, size_t *alignedSize) } #endif +#ifdef CAF_CAMERA_GB_REL +void Camera::encodeData() +{ + LOGV("encodeData"); + sp <ICamera> c = mCamera; + if (c == 0) return; + c->encodeData(); +} +#endif + // start preview mode status_t Camera::startPreview() { @@ -305,6 +315,7 @@ status_t Camera::setParameters(const String8& params) return c->setParameters(params); } + #ifdef MOTO_CUSTOM_PARAMETERS // set preview/capture custom parameters - key/value pairs status_t Camera::setCustomParameters(const String8& params) @@ -316,7 +327,7 @@ status_t Camera::setCustomParameters(const String8& params) } #endif -// get preview/capture custom parameters - key/value pairs +// get preview/capture parameters - key/value pairs String8 Camera::getParameters() const { LOGV("getParameters"); diff --git a/libs/camera/CameraParameters.cpp b/libs/camera/CameraParameters.cpp index 0c03743..703f2a9 100644 --- a/libs/camera/CameraParameters.cpp +++ b/libs/camera/CameraParameters.cpp @@ -110,6 +110,9 @@ const char CameraParameters::EFFECT_POSTERIZE[] = "posterize"; const char CameraParameters::EFFECT_WHITEBOARD[] = "whiteboard"; const char CameraParameters::EFFECT_BLACKBOARD[] = "blackboard"; const char CameraParameters::EFFECT_AQUA[] = "aqua"; +const char CameraParameters::EFFECT_NEGATIVE_SEPIA[] = "negative-sepia"; +const char CameraParameters::EFFECT_PASTEL[] = "pastel"; +const char CameraParameters::EFFECT_BLUE[] = "blue"; // Values for auto exposure settings. const char CameraParameters::TOUCH_AF_AEC_OFF[] = "touch-off"; @@ -145,10 +148,14 @@ const char CameraParameters::SCENE_MODE_SPORTS[] = "sports"; const char CameraParameters::SCENE_MODE_PARTY[] = "party"; const char CameraParameters::SCENE_MODE_CANDLELIGHT[] = "candlelight"; const char CameraParameters::SCENE_MODE_BARCODE[] = "barcode"; +const char CameraParameters::SCENE_MODE_BACKLIGHT[] = "backlight"; +const char CameraParameters::SCENE_MODE_FLOWERS[] = "flowers"; +const char CameraParameters::SCENE_MODE_AR[] = "AR"; // Formats for setPreviewFormat and setPictureFormat. const char CameraParameters::PIXEL_FORMAT_YUV422SP[] = "yuv422sp"; const char CameraParameters::PIXEL_FORMAT_YUV420SP[] = "yuv420sp"; +const char CameraParameters::PIXEL_FORMAT_YUV420SP_ADRENO[] = "yuv420sp-adreno"; const char CameraParameters::PIXEL_FORMAT_YUV420P[] = "yuv420p"; const char CameraParameters::PIXEL_FORMAT_YUV422I[] = "yuv422i-yuyv"; const char CameraParameters::PIXEL_FORMAT_RGB565[] = "rgb565"; @@ -163,6 +170,7 @@ const char CameraParameters::FOCUS_MODE_FIXED[] = "fixed"; const char CameraParameters::FOCUS_MODE_EDOF[] = "edof"; const char CameraParameters::FOCUS_MODE_NORMAL[] = "normal"; const char CameraParameters::FOCUS_MODE_CONTINUOUS_VIDEO[] = "continuous-video"; +const char CameraParameters::FOCUS_MODE_CONTINUOUS_CAMERA[] = "continuous-camera"; const char CameraParameters::KEY_SUPPORTED_THUMBNAIL_SIZES[] = "jpeg-thumbnail-size-values"; const char CameraParameters::KEY_GPS_LATITUDE_REF[] = "gps-latitude-ref"; @@ -185,6 +193,41 @@ const char CameraParameters::KEY_MAX_CONTRAST[] = "max-contrast"; const char CameraParameters::KEY_SATURATION[] = "saturation"; const char CameraParameters::KEY_MAX_SATURATION[] = "max-saturation"; +const char CameraParameters::KEY_FACE_DETECTION[] = "face-detection"; +const char CameraParameters::KEY_SUPPORTED_FACE_DETECTION[] = "face-detection-values"; + +const char CameraParameters::KEY_SCENE_DETECT[] = "scene-detect"; +const char CameraParameters::KEY_SUPPORTED_SCENE_DETECT[] = "scene-detect-values"; + +const char CameraParameters::KEY_SELECTABLE_ZONE_AF[] = "selectable-zone-af"; +const char CameraParameters::KEY_SUPPORTED_SELECTABLE_ZONE_AF[] = "selectable-zone-af-values"; +const char CameraParameters::KEY_SHUTTER_SOUND[] = "shutter-sound"; +const char CameraParameters::KEY_BRIGHTNESS_MODE[] = "brightness-mode"; + +const char CameraParameters::KEY_HISTOGRAM[] = "histogram"; +const char CameraParameters::KEY_SUPPORTED_HISTOGRAM_MODES[] = "histogram-values"; +//Values for Histogram Shading +const char CameraParameters::HISTOGRAM_ENABLE[] = "enable"; +const char CameraParameters::HISTOGRAM_DISABLE[] = "disable"; + +const char CameraParameters::KEY_SKIN_TONE_ENHANCEMENT[] = "skinToneEnhancement"; +const char CameraParameters::KEY_SUPPORTED_SKIN_TONE_ENHANCEMENT_MODES[] = "skinToneEnhancement-values"; +//Values for Skin Tone Enhancement Modes +const char CameraParameters::SKIN_TONE_ENHANCEMENT_ENABLE[] = "enable"; +const char CameraParameters::SKIN_TONE_ENHANCEMENT_DISABLE[] = "disable"; + +const char CameraParameters::SELECTABLE_ZONE_AF_AUTO[] = "auto"; +const char CameraParameters::SELECTABLE_ZONE_AF_SPOT_METERING[] = "spot-metering"; +const char CameraParameters::SELECTABLE_ZONE_AF_CENTER_WEIGHTED[] = "center-weighted"; +const char CameraParameters::SELECTABLE_ZONE_AF_FRAME_AVERAGE[] = "frame-average"; + +// Values for Face Detection settings. +const char CameraParameters::FACE_DETECTION_OFF[] = "off"; +const char CameraParameters::FACE_DETECTION_ON[] = "on"; + +// Values for auto scene detection settings. +const char CameraParameters::SCENE_DETECT_OFF[] = "off"; +const char CameraParameters::SCENE_DETECT_ON[] = "on"; // Values for auto exposure settings. const char CameraParameters::AUTO_EXPOSURE_FRAME_AVG[] = "frame-average"; @@ -212,6 +255,33 @@ const char CameraParameters::CAF_ON[] = "caf-on"; const char CameraParameters::CONTINUOUS_AF_OFF[] = "caf-off"; const char CameraParameters::CONTINUOUS_AF_ON[] = "caf-on"; +//LGE Victor +const char CameraParameters::FOCUS_MODE_MANUAL[] = "manual"; +const char CameraParameters::KEY_MANUAL_FOCUS[] = "manual-focus"; +const char CameraParameters::KEY_LUMA_ADAPTION[] = "luma-adaption"; +const char CameraParameters::KEY_VT_MODE[] = "vt-mode"; + +#ifdef CAF_CAMERA_GB_REL +static const char* portrait = "portrait"; +static const char* landscape = "landscape"; + +int CameraParameters::getOrientation() const +{ + const char* orientation = get("orientation"); + if (orientation && !strcmp(orientation, portrait)) + return CAMERA_ORIENTATION_PORTRAIT; + return CAMERA_ORIENTATION_LANDSCAPE; +} +void CameraParameters::setOrientation(int orientation) +{ + if (orientation == CAMERA_ORIENTATION_PORTRAIT) { + set("orientation", portrait); + } else { + set("orientation", landscape); + } +} +#endif + CameraParameters::CameraParameters() : mMap() { @@ -420,6 +490,13 @@ void CameraParameters::getVideoSize(int *width, int *height) const parse_pair(p, width, height, 'x'); } +void CameraParameters::setPreviewFpsRange(int minFPS, int maxFPS) +{ + char str[32]; + sprintf(str,"%d,%d",minFPS,maxFPS); + set(KEY_PREVIEW_FPS_RANGE,str); +} + void CameraParameters::setPreviewFrameRate(int fps) { set(KEY_PREVIEW_FRAME_RATE, fps); @@ -549,6 +626,12 @@ void CameraParameters::getTouchIndexAf(int *x, int *y) const } } +// LGE Victor +extern "C" status_t _ZNK7android16CameraParameters14getManualfocusEv () { + return NO_ERROR; +} +// LGE Victor + status_t CameraParameters::dump(int fd, const Vector<String16>& args) const { const size_t SIZE = 256; diff --git a/libs/camera/ICamera.cpp b/libs/camera/ICamera.cpp index cc39d39..b04dd2d 100644 --- a/libs/camera/ICamera.cpp +++ b/libs/camera/ICamera.cpp @@ -53,6 +53,9 @@ enum { GET_CUSTOM_PARAMETERS, SET_CUSTOM_PARAMETERS, #endif +#ifdef CAF_CAMERA_GB_REL + ENCODE_YUV_DATA, +#endif }; class BpCamera: public BpInterface<ICamera> @@ -108,6 +111,17 @@ public: *alignedSize = reply.readInt32(); return ret; } + +#endif +#ifdef CAF_CAMERA_GB_REL + // encode the YUV data. + void encodeData() + { + LOGV("encodeData"); + Parcel data, reply; + data.writeInterfaceToken(ICamera::getInterfaceDescriptor()); + remote()->transact(ENCODE_YUV_DATA, data, &reply); + } #endif // start preview mode, must call setPreviewDisplay first @@ -328,6 +342,14 @@ status_t BnCamera::onTransact( return NO_ERROR; } break; #endif +#ifdef CAF_CAMERA_GB_REL + case ENCODE_YUV_DATA:{ + LOGV("ENCODE_YUV_DATA"); + CHECK_INTERFACE(ICamera, data, reply); + encodeData(); + return NO_ERROR; + } break; +#endif case START_PREVIEW: { LOGV("START_PREVIEW"); CHECK_INTERFACE(ICamera, data, reply); diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp index 01facbb..9c78a74 100644 --- a/libs/ui/EventHub.cpp +++ b/libs/ui/EventHub.cpp @@ -77,6 +77,9 @@ #define INDENT2 " " #define INDENT3 " " +//#define DEBUG_SHOW_DEVICES +//#define DEBUG_SHOW_KEYSDOWN + namespace android { static const char *WAKE_LOCK_ID = "KeyEvents"; @@ -92,9 +95,11 @@ static inline const char* toString(bool value) { return value ? "true" : "false"; } -EventHub::device_t::device_t(int32_t _id, const char* _path, const char* name, bool _bluetooth) +EventHub::device_t::device_t(int32_t _id, const char* _path, const char* name, uint32_t _bustype) : id(_id), path(_path), name(name), classes(0) - , keyBitmask(NULL), layoutMap(new KeyLayoutMap()), fd(-1), bluetooth(_bluetooth), next(NULL) { + , keyBitmask(NULL), layoutMap(new KeyLayoutMap()), fd(-1), bustype(_bustype), next(NULL) { + bluetooth = (_bustype == BUS_BLUETOOTH); + usb = (_bustype == BUS_USB); } EventHub::device_t::~device_t() { @@ -137,11 +142,11 @@ String8 EventHub::getDeviceName(int32_t deviceId) const return device->name; } -bool EventHub::getDeviceBluetooth(int32_t deviceId) const +uint32_t EventHub::getDeviceBusType(int32_t deviceId) const { AutoMutex _l(mLock); device_t* device = getDeviceLocked(deviceId); - return device->bluetooth; + return device->bustype; } uint32_t EventHub::getDeviceClasses(int32_t deviceId) const @@ -217,16 +222,13 @@ int32_t EventHub::getKeyCodeStateLocked(device_t* device, int32_t keyCode) const uint8_t key_bitmask[sizeof_bit_array(KEY_MAX + 1)]; memset(key_bitmask, 0, sizeof(key_bitmask)); if (ioctl(device->fd, EVIOCGKEY(sizeof(key_bitmask)), key_bitmask) >= 0) { - #if 0 - for (size_t i=0; i<=KEY_MAX; i++) { - LOGI("(Scan code %d: down=%d)", i, test_bit(i, key_bitmask)); - } - #endif const size_t N = scanCodes.size(); for (size_t i=0; i<N && i<=KEY_MAX; i++) { int32_t sc = scanCodes.itemAt(i); - //LOGI("Code %d: down=%d", sc, test_bit(sc, key_bitmask)); if (sc >= 0 && sc <= KEY_MAX && test_bit(sc, key_bitmask)) { + #ifdef DEBUG_SHOW_KEYSDOWN + LOGI("Code %d: down=%d", sc, test_bit(sc, key_bitmask)); + #endif return AKEY_STATE_DOWN; } } @@ -662,7 +664,7 @@ int EventHub::openDevice(const char *deviceName) { mFDs = new_mFDs; mDevices = new_devices; -#if 0 +#ifdef DEBUG_SHOW_DEVICES LOGI("add device %d: %s\n", mFDCount, deviceName); LOGI(" bus: %04x\n" " vendor %04x\n" @@ -676,7 +678,7 @@ int EventHub::openDevice(const char *deviceName) { version >> 16, (version >> 8) & 0xff, version & 0xff); #endif - device_t* device = new device_t(devid|mDevicesById[devid].seq, deviceName, name, BUS_BLUETOOTH == id.bustype); + device_t* device = new device_t(devid|mDevicesById[devid].seq, deviceName, name, id.bustype); if (device == NULL) { LOGE("out of memory"); return -1; diff --git a/libs/ui/InputReader.cpp b/libs/ui/InputReader.cpp index 4cd24859..7626b15 100644 --- a/libs/ui/InputReader.cpp +++ b/libs/ui/InputReader.cpp @@ -22,6 +22,9 @@ // Log debug messages about pointer assignment calculations. #define DEBUG_POINTER_ASSIGNMENT 0 +// Log mouse events +#define DEBUG_MOUSE_EVENTS 0 + #include <cutils/log.h> #include <ui/InputReader.h> @@ -331,8 +334,8 @@ InputDevice* InputReader::createDevice(int32_t deviceId, const String8& name, ui } if (keyboardSources != 0) { - device->addMapper(new KeyboardInputMapper(device, - associatedDisplayId, keyboardSources, keyboardType, mEventHub->getDeviceBluetooth(deviceId))); + device->addMapper(new KeyboardInputMapper(device, associatedDisplayId, keyboardSources, + keyboardType, mEventHub->getDeviceBusType(deviceId))); } // Trackball-like devices. @@ -873,10 +876,12 @@ int32_t SwitchInputMapper::getSwitchState(uint32_t sourceMask, int32_t switchCod // --- KeyboardInputMapper --- KeyboardInputMapper::KeyboardInputMapper(InputDevice* device, int32_t associatedDisplayId, - uint32_t sources, int32_t keyboardType, bool bluetooth) : + uint32_t sources, int32_t keyboardType, uint32_t bustype) : InputMapper(device), mAssociatedDisplayId(associatedDisplayId), mSources(sources), - mKeyboardType(keyboardType), mBluetooth(bluetooth) { + mKeyboardType(keyboardType), mBusType(bustype) { initializeLocked(); + mBluetooth = (mBusType == BUS_BLUETOOTH); + mUSB = (mBusType == BUS_USB); } KeyboardInputMapper::~KeyboardInputMapper() { @@ -965,7 +970,7 @@ void KeyboardInputMapper::processKey(nsecs_t when, bool down, int32_t keyCode, if (down) { // Rotate key codes according to orientation if needed. // Note: getDisplayInfo is non-reentrant so we can continue holding the lock. - if (!mBluetooth && mAssociatedDisplayId >= 0) { + if (!mBluetooth && !mUSB && mAssociatedDisplayId >= 0) { int32_t orientation; if (! getPolicy()->getDisplayInfo(mAssociatedDisplayId, NULL, NULL, & orientation)) { return; @@ -3514,10 +3519,14 @@ void MouseInputMapper::sync(nsecs_t when) { float x = fields & Accumulator::FIELD_REL_X ? mAccumulator.relX : 0.0f; float y = fields & Accumulator::FIELD_REL_Y ? mAccumulator.relY : 0.0f; - int32_t screenWidth; - int32_t screenHeight; - int32_t orientation; + static int32_t screenWidth; + static int32_t screenHeight; + static int32_t orientation; +#if DEBUG_MOUSE_EVENTS + LOGI("MouseInputMapper: x,y=%.1f,%.1f abs %dx%d, screen %dx%d", + x, y, mAccumulator.absX, mAccumulator.absY, screenWidth, screenHeight); +#endif mAccumulator.absX = (mAccumulator.absX + x) > screenWidth ? screenWidth -1 : ((mAccumulator.absX + x) < 0 ? 0 : mAccumulator.absX + x); mAccumulator.absY = (mAccumulator.absY + y) > screenHeight ? screenHeight -1 : ((mAccumulator.absY + y) < 0 ? 0 : mAccumulator.absY + y); pointerCoords.x = mAccumulator.absX; diff --git a/libs/ui/tests/InputReader_test.cpp b/libs/ui/tests/InputReader_test.cpp index aec7ba9..abfc157 100644 --- a/libs/ui/tests/InputReader_test.cpp +++ b/libs/ui/tests/InputReader_test.cpp @@ -486,8 +486,8 @@ private: return device ? device->name : String8("unknown"); } - virtual bool getDeviceBluetooth(int32_t deviceId) const { - return false; + virtual uint32_t getDeviceBusType(int32_t deviceId) const { + return 0; } virtual status_t getAbsoluteAxisInfo(int32_t deviceId, int axis, |