summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/camera/Android.mk4
-rw-r--r--libs/camera/Camera.cpp13
-rw-r--r--libs/camera/CameraParameters.cpp83
-rw-r--r--libs/camera/ICamera.cpp22
-rw-r--r--libs/ui/EventHub.cpp26
-rw-r--r--libs/ui/InputReader.cpp25
-rw-r--r--libs/ui/tests/InputReader_test.cpp4
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,