diff options
| author | LuK1337 <priv.luk@gmail.com> | 2016-06-07 17:57:09 +0200 |
|---|---|---|
| committer | Luca Stefani <luca.stefani.ge1@gmail.com> | 2016-06-08 11:11:26 -0700 |
| commit | eec04ed532924d38a639dc30cfe7127bf449087f (patch) | |
| tree | 04c8913dfcb353c6730465745bd61f0fcb7ffd21 /libshims | |
| parent | 9a90c6058dc89fee7d5cccfc438011e3cca9941a (diff) | |
msm8916-common: Update blobs to M release
* Package version: Z00L-user 6.0.1 MMB29P WW_user_21.40.1220.1615_20160517 release-keys
Change-Id: Ib0576119dad159ee71335014e774ae315d0ea044
Diffstat (limited to 'libshims')
| -rw-r--r-- | libshims/Android.mk | 14 | ||||
| -rw-r--r-- | libshims/android/sensor.cpp | 192 | ||||
| -rw-r--r-- | libshims/gui/SensorManager.cpp | 170 | ||||
| -rw-r--r-- | libshims/gui/SensorManager.h | 76 |
4 files changed, 0 insertions, 452 deletions
diff --git a/libshims/Android.mk b/libshims/Android.mk deleted file mode 100644 index 90d16e6..0000000 --- a/libshims/Android.mk +++ /dev/null @@ -1,14 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - android/sensor.cpp \ - gui/SensorManager.cpp - -LOCAL_C_INCLUDES := gui -LOCAL_SHARED_LIBRARIES := libgui libutils liblog libbinder libandroid -LOCAL_MODULE := libshim_camera -LOCAL_MODULE_CLASS := SHARED_LIBRARIES - -include $(BUILD_SHARED_LIBRARY) diff --git a/libshims/android/sensor.cpp b/libshims/android/sensor.cpp deleted file mode 100644 index 40ebef3..0000000 --- a/libshims/android/sensor.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "sensor" -#include <utils/Log.h> - -#include <android/looper.h> -#include <android/sensor.h> - -#include <utils/RefBase.h> -#include <utils/Looper.h> -#include <utils/Timers.h> - -#include <gui/Sensor.h> -#include <gui/SensorManager.h> -#include <gui/SensorEventQueue.h> - -#include <poll.h> -#include "SeempLog.h" - -using android::sp; -using android::Sensor; -using android::SensorManager; -using android::SensorEventQueue; -using android::String8; -using android::String16; - -int ASensorManager_getSensorList(ASensorManager* manager, - ASensorList* list) -{ - Sensor const* const* l; - int c = static_cast<SensorManager*>(manager)->getSensorList(&l); - if (list) { - *list = reinterpret_cast<ASensorList>(l); - } - return c; -} - -ASensor const* ASensorManager_getDefaultSensor(ASensorManager* manager, int type) -{ - return static_cast<SensorManager*>(manager)->getDefaultSensor(type); -} - -ASensor const* ASensorManager_getDefaultSensorEx(ASensorManager* manager, - int type, bool wakeUp) { - Sensor const* const* sensorList; - size_t size = static_cast<SensorManager*>(manager)->getSensorList(&sensorList); - for (size_t i = 0; i < size; ++i) { - if (ASensor_getType(sensorList[i]) == type && - ASensor_isWakeUpSensor(sensorList[i]) == wakeUp) { - return reinterpret_cast<ASensor const *>(sensorList[i]); - } - } - return NULL; -} - -ASensorEventQueue* ASensorManager_createEventQueue(ASensorManager* manager, - ALooper* looper, int ident, ALooper_callbackFunc callback, void* data) -{ - sp<SensorEventQueue> queue = - static_cast<SensorManager*>(manager)->createEventQueue(); - if (queue != 0) { - ALooper_addFd(looper, queue->getFd(), ident, ALOOPER_EVENT_INPUT, callback, data); - queue->looper = looper; - queue->incStrong(manager); - } - return static_cast<ASensorEventQueue*>(queue.get()); -} - -int ASensorManager_destroyEventQueue(ASensorManager* manager, - ASensorEventQueue* inQueue) -{ - sp<SensorEventQueue> queue = static_cast<SensorEventQueue*>(inQueue); - ALooper_removeFd(queue->looper, queue->getFd()); - queue->decStrong(manager); - return 0; -} - -/*****************************************************************************/ - -int ASensorEventQueue_enableSensor(ASensorEventQueue* queue, ASensor const* sensor) -{ - SEEMPLOG_RECORD(108,""); - return static_cast<SensorEventQueue*>(queue)->enableSensor( - static_cast<Sensor const*>(sensor)); -} - -int ASensorEventQueue_disableSensor(ASensorEventQueue* queue, ASensor const* sensor) -{ - return static_cast<SensorEventQueue*>(queue)->disableSensor( - static_cast<Sensor const*>(sensor)); -} - -int ASensorEventQueue_setEventRate(ASensorEventQueue* queue, ASensor const* sensor, - int32_t usec) -{ - return static_cast<SensorEventQueue*>(queue)->setEventRate( - static_cast<Sensor const*>(sensor), us2ns(usec)); -} - -int ASensorEventQueue_hasEvents(ASensorEventQueue* queue) -{ - struct pollfd pfd; - pfd.fd = static_cast<SensorEventQueue*>(queue)->getFd(); - pfd.events = POLLIN; - pfd.revents = 0; - - int nfd = poll(&pfd, 1, 0); - - if (nfd < 0) - return -errno; - - if (pfd.revents != POLLIN) - return -1; - - return (nfd == 0) ? 0 : 1; -} - -ssize_t ASensorEventQueue_getEvents(ASensorEventQueue* queue, - ASensorEvent* events, size_t count) -{ - ssize_t actual = static_cast<SensorEventQueue*>(queue)->read(events, count); - if (actual > 0) { - static_cast<SensorEventQueue*>(queue)->sendAck(events, actual); - } - return actual; -} - -/*****************************************************************************/ - -const char* ASensor_getName(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getName().string(); -} - -const char* ASensor_getVendor(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getVendor().string(); -} - -int ASensor_getType(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getType(); -} - -float ASensor_getResolution(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getResolution(); -} - -int ASensor_getMinDelay(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getMinDelay(); -} - -int ASensor_getFifoMaxEventCount(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getFifoMaxEventCount(); -} - -int ASensor_getFifoReservedEventCount(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getFifoReservedEventCount(); -} - -const char* ASensor_getStringType(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getStringType().string(); -} - -int ASensor_getReportingMode(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->getReportingMode(); -} - -bool ASensor_isWakeUpSensor(ASensor const* sensor) -{ - return static_cast<Sensor const*>(sensor)->isWakeUpSensor(); -} diff --git a/libshims/gui/SensorManager.cpp b/libshims/gui/SensorManager.cpp deleted file mode 100644 index 2ae473b..0000000 --- a/libshims/gui/SensorManager.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "Sensors" - -#include <stdint.h> -#include <sys/types.h> - -#include <utils/Errors.h> -#include <utils/RefBase.h> -#include <utils/Singleton.h> - -#include <binder/IBinder.h> -#include <binder/IServiceManager.h> - -#include <gui/ISensorServer.h> -#include <gui/ISensorEventConnection.h> -#include "gui/Sensor.h" -#include "gui/SensorManager.h" -#include <gui/SensorEventQueue.h> - -// ---------------------------------------------------------------------------- -namespace android { -// ---------------------------------------------------------------------------- - -static String16 gPackageName = String16("packageName"); - -ANDROID_SINGLETON_STATIC_INSTANCE(SensorManager) - -SensorManager::SensorManager() - : mSensorList(0) -{ - // okay we're not locked here, but it's not needed during construction - assertStateLocked(); -} - -SensorManager::~SensorManager() -{ - free(mSensorList); -} - -void SensorManager::sensorManagerDied() -{ - Mutex::Autolock _l(mLock); - mSensorServer.clear(); - free(mSensorList); - mSensorList = NULL; - mSensors.clear(); -} - -status_t SensorManager::assertStateLocked() const { - if (mSensorServer == NULL) { - // try for one second - const String16 name("sensorservice"); - status_t err = NO_ERROR; - - for (int i=0 ; i<4 ; i++) { - if (i > 0) { - // Don't sleep on the first try or after the last failed try - usleep(250000); - } - err = getService(name, &mSensorServer); - if (err != NAME_NOT_FOUND) { - break; - } - } - - if (err != NO_ERROR) { - ALOGI("find sensorservice failed: %d", err); - return err; - } - - class DeathObserver : public IBinder::DeathRecipient { - SensorManager& mSensorManger; - virtual void binderDied(const wp<IBinder>& who) { - ALOGW("sensorservice died [%p]", who.unsafe_get()); - mSensorManger.sensorManagerDied(); - } - public: - DeathObserver(SensorManager& mgr) : mSensorManger(mgr) { } - }; - - mDeathObserver = new DeathObserver(*const_cast<SensorManager *>(this)); - IInterface::asBinder(mSensorServer)->linkToDeath(mDeathObserver); - - mSensors = mSensorServer->getSensorList(gPackageName); - size_t count = mSensors.size(); - mSensorList = (Sensor const**)malloc(count * sizeof(Sensor*)); - for (size_t i=0 ; i<count ; i++) { - mSensorList[i] = mSensors.array() + i; - } - } - - return NO_ERROR; -} - - - -ssize_t SensorManager::getSensorList(Sensor const* const** list) const -{ - Mutex::Autolock _l(mLock); - status_t err = assertStateLocked(); - if (err < 0) { - return ssize_t(err); - } - *list = mSensorList; - return mSensors.size(); -} - -Sensor const* SensorManager::getDefaultSensor(int type) -{ - Mutex::Autolock _l(mLock); - if (assertStateLocked() == NO_ERROR) { - bool wakeUpSensor = false; - // For the following sensor types, return a wake-up sensor. These types are by default - // defined as wake-up sensors. For the rest of the sensor types defined in sensors.h return - // a non_wake-up version. - if (type == SENSOR_TYPE_PROXIMITY || type == SENSOR_TYPE_SIGNIFICANT_MOTION || - type == SENSOR_TYPE_TILT_DETECTOR || type == SENSOR_TYPE_WAKE_GESTURE || - type == SENSOR_TYPE_GLANCE_GESTURE || type == SENSOR_TYPE_PICK_UP_GESTURE) { - wakeUpSensor = true; - } - // For now we just return the first sensor of that type we find. - // in the future it will make sense to let the SensorService make - // that decision. - for (size_t i=0 ; i<mSensors.size() ; i++) { - if (mSensorList[i]->getType() == type && - mSensorList[i]->isWakeUpSensor() == wakeUpSensor) { - return mSensorList[i]; - } - } - } - return NULL; -} - -sp<SensorEventQueue> SensorManager::createEventQueue() -{ - sp<SensorEventQueue> queue; - - Mutex::Autolock _l(mLock); - while (assertStateLocked() == NO_ERROR) { - sp<ISensorEventConnection> connection = - mSensorServer->createSensorEventConnection(String8(""), 0, gPackageName); - if (connection == NULL) { - // SensorService just died. - ALOGE("createEventQueue: connection is NULL. SensorService died."); - continue; - } - queue = new SensorEventQueue(connection); - break; - } - return queue; -} - -// ---------------------------------------------------------------------------- -}; // namespace android - diff --git a/libshims/gui/SensorManager.h b/libshims/gui/SensorManager.h deleted file mode 100644 index 4b71f13..0000000 --- a/libshims/gui/SensorManager.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ANDROID_GUI_SENSOR_MANAGER_H -#define ANDROID_GUI_SENSOR_MANAGER_H - -#include <stdint.h> -#include <sys/types.h> - -#include <binder/IBinder.h> - -#include <utils/Errors.h> -#include <utils/RefBase.h> -#include <utils/Singleton.h> -#include <utils/Vector.h> - -#include <gui/SensorEventQueue.h> - -// ---------------------------------------------------------------------------- -// Concrete types for the NDK -struct ASensorManager { }; - -// ---------------------------------------------------------------------------- -namespace android { -// ---------------------------------------------------------------------------- - -class ISensorServer; -class Sensor; -class SensorEventQueue; - -// ---------------------------------------------------------------------------- - -class SensorManager : - public ASensorManager, - public Singleton<SensorManager> -{ -public: - SensorManager(); - ~SensorManager(); - - ssize_t getSensorList(Sensor const* const** list) const; - Sensor const* getDefaultSensor(int type); - sp<SensorEventQueue> createEventQueue(); - -private: - // DeathRecipient interface - void sensorManagerDied(); - - status_t assertStateLocked() const; - -private: - mutable Mutex mLock; - mutable sp<ISensorServer> mSensorServer; - mutable Sensor const** mSensorList; - mutable Vector<Sensor> mSensors; - mutable sp<IBinder::DeathRecipient> mDeathObserver; -}; - -// ---------------------------------------------------------------------------- -}; // namespace android - -#endif // ANDROID_GUI_SENSOR_MANAGER_H - |
