| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
some of the conversion operators were not using the proper
pointer type when calling incStrong/decStrong, usually it
has no bad consequences, but for some implementation
of the ref-counted object it could lead to recording the wrong
owner id.
Change-Id: If574b9069b8a4cf6e0911a992c8f095aba799995
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
First slipt sp<> out of RefBase into StrongPointer.h so it can be reused
more easily and to make it clear that it doesn't require RefBase.
Note: the rest of the change only affects the system when DEBUG_REFS is enabled.
The main problem we fix here is that the owner id associated with each
reference could get out of date when a sp<> or wp<> was moved, for
instance when they're used in a Vector< >.
We fix this issue by calling into RefBase::moveReferences from
a template specialization for sp<TYPE> and wp<TYPE> of the
type helpers. RefBase::moveReferences() has then a chance to
update the owner ids.
There is a little bit of trickery to implement this generically in
RefBase, where we need to use a templatized functor that can turn
a sp<TYPE>* casted to a void* into a RefBase*.
Introduced a new debug option DEBUG_REFS_FATAL_SANITY_CHECKS
currently set to 0 by default as there seem to be an issue
with sp<ANativeWindow> which trips the sanity checks.
Change-Id: I4825b21c8ec47d4a0ef35d760760ae0c9cdfbd7f
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
Also fix an unlikely SMP race in access to mHoldSelf on entry to _threadLoop.
Change-Id: I6cbc0b94739c7dd5e77e8a5ba0da22cdc0b1a4db
|
|/
|
|
| |
Change-Id: I72cd6b98ef82b4868fe1c8ec87862cf43fb4ee73
|
|
|
|
|
|
|
|
| |
HAVE_ANDROID_OS was defined as "1" for targets, but never defined as "0"
for non-targets. Changing them to #ifdef should be safe and matches
all the other uses of HAVE_ANDROID_OS throughout the system.
Change-Id: I82257325a8ae5e4e4371ddfc4dbf51cea8ea0abb
|
|\
| |
| |
| |
| | |
* commit '1314bdb2b22ae3613c3e08ae278dbc70f90b965c':
fix failing thread object run
|
| |\
| | |
| | |
| | |
| | | |
* commit 'e88fa50be8d6709ef58b7aeb01c5efa059bcac2e':
fix failing thread object run
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I56f2ed37187796807fbf0de15274a85164f9432c
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A previously exited Thread object refuses to run again, if the
thread-id of the caller, conincides with the thread-id it previously
used in the worker thread. Hence reset the previously used worker
thread-id to -1 when it exits.
Signed-off-by: Ritu Srivastava <rsrivast@sta.samsung.com>
Change-Id: I873925c312a43ec8a16392b98cc959042ff6bfd2
Signed-off-by: Madan Ankapura <mankapur@sta.samsung.com>
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* commit 'a1f5e82f37c77af7b1d630b5bca715d1742f1234':
Normalize output from aapt d
|
| |\ \ \
| | |/ /
| |/| |
| | | |
| | | | |
* commit 'a30063d80c08434ac3c7316f338c6d54110449ab':
Normalize output from aapt d
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
Make the output from aapt dump --values resources and aapt dump xmltree normalized, so that it is unambigously displayed
regardless of the content of the strings.
Change-Id: Ia3bff36c4ee1e9a44f474534e154830948beabdf
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The cause of the problem is that AudioTrack::start() can fail if it is called from a newly created
thread that has the same ID as the AudioTrack callback thread that has just been stopped and not yet exited.
This is possible as the thread ID used by the Thread class is not the TID.
The fix consists in clearing the thread ID before exiting the thread loop.
Change-Id: I66e679665c384403cb3ba2c31746f5de72d5836d
|
| |
| |
| |
| |
| |
| |
| |
| | |
...gallery while attaching picture to gmail message
In various places we could block switching the IME target incorrectly.
Change-Id: I7e647fb35f4ea6f2e39eb7efd911420ea9ee64fa
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The cause of the problem is that AudioTrack::start() can fail if it is called from a newly created
thread that has the same ID as the AudioTrack callback thread that has just been stopped and not yet exited.
This is possible as the thread ID used by the Thread class is not the TID.
The fix consists in clearing the thread ID before exiting the thread loop.
Change-Id: I8b5f6a63feeaeb9a01267380e85f6f1456e7aa01
|
| |
| |
| |
| |
| |
| |
| | |
Some parts stubbed out but you can plug in a mouse and move
a green cursor around to interact with the UI.
Change-Id: I80d597a7f11d3bd92041890f74b3c77326975e6e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The asset system and supporting libraries were using off_t instead of
off64_t to access files larger than 2GB (32-bit signed). This change
replaces all off_t with off64_t and lseek64.
There is a new utils/Compat.h added for Mac OS compatibility.
Also fixed some size-related compiler warnings.
Bug: 3205336
Change-Id: I9097b3cb7a602e811fe52f245939d8975da55e9e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use Vendor ID, Product ID and optionally the Version to
locate keymaps and configuration files for external devices.
Moved virtual key definition parsing to native code so that
EventHub can identify touch screens with virtual keys and load
the appropriate key layout file.
Cleaned up a lot of old code in EventHub.
Fixed a regression in ViewRoot's fallback event handling.
Fixed a minor bug in FileMap that caused it to try to munmap
or close invalid handled when released if the attempt to map
the file failed.
Added a couple of new String8 conveniences for formatting strings.
Modified Tokenizer to fall back to open+read when mmap fails since
we can't mmap sysfs files as needed to open the virtual key
definition files in /sys/board_properties/.
Change-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed a bug with dpad keys on external keyboards being rotated
according to the display orientation by adding a new input device
configuration property called "keyboard.orientationAware".
Added a mechanism for overriding the key layout and key character
map in the input device configuration file using the new
"keyboard.layout" and "keyboard.characterMap" properties.
Also added "trackball.orientationAware", "touch.orientationAware" and
"touch.deviceType" configuration properties.
Rewrote the configuration property reading code in native code
so that it can be used by EventHub and other components.
Added basic support for installable idc, kl, and kcm files
in /data/system/devices. However, there is no provision for
copying files there yet.
Disabled long-press character pickers on full keyboards so that
key repeating works as expected.
Change-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791
|
| |
| |
| |
| | |
Change-Id: Id4bd9a6f932285c93c5853e540efc20b99876564
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).
Added FULL keyboard type to support full PC-style keyboards.
Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER
Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)
Modified several places where events were being synthesized
to use the virtual keyboard.
Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.
Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.
Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.
Fixed a bug in InputReader generating key ups when keys
are released out of sequence.
Updated tons of documentation.
Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.
Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
|
| |
| |
| |
| |
| |
| |
| | |
Split out all the UTF-8/16/32 handling code from String8/16 to its own
file to allow better reuse of code.
Change-Id: If9ce63920edc75472c38da4adce0d13cda9ad2f7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reorganization of getResource to allow for other densities accidentally
overrode the default return code for getResource from BAD_VALUE to
BAD_INDEX. This corrects the default return to BAD_VALUE which restores
other things to working.
Bug: 3155824
Change-Id: I13dafff85bc6978c5f5435fc09ab0474c7885c4d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow a caller to request a different density than their current display
allows. This can mean a device displaying mdpi can get a resource that's
in hdpi and have it pretend to be in mdpi resolution. If a drawable
that's returned is not in the requested density, it will set it at the
appropriate density to be scaled up later on.
The API for this is hidden currently.
Bug: 3134688
Change-Id: I6c3908cbdef4907b8d3f1576df9e3b0e7af1755a
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
ZipFileRO::findEntryByName" into gingerbread
Merge commit '7ba8c44ef7ba22d83a670e50314d69d0ddce1b9c'
* commit '7ba8c44ef7ba22d83a670e50314d69d0ddce1b9c':
Initialized check in ZipFileRO::findEntryByName
|
| |
| |
| |
| |
| |
| |
| |
| | |
If a ZipFileRO object is uninitialized, the hash table will not have
been initialized. This condition wasn't checked in findEntryByName.
Bug: 3121109
Change-Id: Ib696e0e7e0cb4dd0fb2e456d6a847e5e8f4fe14e
|
|\ \
| |/
| |
| | |
Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remember, the system and main logs are
- Shared resources
- Primarily for recording problems
- To be used only for large grained events during normal operation
Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added new key maps for external keyboards. These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.
One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used. The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.
The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly. This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.
Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.
The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...
Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis. Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.
Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
mode." into gingerbread
Merge commit '729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f'
* commit '729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f':
MinGW/Cygwin requires open() in O_BINARY mode.
|
| |
| |
| |
| |
| |
| | |
Alsso printf %zd is not supported on MinGW/Cygwin.
Change-Id: I03811dabb46e2b05dd1d8abcc0ff97b125c77d54
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
gingerbread
Merge commit '8fda1636e3e35f060b9046294efd3c062a1fdb84'
* commit '8fda1636e3e35f060b9046294efd3c062a1fdb84':
OBB: use PBKDF2 for key generation.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Switch to using PBKDF2 for the key generation for OBBs. Any previously
generated OBBs will stop being read correctly. A small pbkdf2gen program
is available to allow generation of appropriate keys with the salts.
Bug: 3059950
Change-Id: If4305c989fd692fd1150eb270dbf751e09c37295
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
of epoll()." into gingerbread
Merge commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5'
* commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5':
Switch Looper back to using poll() instead of epoll().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added a couple of micro-optimizations to avoid calling wake() unnecessarily
and reduce JNI overhead slightly.
Fixed a minor issue where we were not clearing the "next" field of Messages
returned by the MessageQueue so the Message would hold on to its successor
and potentially prevent the GC from collecting it if the message were leaked
somehow.
Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
gingerbread
Merge commit 'bfa33b9484e2c0a019ab81f30261b9696df23a9b'
* commit 'bfa33b9484e2c0a019ab81f30261b9696df23a9b':
Use pread() in ZipFileRO for Linux
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AssetManager instances are created by zygote and passed to all its
children so that they don't have to individually open
frameworks-res.apk. This creates a problem for determining the current
file offset when using lseek() on those files, because you can't
guarantee the cross-process locking of a mutex. Luckily, Linux
implements pread() to get around this suckiness.
The problem is that only Linux implements this, so we have to keep the
old locking for use on host builds with aapt and friends. aapt doesn't
have this same problem of sharing file descriptors across forked
processes, so we can keep the local AutoMutex to protect accesses of
those files.
Change-Id: Ibe9f11499a53fe345f50fbaea438815ec0fd363e
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
into gingerbread
Merge commit 'ac7540733cafcca5bdb1842e1ebcb396ba064583'
* commit 'ac7540733cafcca5bdb1842e1ebcb396ba064583':
ZipFileRO: moar logging and wrap close
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is apparently still a race upon reading the entry Local File
Header that can't be tracked down, so move the LFH check inside the
mutex-protected block so we can call lseek again to see where we are
when we log an error.
Also, close() can fail so use TEMP_FAILURE_RETRY on it so we don't
unwittingly leak file descriptors when Mean Mr. EINTR comes a-knocking.
Change-Id: I753abad0bd882fe28f7281c406fa76f64393ef4c
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
uncompressing files""" into gingerbread
Merge commit 'c55f6da7281d34a4b875975cdf68f5062dfe4b34'
* commit 'c55f6da7281d34a4b875975cdf68f5062dfe4b34':
Revert "Revert "Free created FileMap when uncompressing files""
|
| |
| |
| |
| | |
This revert reverts commit a19ef306bd0a257c67b50f5e0e669e9fe52b0889.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
gingerbread
Merge commit '3e07c0007b10fbda945516acaf6b2a8787a6ca06'
* commit '3e07c0007b10fbda945516acaf6b2a8787a6ca06':
Add locking around ZIP seeking
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since we switched to seeking to the LFH to verify its existence instead
of a huge mmap of the file, we have to guarantee that another seek
doesn't happen before we finish our read on the LFH.
Change-Id: If8135d9cb6f2f5cc4db734eafa4f6b5f6269c62a
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
initialization." into gingerbread
Merge commit '4ec134cdba52b663506562c6406b07915820b007'
* commit '4ec134cdba52b663506562c6406b07915820b007':
Looper: use pthread_once for TLS key initialization.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also fix a Valgrind complaint by zeroing out the entire epoll event
struct since otherwise the data field union would be partly
uninitialized (but not in a harmful way).
Change-Id: I2091ce517e87fcad7c9caf90e2c5e4854a7ca465
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
into gingerbread
Merge commit 'a8d95248bdbb8ea0933ecf86d2859964324978a7'
* commit 'a8d95248bdbb8ea0933ecf86d2859964324978a7':
Reduce lock thrashing in native Looper.
|
| |
| |
| |
| |
| |
| |
| |
| | |
In the common case, there is nothing interesting happening on the native
Looper besides occasional wake ups. There is no point grabbing the
semaphore then.
Change-Id: Ib5c426d0e158dfa37891b7ff5537b6f833592fad
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
handles EINTR." into gingerbread
Merge commit 'd3576ef8906798d91da3ee88a103f4bedcab169e'
* commit 'd3576ef8906798d91da3ee88a103f4bedcab169e':
Ensure input dispatcher and native looper handles EINTR.
|