summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Switch back to subsystem "net" for netlink events.Lorenzo Colitti2013-09-031-0/+2
| | | | | | | | | | | | | The change to enable address tracking via netlink incorrectly changed the subsystem of rtnetlink events from "net" to "interface". This broke interface add/delete notifications, which come from the kernel with subsystem "net". Switch back to "net" and deal with address tracking via new action codes instead of a new subsystem. Bug: 10433320 Change-Id: Ibf30efb426949dfd02304cc1d9adb1c005a539a6
* Add helpers for audio remote submix devices.Jeff Brown2013-08-161-1/+5
| | | | | Bug: 10265163 Change-Id: Iea7ecab4f2a655b719ff14b04c757d6dbd7a7ef3
* Replace sRGB_888 with sRGB_X_8888Jesse Hall2013-08-161-1/+1
| | | | | Bug: 10357459 Change-Id: I23a3eca77acd8b4b40b1a67e7c050a7245b1821a
* Parse IP address changes in NetlinkEvent.Lorenzo Colitti2013-08-141-0/+1
| | | | | | | | | | | | | This adds support for parsing RTM_NEWADDR and RTM_DELADDR netlink messages received on netd's netlink socket and formatting them them so NetlinkHandler can process them. Address changes are notified in subsystem "address". Interface changes, which used to be notified in subsystem "net", are now notified in subsystem "interface" to avoid confusion. Bug: 10232006 Change-Id: I93a50e8de17014e118a42f5cc0eb90a0cbfa73cc
* Richer SD card permissions through FUSE.Jeff Sharkey2013-08-081-46/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes the FUSE daemon to synthesize an Android-specific set of filesystem permissions, even when the underlying media storage is permissionless. This is designed to support several features: First, apps can access their own files in /Android/data/com.example/ without requiring any external storage permissions. This is enabled by allowing o+x on parent directories, and assigning the UID owner based on the directory name (package name). The mapping from package to appId is parsed from packages.list, which is updated when apps are added/removed. Changes are observed through inotify. It creates missing package name directories when requested and valid. Second, support for separate permissions for photos and audio/video content on the device through new GIDs which are assigned based on top-level directory names. Finally, support for multi-user separation on the same physical media through new /Android/user/ directory, which will be bind-mounted into place. It recursively applies the above rules to each secondary user. rwxrwx--x root:sdcard_rw / rwxrwx--- root:sdcard_pics /Pictures rwxrwx--- root:sdcard_av /Music rwxrwx--x root:sdcard_rw /Android rwxrwx--x root:sdcard_rw /Android/data rwxrwx--- u0_a12:sdcard_rw /Android/data/com.example rwxrwx--x root:sdcard_rw /Android/obb/ rwxrwx--- u0_a12:sdcard_rw /Android/obb/com.example rwxrwx--- root:sdcard_all /Android/user rwxrwx--x root:sdcard_rw /Android/user/10 rwxrwx--- u10_a12:sdcard_rw /Android/user/10/Android/data/com.example These derived permissions are disabled by default. Switched option parsing to getopt(). Change-Id: I21bf5d79d13f0f07a6a116122b16395f4f97505b
* Merge "Add audio_input_flags_t"Glenn Kasten2013-08-051-0/+10
|\
| * Add audio_input_flags_tGlenn Kasten2013-08-021-0/+10
| | | | | | | | Change-Id: Ie65398cc67218cc63be4baa8a2a61d0ea591a2a3
* | libnetutils: Get mtu together with dhcp session resultsDmitry Shmidt2013-08-021-2/+6
|/ | | | | Change-Id: I517fd1f62d451b07466a21a2b770d9ce389dac19 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* Merge "Window: Add query for consumer usage bits."Eino-Ville Talvala2013-08-021-1/+7
|\
| * Window: Add query for consumer usage bits.Eino-Ville Talvala2013-07-301-1/+7
| | | | | | | | | | Bug: 9592202 Change-Id: Ied2fdb985dc59dd9c0f26c515353abdc37f0eb77
* | minor tweaks to FlattenableUtilsMathias Agopian2013-08-011-5/+8
| | | | | | | | Change-Id: Ibfceec36434baac92c8815a18d902375d3fa1a6d
* | Add a new utf8-to-utf16 conversion function.Dianne Hackborn2013-07-311-0/+7
| | | | | | | | Change-Id: I957c22fb219596ca4239db7a169473d3894b09eb
* | Make Flattenable not virtual (libutils)Mathias Agopian2013-07-312-39/+92
| | | | | | | | | | | | | | | | | | | | | | | | Making an object Flattenable doesn't force it to become virtual anymore. For instance, Fence and GraphicBuffer are now non-virtual classes. Also change Flatennable protocol a bit so that it updates its parameters (pointers, sizes) to make it easier to implement a flattenable in terms of other flattenables. Change-Id: Ie81dc7637180b3c2cfcbaf644f8987ca804eb891
* | libutils: give BasicHashtableImpl a virtual destructorAlex Ray2013-07-301-0/+1
| | | | | | | | Change-Id: I4ec590b060d732af5fe525670becbe778684247b
* | utils: move thread enums to system/coreAlex Ray2013-07-301-47/+1
| | | | | | | | Change-Id: Ia97963cc9acf8661d01355786f5e7e7bf54581c2
* | Added bitwise-or and bitwise-and to BitSetMichael Wright2013-07-301-0/+14
| | | | | | | | Change-Id: I9bbf41f9d2d4a2593b0e6d7d8be7e283f985bade
* | Make trace macros slightly more robustTim Murray2013-07-301-0/+9
| | | | | | | | Change-Id: I9544eb7b27fc1a971cabadd8d5b4b4b80678febf
* | remove unused declarations and reformatMathias Agopian2013-07-301-47/+44
| | | | | | | | Change-Id: I4e168fb62c275e02621c4b6e0c6000d0f006c327
* | remove reserved virtual slotsMathias Agopian2013-07-301-20/+0
| | | | | | | | | | | | | | these consume small amount of space (plt) in every library that links against libutils. Change-Id: I1b6b3dd9098aa5a051243f7a5dbf91cd7dcb8b2c
* | new String8, String16 ctors to initialize empty static strings with static ↵Mathias Agopian2013-07-302-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | linkage when libutils is statically linked, the ordering of the static initializer is not guaranteed and therefore it's unsafe to use empty static strings: e.g.: static String8 sThisStaticStringIsNotSafe; instead, this new constructor can be used: static String8 sThisStaticStringIsSafe(kEmptyString); Change-Id: Ia3daf1cab1c97d021c0ee9c2b394b5e27e8d6c0d
* | libutils clean-upMathias Agopian2013-07-3016-1194/+12
| | | | | | | | Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
* | Add new Looper API to check whether the looper is idle.Dianne Hackborn2013-07-301-0/+11
| | | | | | | | | | | | | | | | This is just to support the watchdog to give it a faster way to determine if a thread is deadlocked without having to post a message to it. Change-Id: I068dc8b9387caf94fe5811fb4aeb0f9b57b1a080
* | improved CallStack a bitMathias Agopian2013-07-301-2/+4
| | | | | | | | | | | | | | - added a ctor that updates and dumps the stack immediately - added a "logtag" parameter to dump() Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
* | Fix a crasher with RefBase debugging and vectors of wp<>Mathias Agopian2013-07-301-39/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | background: we have some code to fix-up the IDs of references when using RefBase's DEBUG_REFS when those refs are managed by arrays wp<> or sp<> (this is because wp<> / sp<> don't have a trivial ctor when DEBUG_REFS is enabled, and Vector treats them as trivial for obvious performance reasons) this is complicated by the fact that we don't want to have to recompile everything when enabling DEBUG_REFs (i.e.: the Vector code cannot know wheter it's enabled or not for its template stuff). problem: there was a bug in the fix-up code for wp<> which was trying to access the weakref_impl from the RefBase* however, this was moronic since RefBase could have been destroyed if there wasn't any more strong refs -- and this happned. Instead we need to get the weakref_impl directly from the wp<> Change-Id: Ie16e334204205fdbff142acb9faff8479a78450b
* | Add Vector::resize()Jesse Hall2013-07-302-1/+8
| | | | | | | | | | Bug: 8384764 Change-Id: Icee83d389f3e555eba7d419b64c8d52a9aa21b8b
* | Add Thread::isRunning and Condition::signal(WakeUpType)Romain Guy2013-07-302-0/+16
| | | | | | | | | | | | | | The signal() method is useful to choose whether to wake up one or all threads. Change-Id: I062ab6d3ddd306a9fb735549ea140e2a76eed75a
* | rename binder services main thread to Binder_*Mathias Agopian2013-07-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | When a binder service's main thread joins the thread pool it retains its name (whatever the exec name was), which is very confusing in systrace. we now rename that thread just like its friends in the thread pool. Change-Id: Ibb3b6ff07304b247cfc6fb1694e72350c579513e
* | utils: Allow non android namespaces to use ALOGD_IF_SLOWNaseer Ahmed2013-07-301-1/+1
| | | | | | | | Change-Id: I9207b64954fae2f56cc5f6aa5796a2e737400623
* | Add LinearAllocatorChris Craik2013-07-301-0/+97
| | | | | | | | | | | | Moving from external/webkit/Source/WebCore/platform/graphics/android/utils/ Change-Id: If91830aa9b207dbc8692b2ca7c4a0b76778addd5
* | utils: fix warnings for unused parametersIgor Murashkin2013-07-303-6/+6
| | | | | | | | Change-Id: Ibfb755a30ba2923669060fe0aed019beecbe38a1
* | utils: clarify scoped tracing functionalityAlex Ray2013-07-301-8/+5
| | | | | | | | | | | | | | | | | | ScopedTrace objects were being used in place of ATRACE_NAME because of a misunderstanding of it's function. Cleared up documentation for usage. Also explicitly use global namespace for sysprop callback. Change-Id: I7c248b486b614ccdb841659ca0dcfc644fda670a
* | utils: Use cutils tracing functionality.Alex Ray2013-07-301-141/+9
| | | | | | | | | | | | Tracing functionality has moved to cutils. Change-Id: Ie78ccc1d59dd5178f5058fbc3858a37f9adce552
* | Add LruCache::IteratorRomain Guy2013-07-301-24/+26
| | | | | | | | | | | | Required by libhwui Change-Id: I164b9a4a82d89d132da01a56535c0df084de86f7
* | Add another ifndef and a couple of methods to LruCacheRomain Guy2013-07-302-0/+28
| | | | | | | | | | | | | | The new methods on LruCache are needed by libhwui to manage the cache of paths. Change-Id: If54fa325c54e2b04e7fe5dfe6dad66066c40127c
* | Add #ifndef to prevent multiple definitionsRomain Guy2013-07-301-0/+5
| | | | | | | | Change-Id: Ib861eee0f333fe29290437b7e67623622d8dabd0
* | Reduce emulator logspamAndy McFadden2013-07-301-0/+2
| | | | | | | | | | | | | | | | | | The emulator doesn't support systrace, but we should point that out at most once per process. Bug 7436352 Change-Id: I06b2c1ea0df6c02c11cd2496423c337f8d7c62a1
* | Add an LRU cache plus hashing primitivesRaph Levien2013-07-304-1/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a hashtable-based LRU cache. This should be significantly higher performance than the GenerationCache it is intended to replace. It is a large part of the fix for bug 7271109 TextLayoutCache low-level performance issues. We added a new method to BasicHashtable to detect when rehashing is needed, because the internal linked list pointers would get invalidated by that rehashing. Also, the hash_type specialized to pointers had a small flaw. Change-Id: I950c2083f96519777b851dbe157100e0a334caec
* | Ensure that Vector::erase() returns a valid iteratorJason Simmons2013-07-301-1/+2
| | | | | | | | | | | | | | | | | | | | Vector::erase may reallocate the Vector's storage while removing an element. However, erase() calls begin() before calling removeItemsAt(), thus caching a pointer the the Vector's old storage. If the storage is reallocated, the iterator returned by erase() will be based on the old storage pointer and will thus be invalid. Change-Id: I2450c55fd418e6b1c558a4ca7c024573abbaa098
* | Revert "Revert "put back the unused virtuals in Vector<>""Dave Burke2013-07-301-0/+20
| | | | | | | | | | | | This reverts commit 225c66a48cdc3acef21ee380dc134449749d3cb3 Change-Id: If31a04b81052cbc7dd7bf237c07107c33066d03d
* | Add runtime debugging capabilities to OpenGLRomain Guy2013-07-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shell property debug.egl.trace can now be set to: 0 disables tracing 1 logs all GL calls error checks glGetError after every GL call, logs a stack trace on error systrace logs each GL call to systrace Change-Id: I34a2a2d4e19c373fd9eaa1b0cd93e67c87378996
* | Add TEMP_FAILURE_RETRY to ZipUtilsKenny Root2013-07-301-0/+23
| | | | | | | | Change-Id: I275c415f14eeffaf9a58d45f3ea014d766441ec3
* | minor SharedBuffer clean-upMathias Agopian2013-07-301-17/+8
| | | | | | | | Change-Id: If38b7ce85806ae628c00f2c938de4e3f75142543
* | Add a way to retrieve a Region as a SharedBufferMathias Agopian2013-07-301-1/+1
| | | | | | | | Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
* | Revert "put back the unused virtuals in Vector<>"Mathias Agopian2013-07-301-20/+0
| | | | | | | | | | | | | | | | This reverts commit 1648d4c13ba2eff3ea14cd87ee94028458a39f97. Bug: 6977192 Change-Id: Idbb6b239aaed4fb1c054ce943f6ba06ede3492bb
* | Fixed clang build error for libguiTareq A. Siraj2013-07-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | Fixed the order of the statements in ANDROID_SINGLETON_STATIC_INSTANCE macro so that the templated static member variable initialization comes before the instantiation of the Singleton class. This fixes the clang compile error. Change-Id: Ic47d17e152b657f2dff3191ccc3770753fdf002b Author: Tareq A. Siraj <tareq.a.siraj@intel.com> Reviewed-by: Edwin Vane <edwin.vane@intel.com>
* | put back the unused virtuals in Vector<>Mathias Agopian2013-07-301-0/+20
| | | | | | | | | | | | | | | | | | some binaries are using these private APIs and broke (as they should!) with this change. Temporarily restore the virtuals to work around this. Bug: 6977550 Change-Id: I7c37f24b16e4d586b89205c493db5169cf87e024
* | get rid of mirrorItemAt() which isn't used anywhereMathias Agopian2013-07-302-22/+0
| | | | | | | | Change-Id: Id6f2dbeed21cabc127d39538c0ff464077ada83f
* | improve [un]marshalling of non-binder objectsMathias Agopian2013-07-301-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this change introduces a new class LightFlattenable<> which is a protocol to flatten simple objects that don't require binders or file descriptors; the benefit of this protocol is that it doesn't require the objects to have a virtual table and give us a consitant way of doing this. we also introduce an implementation of this protocol for POD structures, LightFlattenablePod<>. Parcel has been update to handle this protocol automatically. Sensor, Rect, Point and Region now use this new protocol. Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
* | Add a very simple helper function to log slow functions.Jeff Brown2013-07-301-0/+38
| | | | | | | | Change-Id: I2e2e072206d02b572a330dd25857c161b5b563bf
* | improve Vector<> safety checksMathias Agopian2013-07-304-38/+30
| | | | | | | | | | | | | | | | | | | | - make errors that will always cause a memory corruption always fatal (for eg: KeyedVector<>::editValue{For|At}() failure) - make other errors fatal in debug mode, those that can be caught by the caller. - fix typos Change-Id: I65cc7d81035c37ce2906fc4500c50e5d5b5c49eb