diff options
-rw-r--r-- | cmds/dumpstate/dumpstate.c | 14 | ||||
-rw-r--r-- | data/etc/android.software.accessibility.xml | 19 | ||||
-rw-r--r-- | data/etc/android.software.app_widgets.xml | 19 | ||||
-rw-r--r-- | data/etc/android.software.backup.xml | 19 | ||||
-rw-r--r-- | data/etc/android.software.device_admin.xml | 19 | ||||
-rw-r--r-- | data/etc/android.software.print.xml | 19 | ||||
-rw-r--r-- | data/etc/handheld_core_hardware.xml | 7 | ||||
-rw-r--r-- | data/etc/tablet_core_hardware.xml | 7 | ||||
-rw-r--r-- | data/etc/wearable_core_hardware.xml | 67 | ||||
-rw-r--r-- | include/input/Input.h | 1 | ||||
-rw-r--r-- | include/media/openmax/OMX_AudioExt.h | 62 | ||||
-rw-r--r-- | include/media/openmax/OMX_IndexExt.h | 1 | ||||
-rw-r--r-- | libs/input/Input.cpp | 5 | ||||
-rw-r--r-- | services/sensorservice/SensorFusion.cpp | 16 | ||||
-rw-r--r-- | services/sensorservice/SensorFusion.h | 1 |
15 files changed, 260 insertions, 16 deletions
diff --git a/cmds/dumpstate/dumpstate.c b/cmds/dumpstate/dumpstate.c index 3c79ae9..220af47 100644 --- a/cmds/dumpstate/dumpstate.c +++ b/cmds/dumpstate/dumpstate.c @@ -43,6 +43,8 @@ static const char *dump_traces_path = NULL; static char screenshot_path[PATH_MAX] = ""; +#define PSTORE_LAST_KMSG "/sys/fs/pstore/console-ramoops" + /* dumps the current system state to stdout */ static void dumpstate() { time_t now = time(NULL); @@ -161,8 +163,14 @@ static void dumpstate() { dump_file("NETWORK ROUTES", "/proc/net/route"); dump_file("NETWORK ROUTES IPV6", "/proc/net/ipv6_route"); - /* TODO: Make last_kmsg CAP_SYSLOG protected. b/5555691 */ - dump_file("LAST KMSG", "/proc/last_kmsg"); + if (!stat(PSTORE_LAST_KMSG, &st)) { + /* Also TODO: Make console-ramoops CAP_SYSLOG protected. */ + dump_file("LAST KMSG", PSTORE_LAST_KMSG); + } else { + /* TODO: Make last_kmsg CAP_SYSLOG protected. b/5555691 */ + dump_file("LAST KMSG", "/proc/last_kmsg"); + } + dump_file("LAST PANIC CONSOLE", "/data/dontpanic/apanic_console"); dump_file("LAST PANIC THREADS", "/data/dontpanic/apanic_threads"); @@ -321,7 +329,7 @@ static void usage() { " -e: play sound file instead of vibrate, at end of job\n" " -q: disable vibrate\n" " -B: send broadcast when finished (requires -o and -p)\n" - ); + ); } static void sigpipe_handler(int n) { diff --git a/data/etc/android.software.accessibility.xml b/data/etc/android.software.accessibility.xml new file mode 100644 index 0000000..709b3f0 --- /dev/null +++ b/data/etc/android.software.accessibility.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<permissions> + <feature name="android.software.accessibility" /> +</permissions> diff --git a/data/etc/android.software.app_widgets.xml b/data/etc/android.software.app_widgets.xml new file mode 100644 index 0000000..9a51b24 --- /dev/null +++ b/data/etc/android.software.app_widgets.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<permissions> + <feature name="android.software.app_widgets" /> +</permissions> diff --git a/data/etc/android.software.backup.xml b/data/etc/android.software.backup.xml new file mode 100644 index 0000000..1ab4603 --- /dev/null +++ b/data/etc/android.software.backup.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<permissions> + <feature name="android.software.backup" /> +</permissions> diff --git a/data/etc/android.software.device_admin.xml b/data/etc/android.software.device_admin.xml new file mode 100644 index 0000000..7d14dc6 --- /dev/null +++ b/data/etc/android.software.device_admin.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<permissions> + <feature name="android.software.device_admin" /> +</permissions> diff --git a/data/etc/android.software.print.xml b/data/etc/android.software.print.xml new file mode 100644 index 0000000..713a7f7 --- /dev/null +++ b/data/etc/android.software.print.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<permissions> + <feature name="android.software.print" /> +</permissions> diff --git a/data/etc/handheld_core_hardware.xml b/data/etc/handheld_core_hardware.xml index 4a9f2dd..3ff8969 100644 --- a/data/etc/handheld_core_hardware.xml +++ b/data/etc/handheld_core_hardware.xml @@ -33,11 +33,18 @@ <feature name="android.hardware.microphone" /> <feature name="android.hardware.screen.portrait" /> <feature name="android.hardware.screen.landscape" /> + + <!-- basic system services --> + <feature name="android.software.accessibility" /> <feature name="android.software.app_widgets" /> + <feature name="android.software.backup" /> <feature name="android.software.home_screen" /> <feature name="android.software.input_methods" /> + <feature name="android.software.print" /> + <!-- Feature to specify if the device supports adding device admins. --> <feature name="android.software.device_admin" /> + <!-- devices with GPS must include android.hardware.location.gps.xml --> <!-- devices with an autofocus camera and/or flash must include either android.hardware.camera.autofocus.xml or diff --git a/data/etc/tablet_core_hardware.xml b/data/etc/tablet_core_hardware.xml index 78b9736..11c5d93 100644 --- a/data/etc/tablet_core_hardware.xml +++ b/data/etc/tablet_core_hardware.xml @@ -34,11 +34,18 @@ <feature name="android.hardware.microphone" /> <feature name="android.hardware.screen.portrait" /> <feature name="android.hardware.screen.landscape" /> + + <!-- basic system services --> + <feature name="android.software.accessibility" /> <feature name="android.software.app_widgets" /> + <feature name="android.software.backup" /> <feature name="android.software.home_screen" /> <feature name="android.software.input_methods" /> + <feature name="android.software.print" /> + <!-- Feature to specify if the device supports adding device admins. --> <feature name="android.software.device_admin" /> + <!-- devices with GPS must include android.hardware.location.gps.xml --> <!-- devices with a rear-facing camera must include one of these as appropriate: android.hardware.camera.xml or diff --git a/data/etc/wearable_core_hardware.xml b/data/etc/wearable_core_hardware.xml new file mode 100644 index 0000000..c34b25c --- /dev/null +++ b/data/etc/wearable_core_hardware.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<!-- These are the hardware and software components that all wearable devices + must include. Devices with optional hardware/software must also include + extra hardware/software files, per the comments below. + + Wearable devices include watches, glasses, backpacks, and sweaters. +--> +<permissions> + <feature name="android.hardware.camera" /> + <feature name="android.hardware.location" /> + <feature name="android.hardware.location.network" /> + <feature name="android.hardware.sensor.compass" /> + <feature name="android.hardware.sensor.accelerometer" /> + <feature name="android.hardware.bluetooth" /> + <feature name="android.hardware.touchscreen" /> + <feature name="android.hardware.microphone" /> + <feature name="android.hardware.screen.portrait" /> + <feature name="android.hardware.screen.landscape" /> + + <!-- basic system services --> + <feature name="android.software.accessibility" /> + <feature name="android.software.home_screen" /> + <feature name="android.software.input_methods" /> + + <!-- devices with GPS must include android.hardware.location.gps.xml --> + <!-- devices with an autofocus camera and/or flash must include either + android.hardware.camera.autofocus.xml or + android.hardware.camera.autofocus-flash.xml --> + <!-- devices with a front facing camera must include + android.hardware.camera.front.xml --> + <!-- devices with WiFi must also include android.hardware.wifi.xml --> + <!-- devices that support multitouch must include the most appropriate one + of these files: + + If only partial (non-independent) pointers are supported: + android.hardware.touchscreen.multitouch.xml + + If up to 4 independently tracked pointers are supported: + include android.hardware.touchscreen.multitouch.distinct.xml + + If 5 or more independently tracked pointers are supported: + include android.hardware.touchscreen.multitouch.jazzhand.xml + + ONLY ONE of the above should be included. --> + <!-- devices with an ambient light sensor must also include + android.hardware.sensor.light.xml --> + <!-- devices with a proximity sensor must also include + android.hardware.sensor.proximity.xml --> + <!-- Devices that have low-latency audio stacks suitable for apps like + VoIP may include android.hardware.audio.low_latency.xml. ONLY apps + that meet the requirements specified in the CDD may include this. --> +</permissions> diff --git a/include/input/Input.h b/include/input/Input.h index e778076..be79c59 100644 --- a/include/input/Input.h +++ b/include/input/Input.h @@ -184,6 +184,7 @@ struct PointerCoords { status_t setAxisValue(int32_t axis, float value); void scale(float scale); + void applyOffset(float xOffset, float yOffset); inline float getX() const { return getAxisValue(AMOTION_EVENT_AXIS_X); diff --git a/include/media/openmax/OMX_AudioExt.h b/include/media/openmax/OMX_AudioExt.h new file mode 100644 index 0000000..aa6e6d0 --- /dev/null +++ b/include/media/openmax/OMX_AudioExt.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2010 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** OMX_AudioExt.h - OpenMax IL version 1.1.2 + * The OMX_AudioExt header file contains extensions to the + * definitions used by both the application and the component to + * access video items. + */ + +#ifndef OMX_AudioExt_h +#define OMX_AudioExt_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* Each OMX header shall include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ +#include <OMX_Core.h> + +typedef enum OMX_AUDIO_CODINGEXTTYPE { + OMX_AUDIO_CodingAndroidUnused = OMX_AUDIO_CodingKhronosExtensions + 0x00100000, + OMX_AUDIO_CodingAndroidAC3, /**< AC3 encoded data */ +} OMX_AUDIO_CODINGEXTTYPE; + +typedef struct OMX_AUDIO_PARAM_ANDROID_AC3TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ +} OMX_AUDIO_PARAM_ANDROID_AC3TYPE; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* OMX_AudioExt_h */ +/* File EOF */ diff --git a/include/media/openmax/OMX_IndexExt.h b/include/media/openmax/OMX_IndexExt.h index d22df56..c47a885 100644 --- a/include/media/openmax/OMX_IndexExt.h +++ b/include/media/openmax/OMX_IndexExt.h @@ -57,6 +57,7 @@ typedef enum OMX_INDEXEXTTYPE { /* Audio parameters and configurations */ OMX_IndexExtAudioStartUnused = OMX_IndexKhronosExtensions + 0x00400000, + OMX_IndexParamAudioAndroidAc3, /**< reference: OMX_AUDIO_PARAM_ANDROID_AC3TYPE */ /* Image parameters and configurations */ OMX_IndexExtImageStartUnused = OMX_IndexKhronosExtensions + 0x00500000, diff --git a/libs/input/Input.cpp b/libs/input/Input.cpp index 6f53996..ccbf52b 100644 --- a/libs/input/Input.cpp +++ b/libs/input/Input.cpp @@ -213,6 +213,11 @@ void PointerCoords::scale(float scaleFactor) { scaleAxisValue(*this, AMOTION_EVENT_AXIS_TOOL_MINOR, scaleFactor); } +void PointerCoords::applyOffset(float xOffset, float yOffset) { + setAxisValue(AMOTION_EVENT_AXIS_X, getX() + xOffset); + setAxisValue(AMOTION_EVENT_AXIS_Y, getY() + yOffset); +} + #ifdef HAVE_ANDROID_OS status_t PointerCoords::readFromParcel(Parcel* parcel) { bits = parcel->readInt64(); diff --git a/services/sensorservice/SensorFusion.cpp b/services/sensorservice/SensorFusion.cpp index 03f94be..8512d6b 100644 --- a/services/sensorservice/SensorFusion.cpp +++ b/services/sensorservice/SensorFusion.cpp @@ -102,15 +102,6 @@ status_t SensorFusion::activate(void* ident, bool enabled) { } } - if (enabled) { - ALOGD_IF(DEBUG_CONNECTIONS, "SensorFusion calling batch ident=%p ", ident); - // Activating a sensor in continuous mode is equivalent to calling batch with the default - // period and timeout equal to ZERO, followed by a call to activate. - mSensorDevice.batch(ident, mAcc.getHandle(), 0, DEFAULT_EVENTS_PERIOD, 0); - mSensorDevice.batch(ident, mMag.getHandle(), 0, DEFAULT_EVENTS_PERIOD, 0); - mSensorDevice.batch(ident, mGyro.getHandle(), 0, DEFAULT_EVENTS_PERIOD, 0); - } - mSensorDevice.activate(ident, mAcc.getHandle(), enabled); mSensorDevice.activate(ident, mMag.getHandle(), enabled); mSensorDevice.activate(ident, mGyro.getHandle(), enabled); @@ -127,9 +118,10 @@ status_t SensorFusion::activate(void* ident, bool enabled) { } status_t SensorFusion::setDelay(void* ident, int64_t ns) { - mSensorDevice.setDelay(ident, mAcc.getHandle(), ns); - mSensorDevice.setDelay(ident, mMag.getHandle(), ms2ns(20)); - mSensorDevice.setDelay(ident, mGyro.getHandle(), mTargetDelayNs); + // Call batch with timeout zero instead of setDelay(). + mSensorDevice.batch(ident, mAcc.getHandle(), 0, ns, 0); + mSensorDevice.batch(ident, mMag.getHandle(), 0, ms2ns(20), 0); + mSensorDevice.batch(ident, mGyro.getHandle(), 0, mTargetDelayNs, 0); return NO_ERROR; } diff --git a/services/sensorservice/SensorFusion.h b/services/sensorservice/SensorFusion.h index b8f360f..432adbc 100644 --- a/services/sensorservice/SensorFusion.h +++ b/services/sensorservice/SensorFusion.h @@ -37,7 +37,6 @@ class SensorDevice; class SensorFusion : public Singleton<SensorFusion> { friend class Singleton<SensorFusion>; - static const nsecs_t DEFAULT_EVENTS_PERIOD = 200000000; // 5 Hz SensorDevice& mSensorDevice; Sensor mAcc; |